icinga 服务端-客户端安装配置

1. 通过共享SSH KEYS 和check_by_ssh 插件来运行远程主机上的插件。

这种方式性能高,尤其是监控的主机数量达到一定规模时候性能较好。

2.通过NRPE addon,NRPE插件可以允许你执行远程主机的plugins


我们通过第二种方式NRPE来监控远程主机

先看其原理

如下图,受控端会运行一个nrpe的daemon,监控服务端则通过执行check_nrpe来调用远程主机的npre插件并调用check_命令,并返回数据

icinga 服务端-客户端安装配置_第1张图片

准备:

yum install gcc openssl-devel

添加普通账户icinga

#> /usr/sbin/useradd icinga
 #> passwd icinga

编译和安装Icinga插件

#> tar jxvf nagios-cn-plugins-1.5.tar.bz2
 #> cd nagios-cn-plugins-1.5 
 #> ./configure --prefix=/usr/local/icinga  --with-cgiurl=/icinga/cgi-bin --with-package-name=icinga-plugins
 #> make
 #> make install
文档中configure时候还加了 --with-icinga-user=icinga --with-icinga-group=icinga ,我发现加了也不认,似乎也没什么用,加了反而报:

configure: WARNING: unrecognized options: --with-icinga-user, --with-icinga-group,没什么区别

客户端编译和安装Nrpe

#> tar xvzf icinga-nrpe-2.14.tar.gz
 #> cd icinga-nrpe-2.14  
 #> /configure 
 #> make all
 #> make install
 #> make install-plugin
 #> make install-daemon
 #> make install-daemon-config
 #> make install-init

 configure过程的输出信息确认如下:

 General Options:
 -------------------------
 NRPE port:    5666
 NRPE user:    icinga
 NRPE group:   icinga
 Icinga user:  icinga
 Icinga group: icinga

配置客户端Nrpe

添加服务器地址

 #> vi /usr/local/icinga/etc/nrpe.cfg
 #> allowed_hosts=127.0.0.1,IPADDRESS
增加command字段来添加要监控的服务

command[check_users]=/usr/local/icinga/libexec/check_users -w 5 -c 10
 command[check_load]=/usr/local/icinga/libexec/check_load -w 15,10,5 -c 30,25,20
 command[check_hda1]=/usr/local/icinga/libexec/check_disk -w 20% -c 10% -p /dev/hda1 
 command[check_zombie_procs]=/usr/local/icinga/libexec/check_procs -w 5 -c 10 -s Z 
 command[check_total_procs]=/usr/local/icinga/libexec/check_procs -w 150 -c 200  
 command[check_ssh]=/usr/local/icinga/libexec/check_ssh -H localhost 
 command[check_swap]=/usr/local/icinga/libexec/check_swap -w 20% -c 10% 
 command[check_mysql]=/usr/local/icinga/libexec/check_mysql -H localhost -uroot -ptomcat2008 
 command[check_apache]=/usr/local/icinga/libexec/check_apachestatus -H localhost -p 80 
 command[check_ntp]=/usr/local/icinga/libexec/check_ntp -H localhost -w 0.5 -c 1 
 command[check_snmp]=/usr/local/icinga/libexec/check_snmp_service -H localhost -C monitor_energysh 

启动nrpe

service icinga-nrpe start

验证

检测服务端check_nrpe与客户端运行的nrpedaemon之间的通信

/usr/local/icinga/libexec/check_nrpe -H ClientIPADDRESS
如果不通,可以关闭防火墙和selinux试试。

监控windows主机

原理

与监控linux原理类似,也是需要一个agent,这个agent叫   NSClient++  addon , 使用 check_nt  plugin  来与NSClient++ 交互, Icinga server应该先装好check_nt 。
icinga 服务端-客户端安装配置_第2张图片

安装Windows Agent

官方推荐的是 NSClient++ addon,下载地址http://sourceforge.net/projects/nscplus/
下载最新版本,双击安装即可。这里下载的版本是NSCP-0.4.1.73-x64.msi

设置Agent

从服务里找到NSClient++,设置服务自动启动
icinga 服务端-客户端安装配置_第3张图片
属性里设置如下,这里没有设置密码
icinga 服务端-客户端安装配置_第4张图片

设置allowed hosts
配置文件在:C:\Program Files\NSClient++\nsclient.ini
[/settings/default]

; ALLOWED HOSTS - A comaseparated list of allowed hosts. You can use netmasks (/ syntax) or * to create ranges.
allowed hosts = 10.1.81.199

配置icinga服务端

先放开windows配置
vi /usr/local/icinga/etc/icinga.cfg
#cfg_file=/usr/local/icinga/etc/objects/windows.cfg
去掉这里的#

vi /usr/local/icinga/etc/objects/windows.cfg
定义host和service等
define host{
        ; Inherit default values from a Windows server template
        use             windows-server   ; make sure you keep this line!
        host_name       winserver
        alias           My Windows Server
        address         192.168.1.2
        }
默认已经有了,设置IP等

密码配置

 vi /usr/local/icinga/etc/objects/commands.cfg

 define command{
        command_name    check_nt
        command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s $USER9$ -v $ARG1$ $ARG2$
        }
改为,这里使用空密码
# 'check_nt' command definition
define command{
        command_name    check_nt
        command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s "" -v $ARG1$ $ARG2$
        }
重启icinga,测试是否好用

调试用下面的命令

 /usr/local/icinga/libexec/check_nt -H <ip address> -p <port> -s <password> -v UPTIME

你可能感兴趣的:(icinga 服务端-客户端安装配置)