设为首页 收藏本站
查看: 1065|回复: 0

[经验分享] Cacti+Nagios安装rpm

[复制链接]

尚未签到

发表于 2019-1-11 10:43:04 | 显示全部楼层 |阅读模式
  

一、搭建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

将该行前面的"#"去掉.

6.创建cacti所用的数据库并授权

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
cd  /var/www/html/cacti

mysql -uroot -p cactidb < cacti.sql
3.编辑cacti的主配置文件,为其指定对应的数据库参数:

vim /var/www/html/cacti/include/config.php

将下列各参数的值修改为前面所设定的:

$database_type = &quot;mysql&quot;;

$database_default = &quot;cactidb&quot;;

$database_hostname = &quot;localhost&quot;;

$database_username = &quot;cactier&quot;;

$database_password = &quot;123456&quot;;

$database_port = &quot;3306&quot;;

修改完成后保存退出。

4.添加cactier用户 并给其设置密码

useradd cactier
passwd cactier

cd   /var/www/html/cacti/

chown -R cactier rra/ log/     #指定rra/ log/的属组属主为cactier用户

vim /etc/crontab

5.编辑crontab文件 在空白行添加以下内容

*/5 * * * * cactier php /var/www/html/cacti/poller.php  > /dev/null &


6.从浏览器直接访问以下地址 即可看到cacti配置画面

http://xxx.xxx.xxx.xxx/cacti/install/     

如果不出现图片执行以下命令让其手动绘图即可.  

su -  cactier

php  /var/www/html/cacti/poller.php > /dev/null 2>&1

exit

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';

mysql> flush privileges;

生成ndoutils所需要的数据库表等,这些表默认以“nagios_”为前缀;install脚本命令必须在db子目录内执行:

cd 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_”为前缀。


3)复制、编辑配置文件

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

socket_type=tcp

db_servertype=mysql

db_host=localhost

db_port=3306
db_name=ndodb

db_prefix=nagios_

db_user=ndouser

db_pass=123456


编辑ndomod的配置文件,为其指定数据的输出方式和输出目标主机:

vim /usr/local/nagios/etc/ndomod.cfg

output_type=tcpsocket

output=127.0.0.1


5)启动ndo2db守护进程

/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的控制台中&quot;settings&quot;中配置此插件,将其指向实际的ntop服务器所在的URL;然后再到cacti控制台的&quot;user Management&quot;中的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

在该文件中的&quot;$plugins = array()&quot;后增加如下一行内容
$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运行正常







运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-661959-1-1.html 上篇帖子: 1031.在线视频—开源网管Cacti系列讲座(六)Cacti高效轮询工具spine 下篇帖子: 运维网集成制作发布的Cacti+Nagios
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表