Ubuntu上快速搭建Nagios监控
来源:互联网 发布:淘宝授权书查询真假 编辑:程序博客网 时间:2024/05/29 09:38
转自:http://my.oschina.net/julienbin/blog/69186
Nagios是常用的系统监控工具,提供了很多基本服务的监控脚本,如HTTP,MYSQL等,同时具有不错的可扩展性,自己可定制针对特定参数的监控脚本以及报警的方式。但Nagios的配置相当复杂,本文总结了我最近在Ubuntu Server上搭建Nagios的过程,以方便大家将来更加快速的安装搭建监控系统。
Nagios安装
安装分为nagios server和被监控端两部分。nagios server提供web界面,报警配置;被监控端需要安装nagios nrpe服务,负责与server通信本机的监控情况。
1) Nagios Server的安装:
默认情况下,nagios会使用apache2作为自己的web server。本着快速的原则,在server上运行:
1
sudo
apt-get
install
apache2 nagios3 nagios-nrpe-plugin
nagios-nrpe-plugin用于与被监控机器上的nrpe服务通信;
安装过程中,会提示输入nagsio web管理员的密码,nagios web的登录帐号和密码是nagiosadmin/<安装时设定的密码>;也可以修改/etc/nagios3/htpasswd.users来改变用户、密码。
安装完成后,在/etc/apache2/conf.d下会建立nagios3.conf,这是关于nagios web的配置。访问http://<apache2 Server Address>/nagios3即可看到nagios的主页。如果想在网页上看nagios的doc,请安装:
1
sudo
apt-get
install
nagios3-doc
如果想使用Nginx作为WEB SERVER,请Google "Nagios Nginx"。
2)被监控机器上,运行:
1
sudo
apt-get
install
nagios-nrpe-server
Nagios配置
1)Nagios Server:
Nagios里需要配置的Object主要分Host, Service, Contact等;
其主配置是/etc/nagios3/nagios.cfg,一般不用怎么修改;
脚本配置
脚本的配置是/etc/nagios3/commands.cfg,这里面常常修改notify-host-by-email;notify-service-by-email,通常会修改发email的命令,我改成了用sendEmail(apt-get install sendEmail)发email:
1
define
command
{
2
command_name notify-service-by-email
3
command_line /usr/bin/
printf
"%b"
"***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$"
| /usr/bin/sendEmail -f <from@xxx.xx> -t <to@xxx.xx> -u
"** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **"
-s <SMTP_SERVER> -xu <EMAIL_USER_NAME> -xp <EMAIL_USER_PASSWORD>
4
}
也可增加一些用短信报警的命令,具体可Google "Nagios短信报警"。
另外需要查看的脚本配置位于/etc/nagios-plugin/config下,比如check_nrpe.cfg:01
# this command runs a program $ARG1$ with arguments $ARG2$
02
define
command
{
03
command_name check_nrpe
04
command_line /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$
05
}
06
07
# this command runs a program $ARG1$ with no arguments
08
define
command
{
09
command_name check_nrpe_1arg
10
command_line /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
11
}
想查看check_http/check_ping/check_mysql的详细,对应的请查看http.cfg/ping.cfg/mysql.cfg里是怎么配置的。一般都是调用/usr/lib/nagios/plugins下的脚本,这些脚本都是可执行的,加"-- help"可查看该脚本的具体用法。如:
1
/usr/lib/nagios/plugins/check_http --help
配置的组成结构
在/etc/nagios3/conf.d下有一组配置,该配置的结构为:
1) contacts_nagios2.cfg: 配置联系人,可配置报警的命令等,一般我会在这里修改了联系人的email;
2) generic-service_nagios2.cfg和generic-host_nagios2.cfg配置,generic-host/generic-service的一些配置,这样你配置的host/service只要配上use generic-host/use generic-service就能继承相应的配置。扩展的配置放在extinfo_nagios2.cfg里,时间段配置在timeperiods_nagios2.cfg里,这几个文件我都没有修改。
3) hostgroups_nagios2.cfg里配置host的分组,实际上它的主要作用是给host进行分类;
4)最重要的是services_nagios2.cfg,这里配置了需监视的service,每个service可指定针对哪类host有效。如:
1
define service {
2
hostgroup_name http-servers
1
service_description HTTP
2
check_command check_http
3
use generic-service
4
notification_interval 0 ;
set
> 0
if
you want to be renotified
5
}
被监控机器的配置
配置文件是/etc/nagios/nrpe.cfg。主要配置项有:
1
#server_address=127.0.0.1
1
allowed_hosts=127.0.0.1
nrpe里的自定义command,如:
1
command
[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10
2
command
[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
3
command
[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1
后继
按以上步骤,大概20分钟后就可以搭起一个最基本的监控系统。完成后可通过nagios的web查看各个host和service,观看详细的运行情况,包括下次监控脚本运行时间等等。如果需要细致的配置,如配置检查间隔等,请查看nagios的官方文档。(nagios主页位于http://nagios.org)
如果需要扩展监控脚本,需自己写一个脚本,返回值为0, 1, 2时分别代表Normal,Warning,Critical的状态,然后在nrpe里配好command即可。
我还碰到过一个报警命令配错了,系统在一次报警失败后,遇到新的需要报警的时候,没有再次报警的问题。Google了一下,可能是Nagios Cache的问题,清下cache就行。
1
rm
/var/cache/nagios3/*
0 0
- Ubuntu上快速搭建Nagios监控
- Ubuntu上快速搭建Nagios监控
- Ubuntu上快速搭建Nagios监控
- ubuntu下nagios监控环境搭建
- nagios监控系统搭建
- nagios监控平台搭建
- 搭建nagios监控
- nagios 监控环境搭建
- nagios监控环境搭建
- 搭建nagios监控平台
- 在Ubuntu 14.04上安装Nagios 4用于监控服务器
- ubuntu下搭建nagios
- 使用Nagios搭建监控服务器
- linux下搭建nagios监控
- nagios监控服务器的搭建
- ubuntu nagios监控远程msyql
- nagios快速搭建(转载)
- Ubuntu上Nagios安装过程
- java基础——对象引用
- 关于oracle数据库中汉字乱码的编码修改经验
- jsp的textarea问题
- 统一设置前台页面的基础路径
- oracle数据库表左连接右连接全连接的认识
- Ubuntu上快速搭建Nagios监控
- java的学习记录5
- linux yum命令详解
- 获取java系统路径
- Ubuntu12.04的嵌入式开发环境搭建(一)
- C或C++调用Windows系统函数 实现延时 或 获取当前时间的处理
- LeetCode: Length of Last Word
- 《学习bash》笔记--引用
- 一步一步完成cocos2d-x-2.2.1 的Android交叉编译