Cacti 部署笔记
本文记录在 Debian Bookworm(12.7) 上,部署 Cacti 开源(Cacti/cacti)网络监控系统注意点。
安装 nginx
、snmpd
与配置 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
安装 nginx
与 snmpd
两个软件包。
配置 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
参考: