使用cacti构建监控系统

Wed 14 March 2012

Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具,它是通过 snmpget来获取数据,使用 RRDtool绘画图形,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。界面友好。

cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。

cacti依赖于PHP+MYSQL环境,前面的几篇文章已经详细讲解了如何在Linux部署LNMP环境,这篇文章我们就是用前面几章所搭建的环境,所以这里不再讲解如何搭建环境,如果您不会可以先看看前几篇文章.

下面就介绍如何来部署cacti.

首先介绍本文所使用的环境: server:

系统为CentOS 5.5 32bit

ip:192.168.3.120

cacti:cacti-0.8.7i.tar.gz

cacti使用SNMP采集数据,首先安装snmp数据采集工具:

yum -y install lm_sensors net-snmp net-snmp-utils

同时cacti又依赖于rrdtool生成图表所以首先安装rrdtool:

wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.7.tar.gz
yum -y install cairo-devel glib2-devel pango-devel intltool   # 安装rrdtool依赖
./configure --prefix=/usr/local
make && make install

下面就来下载cacti安装:

wget http://www.cacti.net/downloads/cacti-0.8.7i.tar.gz
tar -zxvf cacti-0.8.7i.tar.gz
cp -r cacti-0.8.7i /usr/local/nginx/html/cacti  # 复制到html目录
useradd cactiuser -M -s /sbin/nologin          # 创建cacti用户
chown -R cactiuser.cactiuser /usr/local/nginx/html/cacti/rra/ # 改变属主和属组
chown -R cactiuser.cactiuser /usr/local/nginx/html/cacti/log/

然后进入到数据库创建cacti数据和创建一个用户:

create database cactidb default character set utf8;   #创建数据库
grant all on cactidb.* to cactiuser@localhost identified by '123456'; # 创建一个mysql用户
use cactidb   # 使用刚才创建的数据库
source /usr/local/nginx/html/cacti/cacti.sql # 导入cacti数据

接下来我们编辑cacti配置文件/usr/local/nginx/html/cacti/include/config.php

cd /usr/local/nginx/html/cacti/
vi include/config.php

编辑下面内容:

$database_type = "mysql";            # 数据库类型
$database_default = "cactidb";       # 数据库名字
$database_hostname = "localhost";    # 数据库主机
$database_username = "cactiuser";    # 数据库用户
$database_password = "123456";       # 数据库密码
$database_port = "3306";             # 数据库端口
$database_ssl = false;

然后修改nginx配置文件像下面:

        location / {
            root   html;
            index  index.php;
        }

        location ~ \.php$ {
            fastcgi_pass        unix:/var/run/php-fpm/php-fpm.sock;
            fastcgi_index       index.php;
            fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
            include fastcgi_params;
            include fastcgi.conf;
        }

重启nginx

pkill -9 nginx
/usr/local/nginx/sbin/nginx

然后设置php时区,

cd /usr/local/nginx/html/cacti/
vi include/global_constants.php

在第二行添加

date_default_timezone_set("Asia/Chongqing");

接下来配置snmp,编辑/etc/snmp/snmpd.conf

vi /etc/snmp/snmpd.conf

然后找到41行将public改成一个较为复杂的名字:

com2sec notConfigUser  default       public

然后找到62行

access  notConfigGroup ""      any       noauth    exact  systemview none none

将systemview改成all:

access  notConfigGroup ""      any       noauth    exact  all none none

然后去掉85行的注释:

view all    included  .1                               80

保存配置文件后启动snmp

service snmpd start

然后在浏览器里输入:http://192.168.3.120/cacti/ 然后根据提示一步步安装,安装好后使用admin密码admin登录.如果点击graphs不能显示图像的话执行:

php /usr/local/nginx/html/cacti/poller.php   # nginx下不会自动生成*.rrd文件必须手动执行这条命令才会生成,Debug没报错,测试权限也没问题,不知道怎么回事,望知道的能告知小弟

为了方便把这句加入到cron,执行:

yum -y install vixie-cron  #安装
service crond start
crontab -e

添加如下内容:

*/5 * * * * /usr/bin/php /usr/local/nginx/html/cacti/poller.php

好了这时候我们就可以打开查看生成的图像了. 注意如果报如下错误: Call to undefined function session_unregister() 将session_unregister('username') 改成 $_SESSION['username']='';

Category: 监控 Tagged: 监控 lnmp Linux CentOS cacti

comments


nginx平台搭建nagios监控系统

Sun 26 February 2012

Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。

Nagios 功能:

  • 监视网络服务 (SMTP, POP3, HTTP, NNTP, PING等)
  • 监视主机资源 (进程, 磁盘等)
  • 简单的插件设计可以轻松扩展Nagios的监视功能
  • 服务等监视的并发处理
  • 错误通知功能 (通过email, pager, 或其他用户自定义方法)
  • 可指定自定义的事件处理控制器
  • 可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等
  • 可以通过手机查看系统监控信息

本文环境:

  • 系统:CentOS 5.5 32bit
  • ip:192.168.3.3
  • nagios core:nagios-3.3.1.tar.gz
  • web:nginx(nginx-1 …

Category: 监控 Tagged: 配置 监控 rewrite nginx认证 nginx支持cgi nginx nagios Linux

comments

Read More

搭建ntop监测局域网内流量

Mon 20 February 2012

ntop是一种监控网络流量的工具,用ntop显示网络的使用情况比其他一些网管软件更加直观、详细。ntop甚至可以列出每个节点计算机的网络带宽利用率。ntop是一个灵活的、功能齐全的,用来监控和解决局域网问题的工具。它同时提供命令行输入和Web界面,可应用于嵌入式Web服务。

本文环境:CentOS5.5 32位

  • ip:192.168.3.101
  • rrdtool:rrdtool-1.4.7.tar.gz
  • GeoIP:GeoIP-1.4.8.tar.gz
  • ntop:ntop-4.1.0.tar.gz

一.安装依赖:

安装rrdtool

yum -y install libxml2 glib-devel pango-devel
wget http://oss.oetiker.ch …

Category: 监控 Tagged: 监控 流量 局域网 ntop Linux

comments

Read More
Page 1 of 1

Fork me on GitHub