Cacti
定义
什么是Cacti?
Cacti 是 RRDtool 的一个完整前端,它将创建图形和用数据填充图形所需的所有信息存储在 MySQL 数据库中。前端完全由 PHP 驱动。除了能够维护数据库中的图形、数据源和循环归档之外,cacti 还能处理数据收集。对于习惯于使用 MRTG 创建流量图形的用户,它还支持 SNMP。
数据源
为了处理数据收集,您可以向 cacti 提供任何外部脚本/命令的路径以及用户需要“填写”的任何数据,cacti 随后将在 cron 作业中收集此数据并填充 MySQL 数据库/循环归档。
也可以创建数据源,这些数据源对应于图形上的实际数据。例如,如果用户想要绘制到主机的 ping 时间,您可以创建一个使用 ping 主机并以毫秒为单位返回其值的脚本的数据源。定义了 RRDTool 选项,例如如何存储数据后,您将能够定义数据输入源所需的任何其他信息,例如在本例中要 ping 的主机。创建数据源后,它将自动以 5 分钟的间隔进行维护。
图表
定义一个或多个数据源后,可以使用该数据创建 RRDTool 图形。Cacti 允许您使用所有标准的 RRDTool 图形类型和合并函数创建几乎可以想象的任何 RRDTool 图形。颜色选择区域和自动文本填充功能也有助于创建图形,使该过程更轻松。
您不仅可以在 cacti 中创建基于 RRDTool 的图形,还有许多方法可以显示它们。除了标准的“列表视图”和类似于 RRDTool 前端 14all 的“预览模式”之外,还有“树形视图”,它允许您将图形放置在分层树上以进行组织目的。
用户管理
由于 cacti 的许多功能,因此内置了一个基于用户的管理工具,以便您可以添加用户并授予他们 cacti 某些区域的权限。这将允许某人创建可以更改图形参数的用户,而其他人只能查看图形。每个用户在查看图形时也维护自己的设置。
模板
最后,cacti 能够通过使用模板来扩展到大量数据源和图形。这允许创建单个图形或数据源模板,该模板定义与其关联的任何图形或数据源。主机模板使您能够定义主机的功能,以便 cacti 在添加新主机时可以为其轮询信息
操作指南
简单开始
- 安装 MySQL 服务器软件包。这可以是 MySQL 或 MariaDB
- 安装 Cacti 软件包
- 启动数据库服务器并为此服务启用自动启动
systemctl enable mysql.service
- 启动 snmp 服务器并为此服务启用自动启动
systemctl enable snmpd.service
- 为 apache2 启用 cacti.conf 配置文件。这通过将字符串 CACTI 添加到/etc/sysconfig/apache2
- 启动 Web 服务器并为此服务启用自动启动
systemctl enable apache2.service
现在您可以跳到 #数据库配置。
高级开始
准备
- 添加 server:monitoring 仓库。为了访问 Cacti 插件,这是必需的。
- 安装 MySQL
- 安装 Cacti 和 Cacti 插件
配置
要开始,所需的基本服务
service apache2 start
service snmpd start
为了避免日后出现问题,我们将添加它们在 RunMode 3 和 5 中自动启动
chkconfig -a apache2
chkconfig -a snmpd
我们将实施额外的安全层,通过删除 MySQL 中的一些漏洞
按照问题的顺序进行
- 更改 root 用户的密码;
- 删除匿名用户;
- 禁用远程访问;
- 删除测试数据库并刷新权限;
- 重新加载权限表。
如果您稍后更改 MySQL 的 root 密码,请使用命令
Apache 配置
Cacti 文件位于/srv/www/cacti.
我们使用 VirtualHost 来方便我们的工作
cp vhost.template cacti.conf
vim cacti.conf
编辑必要的字段。请参阅示例
<VirtualHost *:80> ServerAdmin rauhmaru@opensuse.org ServerName cacti.local DocumentRoot /srv/www/cacti/ ErrorLog /var/log/apache2/cacti-error_log CustomLog /var/log/apache2/cacti-access_log combined HostnameLookups Off UseCanonicalName Off ServerSignature On <IfModule mod_userdir.c> UserDir public_html Include /etc/apache2/mod_userdir.conf </IfModule> <Directory " /srv/www/cacti"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost>
将用户 wwwrun 的组 www 定义为 Cacti 文件的所有者
如果您希望 Cacti 成为默认服务器,请编辑文件 /etc/sysconfig/apache2 并将 CACTI 添加为服务器标志
数据库配置
现在我们将创建 Cacti 的基础和一个用户
mysql> create database cacti;
mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipasswd';
Cacti 配置
配置了 Apache2 和 MySQL 后,只剩下 Cacti 了
配置/srv/www/cacti/include/config.php:
$database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cactiuser"; $database_password = "cactipasswd"; $database_port = "3306";
执行 Cacti 的 cacti.sql 脚本,该脚本位于/srv/www/cacti/
现在我们将通过浏览器启动最终配置。
在浏览器中
对于浏览器,请转到地址 http://SERVER/cacti/install。您将看到许可证。继续
定义一个新的安装
确保检查列表正常。
完成!现在您可以使用 SNMP 轻松地监控您的网络资产!
密码:admin
身份验证后,您必须重置密码。




