如何在CentOS 7上部署Cacti 1.0.0监控系统?

在现代IT运维领域,对服务器和网络设备的性能进行实时监控至关重要,Cacti作为一款基于PHP、MySQL、SNMP及RRDTool开发的开源网络流量监测与分析工具,凭借其强大的数据采集、灵活的图形展示和直观的管理界面,赢得了广泛的赞誉,本文将详细介绍如何在稳定可靠的CentOS 7操作系统上部署Cacti 1.0.0版本,为构建高效的监控体系奠定基础。

环境准备与依赖安装

在开始安装Cacti之前,必须确保系统环境满足其运行所需的所有依赖,CentOS 7作为一个成熟的Linux发行版,其软件仓库中包含了绝大部分所需组件,但部分依赖需要从EPEL(Extra Packages for Enterprise Linux)仓库获取。

核心依赖组件列表

软件名称 作用 备注
httpd Web服务器,用于提供Cacti的Web界面 Apache的CentOS版本
mariadb-server 数据库服务器,用于存储Cacti的配置、模板和采集数据 MySQL的开源分支
php 及其扩展 脚本语言,Cacti后端逻辑的实现语言 需包含php-mysql, php-snmp等
net-snmp 及其工具 简单网络管理协议,用于从设备采集数据 包括snmpd服务端和snmpwalk等客户端工具
rrdtool 轮询数据库工具,用于存储和绘制时序数据图形 Cacti绘图的核心依赖

更新系统并安装EPEL仓库,EPEL仓库提供了许多CentOS官方源中没有的软件包,包括Cacti本身。

sudo yum update -y
sudo yum install -y epel-release

使用yum命令一键安装所有必需的软件包,这条命令会同时安装Web服务器、数据库、PHP环境、SNMP工具以及RRDTool。

sudo yum install -y httpd mariadb-server mariadb php php-mysql php-snmp php-xml php-gd rrdtool net-snmp net-snmp-utils

数据库与Web服务配置

依赖安装完毕后,需要对数据库和Web服务进行初步配置,使其能够协同工作。

启动MariaDB数据库服务并设置其为开机自启。

sudo systemctl start mariadb
sudo systemctl enable mariadb

为了提高数据库安全性,运行安全安装脚本,该脚本将引导您设置root密码、移除匿名用户、禁止远程root登录等。

sudo mysql_secure_installation

随后,登录数据库为Cacti创建一个专用的数据库和用户,这是一个良好的安全实践,可以避免Cacti直接使用root账户操作数据库。

mysql -u root -p
CREATE DATABASE cacti DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL ON cacti.* TO 'cactiuser'@'localhost' IDENTIFIED BY 'a_strong_password';
FLUSH PRIVILEGES;
EXIT;

请务必将a_strong_password替换为您自己设置的强密码。

启动Apache服务并设置开机自启,同时配置防火墙以允许HTTP流量。

sudo systemctl start httpd
sudo systemctl enable httpd
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

Cacti安装与初始化

现在可以正式安装Cacti了。

sudo yum install -y cacti

安装过程中,Cacti会将其文件放置在/usr/share/cacti/目录下,接下来需要将Cacti提供的初始数据库结构导入到我们刚才创建的数据库中。

mysql -u cactiuser -p cacti < /usr/share/doc/cacti-1.0.0/cacti.sql

导入时,系统会提示您输入为cactiuser设置的密码。

修改Cacti的配置文件,填入数据库连接信息,配置文件位于/usr/share/cacti/include/config.php

sudo vi /usr/share/cacti/include/config.php

找到以下部分并修改为您的实际配置:

$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'a_strong_password';
$database_port     = '3306';
$database_ssl      = false;

配置数据轮询与SNMP

Cacti的核心功能依赖于定时任务(cron job)来周期性地轮询设备数据,安装程序已自动创建了一个cron配置文件/etc/cron.d/cacti,默认是注释掉的,我们需要取消注释以启用数据轮询。

sudo vi /etc/cron.d/cacti

取消下面这行的注释:

*/5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1

这行配置的含义是,每5分钟以cacti用户身份执行一次poller.php脚本,该脚本负责数据采集。

为了让Cacti服务器自身也能够被监控,需要配置其SNMP服务。

sudo vi /etc/snmp/snmpd.conf

找到并修改com2secgroupviewaccess配置,设置一个共同体字符串(community string),例如public

