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

[经验分享] nagio cacti整合配置

[复制链接]

尚未签到

发表于 2019-1-10 12:52:49 | 显示全部楼层 |阅读模式
所需软件:httpd-2.4.1.tar.gz  mysql-5.0.96.tar.gz      php-5.3.25.tar.gz
nagios-3.2.0.tar.gz   nagios-plugins-1.4.16.tar.gz   nrpe-2.12.tar.gz
rrdtool-1.4.8.tar.gz  cacti-0.8.8a.tar.gz   cacti-spine-0.8.8a.tar.gz
ntop-v0.2-1.tgz   monitor-v1.3-1.tgz  ndoutils-1.5.2.tar.gz
npc-2.0.4.tar.gz  json-1.2.1.tgz  PDO_MYSQL-1.0.2.tgz
一.设置lamp环境
编译安装httpd
Shell>tar zxvf httpd-2.4.1.tar.gz
Shell>cd httpd-2.4.1
Shell>./configure  --prefix=/usr/local/apache --enable-so
Shell>make && make install
编译安装msyql
Shell>tar zxvf mysql-5.3.25.tar.gz
Shell>cd mysql-5.3.25
Shell>./configure --prefix=/usr/local/mysql  --enable-thread-safe-client
Shell>make && make install
Shell>groupadd mysql
Shell>useradd mysql -g mysql
Shell>chown -r mysql.mysql /var/lib/mysql
Shell>/usr/local/mysql/bin/mysql_install_db    ##初始化数据库##
Shell>cp support-files/my-medium.cnf /etc/my.cnf
Shell>/usr/local/mysql/bin/mysqld_safe  --defaults-file=/etc/my.cnf  --user=root &
      ##启动mysql##
Shell>/usr/local/msyql/bin/mysqldadmin -uroot -p 123456     #修改mysql登陆密码##
Shell>ps -ef |grep mysqld    ##查看mysq进程##
编译安装
Shell>tar zxvf php-5.3.25.tar.gz
Shell>cd php-5.3.25
Shell>./confiugre --prefix=/usr/local/php  --with--mysql=/usr/local/mysql
      --with-apxs2=/usr/local/apache/bin/apxs  --enable-sockets
      --with-config-file-path=/usr/local/php/etc  ##修改php.ini的存放位置##
Shell>make &&  make install
Shell>cp  php.ini-production  /etc/php.ini

安装pdo_mysql扩展模块

Shell>tar zxvf    PDO_MYSQL-1.0.2.tgz
Shell>cd   PDO_MYSQL-1.0.2
Shell>/usr/local/php/bin/phpize
Shell>make && make install
Shell>vim  /usr/local/php/etc/php.ini
      extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20090626/"
      extension = pdo_mysql.so
重启apahce  查看是否已加载  php  -m |grep pdo-mysql
二、Apache php整合
打开Apache配置文件httpd.conf
添加PHPIniDir "/etc/php.ini"
跳转到373后添加
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps


跳转到246行添加 index.php
保存退出重启apache   
Shell>/usr/local/apache/bin/apachectl start
测试apachephp是否整合
Shell>vim /usr/local/apache/htdocs/text.php

打开浏览器输入http://ip/test.php,输出php信息说明配置成功


测试php mysql整合
Shell>vim /usr/local/apache/htdocs/test.php

保存退出打开浏览器http://ip/test.php  输出ok说明配置成功


三、安装nagios
Shell>useradd -s /sbin/nologin nagios
Shell>mkdir -p /usr/local/nagios
Shell>chown -R nagios.nagios /usr/local/nagios
Shell>usermod  -G  nagios  -a  apache   ##apache用户加入到nagios组中
Shell>tar zxvf nagios-3.2.0.tar.gz
Shell>cd nagios-3.2.0
Shell>./configure --prefix=/usr/local/nagios
Shell>make all
Shell>make install
Shell>make install-init
Shell>make install-commandmode
Shell>make install-config


安装nagios插件
Shell>tar zxvf nagios-plugins-1.4.16.tar.gz
Shell>cd nagios-plugins-1.4.16
Shell>./configure --prefix=/usr/local/nagios
Shell>make && make install




