Cacti

一 常见平台

常见的服务器监控软件

Cacti,流量与性能监测为主
        —— http://www.cacti.net/

Nagios,服务与性能监测为主
        —— http://www.nagios.org/

Zabbix,新型全功能监控软件
       —— http://www.zabbix.com/

收集数据的方式

script
command
SNMP   简单网络管理协议  收集网络设备的相关数据
       V1    兼容低端设备 监控代价小  不支持加密以及认证
       V2    加密
       V3    认证 

 

 

 

二 SNMP原理

1.

     

 

 2.

     

 

3.

     

 

4.

      

 

SNMP原理

192.168.10.10
[root@localhost ~]# yum -y install net-snmp net-snmp-utils

[root@localhost ~]# cd /usr/share/snmp/mibs/
[root@localhost mibs]# ls

[root@localhost mibs]# service snmpd start

[root@localhost mibs]# snmpwalk -v 2c -c public 192.168.10.10 system  #查看(例)


[root@localhost mibs]# vim /etc/snmp/snmpd.conf
   62 access  notConfigGroup ""      any       noauth    exact  all none none  #all
   85 view all    included  .1                               80                #取消注释

[root@localhost mibs]# service snmpd restart

[root@localhost mibs]# snmpwalk -v 2c -c public 192.168.10.10 tcp  #收集TCP信息
    TCP-MIB::tcpConnState.192.168.10.10.22.192.168.10.1.49323 = INTEGER: established(5)  #有数据传输状态
    TCP-MIB::tcpConnState.192.168.10.10.22.192.168.10.1.51749 = INTEGER: established(5)
    TCP-MIB::tcpConnLocalAddress.192.168.10.10.22.192.168.10.1.49323 = IpAddress: 192.168.10.10  #TCP连接
    TCP-MIB::tcpConnLocalAddress.192.168.10.10.22.192.168.10.1.51749 = IpAddress: 192.168.10.10

 

三 Cacti工作结构

Cacti的工作结构

C/S模式
  采集监测数据
B/S模式
  管理监测平台

     

 

Cacti 展示框架

收集数据:
      SNMP
图形生成:
      RRDTOOL
图形展示:
      PHP

 

 

操作:

1. 安装环境

yum -y install gcc*

yum -y install httpd mysql mysql-server mysql-devel libxml2-devel mysql-connector-odbc perl-DBD-MySQL unixODBC php php-mysql php-pdo

service httpd start
service mysqld start

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

 

2. 安装rrdtol

tar -zxf rrdtool-1.4.5.tar.gz
cd rrdtool
./configure --prefix=/usr/local
make && make install


如出错,按以下步骤解决
第1步
tar zxvf cgilib-0.5.tar.gz
cd cgilib-0.5  
make    #回报错误:cgi.c: 在函数‘cgiRedirect’中...(忽略)

cp libcgi.a /usr/local/lib
cp cgi.h /usr/include

第2步
yum -y install libart_lgpl-devel

第3步
yum -y install pango-devel* cairo-devel*

 

3. 部署cacti,设置数据库连接
1.部署源码包,并安装补丁文件

tar -zxf cacti-0.8.7g.tar.gz

[root@localhost cacti]# mv cacti-0.8.7g/ /var/www/html/cacti
[root@localhost cacti]# cd /var/www/html/cacti/

[root@localhost cacti]# patch -p1 -N </usr/src/cacti/data_source_deactivate.patch 
[root@localhost cacti]# patch -p1 -N </usr/src/cacti/graph_list_view.patch 
[root@localhost cacti]# patch -p1 -N </usr/src/cacti/html_output.patch 
[root@localhost cacti]# patch -p1 -N </usr/src/cacti/ldap_group_authenication.patch 
[root@localhost cacti]# patch -p1 -N </usr/src/cacti/script_server_command_line_parse.patch 
[root@localhost cacti]# patch -p1 -N </usr/src/cacti/ping.patch 
[root@localhost cacti]# patch -p1 -N </usr/src/cacti/poller_interval.patch 


2、添加检测数据的用户账户,更改权限,保证读写数据正常
[root@localhost cacti]# useradd runct
[root@localhost cacti]# chown -R root.root ./
[root@localhost cacti]# chown -R runct.runct rra/ log/


3、授权数据库用户,导入初始化数据
mysqladmin -uroot password 123

mysql -u root -p
    create database cactidb default character set utf8;
    grant all on cactidb.* to 'cactiuser'@'localhost' identified by 'pwd@123';
    quit
mysql -u cactiuser -p cactidb < cacti.sql


4、修改cacti配置文件
[root@localhost cacti]# pwd
/var/www/html/cacti
[root@localhost cacti]# vim include/config.php 
    $database_type = "mysql";
    $database_default = "cactidb";
    $database_hostname = "localhost";
    $database_username = "cactiuser";
    $database_password = "pwd@123";
    $database_port = "3306";
    
