Cacti-监控服务

一、常用监控平台

img

1、Cacti

流量与性能检测为主
http://www.cacti.net/
展示平台:B/S
收集数据:SNMP(简单网络管理协议)  Simple Network Management Protocol

NMP:
    数据收集:
        SNMP:简单网络管理协议
            V1:最老消耗的资源最低,不支持加密机认证
            V2:加密
            V3:认证
        ICMP:
            判断公网是否存活
        agent:守护进程 
    数据展示:
        图标
        状态:
        OK warning critical pending unknown
        60   80 

2、Nagios

服务与性能监测为主
展示平台:B/S
收集数据:C/S(脚本)

3、Zabbix,

新型全功能监控软件
http://www.zabbix.com/
展示平台:B/S
收集数据:C/S

二、Cacti监控框架

1、Cacti 相关说明

数据收集:
    SNMP
数据展示:
    RRDTOOL  
Cacti的工作结构
    C/S模式,采集监测数据   SNMP
    B/S模式,管理监测平台   LAMP + RRDTOOL

首先SNMP在检测对象处收集到信息后,插入到数据库(持久化),PHP代码调取RRDtool数据
生成图片,而后被Apache页面展示给用户。

2、RRDTOOL说明

RRDtool 是 OpenSource 行业标准,用于#时间序列数据的高性能数据记录和图形系统。
RRDtool可以轻松集成到 shell 脚本,perl,python,ruby,lua 或 tcl  应用程序中

首先 RRDtool 存储数据,扮演了一个后台工具的角色。但同时 RRDtool 又允许创建图表,
这使得RRDtool看起来又像是前端工具。其他的数据库只能存储数据,不能创建图表

RRDtool 的每个 rrd 文件的大小是固定的,而普通的数据库文件的大小是随着时间而增加的

其他数据库只是被动的接受数据, RRDtool 可以对收到的数据进行计算,例如前后两个数据的
变化程度(rate of change),并存储该结果

RRDtool 要求定时获取数据,其他数据库则没有该要求。如果在一个时间间隔内(heartbeat)
没有收到值,则会用 UNKN (unknow)代替,其他数据库则不会这样

3、SNMP原理

img

#OId身份认证标识:通过一个连接线确定收集数据的方案
#.1.3.6.1.2.1.1#代表收集当前linux系统的信息

#两台虚拟机一台为服务器端,一台为客户端,分别安装工具包。(客户端收集服务器端信息)
yum -y install net-snmp net-snmp-utils #安装工具包
/etc/init.d/snmpd start #启动
netstat -antp  #查看端口(199)
snmpwalk  -v 2c -c public 192.168.190.112 tcp/system/.... #收集本地的     
#收集命令 -v 指定版本 -c 指定共同体名称 客户端地址 数据类型

vim /etc/snmp/snmp.conf

    #       sec.name  source          community 定义默认共同体
    com2sec notConfigUser  default       public
    view    systemview    included   .1.3.6.1.2.1.6 #定义想要收集的信息
  
#       group       context sec.model sec.level prefix read   write  notif
access  notConfigGroup ""   any     noauth    exact  systemview none none
view all    included  .1                               80
 #取消注释并将systemview改为all,重启服务,就可以查看所有的信息。

三、Cacti构建

1、实验环境

两台虚拟机
服务器:192.168.190.111
客户端:192.168.190.112

2、服务器端配置

1)安装基础环境

yum -y install httpd mysql mysql-server mysql-devel libxml2-devel 
mysql-connector-odbc perl-DBD-MySQL unixODBC php php-mysql php-pdo
# 前两行一起的LAMP环境准备

service httpd start
chkconfig httpd on
service mysqld start
chkconfig mysqld on
yum -y install  net-snmp net-snmp-utils net-snmp-libs lm_sensors

2)安装 RRDTOOL

