一、搭建LAMP环境
1.yum install httpd php php-mysql mysql mysql-server php-snmp –y
2.检查/etc/httpd/conf/httpd.conf 是否有LoadModule status_module modules/mod_status.so
3.启动相关服务,设置mysql的root帐户密码
4.测试php和mysql
vim /var/www/html/index.php
保存退出,访问首页测试是否显示phpinfo
5.安装snmp udp161、162
yum install net-snmp net-snmp-libs net-snmp-utils net-snmp-devel
修改snmp的主配置文件/etc/snmp/snmpd.conf中
1)、查找以下字段:
sec.name source community
com2sec notConfigUser default public
将"comunity"字段改为你要设置的密码.比如"public".
将“default”改为你想哪台机器可以看到你的snmp信息,如10.10.10.10。
服务端改为127.0.0.1
2)、查找以下字段:
# Finally, grant the group read-only access to the systemview view.
# group context sec.model sec.level prefix read write notif
access notConfigGroup "" any noauth exact all none none
将"read"字段改为all.
3)、查找以下字段:
# incl/excl subtree mask
#view all included .1 80
将该行前面的"#"去掉.
mysql> create database cactidb;
mysql> GRANT all privileges ON cactidb.* TO cactier@localhost IDENTIFIED BY '123456';
mysql> GRANT all privileges ON cactidb.* TO cactier@127.0.0.1 IDENTIFIED BY '123456';
mysql> GRANT all privileges ON cactidb.* TO cactier@192.168.0.0 IDENTIFIED BY '123456';
mysql> flush privileges;
二、安装Cacti
1.安装rrd
yum -y localinstall --nogpgcheck rrdtool-1.2.27-3.el5.i386.rpm
yum -y localinstall --nogpgcheck rrdtool-devel-1.2.27-3.el5.i386.rpm
yum -y localinstall --nogpgcheck rrdtool-php-1.2.27-3.el5.i386.rpm(或perl)
2.安装cacti
tar zxvf cacti-0.8.7g.tar.gz
mv cacti-0.8.7g /var/www/html/cacti
mysql -uroot -p cactidb < cacti.sql
3.编辑cacti的主配置文件,为其指定对应的数据库参数:
vim /var/www/html/cacti/include/config.php
$database_type = "mysql";
$database_default = "cactidb";
$database_hostname = "localhost";
$database_username = "cactier";
$database_password = "123456";
$database_port = "3306";
useradd cactier
passwd cactier
chown -R cactier rra/ log/ #指定rra/ log/的属组属主为cactier用户
*/5 * * * * cactier php /var/www/html/cacti/poller.php > /dev/null &
6.从浏览器直接访问以下地址 即可看到cacti配置画面
http://xxx.xxx.xxx.xxx/cacti/install/
php /var/www/html/cacti/poller.php > /dev/null 2>&1
7.让cacti支持插件功能
安装的cacti版本为0.8.7g,支持插件的补丁就选用cacti-plugin-0.8.7g-PA-v2.8.tar.gz,下载后进行解压缩
tar zxvf cacti-plugin-0.8.7g-PA-v2.8.tar.gz
cd cacti-plugin-arch
cp -R cacti-plugin-arch/* /var/www/html/cacti/
mysql -uroot -p cactidb create database ndodb;
mysql> GRANT ALL PRIVILEGES ON ndodb.* TO ndouser@localhost IDENTIFIED BY '123456';
生成ndoutils所需要的数据库表等,这些表默认以“nagios_”为前缀;install脚本命令必须在db子目录内执行:
./installdb -u ndouser -p 123456 -h localhost -d ndodb
或者 mysql -u root -p -D nagios -h localhost < ./db/mysql.sql
如果与cacti整合的话,npc插件会在cacti的数据库自动生成ndoutils所需要表,这些表均以“npc_”为前缀。
cp -v config/{ndo2db.cfg-sample',ndomod.cfg-sample'} /usr/local/nagios/etc
mv /usr/local/nagios/etc/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg
mv /usr/local/nagios/etc/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg
chmod 644 /usr/local/nagios/etc/ndo*
chown nagios:nagios /usr/local/nagios/etc/*
chown nagios:nagios /usr/local/nagios/bin/*
注:以上config目录中的ndo2db.cfg和ndomod.cfg在ndoutils-1.4b9中是以ndo2db.cfg-sample和ndomod.cfg-sample命名的,如果使用的是这个版本的ndoutils,请在复制时做出如上相应的修改;
vim /usr/local/nagios/etc/nagios.cfg
broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg
此外,请确保您的/usr/local/nagios/etc/nagios.cfg中有如下行出现,否则,请自行添加:
event_broker_options=-1 //为Nagios开启event broker
4)编辑ndo2db守护进程和ndomod的配置文件
vim /usr/local/nagios/etc/ndo2db.cfg
db_port=3306
db_name=ndodb
编辑ndomod的配置文件,为其指定数据的输出方式和输出目标主机:
vim /usr/local/nagios/etc/ndomod.cfg
/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
echo '/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg' >> /etc/rc.local
重新启动nagios,可进入nagios的web管理页面查看log,如果出现以下字样,则表示正常运行。
2.nagios客户端
1.安装nagios-plugin
useradd nagios
passwd nagios
tar -zxvf nagios-plugins-1.4.12.tar.gz
cd nagios-plugins-1.4.12
./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-redhat-pthread-workaround
Make
make install
2.改变主目录权限
chown –R nagios.nagios /usr/local/nagios
3.安装客户端的nrpe
tar -zxvf nagios-nrpe_2.8.1.orig.tar.gz
cd nagios-nrpe_2.8.1
./configure (会自动加载SSL)
#如果后面make报错,加如下参数
./configure --enable-ssl --with-ssl-lib=/usr/lib/(当然前提要有openssl)
make all
make install-plugin
make install-daemon
make install-daemon-config
4.配置nrpe信息
vi /usr/local/nagios/etc/nrpe.cfg
allowed_hosts=192.168.0.20,127.0.0.1,192.168.0.99
5.启动nrpe
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d
6.验证nrpe
netstat -an | grep 5666
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
7.配置监控对象
vi /usr/local/nagios/etc/nrpe.cfg
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p /dev/hda1
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
注:可手动允许./check_users –help命令获得更多参数
三、Ntop安装
useradd -M -s /sbin/nologin -r ntop
tar zxvf ntop-4.0.1.tar.gz
cd ntop-4.0.1
./autogen.sh
make
make install
chown -R ntop:ntop /usr/local/share/ntop
chown -R ntop:root /usr/local/var/ntop
3、配置并启动ntop
首先为ntop的admin用户设置密码: ntop –A
接下来启动ntop: ntop --user ntop
使之开机自动启动:echo 'ntop -u ntop &> /dev/null' >> /etc/rc.d/rc.local
用web页面访问http://yourip:3000/
4、整合到cacti
tar zxvf ntop-0.1.tar.gz -C /var/www/html/cacti/plugins/
vim /var/www/html/cacti/include/config.php添加如下内容:$plugins[] = 'ntop';
到cacti的控制台中"settings"中配置此插件,将其指向实际的ntop服务器所在的URL;然后再到cacti控制台的"user Management"中的admin用户中启用此插件
四、Nagios Plugin for Cacti(NPC)插件
作用:将nagios的数据通过ndo2db导入到mysql数据库,然后cacti读取数据库信息将nagios的结果通过NPC展示出来。
tar zxvf npc-2.0.4.tar.gz
mv npc /var/www/html/cacti/plugins/
vi /var/www/html/cacti/include/config.php
在该文件中的"$plugins = array()"后增加如下一行内容
$plugins[] = 'npc'; #经测试无需添加
tar zxvf json-1.2.1.tgz && cd json-1.2.1 #npc需要json来支持某些功能/usr/bin/phpize
./configure
make
make install
查看有没有安装成功 find / -name '*json.so'
修改etc/php.d/php.ini
在这个文件中添一个json.ini
vim json.ini
内容如下:
extension=json.so
之后用web测试 ,index.php(前文有测试方法)如果有图片所示的这一项,则表示正常json正常安装
如果phpize 没有此指令, 安装php-devel包
nagios npc安装后状态为off的解决方法
| 1、检查ndo2db的进程是不是二个
nagios 16825 0.0 0.1 6784 396 ? Ss 19:05 0:00 /usr/local/nagios/bin/ndo2db -c /usr/l
nagios 17032 0.0 0.3 6784 1268 ? S 19:09 0:00 /usr/local/nagios/bin/ndo2db -c
2、检查nagios.log日志看看最后有没有
could not safely copy module '/usr/local/nagios/bin/ndomod-3x.o' 这样的错误
如果是下面这样是正确的
ndomod: NDOMOD 1.4b7 (10-31-2007) Copyright (c) 2005-2007 Ethan Galstad (nagios@nagios.org)
[1272020945] ndomod: Successfully connected to data sink. 4897 queued items to flush.
[1272020951] ndomod: Successfully flushed 4897 queued items to data sink.
[1272020951] Event broker module '/usr/local/nagios/bin/ndomod-3x.o' initialized successfully.
上面只是检查工作,解决方法如下
1、安装nagios3.0 如果是2.9的朋友可以升级安装、升级安装方法的方法很简单
#cd /usr/local/
#cp -r nagios/ nagios2.9
#cd /etc/init.d/
#cd nagios nagios2.9
#cp nagios nagios2.9
#tar -zvxf nagios-3.0.3.tar.gz
#cd nagios-3.0.3
# ./configure --with-command-group=nagios
#make all
#make install
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
可能会报comments downtime警告信息一个错误critical
vi /usr/local/nagios/etc/nagios.cfg
#comment_file=/usr/local/nagios/var/comments.dat 加上#
#downtime_file=/usr/local/nagios/var/downtime.dat 加上#
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 在执行就不会报了
然后在执行下面
cd /usr/local/nagios/var/
cat comments.dat >>retention.dat
cat downtime.dat >>retention.dat
critical错误解决
check_result_buffer_slots=4096 加上#
service nagios restart
2、ndoutils-1.4b7安装此版块、其他版本可能会出程序问题、安装方法如下
tar zxvf ndoutils-1.4b7.tar.gz
cd ndoutils-1.4b7
./configure --with-mysql-lib=/usr/lib/mysql/ --with-mysql-inc=/usr/include/mysql/
cp ndomod-3x.o /usr/local/nagios/bin/ndomod-3x.o
cp ndo2db-3x /usr/local/nagios/bin/ndo2db
cp ndo2db.cfg /usr/local/nagios/etc/
cp ndomod.cfg /usr/local/nagios/etc/
进入拷贝的目录给文件加入到nagios用户组
chown nagios:nagios ndo2db.cfg ndomod.cfg
chown nagios:nagios ndomod-3x.o ndo2db
然后修改ndo2db.cfg ndomod.cfg配置文件
cat /usr/local/nagios/etc/ndo2db.cfg |grep -v '^#'|sed /^$/d
ndo2db_user=nagios
ndo2db_group=nagios
socket_type=tcp
socket_name=/usr/local/nagios/var/ndo.sock
tcp_port=5668
db_servertype=mysql
db_host=127.0.0.1
db_port=3306
db_name=cacti
db_prefix=npc_
db_user=cactiuer
db_pass=cactiuser
max_timedevents_age=1440
max_systemcommands_age=10080
max_servicechecks_age=10080
max_hostchecks_age=10080
max_eventhandlers_age=44640
debug_level=1
debug_verbosity=1
debug_file=/usr/local/nagios/var/ndo2db.debug
max_debug_file_size=1000000
cat /usr/local/nagios/etc/ndomod.cfg |grep -v '^#'|sed /^$/d
instance_name=default
output_type=tcpsocket
output=127.0.0.1
tcp_port=5668
output_buffer_items=5000
buffer_file=/usr/local/nagios/var/ndomod.tmp
file_rotation_interval=14400
file_rotation_timeout=60
reconnect_interval=15
reconnect_warning_interval=15
data_processing_options=-1
config_output_options=2
最后看nagios.cfg最后一行配置文件是否正确
broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg
这行要和文件和路径对应好
修改完成后重启ndo2db
kill ndo2db运行的进程
/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg 然后执行重启
ps aux
nagios 16825 0.0 0.1 6784 396 ? Ss 19:05 0:00 /usr/local/nagios/bin/ndo2db -c
nagios 17032 0.0 0.3 6784 1268 ? S 19:09 0:00 /usr/local/nagios/bin/ndo2db -c
如果是这样说明ndo2db运行正常
|
|