5、调整http配置
[root@localhost cacti]# vim /etc/httpd/conf/httpd.conf 
    276 ServerName www.TomCat.com:80
    292 DocumentRoot "/var/www/html/cacti"
    317 <Directory "/var/www/html/cacti">
    331     Options none

    402 DirectoryIndex index.php index.html index.html.var
    759 AddDefaultCharset UTF-8   #默认

[root@localhost cacti]# service httpd restart


浏览器:http://192.168.10.10
第一次登陆:
    user:admin
    pwd:admin
登陆后,会让重新设置密码

 

5. 客户端配置

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

[root@localhost ~]# vim /etc/snmp/snmpd.conf 
    41 com2sec notConfigUser  default       public123
    85 view all    included  .1             80
    151 access  notConfigGroup ""      any       noauth    exact  all rwview none
    
[root@localhost ~]# service snmpd start
[root@localhost ~]# chkconfig snmpd on


浏览器页面: 点击:Devices

16:30 的图

创建树:Devices --> 第一台服务器 --> *Create Graphs for this Host
挂载树:Graph Trees --> Default Tree

 

图一:

图二:

图三:

 

6. 收集数据

10主机
su - runct
php /var/www/html/cacti/poller.php

crontab -e 
*/5 * * * *  /usr/bin/php  /var/www/html/cacti/poller.php &>/dev/null

service crond start 
chkconfig crond on

 

7. 安装插件

10主机

[root@localhost cacti-plugin]# tar -zxf cacti-plugin-0.8.7g-PA-v2.8.tar.gz 
[root@localhost cacti-plugin]# cd cacti-plugin-arch/
[root@localhost cacti-plugin-arch]# ls
cacti-plugin-0.8.7g-PA-v2.8.diff  files-0.8.7g  LICENSE  pa.sql  README

[root@localhost cacti-plugin-arch]# mysql -uroot -p cactidb < pa.sql

[root@localhost ~]# cd /usr/src/cacti-plugin/cacti-plugin-arch/
[root@localhost cacti-plugin-arch]# ls
cacti-plugin-0.8.7g-PA-v2.8.diff  files-0.8.7g  LICENSE  pa.sql  README


[root@localhost cacti]# pwd
/var/www/html/cacti
[root@localhost cacti]# patch -p1 -N < /usr/src/cacti-plugin/cacti-plugin-arch/cacti-plugin-0.8.7g-PA-v2.8.diff 
[root@localhost cacti]# cd plugins
[root@localhost plugins]# ls
index.php

 

8. 配置识别插件

浏览器:console --> User Management --> admin --> Realm Permissions(勾选 Plugin Management) --> 侧边栏就有 Plugin Management

 

9. 配置Monitor

[root@localhost ~]# cd /usr/src/cacti-plugin/
[root@localhost cacti-plugin]# ls
cacti-plugin-0.8.7g-PA-v2.8.tar.gz  monitor-0.8.2.tar.gz  thold-0.4.3.tar.gz
cacti-plugin-arch                   settings-0.5.tar.gz
[root@localhost cacti-plugin]# tar -zxf monitor-0.8.2.tar.gz 

[root@localhost cacti-plugin]# ls
cacti-plugin-0.8.7g-PA-v2.8.tar.gz  monitor               settings-0.5.tar.gz
cacti-plugin-arch                   monitor-0.8.2.tar.gz  thold-0.4.3.tar.gz
[root@localhost cacti-plugin]# cd monitor
[root@localhost monitor]# ls
images  index.php  LICENSE  monitor.php  monitor.sql  README  setup.php  sounds  wz_tooltip.js

[root@localhost cacti-plugin]# mv monitor /var/www/html/cacti/plugins   #!!!
[root@localhost cacti-plugin]# cd !$
cd /var/www/html/cacti/plugins
[root@localhost plugins]# ls
index.php  monitor
[root@localhost plugins]# cd monitor/
[root@localhost monitor]# ls
images  index.php  LICENSE  monitor.php  monitor.sql  README  setup.php  sounds  wz_tooltip.js
[root@localhost monitor]# mysql -uroot -p cactidb < monitor.sql   #!!!


进行浏览器操作
Configration -- setting -- misc -- 将最后一行改为Tiles -- save

 

10. 配置Thold

Configration -- setting -- Thresholds -- Dead hosts Notifications 后 添加 告警邮箱
From Email Address 后添加 指定发件人地址 -- 选中 send alerts as text 表示纯文本发送邮件

 

11. 设置SMTP,DNS等

Configration -- setting -- Mail/DNS -- 测试用的收信地址、SMTP、发送人邮件地址、发送人名称(Cacti_System)、120

 

12. 添加检测项目

Templates -- Threshold Templates -- ucd/net-CPU Usage-User -- High Threshold 设置为85

告警阈值默认计量单位:
  cpu 使用率 为 百分比(不包含该值)
  网卡流量 Byte/s 
  硬盘空间 KB
  内存占用 KB

  也可以设置多个告警项,同时可生效 如 内存低于50MB并且下载流量超过80MB/s

 

13, 查看警告

Management -- Thresholds -- thold 

 

posted @ 2018-05-22 23:42  shadow3  阅读(223)  评论(0)    收藏  举报