打开apache配置文件httpd.conf 在末尾添加以后代码:
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin

    AuthType Basic
    Options ExecCGI
    AllowOverride None
    Order allow,deny
    Allow from all
    AuthName "Nagios Access"
    AuthUserFile /usr/local/nagios/etc/htpasswd
    Require valid-user



Alias /nagios /usr/local/nagios/share

    AuthType Basic
    Options None
    AllowOverride None
    Order allow,deny
    Allow from all
    AuthName "nagios Access"
    AuthUserFile /usr/local/nagios/etc/htpasswd
    Require valid-user



创建nagios登陆用户
Shell>/usr/local/apache/bin/htpasswd -c /usr/local/nagios/etc/htpasswd admin     ##输入登陆密码
修改nagios目录下cgi.cfg
Shell>vim /usr/local/nagios/etc/cgi.cfg
authorized_for_system_information=admin       #多个用户用逗号分隔
authorized_for_configuration_information=admin
authorized_for_system_commands=admin
authorized_for_all_services=admin
authorized_for_all_hosts=admin
authorized_for_all_service_commands=admin
authorized_for_all_host_commands=admin


修改nagios目录下nagios.cfg
command_check_interval=10s    ##检查时间间隔
check_external_commands=1    ##允许web界面下重启、关闭nagios进程等


检查下nagios配置文件是否正确
Shell>/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
修改apache 运行的用户
Shell>vim /usr/local/apache/conf/httpd.conf
     User  apache
     Group  apache


启动nagios
Shell>/usr/local/nagios/bin/nagios -d  /usr/local/nagios/etc/nagios.cfg
启动apache
Shell>/usr/local/apache/bin/httpd -k start
打开浏览器输入http://ip/nagios就可以看到nagios的主界面


四、安装nrpe
被监控机上安装
Shell>groupadd nagios
Shell>useradd -g nagios -d  /usr/local/nagios  -s  /sbin/nologin  nagios
Shell>tar zxvf  nagios-plugins-1.4.16.tar.gz
Shell>cd  nagios-plugins-1.4.16
Shell>./configure --prefix=/usr/local/nagios
Shell>make && make install
Shell>tar zxvf nrpe-2.12.tar.gz
Shell>cd nrpe-2.12
Shell>./configure
Shell>make all
Shell>make instlal-plugin
Shell>make install-daemon
Shell> make install-daemon-config
Shell>chown  -R  nagios.nagios  /usr/local/nagios
配置nrpe
Shell>vim /usr/local/nagios/etc/nrpe.cfg
allowed_hosts=127.0.0.1,监控机ip
Shell>echo “nrpe:监控机ip” >>/etc/host.allow
启动nrpe
Shell>/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
Shell>echo “/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d “ >>/etc/rc.local
     ## 设置开机启动nrpe
检查nrpe是否正常
Shell>netstat -atnlp |grep 5666
Shell>/usr/local/nagios/libexec/check_nrpe -H localhost
     NRPE v2.12                      ##说明nrpe启动成功


监控机上安装
Shell>tar zxvf  nrpe-2.12.tar.gz
Shell>cd nrpe-2.12
Shell>./configure --prefix=/usr/local/nagios
Shell>make
Shell>make install-plugin


测试是否可以连接被监控机
Shell>/usr/local/nagios/libexec/check_nrpe  -H  被监控机ip
      NRPE v2.12                    ##说明可以和被监控机通信


五.安装cacti
安装rrdtool
Shell>tar zxvf  rrdtool-1.4.8.tar.gz
Shell>cd rrdtool-1.4.8
Shell>./configure
Shell>make &&make install


安装net-snmp
Shell>yum install net-snmp* -y


配置mysql
Shell>/usr/local/mysql/bin/mysql -uroot -p
Mysql>create database cactidb;
Mysql>grant all privileges on cactidb.* to “cactier”@”locahost” identified by “123456”
Mysql>grant all privileges on cactidb.* to “cactier”@”localhost” identified by “123456”


