Cacti 开源监控软件安装、配置

Cacti 是一套基于PHP 、MySQL 、SNMP 及 RRDTool 开发的开源监测图形分析工具。
Cacti 是用 php 语言实现的一个监控软件,它的主要功能是用 SNMP 服务获取数据,然后用 RRDTool 储存和更新数据,当用户需要查看数据的时候用 RRDTool 生成图表呈现给用户。因此,SNMP 和 RRDTool 是 Cacti 的关键。SNMP 关系着数据的收集,RRDTool 关系着数据存储和图表的生成。

1、底层环境搭建( 这里使用 LNMP ,安装略 )

2、安装前的调整

## 关注系统时间是否正确,这步尤为重要,如系统时间不对可能导致 Cacti 出图延迟

## 可以使用命令来实现 ntpdate us.pool.ntp.org | hwclock -w

## 还要检查 PHP 时区配置是否正确,尤为重要

3、安装 RRDTool 、SNMP

[root@study ~]# yum -y install rrdtool-devel net-snmp net-snmp-utils

[root@study ~]# vim /etc/snmp/snmpd.conf  ## 编辑配置文件

com2sec notConfigUser  192.168.221.129       public

## 大致在 41 行的位置,将原 defaults 改为本机 IP ,public 为共同体名,可以自定义

access  notConfigGroup “”      any       noauth    exact  all none none

## 大致在 62 行的位置,将原来的 systemview 改为 all

view all    included  .1                               80

## 大致在 85 行的位置,取消注释

[root@study ~]# service snmpd start   ## 启动 SNMPD 服务

[root@study ~]# chkconfig �Cadd snmpd
[root@study ~]# chkconfig �Clevel 35 snmpd on

## 将其加入开机启动

[root@study ~]# netstat -anpt | grep snmpd
tcp        0      0 127.0.0.1:199               0.0.0.0:*                   LISTEN      1558/snmpd

## 验证是否成功启动

4、安装 Cacti

下载地址:

http://www.cacti.net/downloads/cacti-0.8.8c.tar.gz

[root@study Package]# tar zxf cacti-0.8.8c.tar.gz -C /usr/local/nginx/html/

[root@study Package]# cd /usr/local/nginx/html/

[root@study html]# mv cacti-0.8.8c cacti

[root@study html]# useradd cacti  ##  创建 cacti 用户,用来生成图像文件,不是必须的

[root@study html]# chown -R nginx.nginx cacti

[root@study html]# chown -R cacti.cacti cacti/rra cacti/log

[root@study ~]# service mysqld start

[root@study ~]# chkconfig �Cadd mysqld
[root@study ~]# chkconfig �Clevel 35 mysqld on

## 启动 Mysql ,加入开机启动

[root@study ~]# mysql -u root -p123456

mysql> create database cactidb;

mysql> grant all on cactidb.* to cactiuser@localhost identified by ‘cactipasswd';

## 创建 cactidb 库,添加授权用户 cactiuser ,登录密码为 cactipasswd

mysql> use cactidb;

mysql> source /usr/local/nginx/html/cacti/cacti.sql

## 导入数据库

[root@study ~]# vim /usr/local/nginx/html/cacti/include/config.php

$database_type = “mysql”;
$database_default = “cactidb”;
$database_hostname = “localhost”;
$database_username = “cactiuser”;
$database_password = “cactipasswd”;
$database_port = “3306”;
$database_ssl = false;

## 添加数据库连接用户、密码等

[root@study ~]# /usr/local/nginx/sbin/nginx  ## 启动 Nginx

[root@study ~]# service php-fpm start  ## 启动 Php-fpm

[root@study ~]# chkconfig �Cadd php-fpm
[root@study ~]# chkconfig �Clevel 35 php-fpm on

## Php-fpm 加入开机启动

[root@study ~]# netstat -anpt | grep -P ’80|9000′
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      1946/nginx
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      1966/php-fpm

## 启动成功

## 防火墙开启 80 端口对外允许访问,允许 127.0.0.1 访问所有

5、浏览器安装 Cacti

> http://192.168.221.129/cacti

> 点击 Next

> 选择 New Install , 点击 Next

这里出问题最多的就是 PHP 路径,将 /usr/bin/php 改为 /usr/local/php/bin/php ,点击 Finish

> 成功出现登录框,默认用户 admin 、密码 admin

> 这时会强制修改密码,输入新的密码即可

> OK ,这时已经成功登录

6、开启本机监控

> 点击左侧 Management ― Devices

> 这时可以看到默认的 Localhost ,Status 为 Unknown ,Hostname 为 127.0.0.1

> 点击 Localhost ,进入配置页面

> SNMP Community 区域
    Hostname ― 默认为 127.0.0.1 修改为本机 IP 192.168.221.129

> SNMP Options 区域
    SNMP Version ― 选择版本 Version 1
    SNMP Community 共同体名,默认为 public ,修改为自己的共同体名(即 snmpd.conf 中所配置项)

> 点击 Save

## 最上方出现 Save Successful 字样,并打印出本机相关信息为成功,如出现 SNMP Error 为失败

## 现在已经开启了对本机的监控

7、查看图像信息

> 点击 graphs �C> Default Tree �C> Host:Localhost

## 这时会发现图像无法正常显示(裂图),因为还没有生成数据

[root@study ~]# crontab -u cacti -e

*/5 * * * * /usr/local/php/bin/php /usr/local/nginx/html/cacti/poller.php >/dev/null 2>&1

## 以 cacti 用户身份创建任务计划,用来生成采集数据

## 如果不加 >/dev/null ,会导致每次执行任务计划时,系统都向 cacti 发一封邮件,内容为生成的数据

## 你可以等待 5 分钟,或者 su �C cacti 后,直接执行任务计划中的命令

## 当 /usr/local/nginx/html/cacti/rra 目录下生成文件时,就可以去 web 页面查看图像数据

## 这时就可以将图像显示出来了

## 也许有可能会出现有图无数据的情况,要么多刷新两次,要么检查 PHP 时区是否配置错误

## 到此,Cacti 安装完成!

附 ( 之前遇到的问题 ):

1、访问 web 安装 Cacti 时,页面空白

日志显示如下:

[Wed Feb 12 15:33:55.510859 2014] [:error] [pid 33781:tid 140656689280768] [client 192.168.0.180:63096] PHP Fatal error:  Call to undefined function session_unregister() in /usr/local/apache/htdocs/cacti/lib/functions.php on line 408, referer:http://192.168.0.220/cacti/install/index.php

解决方法:

vim /usr/local/apache/htdocs/cacti/lib/functions.php

408        session_unregister($var_name);  # 注释掉 408 行

2、PHP 时区报错,解决方法去 php.ini 中改一下即可

3、Cacti 不出图,查看 rra 目录有没有生成数据,最为关键。
     如没有数据查看任务计划是否配置有错
     手动生成数据是否成功
     rra 目录权限问题

4、Cacti 出图无数据,查看系统时间、PHP 时区是否正确


你可能感兴趣的:(cacti,监控软件)