搭建Cacti+Nagios配置文档|软件使用|环境配置【精】

网友投稿 534 2023-03-18

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

搭建Cacti+Nagios配置文档|软件使用|环境配置【精】

Cacti+Nagios(一):安装环境

系统版本:CentOS-6.5-x86_64

一、系统环境

1、主机名

[root@nagios ~]# vi /etc/sysconfig/network

NETWORKING=yes

2、yum源

(1)使用本地源

挂载光盘或ISO文件并配置源:

[root@nagios ~]# mkdir /media/cdrom

[root@nagios ~]# mount /dev/cdrom /media/cdrom/

[root@nagios ~]# cd /etc/yum.repos.d

[root@nagios yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak

[root@nagios yum.repos.d]# vi CentOS-Base.repo

[base]

name=Base

baseurl=file:///media/cdrom/

gpgcheck=0

enabled=1

(2)添加163的源

(3)更新列表

[root@nagios yum.repos.d]# yum clean all

[root@nagios yum.repos.d]# yum list

(4)解除锁定状态

使用yum安装时可能会出现锁定状态,报错如下:

Another app is currently holding the yum lock; waiting for it to exit...

解决方法:

[root@nagios ~]# rm -f /var/run/yum.pid

3、X桌面环境

查看是否安装了桌面环境的组件,没有则进行组安装:

[root@nagios ~]# yum grouplist | more

[root@nagios ~]# yum groupinstall -y   "Desktop"   "Desktop Platform"   "Desktop Platform Development"  "Fonts"  "General Purpose Desktop"  "Graphical Administration Tools"  "Graphics Creation Tools"  "Input Methods"  "X Window System"  "Chinese Support [zh]" "Internet Browser"

修改启动级别为5后重启服务器:

[root@nagios ~]# vi /etc/inittab

id:5:initdefault:

[root@nagios ~]# reboot

4、网卡配置

查看网络配置:

[root@nagios ~]# ifconfig -a

eth0      Link encap:Ethernet  HWaddr 00:15:5D:01:2C:00

inet addr:10.188.1.103  Bcast:10.188.1.255  Mask:255.255.255.0

inet6 addr: fe80::215:5dff:fe01:2c00/64 Scope:Link

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

RX packets:20570650 errors:0 dropped:0 overruns:0 frame:0

TX packets:23909757 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:1997534214 (1.8 GiB)  TX bytes:1952904919 (1.8 GiB)

lo        Link encap:Local Loopback

inet addr:127.0.0.1  Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING  MTU:16436  Metric:1

RX packets:1691114 errors:0 dropped:0 overruns:0 frame:0

TX packets:1691114 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:96615865 (92.1 MiB)  TX bytes:96615865 (92.1 MiB)

手动设置网卡:

[root@nagios ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0          #接口名称

TYPE=Ethernet        #接口类型:以太网

ONBOOT=yes           #开机启动

BOOTPROTO=static          #静态IP

HWADDR=00:15:5D:01:2C:00  #MAC地址

IPADDR=10.188.1.103       #IP地址

PREFIX=24                 #子网掩码位数,或使用NETMASK=255.255.255.0

GATEWAY=10.188.1.1        #网关地址

DNS1=10.188.1.2           #DNS服务器地址,我这是内网的DNS

DNS2=202.101.224.68      #公网DNS服务器地址

重启网卡:

[root@nagios ~]# ifdown eth0 && ifup eth0

5、vnc远程桌面

安装及启动进程1(端口号是5900+1):

[root@nagios ~]# yum install -y tigervnc-server

[root@nagios ~]# vncserver :1

#输入密码123456

配置启动脚本,使用Gnome会话模式:

[root@nagios ~]# vi /root/.vnc/xstartup

unset SESSION_MANAGER

exec /etc/X11/xinit/xinitrc

#twm&

gnome-session

重启vnc进程:

[root@nagios ~]# vncserver -kill :1 [root@nagios ~]# vncserver :1

设置开机自动启动:

[root@nagios ~]# vi /etc/sysconfig/vncservers

VNCSERVERS="1:root"

VNCSERVERARGS[1]="-geometry 800x600 -alwaysshared "

[root@nagios ~]# chkconfig vncserver on

6、selinux安全项

[root@nagios ~]# vi /etc/selinux/config

SELINUX=disabled

[root@nagios ~]# setenforce 0

7、ntpupdate时间同步

[root@nagios ~]# crontab -e

0 * * * * /usr/sbin/ntpdate 65.55.56.206  #1小时同步一次

[root@nagios ~]# service crond restart

[root@nagios ~]# ntpdate 65.55.56.206

18 Nov 10:07:49 ntpdate[8567]: step time server 65.55.56.206 offset -0.743765 sec

8、FTP文件传输

[root@nagios ~]# yum install -y vsftpd

[root@nagios ~]# vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO  #禁止匿名访问

userlist_deny=NO     #(手动添加)使用FTP用户表

[root@nagios ~]# useradd ywzhou

[root@nagios ~]# passwd ywzhou

#输入密码123456

[root@nagios ~]# vi /etc/vsftpd/user_list

ywzhou

[root@nagios ~]# /etc/init.d/vsftpd start

[root@nagios ~]# chkconfig vsftpd on

9、防火墙

[root@nagios ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT

[root@nagios ~]# iptables -I INPUT -p tcp --dport 21 -j ACCEPT

[root@nagios ~]# iptables -I INPUT -p tcp --dport 5901 -j ACCEPT

[root@nagios ~]# service iptables save

二、LAMP环境

1、安装Apache

DirectoryIndex  index.php index.html

2、安装PHP

[root@nagios ~]# yum -y install php php-devel php-snmp php-gd php-mysql

访问测试:

结论:会显示php的相关信息表示php+apache整合成功

3、安装Mysql

[root@nagios ~]# yum install mysql mysql-server mysql-devel

[root@nagios ~]# service mysqld start

[root@nagios ~]# chkconfig mysqld on

[root@nagios ~]# mysqladmin -u root password '123456'

当主机断电重启后zabbix无法连接mysql,报错如下:

Another MySQL daemon already running with the same unix socket

要先删除mysql.sock文件才能启动mysqld,因此在执行下面的命令开机重启mysql:

[root@nagios ~]# echo "rm -f /var/lib/mysql/mysql.sock && service mysqld restart" >> /etc/rc.local

三、编译环境

1、安装gcc

[root@nagios ~]# yum install gcc

2、安装glibc

3、安装gd

[root@nagios ~]# yum install gd gd-devel

4、安装pcap

[root@nagios ~]# yum install libtool libpcap libpcap-devel gdbm gdbm-devel zlib zlib-devel

Cacti+Nagios(二):安装Cacti

1、设置mysql,创建Cacti数据库和账号

[root@nagios ~]# mysql -u root -p123456

mysql> create database cactidb;

mysql> GRANT ALL ON cactidb.* TO cactier@localhost IDENTIFIED BY '123456';

mysql> flush privileges;

mysql> quit

2、安装rrdtool

[root@nagios ~]# yum -y install rrdtool  rrdtool-devel  rrdtool-php

3、安装配置snmp

[root@nagios ~]# yum install -y net-snmp net-snmp-utils net-snmp-libs

[root@nagios ~]# vi /etc/snmp/snmpd.conf

[root@nagios ~]# service snmpd restart

[root@nagios ~]# chkconfig snmpd on

4、下载安装Cacti

[root@nagios ~]# mkdir /home/nagios

[root@nagios ~]# cd /home/nagios

[root@nagios nagios]# tar xzf cacti-0.8.8b.tar.gz

[root@nagios cacti]# mysql -uroot -p cactidb < cacti.sql

5、配置参数

$database_type = "mysql";

$database_default = "cactidb";

$database_hostname = "localhost";

$database_username = "cactier";

$database_password = "123456";

$database_port = "3306";

#$url_path = "/cacti/";

6、添加用户、修改权限和属主

[root@nagios cacti]# useradd cactier

[root@nagios cacti]# passwd cactier

#输入密码123456

[root@nagios cacti]# usermod -G cactier apache

[root@nagios cacti]# chown -R cactier:cactier rra/ log/

7、Apache设置

Options FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

Allow from all

[root@nagios cacti]# vi /etc/php.ini

date.timezone=Asia/Shanghai

8、添加计划

每5分钟更新RRD图形,poller是单线程程序,可以改用支持多线程和分布式的工具spine

[root@nagios cacti]# crontab -e

[root@nagios cacti]# service crond restart

[root@nagios cacti]# ntpdate 65.55.56.206

切换用户,手动执行后在rra目录下生成rrd图形文件

[root@nagios cacti]# su - cactier

也可以不执行手动操作,等待5分钟,观察rra目录下是否自动生成rrd文件

9、WEB页面初始化

用户名admin 密码admin

10、测试采集数据

(1)查看RRD文件中数据

[cactier@nagios rra]# rrdtool fetch -r 300 localhost_mem_buffers_3.rrd AVERAGE

date +%s

- nan表示没有数据,每隔300秒获取一次数据。

(2)查看mysql中的更新时间

[cactier@nagios rra]# mysql -uroot -p123456

mysql>use cactidb;

mysql>select * from poller_time;

mysql>quit

正常的话是每五分钟更新

(3)采集不到数据怎么办

在网页上清除缓存system utilities -->Rebuild poller cache

同步系统时间#ntpdate 65.55.56.206

(4)测试snmp抓取数据

[root@nagios ~]# snmpwalk -v 2c -c public <目标机器IP> system

Cacti+Nagios(三):安装Nagios

1、添加用户

[root@nagios ~]# groupadd nagcmd

[root@nagios ~]# useradd -G nagcmd nagios

[root@nagios ~]# usermod -a -G nagcmd apache

2、安装nagios

[root@nagios ~]# cd /home/nagios

[root@nagios nagios]# tar xzvf nagios-4.0.7.tar.gz

[root@nagios nagios]# cd nagios-4.0.7

[root@nagios nagios-4.0.7]#make all

[root@nagios nagios-4.0.7]#make install

[root@nagios nagios-4.0.7]#make install-init

[root@nagios nagios-4.0.7]#make install-config

[root@nagios nagios-4.0.7]#make install-webconf

设置登陆web界面时HTTP验证的账号密码

[root@nagios nagios-4.0.7]#htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

3、安装nagios-plugins

[root@nagios nagios-4.0.7]#cd /home/nagios

[root@nagios nagios]# tar xzvf nagios-plugins-2.0.2.tar.gz

[root@nagios nagios]# cd nagios-plugins-2.0.2

[root@nagios nagios-plugins-2.0.2]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-mysql

[root@nagios nagios-plugins-2.0.2]# make

[root@nagios nagios-plugins-2.0.2]# make install

所有插件命令将被安装到/usr/local/nagios/libexec 目录下

4、其他设置

检查nagios的配置:

[root@nagios ~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

添加自动动项:

[root@nagios ~]# chkconfig --add nagios

[root@nagios ~]# chkconfig nagios on

[root@nagios ~]# service nagios start

登陆页面:

账号nagiosadmin密码123456

5、遇到的问题

The requested URL /nagios/sbin/statusmap.cgi was not found on this server.

The requested URL /nagios/sbin/histogram.cgi was not found on this server.

原因一:因为gd-devel php-gd没有安装的问题,造成NAGIOS在编译时不生成这statusmap.cgi

原因二:nagios编译在前, gd-devel安装在后,造成不生成这statusmap.cgi

解决方法:yum安装gd-devel php-gd,再重新编译安装nagios

Cacti+Nagios(四):Cacti整合Nagios

一、原理

整合cacti和nagios是利用了cacti的一个插件nagios for cacti,它的原理是将nagios的数据通过ndo2db导入到mysql数据库(cacti的库中),然后cacti读取数据库信息将nagios的结果展示出来。

二、安装cacti扩展模块

cacti扩展模块需要下载安装cacti-plugin,cacti-0.8.8a及以后版本已集成此扩展模块不需要再单独安装,如果使用的是老版本cacti,扩展模块安装如下:

[root@nagios ~]# cd /home/nagios

[root@nagios nagios]# tar xvf cacti-plugin-0.8.7h-PA-v3.0.tar.gz

[root@nagios cacti]# mysql -u cactier -p 123456 cactidb < pa.sql

[root@nagios cacti]# patch -p1 -N < cacti-plugin-0.8.7h-PA-v3.0.diff

[root@nagios cacti]# vim include/config.php

$url_path = "/cacti/";

从web进入cacti,启用cacti plugin扩展

三、安装Ndoutils插件

1、安装Ndoutils

[root@nagios cacti]# cd /home/nagios

[root@nagios nagios]# tar zxvf ndoutils-2.0.0.tar.gz

[root@nagios nagios]# cd ndoutils-2.0.0

[root@nagios ndoutils-2.0.0]# ./configure  --prefix=/usr/local/nagios/  --with-mysql-inc=/usr/include/mysql   --with-mysql-lib=/usr/lib64/mysql  --enable-mysql  --disable-pgsql   --with-ndo2db-user=nagios --with-ndo2db-group=nagios

[root@nagios ndoutils-2.0.0]# make

2、准备配置文件

[root@nagios ndoutils-2.0.0]# cd db

[root@nagios db]# ./installdb -u cactier -p 123456 -h localhost -d cactidb

[root@nagios ndoutils-2.0.0]# cd ..

[root@nagios ndoutils-2.0.0]# cp src/{ndomod-4x.o,ndo2db-4x,log2ndo,file2sock} /usr/local/nagios/bin

#nagios是4.x版本的就使用ndomod-4x.o和ndo2db-4x,如果是3.x版本就复制对应的3x文件

[root@nagios ndoutils-2.0.0]# cp config/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg

[root@nagios ndoutils-2.0.0]# cp config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg

[root@nagios ndoutils-2.0.0]# cd /usr/local/nagios/etc/

[root@nagios etc]# chown nagios:nagios ndo2db.cfg ndomod.cfg

[root@nagios etc]# chmod 664 ndo2db.cfg ndomod.cfg

[root@nagios etc]# cd /usr/local/nagios/bin

[root@nagios bin]# mv ndo2db-4x ndo2db

[root@nagios bin]# mv ndomod-4x.o ndomod.o

[root@nagios bin]# chown nagios:nagios *

3、修改配置文件

[root@nagios bin]# vi /usr/local/nagios/etc/nagios.cfg

#注意,broker_module和config_file放在一行

broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfgevent_broker_options=-1

process_performance_data=1

[root@nagios bin]# vi /usr/local/nagios/etc/ndo2db.cfg    socket_type=tcp    db_servertype=mysql    db_host=localhost    db_port=3306    db_name=cactidb    db_prefix=npc_    db_user=cactier    db_pass=123456

[root@nagios bin]# vi /usr/local/nagios/etc/ndomod.cfg    output_type=tcpsocket    output=127.0.0.1

4、启动守护进程

[root@nagios bin]# /usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg

[root@nagios bin]# cd /home/nagios/ndoutils-2.0.0

[root@nagios ndoutils-2.0.0]# cp ./daemon-init /etc/init.d/ndo2db

[root@nagios ndoutils-2.0.0]# chmod +x /etc/init.d/ndo2db

[root@nagios ndoutils-2.0.0]# service ndo2db status

[root@nagios ndoutils-2.0.0]# chkconfig --add ndo2db

[root@nagios ndoutils-2.0.0]# chkconfig ndo2db on

四、安装NPC插件

介绍:全称Nagios Plugin for Cacti,将nagios的数据通过ndo2db导入到mysql数据库(前面设置的npc_开头的表),然后cacti读取数据库信息将nagios的结果通过NPC展示出来。

1、安装npc

[root@nagios ndoutils-2.0.0]# cd /home/nagios

[root@nagios nagios]# tar zxvf npc-2.0.4.tar.gz

$plugins[] = 'npc';

2、页面设置npc

(1)user management-->admin-->勾上Plugin Management

(3)settings-->NPC-->照下图设置

3、安装json:支持npc

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。

注意:先执行第4步的php -m查看是否加载了json,有则跳过3、4步,

[root@nagios nagios]# tar zxvf json-1.2.1.tgz

[root@nagios nagios]# cd json-1.2.1

[root@nagios json-1.2.1]# vi JSON_parser.c

#define ZVAL_DELREF Z_DELREF_P

[root@nagios json-1.2.1]# phpize

[root@nagios json-1.2.1]# ./configure

[root@nagios json-1.2.1]# make && make install

4、配置php以支持json

[root@nagios json-1.2.1]# vi /etc/php.d/json.ini

extension=json.so

查看是否有json被加载:

[root@nagios json-1.2.1]# php -m

查看是否有导入信息:

[root@nagios json-1.2.1]# php -i | grep php.ini

5、修改数据库(缺少个别字段)

[root@nagios json-1.2.1]# tail /var/log/messages

ndo2db: mysql_error: 'Unknown column 'long_output' in 'field list''

[root@nagios json-1.2.1]# mysql -ucactier -p123456

mysql>use cactidb;

mysql>ALTER TABLE npc_eventhandlers ADD long_output TEXT NOT NULL DEFAULT '' AFTER output;

mysql>ALTER TABLE npc_hostchecks ADD long_output TEXT NOT NULL DEFAULT '' AFTER output;

mysql>ALTER TABLE npc_hoststatus ADD long_output TEXT NOT NULL DEFAULT '' AFTER output;

mysql>ALTER TABLE npc_notifications ADD long_output TEXT NOT NULL DEFAULT '' AFTER output;

mysql>ALTER TABLE npc_servicechecks ADD long_output TEXT NOT NULL DEFAULT '' AFTER output;

mysql>ALTER TABLE npc_servicestatus ADD long_output TEXT NOT NULL DEFAULT '' AFTER output;

mysql>ALTER TABLE npc_statehistory ADD long_output TEXT NOT NULL DEFAULT '' AFTER output;

mysql>ALTER TABLE npc_services ADD importance smallint(6) NOT NULL DEFAULT '0';

mysql>ALTER TABLE npc_hosts ADD importance smallint(6) NOT NULL DEFAULT '0';

mysql>ALTER TABLE npc_contacts ADD minimum_importance smallint(6) NOT NULL DEFAULT '0';

mysql>quit

6、重启服务

[root@nagios ~]# service mysqld restart

[root@nagios ~]# service ndo2db restart

[root@nagios ~]# service nagios restart

7、观察日志

[root@nagios ~]# tail /usr/local/nagios/var/nagios.log

[root@nagios ~]# tail /var/log/mysqld.log

[root@nagios ~]# tail /var/log/messages

五、遇到的问题

1、NPC页面上显示Nagios为Off

错误:

[root@nagios ~]#tail /usr/local/nagios/var/nagios.log

ndomod: Could not open data sink!  I'll keep trying, but some output may get lost...

解决:

[root@nagios ~]# cd /usr/local/nagios/etc/

[root@nagios etc]# chown nagios:nagios ndo2db.cfg ndomod.cfg

[root@nagios etc]# chmod 664 ndo2db.cfg ndomod.cfg

[root@nagios etc]# service ndo2db restart

[root@nagios etc]# service nagios restart

2、ndo2db服务启动失败

错误:Could not bind socket: Address already in use

解决:

[root@nagios ~]# ps aux|grep ndo2db 看到多个ndo2db的进程

[root@nagios ~]# kill-9 进程id 杀掉进程,再重新运行

[root@nagios ~]# sudo /usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg

3、消息发送失败

错误:

[root@nagios ~]# tail /var/log/message

ndo2db: Warning: queue send error, retrying... ndo2db: Message sent to queue.

解决:

[root@nagios ~]# vi /etc/sysctl.conf

kernel.msgmax = 131072000

kernel.msgmnb = 131072000

kernel.msgmni = 65536000

Cacti+Nagios(五):Cacti安装插件

1、Settings插件

[root@nagios ~]# cd /home/nagios

[root@nagios nagios]# mv plugin:settings-v0.7-1.tgz settings-v0.7-1.tgz

2、Thold插件

Cacti阈值报警插件,对某项数据设定一个范围,超过这个范围就会伐alarm,比如说我监控cpu,设定cpu使用率大于90%或者小于10%就发mail给我。

[root@nagios nagios]# mv plugin:thold-v0.5.0.tgz thold-v0.5.0.tgz

3、WeatherMap插件

网络拓朴图插件,创建网络设备间连接关系图,展现其性能指标

安装:

配置:

[root@nagios weathermap]# chown apache output -R

[root@nagios weathermap]# chown apache configs -R

[root@nagios weathermap]# vi editor.php

ENABLED=true

创建:

页面左侧weathermap-->add--add添加默认的示例simple.conf

页面顶部weathermap-->下方Editor

4、Discovery插件

设备发现插件,自动扫描指定IP段内的设备

[root@nagios weathermap]# cd /home/nagios

页面settings-->设置扫描IP段和DNS

手动搜索:

5、Monitor插件

设备在线状态监控插件,在cacti页面host中设置了的主机会在monitor页面显示在线状态,可以和thold插件配置报警.

6、设置Cacti

$plugins[] = 'npc';

$plugins[] = 'thold';

$plugins[] = 'weathermap';

$plugins[] = 'discovery';

$plugins[] = 'monitor';

Cacti+Nagios(六):Cacti整合Ntop

Ntop是一种监控网络流量工具

1、安装依赖软件

[root@nagios ~]# cd /home/nagios

[root@nagios nagios]# yum install libtool libpcap libpcap-devel gdbm gdbm-devel zlib zlib-devel

[root@nagios nagios]# yum -y --nogpgcheck localinstall GeoIP-*.el5.x86_64.rpm

[root@nagios nagios]# yum -y --nogpgcheck localinstall ettercap-*.rpm

2、安装Ntop

[root@nagios nagios]# useradd -M -s /sbin/nologin -r ntop

[root@nagios nagios]# tar zxvf ntop-4.1.0.tar.gz

[root@nagios nagios]# cd ntop-4.1.0

[root@nagios ntop-4.1.0]# ./autogen.sh

[root@nagios ntop-4.1.0]# make

[root@nagios ntop-4.1.0]# make install

[root@nagios ntop-4.1.0]# chown -R ntop:ntop /usr/local/share/ntop

[root@nagios ntop-4.1.0]# chown -R ntop:root /usr/local/var/ntop

3、配置Ntop

(1)为ntop的admin用户设置密码

[root@nagios ntop-4.1.0]# ntop -A

admin 123456

(2)启动ntop

[root@nagios ntop-4.1.0]# ntop -i eth0 -d -L -u ntop

eth0是你的监控机用于捕获网络流量的网卡

(3)自动启动

[root@nagios ntop-4.1.0]# echo 'ntop -i eth0 -d -L -u ntop &> /dev/null' >> /etc/rc.d/rc.local

(4)防火墙添加信任端口3000

[root@nagios ntop-4.1.0]# iptables -I INPUT -p tcp --dport 3000 -j ACCEPT

[root@nagios ntop-4.1.0]# service iptables save

(5)访问页面

4、Cacti整合Ntop

[root@nagios ntop-4.1.0]# cd /home/nagios

[root@nagios nagios]# mv plugin:ntop-v0.2-1.tgz ntop-v0.2-1.tgz

$plugins[] = 'ntop';

在Plugin Management"中install和enable插件

在User Management中勾上View Ntop

Cacti+Nagios(七):Nagios监控windows(基于check_nt)

1、工作原理

Nagios服务器使用check_nt工具与客户端程序通讯,客户端程序NSCP使用命令来获取本地客户端的信息并返回给check_nt。

2、下载客户端程序

64位系统下载:NSCP-0.4.1.105-x64.msi

32位系统下载:NSCP-0.4.1.105-Win32.msi

3、安装NSCP(也叫NSClient++)

设置Nagios服务器IP地址、客户端访问密码(后面Nagios设置check_nt命令时要用到)和启用各种监控服务。

配置文件C:\Program Files\NSClient++\nsclient.ini中可以修改Allowed hosts和Password。

4、检查服务、端口状态

启动服务后netstat -an查看使用的端口,check_nt使用12489、check_nrpe使用5666

5、测试监控命令

(1)获取帮助信息:

[root@nagios ~]# cd /usr/local/nagios/libexec

[root@nagios libexec]# ./check_nt -h

(2)监控运行时间:

[root@nagios libexec]# ./check_nt -H 10.188.1.172 -v UPTIME -p 12489 -s 123456

System Uptime - 0 day(s) 3 hour(s) 16 minute(s) |uptime=196

-p指定端口,-s指定客户端安装时设置的密码,UPTIME是监控工具。

(3)监控CPU负载 -w警告-c紧急 -l监测参数(过去5分钟平均值,80%警告,90%紧急):

[root@nagios libexec]# ./check_nt -H 10.188.1.172 -v CPULOAD -w 80 -c 90 -l 5,80,90 -p 12489 -s 123456

CPU Load 9% (5 min average) |   '5 min avg Load'=9%;80;90;0;100

(4)监控C盘使用率(-l C指定盘符):

[root@nagios libexec]# ./check_nt -H 10.188.1.172 -v USEDDISKSPACE -w 80 -c 90 -l C -p 12489 -s 123456

C:\ - total: 35.00 Gb - used: 31.68 Gb (91%) - free 3.32 Gb (9%) | 'C:\ Used Space'=31.68Gb;28.00;31.50;0.00;35.00

6、配置Nagios监控

(1)修改check_nt命令

[root@nagios libexec]# cd /usr/local/nagios/etc/objects/

}

(2)创建windows监控主机配置文件夹

[root@nagios libexec]# mkdir winserver

(3)创建windows监控主机配置文件

配置文件参考/usr/local/nagios/etc/objects/windows.cfg,可以直接复制过来修改,不过太乱了,自己定义吧:

[root@nagios objects]# cd winserver

[root@nagios winserver]# vi winhost_172.cfg

#定义监控主机,设置主机名(不可重复)、别名、IP地址。

define host{

use             windows-server

host_name       winhost_172

alias           ywzhou_pc

address         10.188.1.172

}

#定义主机组,在winserver文件下只需要一个文件定义了主机组,其他文件就不要再定义了。

define hostgroup{

hostgroup_name  windows-servers

alias           Windows Servers

}

#第一部分:定义基于check_nt命令的监控服务。

#一个配置文件中的service_description不能重复

#监控NSClient++客户端软件版本

define service{

use                     generic-service

host_name               winhost_172

service_description     NSClient++ Version

}

#监控在线时长

define service{

use                     generic-service

host_name               winhost_172

service_description     Uptime

}

#监控CPU负载,超过80%报警,超过90%严重

define service{

use                     generic-service

host_name               winhost_172

service_description     CPU Load

}

#监控内存使用情况,超过80%报警,超过90%严重

define service{

use                     generic-service

host_name               winhost_172

service_description     Memory Usage

}

#监控C盘使用情况,可以复制该组服务来监控其他磁盘

define service{

use                     generic-service

host_name               winhost_172

service_description     C:\ Drive Space

}

#监控系统服务状态(是否启动),默认的W3SVC是IIS的服务,可以复制该组服务来监控其他系统服务

#可以在任务管理器中的服务项查看哪些服务器比较重要就监控起来,比如IIS、SQLServer等。

define service{

use                     generic-service

host_name               winhost_172

service_description     W3SVC

}

#监控程序状态(是否运行),默认的Explorer.exe是桌面进程的程序,可以复制该组服务来监控其他系统服务

#可以在任务管理器中的进程项查看哪些服务器比较重要就监控起来。

define service{

use                     generic-service

host_name               winhost_172

service_description     Explorer

}

#第二部分:定义基于check plugins的监控服务。

#check plugins是位于/usr/local/nagios/libexec下的Nagios自带的监控插件

#监控ftp服务

define service{

use                     generic-service

host_name               winhost_172

service_description     FTP

}

define service{

use                     generic-service

host_name               winhost_172

service_description     HTTP

}

#监控ssh服务

define service{

use                     generic-service

host_name               winhost_172

service_description     SSH

}

#监控dhcp服务

define service{

use                     generic-service

host_name               winhost_172

service_description     DHCP

}

#监控pop3服务

define service{

use                     generic-service

host_name               winhost_172

service_description     POP

}

#监控imap服务

define service{

use                     generic-service

host_name               winhost_172

service_description     IMAP

}

#监控smtp服务

define service{

use                     generic-service

host_name               winhost_172

service_description     SMTP

}

#监控tcp端口,常用于监控多个网站使用不同端口时,监控端口状态

define service{

use                     generic-service

host_name               winhost_172

service_description     TCP

}

下面列出所有插件,其中有很多暂时没空去研究,欢迎共同探讨。

(4)载入监控配置并重启nagios

[root@nagios winserver]# vi /usr/local/nagios/etc/nagios.cfg

cfg_dir=/usr/local/nagios/etc/objects/winserver

[root@nagios winserver]# service nagios restart

7、Nagios页面操作

(1)查看Hosts主机页面:

(2)查看Down主机,有两台PING不通(关机了)

(3)查看主机hv02的信息,可以设置各种开关

(4)查看主机hv02的所有监控服务

(5)查看所有报警的监控服务

(7)在Cacti中通过NPC插件查看Nagios信息

上一篇:Apache服务器实现301重定向规则
下一篇:阳江智能运维及系统(阳江智能运维及系统设计招聘)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~