com2sec localUser  default       public
group MyRWGroup v2c        localUser
view all    included  .1                               80
access MyRWGroup ""      any       noauth    exact  all    all    none

配置完成后,启动并启用SNMP服务。

sudo systemctl start snmpd
sudo systemctl enable snmpd

Web界面向导与首次使用

所有服务配置完成后,通过浏览器访问http://<your_server_ip>/cacti即可开始Web界面的安装向导,首次访问会显示Cacti的许可证声明,接受后进入安装兼容性检查,只要严格按照前述步骤操作,所有检查项都应显示OK。

接下来是选择全新安装或升级,选择“New Install”,然后会引导您进行模板类型选择和二进制文件路径确认,通常保持默认即可。

完成向导后,将进入登录页面,默认管理员用户名和密码均为admin,首次登录后,系统会强制要求您修改管理员密码。

登录成功后,便进入了Cacti的主控制台,您可以在此管理设备、图形、数据源等,最简单的开始方式是在左侧菜单的“Management”下的“Devices”中添加一台新设备(可以是Cacti服务器本机),为其关联图形模板,稍等片刻,便能在“Graphs”标签页中看到生成的性能监控图表。

相关问答FAQs

问题1:Cacti图形显示为空白,没有数据,该怎么办?
解答:这是一个常见问题,通常由以下几个原因导致,检查Cron任务是否正确配置且正在运行,可以使用tail -f /var/log/cron查看cron日志,确认SNMP配置是否正确,在被监控设备上使用snmpwalk -v2c -c public <device_ip> .1.3.6.1.2.1.1.1.0测试连通性,检查数据库用户权限是否足够,如果开启了SELinux,它可能会阻止Apache或PHP进程访问网络,可以临时执行setsebool -P httpd_can_network_connect=1来允许。

问题2:如何为Cacti添加新的监控模板?
解答:Cacti的强大之处在于其丰富的模板生态系统,要添加新模板,通常有两种方式,第一种是导入,在Cacti控制台的“Import/Export”菜单下的“Import Templates”页面,您可以上传从Cacti官方论坛或社区下载的XML模板文件,系统会自动导入相关的图形模板、数据查询方法等,第二种是手动创建,在“Templates”菜单下,您可以基于现有模板克隆并修改,或者从头创建全新的数据输入方法、数据模板和图形模板,这需要您对SNMP OID和Cacti的工作原理有较深的理解,对于大多数情况,导入现成的社区模板是最便捷高效的方法。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
我的iPhone企业版app无法安装,提示未受信任的开发者怎么办?
上一篇 2025-10-11 18:11
CentOS系统添加Kali源的方法和需要注意的风险有哪些?
下一篇 2025-10-11 18:14

相关推荐

  • 最小centos7系统如何安装部署?

    最小化安装 CentOS 7 的全面指南CentOS 7 作为一款稳定可靠的企业级 Linux 发行版,广泛应用于服务器和开发环境,最小化安装(Minimal Install)是 CentOS 7 提供的一种精简安装选项,仅包含系统核心组件和必要的工具,适用于需要高度定制化或资源受限的场景,本文将详细介绍最小化……

    2025-11-02
    0012
  • 如何配置服务器以启用自定义菜单选项?

    服务器配置中启用自定义菜单涉及对菜单进行个性化设置,以适应特定需求或工作流程。这通常包括添加、移除或重新排列菜单项,确保用户界面直观且高效,从而提升用户体验和操作便捷性。

    2024-08-01
    0020
  • centos网络配置vi编辑wq后如何重启服务生效?

    CentOS 作为广泛使用的服务器操作系统,其网络配置是系统管理和维护的基础,一个稳定、正确的网络配置是服务器提供服务、进行远程管理和数据交换的前提,本文将详细介绍在 CentOS 系统中进行网络配置的两种主流方法:使用 nmcli 命令行工具和手动编辑配置文件,帮助您根据实际需求灵活选择,使用 nmcli 进……

    2025-10-05
    0017
  • CentOS系统下U盘文件名乱码问题,到底应该如何彻底解决?

    在 CentOS 系统中使用 U 盘时,我们有时会遇到一个令人头疼的问题:插入 U 盘后,打开查看,里面的中文文件名或文件夹名变成了一堆无法阅读的乱码,如问号、方块或其他奇怪的符号,这种现象不仅影响了工作效率,也给数据管理带来了困扰,本文将深入探讨这一问题的根源,并提供一系列从临时到永久、从简单到深入的解决方案……

    2025-10-06
    007

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信