unix/linux监控软件
nagios
Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,
打印机等.
cacti
Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。
zabix
zabbix(音同z?bix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
#############################################################
安装和配置nagios,查看官网详细安装配置步骤
需要安装zlib,libpng, ligjpeg, gd,php,apache(httpd)/nginx。
安装:
nagios-core
nagios-plugins
nagios-frontends(不同主题的监控客户端)
nagios-addons(包括nrpe和nsclient++)
nrpe:linux/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分为两部分:
- Check_nrpe,运行在监控主机上
- 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_users、check_load、check_hda1、check_zombie_procs、check_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机器有三个方法:
- nrpe
- Check_NT
- 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机器。
#############################################################