nagios: 安装与配置

unix/linux监控软件


nagios

Nagios是一款开源的免费网络监视工具,能有效监控WindowsLinuxUnix的主机状态,交换机路由器等网络设置,

打印机等.


cacti

Cacti是一套基于PHP,MySQL,SNMPRRDTool开发的网络流量监测图形分析工具。


zabix

zabbix(音同z?bix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。


#############################################################

安装和配置nagios,查看官网详细安装配置步骤

需要安装zlib,libpng, ligjpeg, gdphp,apache(httpd)/nginx


安装:

nagios-core

nagios-plugins

nagios-frontends(不同主题的监控客户端)

nagios-addons(包括nrpensclient++

nrpelinux/unix上的远程控制

nsclient++windows上的远程控制客户端


----------------------------------------------

安装nagios-core


创建nagios用户和组同时修改权限

groupadd nagios

useradd–s /bin/false –g nagios nagios

useradd–s /bin/false –g nagios nagioscmd

./configure --with-command-user=nagioscmd

安装到/usr/local/Nagios/

make   devclean

./configure   --with-gd-lib=/usr/lib    --with-gd-inc=/usr/include/    --with-command-user=nagioscmd

make all

make install

make install-init

make install-commandmode

make install-config

--------------------------------------------

安装nagios-plugin插件:


Nagios本身不能监控本地机器系统信息,需要安装这个插件:

编译安装nagios插件nagios-plugins.

插件在/usr/local/Nagios/libexec/

./configure

make

make install


#############################################################

nagios配置完成后需要配置apache


生成密码:

sudo htpasswd-c /usr/local/nagios/etc/htpasswd.users nagiosadmin


如果是httpd.conf文件可以用这个:

cdNagios-XXX

makeinstall-webconf


如果是apache2.conf需要手动添加配置信息:

参考/etc/apache2/apache2.conf

也可以炒安装包的simple-config/httpd.conf


配置完需要重新加载apache2

sudoservice apache2reload


检查nagios配置:

sudo/usr/local/nagios/bin/nagios-v /usr/local/nagios/etc/nagios.cfg


启动nagios

sudoservice Nagios start


web页面进行测试:

http://localhost/nagios/

输入nagiosadmin和密码


#############################################################

Nagios只能监控本机的系统信息(cpu、磁盘、内存等),需要使用nrpe来实现远程监控。


Nrpe分为两部分:

  1. Check_nrpe,运行在监控主机上

  2. NRPE daemon , 运行在被监控主机上。


+++++++++++++++++++++++++++

被监控(远程机器)需要安装以下内容):


添加nagios用户:

useradd -s /sbin/nologin nagios

passwd nagios


安装nagios插件:

./configure

make

make install


修改目录权限:

chown -R nagios:nagios /usr/local/nagios


安装nrpe deamon

./configure

make all

make install-daemon

make install-daemon-config


-----------------------------------

安装和配置xinetd(默认系统已经安装):

make install-xinetd


配置/etc/xinetd.d/nrpe文件添加监控主机ip

only_from = ip ip #在这里添加监控主机的地址。


配置/etc/services文件增加nrpe服务:

nrpe 5666/tcp #nrpe


重启xinetd:

service xinetd restart


测试,返回nrpe版本号说明正确:

/usr/local/nagios/libexec/check_nrpe -H localhost


-----------------------------------

配置nrpe/usr/local/nagios/etc/nrpe.cfg文件:

这个文件检查了用户、cpu负载、hda1的容量、僵尸进程、总进程。

check_userscheck_loadcheck_hda1check_zombie_procscheck_total_procs

需要添加swap的信息:

command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%


++++++++++++++++++++++++

为了能监控远程的机器系统信息需要在监控机器安装check_nrpe:


安装check_nrpe:

./configure

makeall

makeinstall-plugin


如果被监控机器的nrpedaemon安装好之后可以测试返回版本信息说明正确:

/usr/local/Nagios/libexec/check_nrpe -H remote_ip


/usr/local/nagios/etc/objects/commands.cfg添加check_nrpe

define command{

command_name check_nrpe

command_line /usr/local/nagios/libexec/check_nrpe –H $HOSTADDRESS$ -c $ARG1$ #也可以用$USER1$代替路径


/usr/local/nagios/etc/objects/services.cfg添加五个监控服务:

define service{

host_name ip #添加远程机器的ip,需要在hosts.cfg中定义

service_description service-name #服务名

check_command check_nrpe\

!check_users/check_load/check_hda1/check_zombie_procs/check_total_procs/check_swap #用同样的方法定义这几个服务。

}


重启nagios即可监控远程unix/linux机器。


#############################################################

nagios监控远程windows机器有三个方法:

  1. nrpe

  2. Check_NT

  3. NSCP(NSClient++)(现在用这个)


Nrpe分为两部分:

1.Check_nrpe,运行在监控主机上

2.NRPE daemon , 运行在被监控主机上。


Check_NT:

这个插件最简单,只需要在监控机器上安装即可,通过网络协议连接到远程机器。

+++++++++++++++++++++++++++++++++

在被监控的windows机器安装NSCP


cmd

cd C:\NSClient

nsclient++ /install

nsclient++ SysTray


在运行里打开:service.msc服务查看nsclient是否已经启动。

Service.msc->NSClientpp-> 登陆 ->允许服务与桌面交互


修改配置文件C:\NSClient\NSC.ini

[modules]部分的所有模块前面的注释都去掉,除了CheckWMI.dlland RemoteConfiguration.dll这两个。

[Settings]部分设置‘password‘选项来设置密码,作用是在nagios连接过来时要求提供密码.这一步是可选的,我这里方便起

见跳过它,不要密码.

[Settings]部分‘allowed_hosts‘选项的注释去掉,并且加上运行nagios的监控主机的IP.我改为如下这

allowed_hosts=127.0.0.1/32,192.168.0.111以逗号相隔.这个地方是支持子网的,如果写成192.168.0.0/24则表示该子网内

的所有机器都可以访问.如果这个地方是空白则表示所有的主机都可以连接上来.注意是[Settings]部分的,因为[NSClient]

部分也有这个选项.

必须保证[NSClient]‘port‘选项并没有被注释,并且它的值是‘12489‘,这是NSClient的默认监听端口


重启:

Nsclient++ /start


在防火墙添加端口:

Windows防火墙->启用

Windows防火墙->例外->添加端口->NSClient++ 12489


+++++++++++++++++++++++++++++++++++++

在监控机器的安装和配置NSCP

1.check_nt 已经默认安装了


2.定义命令

define command{

command_name check_nt

command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$

}


测试NSClient

/usr/local/Nagios/libexec/check_nt -H remote_ip -p 12489 -v CLIENTVERSION


测试windows服务器的连通性:

/usr/local/nagios/libexec/check_ping -H remote_ip -p 12489 -s password -w 200.0,20% -c 500.0,60%


增加监控项目/usr/local/Nagios/etc/objects/services.cfg添加五个监控服务:

define service{

host_name ip #添加远程机器的ip,需要在hosts.cfg中定义

service_description service-name #服务名

check_command check_nt\

!UPTIME\CPULOAD\MEMUSE\USEDDISKSPACE\SERVICESTATE\PROCSTATE #用同样的方法定义这几个服务。

}


重启nagios即可监控远程windows机器。


#############################################################


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。