Cacti 部署笔记

本文记录在 Debian Bookworm(12.7) 上,部署 Cacti 开源(Cacti/cacti)网络监控系统注意点。

安装 nginxsnmpd 与配置 snmpd

snmpd 会用到私有 MIBS,因此需要在 /etc/apt/sources.list 中加入 non-free 软件包仓库。

# /etc/apt/sources.list

deb https://mirrors.huaweicloud.com/debian bookworm main
deb https://mirrors.huaweicloud.com/debian bookworm-updates main
deb https://mirrors.huaweicloud.com/debian-security bookworm-security main
deb https://mirrors.huaweicloud.com/debian bookworm-backports main

然后执行命令

$ sudo apt install -y nginx snmpd

安装 nginxsnmpd 两个软件包。

配置 snmpd

  • 修改 /etc/default/snmpd,加入 export MIBS=ALL

  • 修改 /etc/snmp/snmp.conf,加入

mibs :
rocommunity public localhost

注意:加入这个配置后,sudo systemctl status snmpd 会显示如下信息。

 snmpd[11916]: /etc/snmp/snmp.conf: line 5: Warning: Unknown token: rocommunity.

似乎这个告警并不重要。

下载 non-free 的 MIB 文件

$ sudo apt install -y snmp-mibs-downloader
$ sudo service snmpd restart
$ sudo service snmpd status

安装 Cacti 与 Spine

cacti-spine,Spine 是 Cacti 的多线程数据收集器,能够大规模地从连接了网络的设备中提取数据。他使 Cacti 系统安装,扩大到每个 Cacti 系统监控上万台主机。Spine 采用 C 语言编写,利用 POSIX 线程的优势,直接与 Net-SNMP 库链接,以达到最佳的数据采集速度。Spine 是默认的 cmd.php 数据收集器的替代品,后者的可扩展性有限。

$ sudo apt install -y cacti cacti-spine

在安装 Cacti 的过程中,系统会询问咱们是否希望 dbconfig-common 自动为 Cacti 设置 MySQL。这将为 Cacti 创建用户和数据库,然后导入必要的数据。

注意:这里设置的口令,将是安装随后登录用到的口令,而非网络上所说的 admin/admin

Cacti 将安装在 /usr/share/cacti

Nginx 配置

Nginx 运行在 it:www-data 下,因此需要将 /usr/share/cacti 目录修改为 it:www-data 所有。并建立 /var/log/cacti 及设置为 it:www-data 所有。

$ sudo chown -R it:www-data /usr/share/cacti
$ sudo mkdir /var/log/cacti
$ sudo chown -R it:www-data /var/log/cacti

参考

Last change: 2024-10-15, commit: 3850bc0