【php精品源码栏目提醒】:网学会员为广大网友收集整理了,【精品】cacti+nagios安装步骤 - 其它资料,希望对大家有所帮助!
网管系统安装配置 基于 Cacti amp Nagios上海惠生通讯技术有限公司上海浦东张江张衡路 1399 号惠生科技园邮编:201203电话:86 21 58556789传真:86 21 58559733 目录1. 概述----------------------------------------------------------------------------------------------------------12. Cacti 介绍及其工作原理描述---------------------------------------------------------------------------23. Nagios 介绍及其工作原理描述-------------------------------------------------------------------------34. LAMP 平台安装及配置----------------------------------------------------------------------------------55. Net-SNMP 安装及配置-----------------------------------------------------------------------------------66. Cacti 安装及配置------------------------------------------------------------------------------------------77. Cacti 插件安装及配置------------------------------------------------------------------------------------88. Cacti 模板安装及应用------------------------------------------------------------------------------------99. Syslog 安装及配置---------------------------------------------------------------------------------------1010. Nagios 安装及配置---------------------------------------------------------------------------------------1111. NDoutils 及 NPC 配置 -----------------------------------------------------------------------------------1212. Cacti amp Nagios 进阶应用--------------------------------------------------------------------------------13一、概述 本网管是建构在 LAMP 平台上,采用完全开源的监控工具:流量监控工具 Cacti 和系统监控工具 Nagios. Cacti 主要用于流量监控和绘图,并实现 Down 机、阀值预警等; Nagios 主要用于系统主机、应用服务监控,并有极强的报警手段,通过插件 NPC 可实现与 Cacti 的无缝整合,共享一个数据库(MySQL。
监控手段有 SNMP get、Syslog 和 Nagios 插件 check; 报警手段有声音告警、界面图标告警、E-mail 告警、短信告警等,并可定义运维组,以确保故障的及时响应; 若网管平台发布在 Internet 上,则可用手机通过 3G、WIFI 实时访问(AppStore:iNag Cacti 与 Nagios 皆实现了报表生成、报表自动发送以及报表自定义(任何被监控元素皆能生成报表)。
二、Cacti 介绍及其工作原理描述 Cacti 是用
PHP 语言实现的一个软件,其运行需要 WEB 服务器(如 APACHE)和
PHP 环境的支持,同时 Cacti 还需要 MySQL 配合
PHP 程序存储一些变量数据并对变量数据进行调用,如主机名、主机 IP、SNMP 团体名、端口号、模板信息等。
RRDtool 对主机负载、网络流量等信息的统计需要通过 SNMP 协议实现。
经过 SNMP 抓取到的数据存储于由 RRDtool 生成的 rrd 文件中,这些文件通常位于 Cacti 的 rra 子目录中。
rrd文件是大小固定的归档文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。
下面 2 幅图片简述了 Cacti 的工作原理: 图一 图二三、Nagios 介绍及其工作原理描述 Nagios 是一款用于系统和网络监控的应用程序。
它可以在你设定的条件下对主机和服务进行监控,在状态变差和变好的时候给出告警信息。
Nagios 最初被设计为在 Linux 系统之上运行,然而它同样可以在类 Unix 的系统之上运行。
Nagios 更进一步的特征包括: 1 监控网络服务(SMTP、POP3、HTTP、NNTP、PING 等); 2 监控主机资源(处理器负荷、磁盘利用率等); 3 简单地插件设计使得用户可以方便地扩展自己服务的检测方法; 4 并行服务检查机制; 5 具备定义网络分层结构的能力,用quotparentquot主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态; 6 当服务或主机问题产生与解决时将告警发送给联系人(E-mail/IM/SMS etc.); 7 具备定义事件句柄功能,它可以在主机或服务的事件发生时获取更多问题定位; 8 可选的 WEB 界面用于查看当前的网络状态、通知和故障历史、日志文件等; 下面 2 幅图片简述了 Nagios 的工作原理: 图一 图二四、LAMP 平台安装及配置 Linux Server 采用 CentOS 5.5,方便系统更新。
1. Apache/MySQL/
PHP 安装: yum install httpd
php php-mysql mysql mysql-server
php-snmp
php-pdo perl-DBD- MySQL -y 安装完成后让服务都启动并调整之间的连接关系. service mysqld start 启动 mysql 服务 chkconfig mysqld on 使其开机自动启动 之后编辑 httpd 服务的配置文件,使其支持 mod_status.so 模块.只要 在/etc/httpd/conf/httpd.conf 的配置文件中找到 LoadModule status_module modules/mod_status.so 有此项表示已经支持状态检测模块,所以无需额外添加,直接 启动 web 服务即可. service httpd start 启动 http 服务 chkconfig httpd on 开机自动启动 httpd 服务 启动 OK 后,编辑 vim /var/www/html/index.
php 在其中添加以下内容: ltphp phpinfo gt 保存退出 用 web 浏览器访问,如果出现以下画面,则表示 http 支持动态
php.并能与
php 成功连接. 接着测试与 mysql 的连接,先给 mysql 设置个管理员密码 mysqladmin -uroot password 123456 密码设置为 123456 编辑刚才的 web 页面 vim /var/www/html/index.
php 把里面的内容改为 ltphp linkmysql_connectquotlocalhostquotquotrootquotquot123456quot iflink echo quotFAILDquot else echo quotOKquot gt 刷新刚才的 web 浏览器页面,如果出现 OK!字样,则表示成功连接. 2. Gd 安装: 进入 centos 的 DVD 盘然后安装 rpm -vih
php-gd-5.1.6-15.el5.i386.rpm 3. Freetype 安装: 进入 centos 的 DVD 盘然后安装 rpm -ivh freetype-2.2.1-19.el5.i386.rpm五、Net-SNMP 安装及配置 1. 下载 net-snmp
源码,并解压 rootlocalhost procwget http://downloads.sourceforge.net/project/net-snmp/net- snmp/5.6/net-snmp-5.6.tar.gz rootlocalhost proctar -xvzf net-snmp-5.6.tar.gz 2. Configure a 进入源文件目录 rootlocalhost proccd net-snmp-5.6 b Configure rootlocalhost proc./configure --prefix/usr/local/net-snmp –enable-mfd-rewrites --with-default-snmp-version”2” --with-persistent-directory”/var/net-snmp” 3. 编译、安装 rootlocalhost procmake ampamp make install 4. 配置 snmpd.conf a 将 EXAMPLE.conf 文件复制到/usr/local/net-snmp/share/snmp/snmpd.conf rootlocalhost proccp EXAMPLE.conf /usr/local/net-snmp/share/snmp/snmpd.conf b 修改 snmpd.conf 1.查找以下字段: sec.name source community com2sec notConfigUser default public 将quotcomunityquot字段改为你要设置的密码.比如quotbizcnpublicquot. 将“default”改为你想哪台机器可以看到你的 snmp 信息如 10.10.10.10。
授权服务器 IP 2.查找以下字段: Finally grant the group read-only access to the systemview view. group context sec.model sec.level prefix read write notif access notConfigGroup quotquot any noauth exact systemview none none 将quotreadquot字段改为 all. 代码: access notConfigGroup quotquot any noauth exact all none none 3.查找以下字段: incl/excl subtree mask view all included .1 80 将该行前面的quotquot去掉. 4.查找以下字段: name incl/excl subtree maskoptional 添加一行 view all included .1 变成 name incl/excl subtree maskoptional view all included .1 5.查找以下字段: view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc 将该行前面的quotquot去掉. 保存、关闭 c 设置 net-snmp 自启动 rootlocalhost procchkconfig --level 35 snmpd on rootlocalhost procchkconfig --add snmpd d SNMP 测试(本机) rootlocalhost procsnmpwalk -v -2c -c public localhost 若有大量数据返回,说明 SNMP 配置正确 e 防火墙 打开 udp 161 端口 f 检查 SNMP 服务是否运行 rootlocalhost procnetstat -ln grep 161 udp 0 0 127.0.0.1:161 0.0.0.0: 表示 SNMP 已运行正常六、Cacti 安装及配置 a RRDtool 的安装 1.cgilib wget http://www.scriptroute.org/source/cgilib-0.5.tar.gz tar -zxvf cgilib-0.5.tar.gz cd cgilib-0.5 make cp libcgi.a /usr/local/lib cp cgi.h /usr/include 2.fontconfig wget http://www.fontconfig.org/release/fontconfig-2.8.0.tar.gz cd fontconfig-2.8.0 ./configure make ampamp make install 3.pixman wget http://cairographics.org/releases/pixman-0.21.2.tar.gz cd pixman-0.21.2 ./configure makemake install 4.cairo wget http://cairographics.org/releases/cairo-1.10.0.tar.gz tar -zxvf cairo-1.10.0.tar.gz cd cairo-1.10.0 export PKG_CONFIG_PATH/usr/local/lib/pkgconfig:PKG_CONFIG_PATH 这里 很重要 ./configure makemake install 5.pango wget http://ftp.se.debian.org/pub/gnome/sources/pango/1.17/pango- 1.17.5.tar.gz tar -zxvf pango-1.17.5.tar.gz cd pango-1.17.5 ./configure make ampamp make install 6.rrdtool wget http://www.mrtg.org/rrdtool/pub/rrdtool-1.4.4.tar.gz tar -xvzf rrdtool-1.4.4.tar.gz cd rrdtool-1.4.4 ./configure –prefix/usr/local/rrdtool makemake isntallb Cacti 的安装 1.下载 Cacti 软件包,并安装到/var/www/html/cacti wget http://www.cacti.net/downloads/cacti-0.8.7g.tar.gz tar -xvzf cacti-0.8.7g.tar.gz mv cacti-0.8.7g /var/www/html/cacti 2.配置数据库 mysql -u root -p 123456 mysqlgt create database cacti mysqlgt grant all privileges on cacti. to cactilocalhost identified by cacti with grant option mysqlgt grant all privileges on cacti. to cacti127.0.0.1 identified by cacti with grant option mysqlgtflush privileges mysqlgt use cacti mysqlgt source /var/www/html/cacti/cacti.sql 3.配置 Cacti 以连接数据库 vi /var/www/html/cacti/include/config.
php 依照如下修改: / make sure these values refect your actual database/host/user/password / database_type quotmysqlquotdatabase_default quotcactiquotdatabase_hostname quotlocalhostquotdatabase_username quotcactiquotdatabase_password quotcactiquotdatabase_port quot3306quotvi /var/www/html/cacti/include/global.
php 依照如下修改:/ Default database settings/database_type quotmysqlquotdatabase_default quotcactiquotdatabase_hostname quotlocalhostquotdatabase_username quotcactiquotdatabase_password quotcactiquotdatabase_port quot3306quotconfigurl_path /cacti/4.添加 cacti 用户rootlocalhost procuseradd -s nologin cactirootlocalhost procpasswd cacti5.修改 cacti 目录属主rootlocalhost procchown -R cacti:cacti /var/www/html/cacti/6.编辑 crontabrootlocalhost proccrontab -e/5 /usr/bin/
php /var/www/html/cacti/poller.
php gt /dev/null 2gtamp17.关闭 SELinuxrootlocalhost procsetenforce 08.用浏览器访问 http://localhost/cacti/若看到以下画面,则可以进行之后的配置(默认用户名、密码:admin) 9.配置 Cacti 如下部分,均在浏览器中设置 首先点开 settings 的 path 页,正确设置相应的路径,然后 finish 保存 10.安装补丁 按照 Cacti.net 上的步骤,打上补丁程序 必须在 Cacti 的安装目录下,即/var/www/html/cacti/ wget http://www.cacti.net/downloads/patches/0.8.7g/data_source_deactivate.patch wget http://www.cacti.net/downloads/patches/0.8.7g/graph_list_view.patch wget http://www.cacti.net/downloads/patches/0.8.7g/html_output.patch wget http://www.cacti.net/downloads/patches/0.8.7g/ldap_group_authenication.patch wget http://www.cacti.net/downloads/patches/0.8.7g/script_server_command_line_parse.pa tch wget http://www.cacti.net/downloads/patches/0.8.7g/ping.patch wget http://www.cacti.net/downloads/patches/0.8.7g/poller_interval.patch patch -p1 -N lt data_source_deactivate.patch patch -p1 -N lt graph_list_view.patch patch -p1 -N lt html_output.patch patch -p1 -N lt ldap_group_authenication.patch patch -p1 -N lt script_server_command_line_parse.patch patch -p1 -N lt ping.patch patch -p1 -N lt poller_interval.patch七、Cacti 插件安装及配置 必须现安装好插件扩展 PIA 2.8,才能安装、使用其他插件 wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7g-PA-v2.8.tar.gz tar -xvzf cacti-plugin-0.8.7g-PA-v2.8.tar.gz mv cacti-plugin-arch /var/www/html/cacti/cd /var/www/html/cacti/mysql -u root -p 123456 cacti lt cacti-plugin-arch/pa.sqlpatch -p1 -N lt cacti-plugin-arch/cacti-plugin-0.8.7g-PA-v2.8.diffrm -rf cacti-plugin-archchown -R cacti:cacti /var/www/html/cacti 1. 修改 global.
php设定数据库的相关参数,以及 config 路径. vi /var/www/html/cacti/include/global.
php修改并增加如下内容: / Default database settings/ database_type quotmysqlquot database_default quotcactiquot database_hostname quotlocalhostquot database_username quotcactiquot database_password quotcactiquot database_port quot3306quot configurl_path /cacti/ plugins array 2. 修改 Cacti 用户权限,增加插件使用权限 显示 Plugin-Management User Management -gt quotadminquot or quotother userquot -gt quotRealm Permissionsquot -gt quotPlugin Managementquot -gt 打勾并保存,如下图: 3. 安装插件 a下载插件 wget http://cactiusers.org/downloads/settings.tar.gz wget http://cactiusers.org/downloads/monitor.tar.gz wget http://cactiusers.org/downloads/realtime.tar.gz wget http://cactiusers.org/downloads/syslog.tar.gz wget http://cactiusers.org/downloads/thold.tar.gz wget http://cactiusers.org/downloads/tools.tar.gz wget http://cactiusers.org/downloads/update.tar.gz wget http://downloads.sourceforge.net/project/cacti-reportit/cacti-reportit/reportit_v061/reportit_v061.tar.gz wget http://www.constructaegis.com/downloads/npc-2.0.4.tar.gz b解压插件 tar -xvzf settings.tar.gz tar -xvzf monitor.tar.gz tar -xvzf realtime.tar.gz tar -xvzf syslog.tar.gz tar -xvzf thold.tar.gz tar -xvzf tools.tar.gz tar -xvzf update.tar.gz tar -xvzf reportit_v06.tar.gz tar -xvzf npc-2.0.4.tar.gz c修改 global.
php,增加插件说明 vi /var/www/html/cacti/include/global.
php plugins settings plugins thold plugins npc plugins syslog plugins aggregate plugins reportit plugins update plugins tools d下载安装 json(NPC 插件需要 json 支持) wget http://pecl.
php.net/get/json-1.2.1.tgz tar -xvzf json-1.2.1.tgz /usr/bin/phpize 如果 phpize 没有此指令,请 yum 安装
php-devel 包 ./configure make ampamp make install 之后用 web 测试 ,index.
php(前文有测试方法)如果有下图所示的这一项,则表示正常json 正常安装 e 修改权限 将所有插件 mv 到/var/www/html/cacti/plugins 目录下,然后 User Management -gt quotadminquotor quotother userquot -gt quotRealm Permissionsquot -gt quotPlugin Managementquot -gt 打勾并保存,如下图: f 启用插件 点击 configuration 下的 plugins management将各个插件 install/enable 即可,如下图: 其他插件,都按照上图所示,点击 install 然后 enable 即可。
所有插件都启用完毕后,刷新页面,Cacti 界面如下图所示:4. 插件安装排错 a)realtime 插件安装问题 realtim 插件安装好后,点击 web 界面的〔graphs〕页,选一个图,可发现在其右下角已经出 现了一个 realtime 的 logo,但当点此 logo 进行 realtime 查看时,会发现弹出的窗口中显示: “The image cache directory doesnt exist.Please create it and set permissions and then attempt to open an other realtime graph.” 提示没有 Cache 目录以及权限等。
解决方案: rootlocalhost procmakedir /var/www/html/cacti/cache rootlocalhost procchmod 777 -R /var/www/html/cacti/cache 之后,还要进入 console--gtconfiguration--gtsettings--gtmisc设置”Cache Directory”为 /var/www/html/cacti/cache/ b Syslog 插件安装问题 在 cacti 中访问 syslog 栏目是会出现以下提示: 1 Warning: include./include/html/inc_timespan_settings.
php function.include: failed to open stream: No such file or directory in /var/www/html/plugins/syslog/syslog.
php on line 126 2 Warning: include function.include: Failed opening ./incl.