企业除了需要具备系统和设备的监控功能外,还需要对其网络使用状况进行周密的监控、处理和优化,才能切实地保证企业信息安全。在企业级Linux操作系统中,提供了许多优秀的开源网络监控工具辅助网络管理人员和信息安全工作人员来进行网络监控和管理。因此,本文将挑选一个企业应用最为广泛和稳定的Cacti工具来进行介绍。 Cacti主要功能简介 Cacti是一个随着时间推移(时间序列数据)用图表显示系统和网络信息的网络监测工具,并提供一个全功能的Web界面,可以浏览和检查网络设备的实时性能。
例如,可以配置Cacti来监控经过本地服务器上的网络端口、本地网络上的交换机和路由器端口的网络流量。Cacti图形提供网……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
企业除了需要具备系统和设备的监控功能外,还需要对其网络使用状况进行周密的监控、处理和优化,才能切实地保证企业信息安全。在企业级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 < /usr/share/doc/cacti*/cacti.sql
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行。可以添加额外的行以允许从其它系统访问。以下的<Directory>容器允许从127.0.0.1、localhost以及位于172.16.192.150的远程系统来访问:
<Directory /usr/share/cacti/>
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from localhost
Allow from 172.16.192.150
< /Directory>
相关推荐
-
Mozilla安全开源基金:让Heartbleed历史不再重演
Mozilla公司公共政策负责人Chris Riley在博客中表示Mozilla安全开源基金将会为某些广泛使用的开源库和程序的关键开源软件项目提供安全审计、修复和验证。
-
企业如何提高数据泄露检测能力?(二)
当涉及数据泄露检测时,有很多原因可能造成企业的失败,这意味着并没有万能解决方案来解决这个问题,企业必须部署各种安全控制。
-
企业如何提高数据泄露检测能力?(一)
多年来,企业已经投入大量资源来购买和部署新的安全产品以防止网络攻击,但却没有对数据泄露检测投资太多。
-
Netflix威胁监测工具厉害在哪儿?
Netflix推出了自己的威胁监测工具:Scumblr、Sketchy和Workflowable。在本文中,专家Joseph Grannerman介绍了这些工具及其给企业带来的优势。