企业除需要具有系统和设备的监控功能外,还需要对其收集利用状况进行周到的监控、措置和优化,才能切实地包管企业信息安然。在企业级Linux把持系统中,供给了良多优良的开源收集监控东西辅助收集治理人员和信息安然工作人员来进行收集监控和治理。是以,本文将遴选一个企业利用最为遍及和不变的Cacti东西来进行介绍。
Cacti首要功能简介
Cacti是一个跟着时候推移(时候序列数据)用图表显示系统和收集信息的收集监测东西,并供给一个全功能的Web界面,可以浏览和查抄收集设备的及时机能。例如,可以建设Cacti来监控颠末本地办事器上的收集端口、本地收集上的互换机和路由器端口的收集流量。Cacti图形供给收集各个部门的流量级别信息。例如,当收集速度很慢时,可以参考汗青图表,查看是不是产生了任何超出通俗收集流量的工作,Cacti可以汇集CPU操纵率、磁盘空间利用率、Web办事器上的页面浏览量和本地收集上的几近所有其它数据。
Cacti汇集跟着时候推移的基线(典型值)数据。可利用这些信息来增加对系统和收集及时行动的洞察力,并帮忙解决标题问题。这些信息乃至可以猜想将来可能产生的工作(例如,当磁盘很可能被占满时)。当安装并建设Cacti时,它会按期轮询收集设备以获得所需数据,并把数据存储在RRD文件,用于RRDtool(轮循数据库东西)。Cacti Web界面承诺浏览设备和图形列表,并可看到跟着时候推移的设备的可视化暗示。
Cacti是下一代监测东西的一部门。它是在从以往东西接收教训的根本上构建的,如MRTG和Cricket东西。这些东西都具有以下功能:
按期轮询跟踪设备数据。汇集这些数据最常常利用的东西是SNMP(简单收集治理和谈; www.net- snmp.org)。
把数据存储在一个RRD文件。
具有Web界面,可以查抄从存储数据生成的图表。这些图表凡是显示每天、每周、每个月和每年的信息。
Cacti的建设是经由过程其Web界面来实现的,而MRTG和Cricket的建设是经由过程编纂文本文件来实现。RRD文件和RRDtool是Cacti良多功能的关头。Cacti网站将Cacti描述为“完全的基于RRDtool的图形解决方案。”RRD文件存储有效的时候序列数据,经由过程利用聚合功能,更等闲保留比来时候段的大年夜量细节信息,但逐步削减Cacti文件中时候较长的细节数据。RRDtool可以很等闲地从RRD文件产生既简单又复杂的图形。
利用前预备
1. 建设SNMP
假定想监控本地系统上的数据源,起首在本地系统上安装和运行SNMP守护过程。
2. 设置LAMP
Cacti是一个LAMP(Linux、Apache、MySQL和PHP)利用法度,在建设Cacti之前必需安装和建设这些利用法度。本节申明如安在运行Cacti的系统上设置该软件。默许环境下,Cacti设置本地系统来运行Cacti,并作为数据源。
设置LAMP时利用名为mysql和cacti的MySQL数据库。安装MySQL时Fedora/RHEL设置mysql数据库。需要设置以下数据库用户。每个帐户都应当有暗码:
为mysql数据库设置root用户。此用户必需被定名为root。MySQL安装脚本设置这个用户。
为mysql数据库设置cactiuser用户。可以更改此用户名,但Cacti安装时,设置Cacti利用cactiuser。
为cacti数据库设置Cacti治理用户。正如安装Cacti时的设置,此用户具有admin用户名和admin暗码。可以设置别的的Cacti用户帐户。
1)事前安装软件包
安装以下软件包:
cacti(仅Fedora; 从fedoraproject.org/wiki/EPEL下载RHEL的Cacti)
mysql
mysql-server
php(和cacti一路安装)
httpd(Apache与cacti一路安装)
rrdtool(与cacti一路安装)
net-snmp(可选;只需要监督本地系统)
net-snmp-utils(可选)
2)防火墙设置
snmpd守护法度运行在由Cacti监控的系统上,利用UDP端口161。假定监控系统运行着防火墙或在防火墙后面,则必需打开此端口。利用system-config-firewall,选择“其它端口”选项卡,勾选User Defined复选框,并添加UDP端口161。假定想从没有运行Cacti的系统上的浏览器中利用Cacti,则需要在运行Cacti的系统上打开TCP端口80。
3)SELinux设置
当设置SELinux利用方针策略时,httpd(系统上运行Cacti)和snmpd(在被监测的系统上)都由SELinux呵护。假定有需要,可以禁用此呵护。
4)建设MySQL
安装MySQL,运行chkconfig,并启动mysqld守护过程。必然要经由过程利用mysql_secure_installation或mysqladmin为MySQL的root用户指定暗码。
5)成立cacti数据库
下一步利用以下号令来成立cacti数据库,成立mysql数据库的cactiuser用户,授予该用户需要的权限,并给该用户分派暗码。用你选择的暗码替代以下例子中的cactipassword。虽然FLUSH PRIVILEGES语句不是必需的,但最好包含它。
# mysql -p
Enter password:
Welcome to the MySQL monitor. Commands end with ;or \g.
Your MySQL connection id is 5
Server version: 5.5.10 MySQL Community Server (GPL)
...
mysql> CREATE DATABASE cacti;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT ALL ON cacti.*
-> TO cactiuser@localhost
-> IDENTIFIED BY 'cactipassword';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
6)设置和移植cacti数据库
利用下面的号令来设置和移植cacti数据库。当MySQL提示输进暗码,供给MySQL的root用户暗码(不是MySQL的cactiuser用户)。
# mysql -p cacti
Enter password:
假定有SQL语法弊端,上述号令会掉败。要解决这个弊端,编纂cacti.sql并删除呈现的所有字符串TYPE=MyISAM(即用空字符串替代每个TYPE=MyISAM字符串:s/TYPE=MyISAM//)。
在安装时,/etc/cacti/db.php文件中的大年夜大都信息都是准确的。编纂这个文件来更改付与$database_password的值,从cactiuser更改成成立cacti数据库时(MySQL 的cactiuser用户的暗码)为cactipassword利用的不异值。不要更改付与$database_username的值。
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactiuser";
$database_port = "3306";
7)建设 Apache
安装Apache并运行chkconfig并利用service来启动httpd守护过程。Cacti供给该内容。/etc/httpd/conf.d/cacti.conf文件节制Apache办事器上Cacti的位置和可拜候性。默许环境下,Cacti供给127.0.0.1/cacti(基于别号声明),只有127.0.0.1上的用户(非localhost;基于Allow from语句)可以拜候Cacti。默许的cacti.conf文件以下:
$ cat /etc/httpd/conf.d/cacti.conf
#
# Cacti: An rrd based graphing tool
#
Alias /cacti /usr/share/cacti
< Directory /usr/share/cacti/>
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
< /Directory>
要遵守本节中的例子,当即在Allow from 127.0.0.1下面添加Allow from localhost行。可以添加额外的行以承诺从其它系统拜候。以下的容器承诺从127.0.0.1、localhost和位于172.16.192.150的长途系统来拜候:
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from localhost
Allow from 172.16.192.150
< /Directory>