配置snmp.conf  (红色字体为修改部分)
Shell>vim /etc/snmp/snmp.conf
     #       sec.name  source          community
     com2sec notConfigUser  default       public
     #       name           incl/excl     subtree         mask(optional)
     view    systemview    included   .1.3.6.1.2.1.1
     view    systemview    included   .1.3.6.1.2.1.25.1.1
     #       group          context sec.model sec.level prefix read   write  notif
     access  notConfigGroup ""      any       noauth    exact  all  none  none
     ##           incl/excl subtree                          mask
view all    included  .1                               80
Shell>service snmpd start


安装cacti
Shell>tar zxvf  cacti-0.8.8a.tar.gz
Shell>mv  cacti-0.8.8a   cacti
Shell>mv  cacti  /usr/local/apache/htdocs
Shell>cd /usr/local/apache/htdocs/cacti
Shell>/usr/local/mysql/bin/mysql  -uroot -p  cactidb chown -R  cactier /usr/local/apache/htdocs/cacti/rra   /usr/local/apache/htdocs/cacti/log
编辑cacti/include/config.php文件
Shell>vim /usr/local/apache/htdocs/cacti/config.php
     $database_type = "mysql";
     $database_default = "cactidb";
     $database_hostname = "localhost";
     $database_username = "cactier";
     $database_password = "123456";
     $database_port = "3306";
保存退出
Shell>useradd  cactier
Shell>passwd  cactier
Shell>crontab -u cactier -e
*/1 * * * * *  /usr/bin/php /var/www/html/cacti/poller.php >/dev/null 2>&1
登陆cacti
打开浏览器输入http://ip/cacti   ---->设置
注意第一次登陆cacti默认用户名和密码为admin,登陆后要修改密码




安装spine
Shell>tar zxvf   cacti-spine-0.8.8a.tar.gz
Shell>cd cacti-spine-0.8.8a
Shell>./configure  --prefix=/usr/local/spine
Shell>make &&make install
Shell>mv /usr/local/spine/etc/spine.conf.dist   /usr/local/spine/etc/spine.conf
Shell>vim /usr/local/spine/etc/spine.conf
      DB_Host         localhost
      DB_Database     cactidb
      DB_User         cactier
      DB_Pass         123456
      DB_Port         3306
      DB_PreG         0


Shell>ln -s  /tmp/mysql.sock   /var/lib/mysql/mysql.sock


设置spine路径,Console——Settings——Paths--->>/usr/local/spine/bin/spine


更改cacti轮询器为spineConsole——Settings——Poller--->>poller type:spine    -->>Poller Interval:every minute   Cron Interval:every minute
Shell>/usr/local/spine/bin/spine




整合ntop monitorcacti
Shell>tar zxvf  ntop-4.0.tar.gz
Shell>cd  ntop-4.0
Shell>./autogen.sh
Shell>./configure --prefix=/usr/local/ntop
Shell>make && make install
Shell>chown -R  ntop.ntop  /usr/local/ntop/share/ntop
Shell>chown -R  ntop.ntop  /usr/local/ntop/var/ntop
配置启动ntop
Shell>ntop  -A    输入密码
Shell>n/usr/local/ntop/bin/top -i eth0 -d -L -u ntop
Shell>echo '/usr/local/ntop/bin/ntop -i eth0 -d -L -u ntop &> /dev/null' >> /etc/rc.local


安装ntop插件
Shell>tar zxvf  ntop-v0.2-1.tgz  -C  /usr/local/apache/htdocs/cacti/plugins/
Shell>vim /usr/local/apache/htdocs/cacti/include/config.php
     添加$plugins[] = "ntop";


设置cacticonsole---utilities---user managemet---admin---plugin management  view ntop
两个选项选上,保存   console---configureation---plugin management---启用ntop


安装monitor
Shell>tar zxvf  monitor-v1.3-1.tgz  -C  /usr/local/apache/htdocs/cacti/plugins/
Shell>vim /usr/local/apache/htdocs/cacti/include/config.php
   添加$plugins[] = "monitor";