mkdir /iso
mount -o loop cacti.iso /iso
cp -a /iso/* .
tar -zxf rrdtool-1.4.5.tar.gz
cd rrdtoolcd 
./configure --prefix=/usr/local
make && make install
​
# 如出错,按以下步骤解决
tar -zxvf cgilib-0.5.tar.gz
cd cgilib-0.5  
make
cp libcgi.a /usr/local/lib
cp cgi.h /usr/include
​
yum -y install libart_lgpl-devel
​
yum -y install pango-devel* cairo-devel*
cd ~/rrdtool-1.4.5
./configure --prefix=/usr/local
make && make install

3) 部署 cacti,设置数据库连接

cd cacti
tar -zxf cacti-0.8.7g.tar.gz
mv cacti-0.8.7g/ /var/www/html/cacti
cd !$
patch -p1 -N <~/cacti/data_source_deactivate.patch
patch -p1 -N <~/cacti/graph_list_view.patch
patch -p1 -N <~/cacti/html_output.patch
patch -p1 -N <~/cacti/ldap_group_authenication.patch
patch -p1 -N <~/cacti/script_server_command_line_parse.patch
patch -p1 -N <~/cacti/ping.patch
patch -p1 -N <~/cacti/poller_interval.patch

4)添加检测数据的用户账户,更改权限,保证读写数据正常

useradd runct
chown -R root.root ./
chown -R runct.runct rra/   log/

5)授权数据库用户,导入初始化数据

mysqladmin -uroot password 123
mysql -uroot -p
create database cactidb default character set utf8;
grant all on cactidb.* to 'cactiuser'@'localhost' identified by '123456';
quit
mysql -u cactiuser -p cactidb < cacti.sql #密码123456
#查看
mysql -uroot -p
use cactidb;
show tables;

6)修改 cacti 配置文件

vim include/config.php
  mysql
  cactidb
  localhost
  cactiuser
  123456
   3306

7)调整 http 配置

vim /etc/httpd/conf/httpd.conf
  Listen 80
  293 DocumentRoot "/var/www/html/cacti" # 添加cacti
  317 <Directory "/var/www/html/cacti"> # 添加cacti
        331 options None #修改为NOne
        AllowOverride None
        Order allow,deny
        Allow from all
  </Directory>
  402 DirectoryIndex index.php index.html # 添加index.html
  AddDefaultCharset utf-8

276 ServerName www.example.com:80 #取消注释​
service httpd restart
#​浏览器测试
http://192.168.190.111

img

img

img

img

img

3、客户端配置

1)安装基础软件包

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

vim /etc/snmp/snmpd.conf #修改下面内容。
   41 服务器地址 默认为default   共同体名称 默认为public123
   62 开放所有的SNMP查询权限 all 默认为SystemView
   85 支持各种查询与访问 取消注释符号
/etc/init.d/snmpd restart
chkconfig snmpd on
ntpdate -u ntp1.aliyun.com

4、服务器端配置

1)收集数据

# su - runct
ntpdate -u ntp1.aliyun.com
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

2)安装插件

cd
cd cacti-plugin/
tar -zxf cacti-plugin-0.8.7g-PA-v2.8.tar.gz
cd cacti-plugin-arch/
mysql -uroot cactiuser -p cactidb < pa.sql
cd /var/www/html/cacti
patch -p1 -N < ~/cacti-plugin/cacti-plugin-arch/cacti-plugin-0.8.7g-PA-v2.8.diff
​
cd cacti-plugin/ 
cp -a​ monitor-0.8.2.tar.gz /var/www/html/cacti/plugins
cd /var/www/html/cacti/plugins
tar -zxf ~/monitor-0.8.2.tar.gz
rm -rf monitor-0.8.2.tar.gz
cd monitor
mysql -uroot cactiuser -p cactidb < monitor.sql

5、添加新的监控设备。

img

img

img

img

img

img

img

img

img

img

posted @ 2020-04-23 13:30  候你已久  阅读(319)  评论(0)    收藏  举报