此片文章接 nagios 监控运用(一)
3、定义联系人配置文件contacts.cfg
4、定义联系组配置文件contactgroups.cfg
5、定义服务配置文件 services.cfg
#主机监控的服务
6、定义监控时间段timeperiods.cfg
上面表示 7*24小时监控
二、配置nrpe
配置nagios-server 上的nrpe.cfg配置文件
启动nagios服务
检查服务是否启动
查看所用端口是否开启,下面说明已经正常开启
说明没有错误,启动nagios 就行了
解压完成后产生一个sms的文件。现在运行时会出现报错,需要安装飞信的lib库
解压lib库之后上传到服务器Cp到目录下就行了
看下lib库里面的文件
现在运行下
#/usr/local/bin/sms
测试下,看是否能发送到手机上,目的手机必须是好友,否则发送 不成功
2、修改vi /usr/local/nagios/etc/commands.cfg配置文件,把下面内容追加到配置文件中。
3、定义联系人配置文件contacts.cfg
define contact {
contact_name lee
alias system administrator
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r # w-warning,u-unknown,c-critical,r-recovery.
service_notification_commands service-notify-by-email
host_notification_commands host-notify-by-email
email [email protected] #多个邮箱与多个手机用 逗号 隔开
pager 136****0434,138****0504
}
contact_name lee
alias system administrator
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r # w-warning,u-unknown,c-critical,r-recovery.
service_notification_commands service-notify-by-email
host_notification_commands host-notify-by-email
email [email protected] #多个邮箱与多个手机用 逗号 隔开
pager 136****0434,138****0504
}
4、定义联系组配置文件contactgroups.cfg
define contactgroup {
contactgroup_name sagroup
alias system administrator group
members lee #多个用户时用逗号隔开,必须和上面contacts.cfg定义
}
contactgroup_name sagroup
alias system administrator group
members lee #多个用户时用逗号隔开,必须和上面contacts.cfg定义
}
5、定义服务配置文件 services.cfg
#主机监控的服务
define service {
host_name nagios-server
service_description check-host-alive
check_period 24x7
max_check_attempts 3
normal_check_interval 3
retry_check_interval 2
contact_groups sagroup
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
check_command check-host-alive
}
define service{
host_name nagios-server
service_description check_local_disk
check_command check_local_disk!10%!5%!/
max_check_attempts 3
normal_check_interval 3
retry_check_interval 2
check_period 24x7
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
contact_groups sagroup
}
#被监控机监控服务
define service{
host_name mysql
service_description check_ssh
check_command check_tcp!22
max_check_attempts 3
normal_check_interval 3
retry_check_interval 2
check_period 24x7
notification_interval 10 #监控到服务故障后,间隔多长时间通知一次
notification_period 24x7
notification_options w,u,c,r
contact_groups sagroup #联系组 在contactgroup.cfg定义
}
host_name nagios-server
service_description check-host-alive
check_period 24x7
max_check_attempts 3
normal_check_interval 3
retry_check_interval 2
contact_groups sagroup
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
check_command check-host-alive
}
define service{
host_name nagios-server
service_description check_local_disk
check_command check_local_disk!10%!5%!/
max_check_attempts 3
normal_check_interval 3
retry_check_interval 2
check_period 24x7
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
contact_groups sagroup
}
#被监控机监控服务
define service{
host_name mysql
service_description check_ssh
check_command check_tcp!22
max_check_attempts 3
normal_check_interval 3
retry_check_interval 2
check_period 24x7
notification_interval 10 #监控到服务故障后,间隔多长时间通知一次
notification_period 24x7
notification_options w,u,c,r
contact_groups sagroup #联系组 在contactgroup.cfg定义
}
6、定义监控时间段timeperiods.cfg
define timeperiod{
timeperiod_name 7x24
alias 24 Hours A Day, 7 Days A Week
sunday 00:00-24:00
monday 00:00-24:00
tuesday 00:00-24:00
wednesday 00:00-24:00
thursday 00:00-24:00
friday 00:00-24:00
saturday 00:00-24:00
}
timeperiod_name 7x24
alias 24 Hours A Day, 7 Days A Week
sunday 00:00-24:00
monday 00:00-24:00
tuesday 00:00-24:00
wednesday 00:00-24:00
thursday 00:00-24:00
friday 00:00-24:00
saturday 00:00-24:00
}
上面表示 7*24小时监控
二、配置nrpe
配置nagios-server 上的nrpe.cfg配置文件
pid_file=/var/run/nrpe.pid
server_port=5666 #所用端口号
server_address=192.168.2.47 #主机ip地址
allowed_hosts=127.0.0.1,192.168.2.47 #允许监控主机
server_port=5666 #所用端口号
server_address=192.168.2.47 #主机ip地址
allowed_hosts=127.0.0.1,192.168.2.47 #允许监控主机
被监控机mysql 服务器的nrpe的配置文件只需要修改下ip地址就行
到这里naios 安装以及配置都完成了,下面就要启动了
到这里naios 安装以及配置都完成了,下面就要启动了
启动nagios服务
启动nagios-server上的nagios,nrpe服务。
1、启动nrpe服务
#/usr/local/nrpe/bin/nrpe -c /usr/local/nrpe/etc/nrpe.cfg -d
检查服务是否启动
#ps -ef|grep nrpe
nagios 2449 1 0 Aug10 ? 00:00:44 /usr/local/nrpe/bin/nrpe -c /usr/local/nrpe/etc/nrpe.cfg -d
nagios 2449 1 0 Aug10 ? 00:00:44 /usr/local/nrpe/bin/nrpe -c /usr/local/nrpe/etc/nrpe.cfg -d
查看所用端口是否开启,下面说明已经正常开启
# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.168.2.154:5666 0.0.0.0:* LISTEN
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.168.2.154:5666 0.0.0.0:* LISTEN
2、启动nagios服务 ,首先检查是否有错误
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
看到下面几行行是
Total Warnings: 0
Total Errors: 0
Things look okay - No serious problems were detected during the pre-flight check
看到下面几行行是
Total Warnings: 0
Total Errors: 0
Things look okay - No serious problems were detected during the pre-flight check
说明没有错误,启动nagios 就行了
#/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
启动之后,就可以再web界面,监控服务器的详细信息了,输入 http://192.168.2.47/nagios输入用户名与密码进入
依照上面可以添加你希望监控的服务,更多资料参考 http://www.nagios.org/documentation 网站。
报警的时候在这页面上能看到,系统会自动发送邮件过来提醒,可是,如果不在电脑旁边了,就不知道,那下面就把飞信集成到里面让服务出现问题时,用手机短信提醒。
飞信与nagios结合实现手机短信提醒
1、飞信下载
飞信官方网站: http://www.it-adv.net/
飞信官方lib库下载:
32位官方lib库: http://www.it-adv.net/fetion/library32.rar
64位官方lib库: http://www.it-adv.net/fetion/library64_linux.tar.gz
飞信官方网站: http://www.it-adv.net/
飞信官方lib库下载:
32位官方lib库: http://www.it-adv.net/fetion/library32.rar
64位官方lib库: http://www.it-adv.net/fetion/library64_linux.tar.gz
2、安装飞信
下载到机器之后,通过ssh或者其他上传工具上传到服务器开始安装
# tar -zxvf fetion_linux_20080402.tar.gz
解压完成后产生一个sms的文件。现在运行时会出现报错,需要安装飞信的lib库
解压lib库之后上传到服务器Cp到目录下就行了
看下lib库里面的文件
#ls
libACE.so.5.4.7 libACE_SSL.so.5.4.7 libcrypto.so.0.9.8 libssl.so.0.9.8
# cp *.* /lib/
# cp *.* /usr/lib/
libACE.so.5.4.7 libACE_SSL.so.5.4.7 libcrypto.so.0.9.8 libssl.so.0.9.8
# cp *.* /lib/
# cp *.* /usr/lib/
Cp 飞信的执行文件到一个指定的目录下,飞信调用所写路径
# cp sms /usr/local/bin/
现在运行下
#/usr/local/bin/sms
#会提示让加上参数,发送格式如下
#/usr/local/bin/sms -f 飞信用户名 -p 密码 -t 目的手机号 -m "发送信息"
测试下,看是否能发送到手机上,目的手机必须是好友,否则发送 不成功
把短信加到nagios里面,需要修改下面配置文件,
1、 修改# vi /usr/local/nagios/etc/contacts.cfg文件
define contact {
contact_name lee
alias system administrator
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands service-notify-by-email,service-notify-by-sms
host_notification_commands host-notify-by-email,host-notify-by-sms
email [email protected]
pager 136****0434,138****0504
}
define contact {
contact_name lee
alias system administrator
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands service-notify-by-email,service-notify-by-sms
host_notification_commands host-notify-by-email,host-notify-by-sms
email [email protected]
pager 136****0434,138****0504
}
2、修改vi /usr/local/nagios/etc/commands.cfg配置文件,把下面内容追加到配置文件中。
###### host-notify-by-sms command definition
define command{
command_name host-notify-by-sms
command_line /usr/local/bin/sms -f 1358******* -p 123456 -t $CONTACTPAGER$ -m "$NOTIFICATIONTYPE$ alert - Host $HOSTNAME$ is $HOSTSTATE$ on $LONGDATETIME$"
}
define command{
command_name host-notify-by-sms
command_line /usr/local/bin/sms -f 1358******* -p 123456 -t $CONTACTPAGER$ -m "$NOTIFICATIONTYPE$ alert - Host $HOSTNAME$ is $HOSTSTATE$ on $LONGDATETIME$"
}
###### service-notify-by-sms command definition
define command{
command_name service-notify-by-sms
command_line /usr/local/bin/sms -f 1358******* -p 123456 -t $CONTACTPAGER$ -m "$NOTIFICATIONTYPE$: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ on $LONGDATETIME$"
}
command_name service-notify-by-sms
command_line /usr/local/bin/sms -f 1358******* -p 123456 -t $CONTACTPAGER$ -m "$NOTIFICATIONTYPE$: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ on $LONGDATETIME$"
}
保存退出,之后重新启动nagios,启动完成之后,当服务报警的时候,你就可以收到手机短信了。服务ok之后还会有一个ok的短信提示你服务已经ok。
这里nagios 就算完成了,就可以 通过web界面、邮件、手机短信第一时间知道服务器的状态。
这里nagios 就算完成了,就可以 通过web界面、邮件、手机短信第一时间知道服务器的状态。
我这里用了免费的飞信做手机提醒,还可以用 短信网关,短信猫都能与nagios 结合实现短信提醒。