前言:出于想监控ubuntu server 8.04下的Mysql是否在正常运行,于是找到了Nagios,Cacti及cactiez,cacti的绘图能力很强,nagios3报警能力强;经过简单试用,我觉的cacti的配置没有Nagios配置简单,所以就先试下nagios。用的版本是3.2.0
实验环境:在ubserver5机器上安装nagios3,监控ubserver3,ubserver4机器上的www,mysql服务。
ubserver5的IP:192.168.3.50
ubserver3的IP:192.168.3.30
ubserver4的IP:192.168.3.40
操作:
1,在ubserver5上安装nagios3并配置,因为需要用到web服务,所以要先安装好apache2.一个命令就搞定了
#sudo apt-get install apache2
(1)安装,只需一个命令,就把nagios3所需的插件,cgi,postfix等安装上。
#sudo apt-get install nagios3
/etc/nagios-plugins是nagios3所需的插件
/etc/apache2/conf.d/nagios3.conf里设置nagios3的认证文件在/etc/nagios3/htpasswd.users
Nagios3在ubuntu server10.4下的应用_监控
/etc/nagios3/extinfo_nagios2.cfg里设置要监控的主机及服务的扩展信息,如主机的图标
Nagios3在ubuntu server10.4下的应用_nagios_02
/usr/share/nagios/htdocs/p_w_picpaths/logos下就是要用到的图标,如果在监控界面里看不到图标,就要修改etc/nagios3/extinfo_nagios2.cfg这个文件
在默认情况下,安装完以后在/etc/nagios3/conf.d目录下,有以下文件配置文件:
contacts_nagios2.cfg 定义了联系人
extinfo_nagios2.cfg 要监控主机和服务的扩展信息
generic-host_nagios2.cfg 主机定义模板
generic-service_nagios2.cfg 服务定义模板
host-gateway_nagios2.cfg 要监控的默认网关定义
hostgroups_nagios2.cfg 对要监控的主机进行分组
localhost_nagios2.cfg 本机监控的定义
services_nagios2.cfg 要监控主机上的服务
timeperiods_nagios2.cfg 对监控,通知的时间段定义
所有的配置都可以放在一个文件中,像localhost_nagios2.cfg(监控本机)把定义主机及服务都写在一个文件里,但是为了以后管理方便,条理清楚,配置文件分开是比较好的。可以以localhost_nagios2.cfg为模板创建要监控的主机。这个要看个人的喜好。/etc/nagios3/conf.d中的所有*.cfg文件都会被nagios3读取,所以可以根据需要创建自已的配置文件。
/etc/nagios3/nagios.cfg 是nagios3的主配置文件
(2)postfix配置,用于发送EMAIL给管理员,有三个选项:no configuration,internet site,internet with smarthost,satellite system,local only,这里我选internet site.
Nagios3在ubuntu server10.4下的应用_nagios_03
(3)设置nagiosadmin密码,如果在这里不设置,安装完以后要用htpasswd –C /etc/nagios3/htpasswd.users nagiosadmin创建,所以要在这里设置密码。
Nagios3在ubuntu server10.4下的应用_监控_04
安装到此,也就完成了。只需要配置postfix,设置nagiosadmin的密码。
(4)在/etc/nagios3/conf.d目录下创建要监控的主机文件hosts.cfg
#sudo vim /etc/nagios3/conf.d/hosts.cfg
Nagios3在ubuntu server10.4下的应用_休闲_05
(5)修改/etc/nagios3/conf.d目录下的hostgroups_nagios2.cfg文件,新增主机组,增加以下内容:
Nagios3在ubuntu server10.4下的应用_职场_06
(6)修改/etc/nagios3/conf.d目录下services_nagios2.cfg文件,新增检测mysql的服务,检测http的服务默认就有了。
检查mysql服务,这里是用的检查3306这个端口,3306是mysql默认的端口,根据实际用的进行修改。
Nagios3在ubuntu server10.4下的应用_监控_07
检查www服务,这里是用的检查80这个端口,80是wwwl默认的端口,根据实际用的进行修改。
Nagios3在ubuntu server10.4下的应用_职场_08
这里的hostgroup_name的值要与在hostgroups_nagios2.cfg里设置的hostgroup_name值要相同,否则出错。
(7)重启nagios3服务,并测试
#cd /etc/nagios3
#sudo nagios3 –v nagios.cfg
Nagios3在ubuntu server10.4下的应用_nagios3_09 没有出现错误
#sudo /etc/init.d/nagios3 restart
http://192.168.3.50/nagios3输入nagiosadmin密码,就进入nagios监控画面。
Nagios3在ubuntu server10.4下的应用_休闲_10
Nagios3在ubuntu server10.4下的应用_职场_11
总结:在配置前要规划好要监控的主机(hosts.cfg),并把它们分成组(hostgroups_nagios2.cfg),定义要监控的服务(services_nagios2.cfg);要知道监控服务所需的插件有没有安装在/etc/nagios-plugins 里有没有,要用什么check_command及如何使用。按照要监控的服务进行主机分组的方式优点是以后再添加要监控该服务的主机,只要加到组里就可以了。nagios3的配置还是比较容易的,并没有比想的要难。如果想让nagios像cacti一样显示性能图,可以试用pnp4nagios插件,nagiosgrapher软件。