您的位置:首页 > 移动开发 > IOS开发

Nagios和Cacti安装

2013-08-12 22:11 405 查看
Nagios Cacti安装
一、LAMP安装
yum install httpd php php-mysql mysql-server php-snmp






1、确认httpd服务的status模块是否开启。
cat /etc/httpd/conf/httpd.conf | grep status.so
如果结果的最前面没有#号,则说明开启。
2、执行一下命令,测试php是否支持:
touch /var/www/html/index.php
echo “<?php phpinfo(); ?>” > /var/www/html/index.php
浏览器输入http://ServerIP,确认页面是php信息。
3、执行如下命令修改mysql数据库的root用户密码:
mysqladmin -u root password ‘password’
4、把/var/www/html/index.php文件的内容修改为如下内容
<?php $link=mysql_connect(“localhost”,”root”,”password”);
if(!$link)
echo “Faild!”;
else
echo “OK!”; ?>
在浏览器中输入地址:http://localhost,确认是不是OK!。
二、安装cacti
1、安装rrdtool
yum install cairo-devel libxml2-devel pango-devel pango libpng-devel freetype freetype-devel libart_lgpl-devel gcc
tar -zxvf rrdtool-1.4.4.tar.gz
cd rrdtool-1.4.4
export PKG_CONFIG_PATH=/usr/lib/pkgconfig/
./configure --prefix=/usr/local/rrdtool
make
make install
2、安装net-snmp
tar -zxvf net-snmp-5.6.tar.gz
cd net-snmp-5.6
./configure --prefix=/usr/local/net-snmp
--enable-developer
--with-default-snmp-version="2"
--with-sys-contact="admin@admin.com"
--with-sys-location="China"
--with-logfile="/var/log/snmpd.log"
--with-persistent-directory="/var/net-snmp"
make
make install
cp EXAMPLE.conf /usr/local/net-snmp/share/snmp/snmpd.conf
修改监听地址
vi /usr/local/net-snmp/share/snmp/snmpd.conf
agentAddress udp:127.0.0.1:161
2.2 启动及创启SNMP
/usr/local/net-snmp/sbin/snmpd
ps -aux | grep snmpd
killall snmpd
2.3 net-snmp测试指令
本机测试数据
/usr/local/net-snmp/bin/snmpwalk -v 2c -c public localhost
返回非Time out,而是系统信息说明安装成功。
3、安装cacti
tar -zxvf cacti-0.8.7g.tar.gz
mv cacti-0.8.7g /var/www/html/cacti
配置mysql
Useradd cactier
Passwd cactier
接着登录mysql,创建cacti的数据库,并为其指定cactier用户和密码(123456)。数据库名字可根据需要指定,这里指定为cactidb,创建并授权:
登录数据库
mysql –u root -p
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;
mysql -uroot -p cactidb < cacti.sql
将cacti.sql数据库文件导入,会提示输入密码输入前面设置的root 的密码即可
编辑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";
chgrp -R cactier /var/www/html/cacti
crontab –e –u cactier
*/5 * * * * php /home/htdocs/cacti/poller.php > /dev/null 2>&1


4、插件支持
cp -R cacti-plugin-arch/* /usr/local/cacti/
mysql -u root -p cactidb < pa.sql
patch -p1 -N < cacti-plugin-0.8.7g-PA-v2.8.diff
打完补丁后,可能不显示图片了,路径也换成根了。
把/usr/local/cacti/include/config.php文件中的
$config['url_path'] = ‘/’;
更改为$config['url_path'] = ‘/cacti/’;
打开cacti页面
左边菜单栏中选择”User Management“
选择”admin“用户
选择最后一项:Plugin Management
启用插件完成。
三、安装Nagios
1、yum install glibc gd gd-devel mysql-devel






2、创建用户和组
useradd -m nagios
usermod -a -G nagios apache
3、安装Nagios
tar -zxvf nagios-3.2.3.tar.gz
cd nagios-3.2.3
./configure –with-command-group=nagios \
–with-httpd-conf=/etc/httpd/conf \
–prefix=/usr/local/nagios \
–with-gd-lib=/usr/lib \
–with-gd-inc=/usr/include
make all
make install
make install-init
make install-config
make install-commandmode
make install-webconf
vi /usr/local/nagios/etc/objects/objects/contacts.cfg 管理员email地址
4、nagiosadmin用户登录密码
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
保证此文件web用户有读权限
5、ln /etc/httpd/conf/nagios.conf /etc/httpd/conf.d/nagios.conf
6、安装nagios-plugins
tar -zxvf nagios-plugins-1.4.15.tar.gz
cd nagios-plugins-1.4.15
./configure –with-nagios-user=nagios –with-nagios-group=nagios
make
make install
7、配置守护进程
chkconfig --add nagios
chkconfig nagios on
验证配置文件是否正确
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
启动nagios服务
service nagios start
8、通过Web页面验证是否安装成功
service httpd restart http://IP/nagios
四、安装ndoutils
./configure --prefix=/usr/local/nagios --with-user=nagios
--with-group=nagios --enable-mysql
--disable-pgsql --with-mysql-lib=/usr/lib/mysql
--with-mysql-inc=/usr/include/mysql
make
cd src
cp ndomod-3x.o ndo2db-3x log2ndo file2sock /usr/local/nagios/bin/
chown nagios.nagios /usr/local/nagios/bin/*
cp ndo* /usr/local/nagios/etc
chown nagios.nagios /usr/local/nagios/etc/*
cd ../config
cp ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg
cp ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg
vim /usr/local/nagios/etc/ndo2db.cfg
db_name=cactidb //数据库名,跟cacti公用一个库
db_user=cactier
db_pass=Helix3.14
cd ../db
./installdb –u cactier –p Helix3.14 –h localhost –d cactidb
vim /usr/local/nagios/etc/nagios.cfg
broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg
event_broker_options=-1
启动ndo2db /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
service nagios restart
tail -20 /usr/local/nagios/var/nagios.log



出现上面的则安装成功!
五、cacti和nagios整合 npc
1、添加jeson支持


vi /etc/php.ini
添加 include '/etc/php.d/json.ini'
2、添加pdo-mysql支持
tar zxvf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2


./configure
Make
Make install
Vim /etc/php.ini
extension=pdo_mysql.so
extension=pdo.so
3、添加npc插件
tar –xvf npc-2.0.4.tar.gz
cp –R npc /var/www/html/cacti/plugins
chown -R cacti:cacti /usr/local/cacti/plugins/npc
vi /usr/local/cacti/include/config.php,在该文件中的"$plugins = array()"后增加如下一行内容
$plugins[] = 'npc';
4、修改数据库
Mysql –u root -p
Use cactidb
ALTER TABLE npc_eventhandlers ADD long_output TEXT NOT NULL DEFAULT '' AFTER output;
ALTER TABLE npc_hostchecks ADD long_output TEXT NOT NULL DEFAULT '' AFTER output;
ALTER TABLE npc_hoststatus ADD long_output TEXT NOT NULL DEFAULT '' AFTER output;
ALTER TABLE npc_notifications ADD long_output TEXT NOT NULL DEFAULT '' AFTER output;
ALTER TABLE npc_servicechecks ADD long_output TEXT NOT NULL DEFAULT '' AFTER output;
ALTER TABLE npc_servicestatus ADD long_output TEXT NOT NULL DEFAULT '' AFTER output;
ALTER TABLE npc_statehistory ADD long_output TEXT NOT NULL DEFAULT '' AFTER output;
ALTER TABLE npc_systemcommands ADD long_output TEXT NOT NULL DEFAULT '' AFTER output;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息