Nagios目标
前段时间在客户那里做项目,晚上一切平安的回去了,第二天还不到7点就打电话,郁闷(平时9点才起来的)说系统登录不上去了,电话也登陆不上去了。郁闷昨天走的时候好好的,已经十分稳定的运行了n久了,怎么突然这样子了那,迷迷糊糊(晚上睡的太晚了,睡觉的时候好像天已经亮了)的起来打开电脑,机械式的插上网线、连上***,先ping下服务器ip地址,我靠不通。不应该啊,又郁闷了下,前端服务器是双机热备啊,怎么会不通那,没办法找人去客户机房。
起来就和客户网管去了机房,打开机房门。哇塞,一股热浪澎一下子出来了。这时知道了服务器怎么回事了,赶紧开空调、打开机柜门,挺壮观的除了有人用的服务器当机了,其他的服务器全部报警(挺好看的,清一色的ibm服务器)。
不由得说出一声,有个监控系统就好了,现在研究下nagios这个开源的监控系统,首先谢谢秋香大姐。
就像yahoo 说的一样学东西要一个目标,看到下图界面算成功了一小半,最主要的是,我们不在电脑旁边是它给与我们告警。
1、web方式如下图 正常状态下,其状态(status)是以蓝色填充并显示一个OK。
2、邮件通知,发生故障时,到达设定重试次数和探测间隔时间后发送邮件给管理员或相关人员,报告问题的大致情况如下图:
3、手机短信,这是非常有用和及时的功能了;服务出现故障时只要你带着手机就能知道
这3者是同时进行的:上班时间开个浏览器看页面显示、收取邮件、实时发送手机短信。
系统环境,以及准备
所需的软件
httpd-2.2.12.tar.gz
在www.apache.org上能下载到
nagios-2.9.tar.gz
nagios-plugins-1.4.9.tar.gz
nrpe-2.12.tar.gz
上面软件可以从http://www.nagios.org/download/网站上下载
启用发送邮件的邮件客户端sendmai服务
启动linux服务器上自带的服务sendmail 服务,测试是否能发送邮件。
#service sendmail restart
#mail –s “内容” < 文件名
# chkconfig --level 2345 sendmail on #把邮件服务添加到自启动里
建立nagios 、apache 程序运行所用的账号
#useradd nagios -s /sbin/nologin
开始安装web浏览器apache
开始安装apache
#tar -zxvf httpd-2.2.12.tar.gz
#cd httpd-2.2.12
#./configure --prefix=/usr/local/apache/
#make
#make install
启动apache 服务
#/usr/local/apache/bin/apachectl start
在浏览器中输入http://192.168.2.47地址能测试apache 服务是否正确。出现”It Works!”,说明apache服务正常运行。
每次用这么长的路径来启动服务,非常麻烦
#echo "export PATH=$PATH:/usr/local/apache/bin" >> /etc/profile
#source /etc/profile
这次好了再启动apache 时用
#apachectl start就行了简便多了
修改apache配置文件httpd.conf
修改apache运行用户和组。需要把它改成nagios。添加nagios访问目录(nagios 的安装路径/usr/local/nagios),同时使用http用户验证。把下面的内容追加到httpd.conf文件的末尾:
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd # //用于此目录访问身份验证的文件
Require valid-user
Alias /nagios /usr/local/nagios/share
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd # //用于此目录访问身份验证的文件
Require valid-user
这里完成apache的配置,这里不能重启,需要安装完成nagios之后重启
开始安装nagios程序
程序下载到本地之后通过ssh等其他工具上传到服务器上,开始安装nagios主程序
#tar -zxvf nagios-2.9.tar.gz
#cd nagios-2-9
#./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios
#make all
#make install
#make install-commandmode
#make install-config
安装完nagios后,我们可以在安装目录/usr/local/nagios下生成下面的目录:
增加验证用户也就是通过web访问nagios的时候,必须要用这个用户登陆.在这里我们增加用户lee:密码为123456
[root@nogios-server~]#/usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd lee
New password: (输入123456)
Re-type new password: (再输入一次密码)
Adding password for user test
查看认证文件的内容
[root@nogios-server ~]#cat /usr/local/nagios/etc/htpasswd
lee:OmWGEsBnoGpIc 前半部分是用户名lee,后面是加密后的密码
到这里nagios的安装也就基本完成了,你可以通过web来访问
了.http://192.168.2.47/nagios 会弹出对话框要求输入用户名密码,
输入刚刚建立的用户名和密码就能访问到nagios的主页面了,如下图
现在点击里面的选项什么都打不开,因为还没有安装完成那,耐心安装吧,继续吧。
安装nagios 需要插件,安装完成之后会在nagios/libexec目录下生成nagios 需要的文件
[root@nogios-server ~]# tar -zxvf nagios-plugins-1.4.9.tar.gz
[root@nogios-server ~]# cd nagios-plugins-1.4.9
[root@nogios-server ~]#./configure --prefix=/usr/local/nagios/
[root@nogios-server ~]# make
[root@nogios-server ~]# make install
安装完成之后,目录下多了很多文件,如下图。
这些插件都是nagios需要的插件
安装nrpe
1、安装nrpe
#tar zxvf nrpe-2.12.tar.gz
#cd nrpe-2.12
#./configure –prefix=/usr/local/nrpe
#make
#make install
注:如果在其他被监控机安装nrpe,需要添加系统用户nagios.
2、复制文件
安装完nrpe后,需要很多nagios的插件,下面把nagios的插件复制过去。
进入到nagios 、libexec目录下
#cd /usr/local/nagios/libexec/
#cp /usr/local/nrpe/libexec/check_nrpe
#cp check_disk /usr/local/nrpe/libexec
#cp check_load /usr/local/nrpe/libexec
#cp check_ping /usr/local/nrpe/libexec
#cp check_procs /usr/local/nrpe/libexec
安装完成之后 nrpe没有生成配置文件
#mkdir /usr/local/nrpe/etc
#cp sample-config/nrpe.cfg /usr/local/nrpe/etc
到这里监控机器(nagios-server)上的软件就全部安装完成了,下面就改配置了,下面的就麻烦了耐心慢慢配。
配置nagios服务器
到/usr/local/nagios/etc/目录下配置nagios的配置文件,ls看下里面有很多配置文件如下图
里面是配置文件的模板,先改下名字
#cp nagios.cfg-sample nagios.cfg #主配置文件,控制与定于nagios行为
#cp cgi.cfg-sample cgi.cfg #浏览器调用
#cp commands.cfg-sample commands.cfg #定义如何检查服务、如何发送邮件以及信息
#cp resource.cfg-sample resource.cfg
修改主配置文件nagios.cfg
#cfg_file=/usr/local/nagios/etc/localhost.cfg #注释或删掉这行
cfg_file=/usr/local/nagios/etc/hosts.cfg #主机配置文件路径
cfg_file=/usr/local/nagios/etc/hostgroups.cfg #主机组配置文件路径
cfg_file=/usr/local/nagios/etc/contacts.cfg #去掉注释联系人配置文件路径
cfg_file=/usr/local/nagios/etc/contactgroups.cfg #去掉注释,联系组配置文件路径
cfg_file=/usr/local/nagios/etc/services.cfg #去掉注释,服务配置文件路径
cfg_file=/usr/local/nagios/etc/timeperiods.cfg #去掉注释,监视时段配置文件路径
check_external_commands=1 #在web界面下重启nagios、停止主机/服务检查等操作,.默认值是0.
command_check_interval=10s #根据自己的情况定这个命令检查时间间隔.默认值是1秒.
修改cgi配置文件cgi.cfg.跟修改nagios.cfg一样,修改的地方如下:
#如有多个用户,中间用逗号隔开
authorized_for_system_information=lee
authorized_for_configuration_information=lee
authorized_for_system_commands=lee
authorized_for_all_services=lee
authorized_for_all_hosts= lee
authorized_for_all_service_commands=lee
authorized_for_all_host_commands=lee
在这里指定的用户”lee”可以通过浏览器操纵nagios服务的关闭、重启等各种操作
增加其他的配置文件
1、增加主机配置文件
#vi hosts.cfg
define host {
host_name nagios-server #监控机的主机名
alias nagios server
address 192.168.2.47 #监控机的ip地址
contact_groups sagroup
check_command check-host-alive #主机检查使用命令
max_check_attempts 3 #最大尝试次数
notification_interval 10 #通知时间间隔
notification_period 24x7
notification_options d,u,r #d-down, u-unreacheable, r-recovery.
}
#被监控主机的定义
define host {
host_name mysql
alias mysql
address 192.168.2.154
contact_groups sagroup
check_command check-host-alive
max_check_attempts 3
notification_interval 10
notification_period 24x7
notification_options d,u,r
}
创建联系组contact_group配置文件
2、定义主机组配置文件hostgroups.cfg
define hostgroup {
hostgroup_name sa-servers
alias sa servers
members nagios-server
}
主机组的成员必须是在hosts.cfg里已经定义了的,多个主机成员间用逗号分隔。
下面配置请看 nagios监控与飞信运用(二)
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com