|
Nagios是一个用来监控主机、服务和网络的开放源码软件。Nagios本身并不做任何检测主机(host)和服务(Service)的工作,而是完全依赖于一些插件(Plugin)来完全这些工作.插件可以是一些程序或脚本(scripts)。每当Nagios需要检测主机或某个服务的状时,并执行这些插件,然后根据返回的结果来判断其是否处于正常状态。
一、安装:
官方文档:http://www.nagios.org/docs/
官方文档中详细描述了nagios的安装。
1、创建用户和组:
sudo/usr/sbin/useradd -m nagios
sudopasswd nagios
/usr/sbin/groupaddnagcmd
/usr/sbin/usermod-a -G nagcmd nagios
2、安装
从下列网址下载nagios及其插件
http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.6.tar.gz
http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz
解压后进入nagios目录
用root用户执行:
./configure–with-command-group=nagcmd
makeall
makeinstall
makeinstall-init
makeinstall-config
makeinstall-commandmode
要通过apache查看web界面,执行以下命令:
makeinstall-webconf
htpasswd-c /usr/local/nagios/etc/htpasswd.users nagiosadmin
进入nagios的插件目录:
./configure--with-nagios-user=nagios --with-nagios-group=nagios
make
makeinstall
这样,nagios和nagios的插件就安装完成了。执行下面这条命令使naigos自动启动
ln-s /etc/init.d/nagios /etc/rcS.d/S99nagios
3、访问http://localhost/nagios/就可以查看nagios的监控状态了,点击左侧的Service
发现nagios监测了一个host(localhost)和一些service
二、配置
安装好nagios后,配置文件在/usr/local/nagios/etc下面,nagios.cfg的主配置文件,这里可以指定一些log信息,引用哪些配置文件等,我这里几乎没做任何修改。
主要修改是在/usr/local/naigos/etc/objects目录下的配置文件
1、contacts.cfg
这个配置文件主要用来修改联系人信息,如email地址等,当service或host有问题时发送邮件时会用到。
2、commands.cfg
这个配置文件主要是定义了一些命令
如
definecommand{
command_namecheck-host-alive
command_line$USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100%-p 5
}
3、localhost.cfg
这个就是在nagios的监控页面上看到的localhost的配置文件
在这个配置文件里,首先定了一个host(Ahost definition is used to define a physical server, workstation,device, etc.)
definehost{
uselinux-server
host_namelocalhost
aliaslocalhost
address127.0.0.1
contactsnagiosadmin
}
这里可以指定ip地址,contacts等。
接下来定义了一个hostgroup(HostGroups aregroups of one or more hosts)
然后就是一些预定义的Service(Serviceare one of the central objects in the monitoringlogic)也就是我们要监视服务器上的哪些资源。如
defineservice{
uselocal-service
host_namelocalhost
service_descriptionRoot Partition
check_command check_local_disk!20%!10%!/
}
这个Service表示要临控根分区,当可用空间小于20%,发出“警告”信息,当小于10%时,发出“严重(critical)”信息
service_description是对这个service的描述。check_command是要执行的命令,当nagios要检测这个Service是否正常时,会调用这个命令。
check_local_disk!20%!10%!/解析:
check_local_disk是定义在commands.cfg里面的一条命令,在commands.cfg中,它的定义如下:
definecommand{
command_namecheck_local_disk
command_line$USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
}
$USER1$为nagios的内部变量在resource.cfg中定义,此处值为/usr/local/nagios/libexec,
表示nagiospulugins按装目录,在/usr/local/nagios/libexec里,可以看到一系列命令,每一个命令都可以终端里执行:如./check_disk-h会显示check_disk这条命令的帮助信息
./check_mysql-H 127.0.0.1 -u root -p password会显示mysql的连接情况
Uptime:30457 Threads: 39 Questions: 1801488 Slow queries: 7 Opens: 115 Flush tables: 1 Open tables: 64 Queries per second avg: 59.149
在definecommand 的command line中,$ARG1$表示第一个参数,$ARG2$表示第二个参数,以此类推,在调用时check_local_disk!20%!10%!/,20%为第一个参数,10%为第二个参数,/为第三个参数 |
|
|