服务器监控cacti

在企业网络运维过程中,管理员必须时刻关注服务器的运行状态,如CPU、内存、磁盘空间使用情况等。为了能够及时的发现问题,尽量减少故障的发生。当网络中的设备,服务器等数量较多时,可以部署一套监控系统来实时跟踪服务器,我们通常会借助一些软件来实现。今天就以Cacti套件为例,介绍服务器集中监测体系的构建和使用。
今天所讲的cacti服务器监控系统与windows操作系统中的“性能监视器”属于同一类,都是为了监控cpu占用,内存使用,运行进程数,磁盘空间,网卡流量等各种数据。但不同的是,cacti不仅可以监控linux,也可以监控windows服务器,路由器,交换机等网络设备,主要基于snmp协议来搜集数据。Cacti(使用php实现)本身是一个web界面的软件,通过调用net-snmp工具来采集检测数据,并结合RRDtool(轮询数据库工具)记录数据并绘制图片,MySQL数据库并不存储在snmp捕获到的数据,存在于rrdtool生成rrd文件中,这些文件位于cacti目录下的rra目录中。最终以web页面展示给管理员用户。cacti需要运行在lamp平台上,配置简单,直观,而且支持插件和数据模板,可扩展其功能

一、准备环境LAMP及net-snmp和rrdtoll(以centos6.5为例)

yum -y install httpd(web服务器apache) mysql mysql-devel(数据库mysql) mysql-server zlib freetype libjpeg fontconfig gd libxml2 php-gd php(cacti使用php来实现) php-mysql(php支持mysql)
service httpd start
service mysqld start
vim /var/www/html/zm.php      //做一个php测试页,确保lamp协作正常。
      <?php
        phpinfo();
       ?>
//安装net-snmp-utils软件包,LAMP协议采集检测数据,需要这些程序提供。
yum -y install net-snmp net-snmp-utils(一些snmp的扩展命令如:snmpwalk、snmpget等)
service snmpd start
chkconfig snmpd on
//安装rrdtool软件包
首先安装依赖包
yum -y install cairo-devel zlib libxml2 libxml2-devel glib2 glib2-devel libpng-devel freetype-devel libart_lgpl pango gango-devel pear-devel perl-CPAN
//安装rrdtool软件包
tar zxf rrdtool1-1.4.8...gz
cd rrdtool1-1.4.8
./configure --prefix=/usr/local/ && make && make install

二、部署cacti、设置数据库连接。

//部署cacti源代码
tar zxf cacti-0.8.8b...gz
mv cacti-0.8.8b/ var/www/html/cacti/    //cacti释放出来的web服务器网页目录。
useradd cacti
chown -R cacti:cacti /var/www/html/cacti/
//添加cacti库和cacti用户,并授权
mysql -u root -p   //进入mysql数据库,注:刚创建的root密码为空
给MySQL密码 mysqladmin -u root -p password=‘123.com’
password:*******
mysql>create database cacti default character set  utf8; //数据库字符集为utf8,否则为出现乱码现象。
mysql>grant all on cacti.* to 'cacti'@‘localhost’ identified by ‘cacti’;
mysql>exit
cd /var/www/html/cacti/
mysql -u cacti -p cacti < cacti.sql
//调整cacti配置文件。

vim  include/config.php

end

$database_type = "mysql";             //指定连接的类型
$database_default = "cacti";             //连接的库
$database_hostname = "localhost"; //登录源
$database_username = "cacti";//用户名
$database_password = "cacti";//用户密码
$database_port = "3306";            //连接的端口
$database_ssl = false;                //不启用ssl
$url_path = "/";                        //指定cacti的根目录,这个目录是cacti的文件目录下,我们后面还需要修改httpd的主配置文件。

2)cacti的初始化安装

修改httpd服务的主要配置,网站根目录、索引页、字符集等

vim /etc/httpd/conf/httpd.conf     

DocumentRoot "/var/www/html/cacti"     //292行,cacti源码目录作为网站根目录
<Directory "/var/www/html/cacti">         //317行,设置目录访问权限
    Options Indexes none                       //331行
     AllowOverride None                         //338行
    Order allow,deny                              //343行
    Allow from all                                   //344行
</Directory>                                        //346行
DirectoryIndex  index.php  index.html index.html.var //402行,默认首页
AddDefaultCharset utf-8                   //759行,默认字符集为UTF-8

 service httpd reload

3)初始化cacti系统

在浏览器中输入http://ip,然后根据提示安装。

三、配置客户端(被控端snmpd)
无论是路由器、交换机、还是linux或windows服务器,只要正确支持SNMP协议,并允许Client服务器采集数据,就能够对其进行监测。下面仅介绍在linux服务器中启用SNMP支持并设置共同体名的简单方法。
    ps:共同体名,值的是一种验证机制,所有的client都必须使用同一个共同体名,就像我们之前学习的hsrp的组一样,只有组号相同才能是一个组的,这里也是如此,只有共同体名相同的时候,Cacti才能通过这个共同体名对client进行监控。
    需要安装net-snmp、lm_sensors软件包,然后通过修改其配置文件/etc/snmp/snmpd.conf,并启动snmpd服务,并建立规则,默认监听UDP的161号端口。

yum -y install net-snmp lm_sensors
 vim /etc/snmp/snmpd.conf
com2sec notConfigUser  192.168.1.1       public                                           //41行192.168.1.1指的是Cacti的服务器IP(默认是default),表示允许其查询本机数据,public指的就是共同体名,用来识别及验证
access  notConfigGroup ""      any       noauth    exact all none none           //62行all表示开放所有的SNMP查询权限(默认是 SystemView)
view all    included  .1               80                                                                     //85行去掉注释之后,以便支持各种查询。

2)vim /etc/php.ini    //修改时区  (采集数据的时候会出现很多提示信息,说建议改时区)

date.timezone = Asia/Chongqing   //946行去掉注释

3)crontab -e

*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null

/usr/bin/php /var/www/html/cacti/poller.php   //执行首次数据采集

4)安装percona-mysql-monitor插件 ,并导入模板(控制面板-导入模板-浏览 ,找到要加入的模板,最后点击‘lmport’)

tar zxf percona-monitoring-pu......gz
cd percona-moitoring...4/cacti/scripts/
cp ss_get_mysql.... /var/www/html/cacti/scripts/

 5)在MySQL数据库授权用户

 grant process , super on *.* to cactiuser@'192.168.1.1' identified by 'cactiuser';

四、使用cacti的web控制台监控流量

  • 添加设备
  • 设置监测项目
  • 生成监测图像
  • 定期采集监测数据
  • 查看监测结果(如下图)
  •  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值