设置cacti:略  (步骤和安装ntop一样)




Nagioscacti整合
安装ndoutils
Shell>tar zxvf    ndoutils-1.5.2.tar.gz
Shell>cd ndoutils-1.5.2
Shell>./configure --prefix=/usr/local/nagios --enable-mysql --disable-pgsql
    --with-mysql-inc=/usr/local/mysql/include
    --with-mysql-lib=/usr/local/mysql/lib/mysql
Shell>make  && make install
Shell>cp -v src/{ndomod-3x.o,ndo2db-3x,file2sock,log2ndo} /usr/local/nagios/bin/
Shell>./installdb -ucactier -p123456 -hlocalhost -d cactidb
Shell>cp -v config/{ndo2db.cfg-sample,ndomod.cfg-sample} /usr/local/nagios/etc/
Shell>mv /usr/local/nagios/etc/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg
Shell>mv /usr/local/nagios/etc/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg
Shell>chown -R nagios.nagios /usr/local/nagios/etc/ndo*
Shell>chown -R nagios.nagios /usr/local/nagios/bin/*
Shell>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
Shell>vim /usr/local/nagios/etc/ndo2db.cfg
     socket_type=tcp
     db_servertype=mysql
     db_host=localhost
     db_port=3306
     db_name=cactidb
     db_prefix=nagios_
     db_user=cactier
     db_pass=123456
Shell>vim /usr/local/nagios/etc/ndomod.cfg
       output_type=tcpsocket
       output=127.0.0.1
Shell>cp ./daemon-init /etc/init.d/ndo2db
Shell> vi /etc/init.d/ndo2db
# 检查里面的路径确保不会出现“//”,并将Ndo2dbBin修改成下面的值:
Ndo2dbBin=/var/www/html/nagios/bin/ndo2db-3x
Shell>chmod +x /etc/init.d/ndo2db
Shell>service ndo2db start
查看是否有错误
Shell>tail -f /var/logl/messages   或者    tail -f  /usr/local/nagios/var/nagios.log


安装npc
Shell> tar zxvf  npc-2.0.4.tar.gz  -C /usr/local/apache/htdocs/cacti/plugins
Shell>vim /usr/local/apache/htdocs/cacti/include/config.php
     添加$plugins[] = 'npc';


安装npc支持json
Shell>tar zxvf  json-1.2.1.tgz
Shell>cd json-1.2.1
Shell>/usr/local/php/bin/phpize
Shell>./configure
Shell>make && make install
安装完后会有类似这样的提示:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20050922/
查看是否有导入信息
Shell>/usr/local/php/bin/php -i |grep php.ini
##Configuration File  Loaded Configuration File  php.ini路径
Shell>vim  /etc/php.ini
     添加extension = json.so
查看json 是否加载
Shell>/usr/local/php/bin/php -m |grep json




修改ndo2db.cfg文件
Shell>vim /usr/local/nagios/etc/ndo2db.cfg
      db_prefix=nagios_   修改为db_prefix=npc_


修改cacti npc插件
Console-->settings-->npc -->Remote Commands选项打勾--->输入nagios command file pathc -->输入nagios URL -->host icons   service icons选项打勾
-->logging level  选择DEBUG   保存




修改数据库表结构:
Shell>/usr/local/mysql/bin/mysql  -uroot -p
Msyql>use cactidb;
Msyql>
ALTER TABLE `npc_hostchecks` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;
ALTER TABLE `npc_hoststatus` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;
ALTER TABLE `npc_servicechecks` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;
ALTER TABLE `npc_servicestatus` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;
ALTER TABLE `npc_statehistory` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;
ALTER TABLE `npc_eventhandlers` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;
ALTER TABLE `npc_systemcommands` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;
ALTER TABLE `npc_notifications` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;
Mysql>exit


重启ndo2db nagios 服务
Shell>service  ndo2db  restart
Shell>/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
  





运维网声明 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-661669-1-1.html 上篇帖子: cacti更换spine轮询 下篇帖子: CactiEZ V10.1 中文版 Cacti中文解决方案+使用教程(2)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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