0.准备
| S-RS-3 | eNSP中Cloud上联网关 | 192.168.153.49/24 |
| 7 – Cacti | Cacti服务器,配置完成前 | 192.168.153.128/24,DHCP,以VMnet8虚拟网关作为网关 |
| 7 – Cacti | Cacti服务器,接入eNSP后,配置完成前 | 192.168.153.71/24,静态,以192.168.153.100作为网关 |
| DNS Master | eNSP中Linux服务器代表 | 192.168.153.40/24,静态,以192.168.153.100作为网关 |
| DNS Master | eNSP中Linux服务器代表,接入eNSP后 | 192.168.153.129/24,DHCP,以VMnet8虚拟网关作为网关 |
以高性能的VMnet8虚拟网关接入Internet,下载软件完成服务器配置,再改为eNSP内部网关以接入eNSP内部网络。

7 - Cacti 、 DNS Master 为VMnet8(192.168.153.0/24)内主机,该网络以Cloud连接至S-RS-3 GE0/0/22 & Vlanif 3003 192.168.153.49/24(Access模式)
1.搭建Cacti服务器
注意:本文写于实验指导之前,所用软件、安装方式不同,其中大部分步骤不可相互代替
1)创建CentOS Stream 9虚拟机,这里命名为 7 - Cacti

将虚拟机网络连接至 VMnet8

使用最小化安装完毕后,使用 nmtui 配置网卡,使得虚拟机连接至Internet,若为默认配置则使用VMnet8 DHCP,无需改动
查看IP,用SSH连接虚拟机进行下一步配置

2)配置虚拟机Cacti相关服务
#安装 epel-release
dnf install -y epel-release
#随后安装 cacti,mariadb
dnf install -y cacti mariadb-server
#启动httpd服务,并设置为自动启动
systemctl start httpd
systemctl enable httpd
#查看httpd服务状态
systemctl status httpd
#配置防火墙,允许TCP 80端口访问Cacti HTTP服务
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
配置PHP时区
cp -p /etc/php.ini /etc/php.ini.bak #备份原文件
vi /etc/php.ini
将 date.timezone 的值设为 "Asia/Shanghai"

配置MariaDB
#启动MariaDB,并设为开机启动
systemctl start mariadb
systemctl enable mariadb
mysql
#遇到 Enter: 后直接回车
#创建数据库和用户
MariaDB [(none)]> create database cactidb;
MariaDB [(none)]> GRANT ALL ON cactidb.* TO cacti@localhost IDENTIFIED BY 'password';
#刷新权限
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
cd /etc/my.cnf.d/
#备份mariadb-server.cnf文件
cp -p mariadb-server.cnf mariadb-server.cnf.bak
#写入配置
vi mariadb-server.cnf
修改内容如下
...
[mysqld]
collation-server=utf8mb4_unicode_ci
character-set-server=utf8mb4
max_heap_table_size=32M
tmp_table_size=32M
join_buffer_size=64M
# 25% Of Total System Memory
innodb_buffer_pool_size=1GB
# pool_size/128 for less than 1GB of memory
innodb_buffer_pool_instances=10
innodb_flush_log_at_timeout=3
innodb_read_io_threads=32
innodb_write_io_threads=16
innodb_io_capacity=5000
innodb_file_format=Barracuda
innodb_large_prefix=1
innodb_io_capacity_max=10000
...

#重启MariaDB服务
systemctl restart mariadb
#导入时区数据
mysql -u root -p mysql < /usr/share/mariadb/mysql_test_data_timezone.sql
#遇到 Enter: 后直接回车
#进入mysql
mysql
MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO cacti@localhost;
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
修改 cacti 配置
#导入cacti数据
mysql -u root -p cactidb < /usr/share/doc/cacti/cacti.sql
#修改配置如以下内容
vi /usr/share/cacti/include/config.php
...
$database_type = 'mysql';
$database_default = 'cactidb';
$database_hostname = 'localhost';
$database_username = 'cacti';
$database_password = 'password';
$database_port = '3306';
$database_retries = 5;
$database_ssl = false;
...
#设置定时任务
vi /etc/cron.d/cacti
去掉注释,最终结果如下

配置Apache
vi /etc/httpd/conf.d/cacti.conf
#修改为如下配置

systemctl restart httpd
#重启httpd
修改SELinux
vi /etc/selinux/config
#将SELINUX=permissive改为SELINUX=permissive,重启
reboot
在浏览器中打开 http://虚拟机IP/cacti
按步骤使用默认配置安装,安装完毕如图

使用 nmtui 将虚拟机网关改为eNSP内路由交换机上的网关,重启

2.配置局域网中其他Linux服务器,添加至Cacti
以DNS Master(CentOS Stream 9,VMware虚拟化)为例
将虚拟机接入Internet,如果通过eNSP内部连接Internet通畅,则不用额外更改网关
#安装SNMP服务
dnf install -y net-snmp
#修改SNMP配置,增添.1.3.6.1权限,此处保持共同体名称public不变
vi /etc/snmp/snmpd.conf

#创建SNMPv3用户,使用AES加密
net-snmp-create-v3-user -ro -A authMonitor -a MD5 -X privMonitor -x AES admin
#开机启动防火墙,打开端口
systemctl start snmpd
systemctl enable snmpd
firewall-cmd --add-port=161/udp --permanent
firewall-cmd --reload
在其他Linux主机上进行同样操作
3.配置eNSP内部交换机、路由器
以S-RS-3为例,注意共同体名称此处为public
<S-RS-3>sy
[S-RS-3]snmp-agent community read public
[S-RS-3]snmp-agent community write private
[S-RS-3]snmp-agent sys-info version all
[S-RS-3]q
<S-RS-3>sa
The current configuration will be written to the device.
Are you sure to continue?[Y/N]y
Now saving the current configuration to the slot 0.
Save the configuration successfully.
<S-RS-3>
以上方法配置其他交换机、路由器
4.在Cacti中添加设备
1.找到 新设备 页面,这里以 DNS Master(192.168.153.40) 为例,更改设备模板如图,点击右下角确定

出现如图信息说明添加成功

2)找到 新图形 页面,选择 DNS Master 设备,勾选想要采集的对象,例如这里的 sda(硬盘),最后点击右下角确定

3)找到设备页面,勾选设备,最后选择 放在树上 ,确定

选择分支,然后继续

4)在图形标签页内即可找到数据图像

5)eNSP内的设备按同样操作
全文完
本文作者是 ftc ,在CC BY-SA 4.0下发布,允许有原作者署名的转载,改编必须在相同的条款下共享。

