实验十三:基于 cacti 搭建运维监控系统 -...

26
《网络运维管理》 / 实验十三:基于 Cacti 搭建运维监控系统 河南中医药大学信息技术学院 | 网络与信息系统科研工作室 第1页 《网络运维管理》—— 实验指导书 实验十三:基于 Cacti 搭建运维监控系统 一、实验简介 Cacti 是一套网络流量监控图形分析工具。本实验通过 VirtualBox 创建虚拟机并安装 Cacti 监控 系统,实现对本地操作系统的监控。 二、实验目的 1、掌握在 Centos 系统中安装 Cacti 监控系统的方法; 2、掌握 Cacti 的配置方法; 3、掌握在 Cacti 系统中添加监控的方法; 4、掌握查看 Cacti 监控数据的方法。 三、实验理论 1RRDTool 1)什么是 RRDTool RRDTool 是一个强大的绘图引擎。它是一套软件,包含: 存储:把近期的原始采集数据+统计分类的数据存在 rra 文件中 统计:分类统计功能 操作:数据读写,从 rra 文件中, 绘图:绘图工具 其中, RRD 的含义是 Round Robin Database,环形数据库。Round Robin 是一种存储数据的 方式,使用固定大小的空间来存储数据,并有一个指针指向最新的数据的位置。RRD 可以使监控 采集的数据循环更新。 2Cacti 1)什么是 Cacti Cacti 是一套基于 PHPMySQLSNMP RRDTool 开发的网络流量监测图形分析工具。 2Cacti 的工作原理 Cacti 通过 snmpget 来获取数据,使用 RRDTool 绘制监控数据图形。 Cacti 监控体系中,将业务数据(即监控采集的数据)和系统数据(例如账号密码、受监控 设备的基本配置信息等)分开存放。业务数据放置在 RRDTool 的数据文件中,系统数据放置在 MySQL/Mariadb 数据库中。 Cacti 的架构如图 13-0-1 所示。在构架的过程中,安装 Net-SNMP 软件,作用是采集数据;安 RRDtool 软件,作用是为了存储采集到的数据以及画图;安装 MySQL/Mariadb 数据库,作用是 保存模板,以及查找某条数据。 Cacti 网络监控系统的工作过程如图 13-0-1 所示。Cacti 网络监控系统架构完成后,监控系统 会定时采集被监控设备的信息数据,然后对这些数据进行存储,当用户需要查看某台监控设备的

Upload: others

Post on 23-Jan-2021

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第1页

《网络运维管理》—— 实验指导书

实验十三:基于 Cacti 搭建运维监控系统

一、实验简介

Cacti 是一套网络流量监控图形分析工具。本实验通过 VirtualBox 创建虚拟机并安装 Cacti监控

系统,实现对本地操作系统的监控。

二、实验目的

1、掌握在 Centos 系统中安装 Cacti 监控系统的方法;

2、掌握 Cacti 的配置方法;

3、掌握在 Cacti 系统中添加监控的方法;

4、掌握查看 Cacti 监控数据的方法。

三、实验理论

1、RRDTool

(1)什么是 RRDTool

RRDTool 是一个强大的绘图引擎。它是一套软件,包含:

① 存储:把近期的原始采集数据+统计分类的数据存在 rra 文件中

② 统计:分类统计功能

③ 操作:数据读写,从 rra 文件中,

④ 绘图:绘图工具

其中,RRD 的含义是 Round Robin Database,环形数据库。Round Robin 是一种存储数据的

方式,使用固定大小的空间来存储数据,并有一个指针指向最新的数据的位置。RRD 可以使监控

采集的数据循环更新。

2、Cacti

(1)什么是 Cacti

Cacti 是一套基于 PHP、MySQL、SNMP 及 RRDTool 开发的网络流量监测图形分析工具。

(2)Cacti 的工作原理

Cacti 通过 snmpget 来获取数据,使用 RRDTool 绘制监控数据图形。

在 Cacti 监控体系中,将业务数据(即监控采集的数据)和系统数据(例如账号密码、受监控

设备的基本配置信息等)分开存放。业务数据放置在 RRDTool 的数据文件中,系统数据放置在

MySQL/Mariadb 数据库中。

Cacti 的架构如图 13-0-1 所示。在构架的过程中,安装 Net-SNMP 软件,作用是采集数据;安

装 RRDtool 软件,作用是为了存储采集到的数据以及画图;安装 MySQL/Mariadb 数据库,作用是

保存模板,以及查找某条数据。

Cacti 网络监控系统的工作过程如图 13-0-1 所示。Cacti 网络监控系统架构完成后,监控系统

会定时采集被监控设备的信息数据,然后对这些数据进行存储,当用户需要查看某台监控设备的

Page 2: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第2页

某个监控点的信息时,就会通过 MySQL/Mariadb 数据库去查找这些数据,然后将数据绘制成

图像,通过 Web 界面呈现给用户。

四、实验过程

图 13-0-1 Cacti 架构图 图 13-0-2 Cacti 工作流程图

Page 3: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第3页

任务一:网络规划

【任务介绍】

规划网络部署。

步骤 1:网络规划

(1)拓扑规划

为简化内容、突出重点,本实验不在 eNSP 中构建虚拟网络环境,直接在 VirtualBox 中创建虚

拟机,并通过本地实体机所在网络,实现实体机与虚拟机之间的互相访问,以及虚拟机访问互联

网。从而完成 Cacti 监控系统的部署,添加监控,查看监控图形等内容。

① 实体机可以访问互联网。

② 在 VirtualBox 中创建 1 台虚拟机,安装 Centos7 操作系统,并在线安装 Cacti 软件。

③ 在 VirtualBox 中,将虚拟机网卡的连接方式设置成“桥接网卡”,这样,虚拟机就可接入

实体机所在的网络,既可实现虚拟机与本地实体机之间的访问,也可以使虚拟机通过实体机访问

互联网。

④ 本实验的环境结构图如图 13-1-1 所示。

(2)规划网络地址

根据对网络环境的设计,实验中所用到的网络为实体机所在网络。其网络参数(例如 IP地址、

默认网关等)可以从网络管理员处获得,具体情况要根据实验环境的实际情况而定。

此处 Cacti 服务器的 IP 地址参数设置见表 13-1-1。

表 13-1-1 Cacti 服务器 IP 地址

序号 主机名称 IP 地址 网关

1 Cacti-Server 172.20.1.15 / 24 172.20.1.1

图 13-1-1 网络拓扑

Page 4: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第4页

任务 2:在 VirtualBox 中创建虚拟机并安装操作系统

任务描述:

在 VirtualBox 中创建 1台虚拟机,命名为 Centos7,安装 CentOS 7操作

系统。

步骤 1:创建 CentOS 7 系统的虚拟机

本步骤创建的虚拟机安装 CentOS 7 操作系统,用于安装 Cacti 系统。

(1)下载 CentOS 7 系统镜像文件

下载 CentOS 7 系统镜像文件,并保存在硬盘上。

可通过官方网站(https://www.centos.org)获得安装镜像。

可通过教学云平台(it.hactcm.edu.cn)下载 Centos 7.7 64 位版本镜像。

(2)新建虚拟机

打开 VirtualBox,新建虚拟机。主机名为“Centos7”,类型为“Linux”,版本为“Rad

Hat(64-bit)”。安装时,内存大小为 1024MB,硬盘大小设置为 20GB。将网卡连接方式设为

“桥接网卡)”。

步骤 2:在虚拟机上安装 CentOS 7

在 VirtualBox 中,将 CentOS 7 镜像文件装入虚拟机的光驱,然后完成 CentOS 7 的安装。

具体过程省略。

注意:

在安装 CentOS 7操作系统过程中,会要求用户创建 ROOT用户的密码,由学生自行设计该

密码,并注意密码保存,以免后期无法正常登录 CentOS 7系统。

Page 5: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第5页

任务 3:安装部署 Cacti

任务描述:

配置虚拟机 Centos7(已安装 CentOS 7操作系统)的网络 IP地址,使其

能够访问互联网,然后在线安装 Cacti。

步骤 1:配置 Cacti 服务器(虚拟机)的 IP 地址参数

注意:

本任务中,Cacti 服务器要保证两点:一是可以上网,实现在线安装 Cacti;二是能够与

本地实体主机相互访问,从而使 Cacti 可以监控本地主机。

(1)方式一:自动获取

若本地实体机是通过 DHCP 方式获取 IP 地址等参数,则将虚拟机的网卡设置为“桥接”后,

也会自动获取 IP 地址、子网掩码、默认网关、DNS 服务器等参数;可通过“ip addr”命令查看 IP 地

址的获取结果。

(2)方式二:手工配置

若本地实体主机通过配置静态 IP 地址上网,则将虚拟机的网卡设置为“桥接”后,还需要手

动方式给虚拟机配置 IP 地址、子网掩码、默认网关、DNS 服务器地址。配置 IP 地址时,可通过修

改网卡配置文件(例如 ifcfg-enp0s3)来实现。

根据任务 1 中的规划,将虚拟机网卡 IP 地址的获得方式改为静态, IP 地址设置为

172.20.1.15/24,网关为 172.20.1.1,DNS 地址为 114.114.114.114,并配置修改为开机启动。

注意:

具体的 IP 地址配置,学生可根据具体的实验环境改动。

步骤 2:重启网络服务

重启网络服务,使步骤 1 对网卡配置文件的修改生效。具体过程略。

步骤 3:部署 LAMP 环境

(1)什么是 LAMP 环境

LAMP 是 Linux Apache MySQL PHP 的缩写,即把 Apache、MySQL/Mariadb 以及 PHP 安装在

Linux 系统上,组成一个环境来运行 PHP 脚本语言。

LAMP 环境是当前极为流行的搭建动态网站的开源软件系统,拥有良好的稳定性及兼容性。而

且随着开源软件的蓬勃发展,越来越多的企业和个人选择在 LAMP 开发平台上搭建自己的网站。

(2)安装 LAMP 环境

所用命令如下:

# yum –y install httpd php mariadb-server

安装过程会显示如图 13-3-1、13-3-2、13-3-3 的画面。

Page 6: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第6页

图 13-3-1 开始安装软件包

图 13-3-2 显示正在安装的软件包

Page 7: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第7页

图 13-3-3 显示已经安装好的软件包内容

步骤 4:调整防火墙规则并关闭 SELinux

提醒:

Centos7 操作系统自身的防火墙,在默认情况下拒绝对 Web 服务(TCP 80 端口)的访

问。运行 Cacti 需要关闭 SELinux,否则会出现错误。

(1)调整防火墙规则,允许访问 tcp 80 端口

所用命令如下:

# 使用命令修改防火墙配置文件,允许访问 tcp 80 端口

# firewall-cmd --add-port=80/tcp –permanent

# 重新加载防火墙配置文件

# firewall-cmd --reload

# 查看当前防火墙规则

# firewall-cmd --list-all

查看当前防火墙规则如图 13-3-4 所示。

图 13-3-4 查看当前防火墙规则

Page 8: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第8页

(1)关闭 SELinux

所用命令如下:

# 关闭 SELinux

# setenforce 0

# 查看当前 SELinux 状态

# getenforec

# 修改 SELinux 配置文件

# vi /etc/selinux/conf

# 将 SELINUX=enforcing 修改为 SELINUX=disabled

查看当前 SELinux 状态如图 13-3-5 所示,修改 SELinux 配置文件如图 13-3-6 所示。

图 13-3-5 查看当前 SELinux 状态

图 13-3-6 修改 SELinux 配置文件

注意:

1. 不加--permanent 选项,只会改变当前防火墙规则,系统重启后配置会消失;只有

修改配置文件,系统重启会配置才不会失效。添--permanent 选项之后,只会修改

防火墙配置文件,只有重新加载配置文件,新规则才会生效。

2. setenforce 0 只会修改当前 SELinux 模式,需要修改 SELinux 配置文件,以使其永

久生效。

关于 SELINUX

SELinux 是运行于常规 Linux 安全工具之上的一系列附加安全限制措施。相比

Linux 核心所提供的典型配置,SELinux 能够给系统管理员提供更加精细化的控制操作。

但是有时候它也会让人很头大。比如,在有 SELinux 启用的情况下,访问服务器上的

Apache 服务可能会出现 403 错误。即使将 Apache 的运行权限设置到最高也不行。

SELinux可设置三种参数值:

# enforcing - 强制执行 SELinux的安全措施;

# permissive – “许可模式”,仅仅记录警告信息,而不是直接对操作采取禁止措施。

# disabled – 不使用 SELinux;

(1)查询 SELinux的运行情况

#getenforce //可得到 SELinux 的运行模式。

(2)暂时关闭 SELinux 服务

如果在访问自己的服务器上的 Apache 服务时遇到莫名其妙的无法打开的问题,而此时

Apache 服务又确定是运行良好的,可以暂时关闭 SELinux 来做个测试,看问题是否是由

SELinux 的相关设置造成。

Page 9: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第9页

要暂时关闭 SELinux 服务,需要具有 root 权限。

在 CentOS 7 中,可以执行,

#setenforce 0

来临时将 SELinux 的模式(Mode)设置为 Permissive,就相当于让它继续处于运行状态,

监控和记录信息,但是不采取任何拦截动作,也就相当于临时禁用 SELinux 了。但是重

启系统后就会恢复到原来的状态。

还可以随时将它恢复,或者临时启用,

#setenforce 1

在 CentOS 6.7 及以前版本,还可以在 root 登录的时候运行下面的命令:

echo 0 > /selinux/enforce 这样就会暂时性的关闭 SELinux,使用命令重新开启或者重起系统之后就会恢复。如果要

重新开启,只需要再运行下述命令:

echo 1 > /selinux/enforce 上述命令是通过修改配置文件 /selinux/enforce 的内容为‘1’ 或者 ‘0’ 来启用或

者关闭 SELinux 服务的。

配置 SELinux 记录警告而不是禁止未经批准的操作

如果不想直接关闭 SELinux,还可以修改配置参数,使其仅仅记录警告信息,而不是直接

对操作采取禁止措施。这就是所谓的“许可模式(permissive mode)”。

将 SELinux 更改为许可模式需要修改配置文件。在 Fedora 和 RHEL 系统中,配置文件位

于 /etc/selinux/config。将其中的 SELINUX 选项更改为 permissive,如下所示:

SELINUX=permissive

值得注意的是,这种更改只有在系统重新启动之后才会生效。如果不希望重新启动系统,

建议使用前一方式暂时关闭 SELinux 服务。

或者如果不想打开编辑配置文件,也可以直接修改,

sed -i 's/SELINUX=.*/SELINUX=permissive/' /etc/selinux/config

(3)彻底关闭 SELinux

要彻底禁用 SELinux,编辑/etc/selinux/config文件,将 SELINUX 选项设置为 disabled ,

如:

SELINUX=disabled 当然也需要重起系统来使该配置生效。

步骤 5:获取 Cacti 软件

(1) 安装 wget、tar

wget 是 linux 上的命令行下载工具。wget 支持 HTTP 和 FTP 协议,支持代理服务器和断点续

传功能。tar 是 Linux 中使用得非常广泛的打包工具。

所用命令如下:

# yum –y install wget tar

(2) 获取 Cacti 软件包

所用命令如下:

# wget https://www.cacti.net/downloads/cacti-1.2.10.tar.gz

获取过程如图 13-3-7 所示。

Page 10: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第10页

图 13-3-7 获取 Cacti 软件包

步骤 6:安装 Cacti 依赖的软件包

Cacti 的运行需要依赖 rrdtool、net-snmp、各种 php 模块等软件包。

所用命令如下:

# yum install –y rrdtool net-snmp* php-common php-bcmath php-cli \

php-maysqlnd php-gd php-intl php-json php-ldap php-mbstring \

php-pdo php-peer php-snmp php-process php-xml php-zip

步骤 7:安装 Cacti

(1) 解压 Cacti 软件包

将 Cacti 解压至/var/www 目录,并修改解压目录名为 cacti。

所用命令:

# tar –xzvf cacti-1.2.10.tar.gz –C /var/www/

# mv /var/www/cacti-1.2.10 /var/www/cacti

(2) 设置 Cacti 目录权限

所用命令:

# chown –R apache:apache /var/www/cacti

# chmod –R 755 /var/www/cacti

# touch /var/www/cacti/log/cacti.log

# chmod 777 /var/www/cacti/log/cacti.log

Page 11: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第11页

任务 4:配置 Cacti

任务描述:

完成 LAMP环境的配置,为 Cacti运行提供基础环境;完成 Cacti运行所

需的配置,使得 Cacti正确运行。

步骤 1:配置 PHP

(1)备份 php 配置文件

考虑到实验中有可能修改错误。因此,本步骤中在对 php 配置文件/etc/php.ini 进行修改之前,

先进行备份。

使用 cp 命令将/etc/php.ini 文件复制一份,命名为 php.ini.bak,仍放置在/etc 目录中。注意,复

制时加上 -p 参数,保持所复制文件的属组权限不变。

命令如下:

# cp -p /etc/php.ini /etc/php.ini.bak

(2)修改 php 配置文件,进行 php 调优

使用 vi 命令编辑修改 php.ini 文件。

命令如下:

# vi /etc/php.ini

在文件 php.ini 文件中修改如下内容:

[Date]

; Defines the default timezone used by the date functions

; http://php.net/date.temezone

; date.timezone =

在“;date.timezone =”一行下面添加一行“date.timezone = ”Asia/Shanghai””。

Max_execution_time = 30

将 30 改为 60。

Memory_limit = 128M

将 128M 改为 800M。

步骤 2:配置 Mariadb

(1)备份 mariadb 配置文件

所用命令

# cp –p /etc/my.cnf.d/server.cnf /etc/my.cnf.d/ server.cnf.bak

(2)修改 mariadb 配置文件,进行 mariadb 调优

所用命令

# vi /etc/my.cnf.d/server.cnf

在文件 php.ini 文件中修改如下内容:

[mariadb]

Page 12: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第12页

collation-server=utf8mb4_unicode_ci

character_set_server=utf8mb4

max_allowed_packet=16777216

join_buffer_size=31M

innodb_file_per_table=ON

innodb_file_format=Barracuda

innodb_large_prefix=1

innodb_buffer_pool_size=242M

innodb_additional_mem_pool_size=80M

innodb_flush_log_at_trx_commit=2

//在[mriadb]组下添加以上变量。

步骤 3:配置 Aphache Http Server

(1)备份 apache 配置文件

所用命令

# cp –p /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak

(2)修改 apache 配置文件

命令如下:

# vi /etc/httpd/conf/httpd.conf

在文件 httpd.conf 文件中修改如下内容:

DocumentRoot “/var/www/html”

将”/var/www/html”修改为”/var/www/cacti”。

<Directory “/var/www/html”>

将”/var/www/html”修改为”/var/www/cacti”。

步骤 4:配置 SNMP

(1)备份 snmp 备份文件

所用命令

# cp –p /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak

(2)修改 snmp 配置文件

命令如下:

# vi /etc/snmp/snmpd.conf

在文件 snmpd.conf 文件中修改如下内容:

# sec.name source community

com2sec notConfigUser default public

将共同体名(community)修改为 snmp-cacti。

注意:

由学生自行设计共同体名,为安全起见,不要使用默认共同体名。

Page 13: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第13页

# name incl/excl subtree mask(optional)

view systemview included .1.3.6.1.2.1.1

view systemview included .1.3.6.1.2.1.25.1.1

添加一行“view systemview included .1.3.6.1”。

snmpd.conf 配置如图 13-4-1 所示。

图 13-4-1 snmpd.conf 配置

步骤 5:启动 snmpd、httpd 与 mariadb 并设置开机启动

(1)启动 snmpd、httpd 与 mariadb-server 服务

所用命令

# systemctl start httpd mariadb snmpd

(2)设置开机启动

所用命令

# systemctl enable httpd mariadb snmpd

步骤 6:配置 Cacti

(1)设置数据库的 root 用户密码

所用命令

# mysqladmin –uroot password ‘mariadb@root’

注意:

数据库 root密码由学生自行设置,注意密码保存,以免后期无法登录数据库。

(2)设置数据库的时区

所用命令

# mysql_tzinfo_to_sql /usr/share/zoneinfo/Asia/Shanghai Shanghai | mysql –uroot –

pmariadb@root mysql

(3)创建 Cacti 所需数据库,并导入初始数据表

所用命令

# mysql –uroot –pmariadb@root

Page 14: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第14页

MariaDB [(none)]> create database db_cacti;

MariaDB [(none)]> use db_cacti;

MariaDB [(db_cacti)]> source /var/www/cacti/cacti.sql;

#创建 Cacti 使用的用户,并将 db_cacti 数据库的所有权限赋予它

MariaDB [(db_cacti)]> grant all on db_cacti.* to ‘cacti’@’localhost’ identified by

‘mariadb@cacti’;

MariaDB [(db_cacti)]> grant select on mysql.time_zone_name to ‘cacti’@’localhost’;

MariaDB [(db_cacti)]> flush privileges;

#设置数据库排序规则

MariaDB [(db_cacti)]> alter database db_cacti character set utf8mb4 collate

utf8mb4_unicode_ci;

MariaDB [(db_cacti)]> exit

注意:

Cacti 使用的用户 cacti 的密码有用户自行设置,这里设置为“mariadb@cacti”。

(4)配置 Cacti

所用命令

# vi /var/www/cacti/include/config.php

在文件 config.php 文件中修改如下内容:

$database_type = ‘mysql’;

$database_default = ‘cacti’;

$database_hostname = ‘localhost’;

$database_username = ‘cactiuser’;

$database_password = ‘cactiuser’;

将“$database_default = ‘cacti’;”改为“$database_default = ‘db_cacti’;”。

将“$database_username = ‘cactiuser’;”改为“$database_username = ‘cacti’;”。

将“$database_password = ‘cactiuser’;”改为“$database_password = ‘mariadb@cacti’;”。

$cacti_path = ‘/cacti/’;

将“$cacti_path = ‘/cacti/’;”改为“$cacti_path = ‘/’;”。

(5)创建网络与系统监控数据采集的任务计划

所用命令

# crontab –e #进入当前用户的定时任务 vi 编辑模式

在 vi 编辑器中输入:

*/5 * * * * root php /var/www/cacti/poller.php

//5 分钟执行一次 php 脚本 poller.php,轮询采集数据。*/5 表示取模运算,每次整数值变动,计算一

次;root 表示执行该命令的账号。

#设置永久数据采集任务

echo ‘*/5 * * * * root php /var/www/cacti/poller.php’ &> /dev/null >> /etc/crontab

注意:

1. 数据采集的定时任务非常重要,如果不设置,Cacti将采集不到数据。

2. 默认 Cacti是每隔五分钟采集一次数据,并存放到 rra目录下的 rrd文件中;

Page 15: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第15页

3. 此处不能将*/5 * * * *写成 5 * * * *,因为后者表示每个小时的第 5分钟;

(6)首次登录 Cacti

Cacti 监控系统的初始用户和密码都是 admin。输入地址 http://172.20.1.15 访问 Cacti 监控系统,

首次登录成功后,强制要求更改密码,如图 13-4-2 所示。

图 13-4-2 首次登录强制更改密码

(7)根据安装向导设置 Cacti 需要的一些数据

在绘制图形前,Cacti 需要知道一些数据。开始跟随安装向导设置参数,如图 13-4-3 所示。

图 13-4-3 安装向导开始

选择模板,如图 13-4-4 所示。

Page 16: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第16页

图 13-4-4 选择模板

最后,确认安装,如图 13-4-5 所示。

图 22-4-5 确认安装

Page 17: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第17页

任务 5:添加监控,查看监控图形

任务描述:

以 Web方式登录 Cacti系统,并添加本机(即 Cacti服务器)和宿主机

(Windows本地实体机)的监控,查看监控图形。

步骤 1:监控本机

(1)打开管理设备页面

在本地实体机上,通过浏览器登录 Cacti,在“控制台”标签页,“管理”菜单中,点击“设备”,

可以看到默认已经添加了本机设备,见图 13-5-1。

图 13-5-1 初始管理设备页面

(2)进入设备编辑页面

点击本机设备描述,进入编辑页面,修改监控参数,见图 13-5-2。

Page 18: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第18页

图 13-5-2 设备编辑页面

(3)设置“设备基本选项”参数

其中的参数设置,如图 13-5-3 所示。

图 13-5-3 填写被监控设备的基本选项信息

描述:用户自定义设备描述信息。

主机名:填写被监控设备的 IP 地址或域名地址。

位置:默认参数。

poller 信息:默认参数。

选择设备站点:默认参数。

设备模板:由于此处被监控设备是 Linux 系统,因此选择“Local Linux Machine”。

采集的线程数:选择默认。

(4)设置“SNMP 选项”参数

在“SNMP 选项”中,设置如图 13-5-4 所示。

图 13-5-4 填写被监控设备的 SNMP 选项信息

注意:

此处的“SNMP 团体”中,要填写被监控设备的 SNMP 服务中,所设置的共同体名称

(此处为 snmp-cacti),其他选项可采用默认选项。

(5)设置“可用性/可达性选项”参数

在“可用性/可达性选项”中,要设置 Cacti 用何种方法去探测被监控设备是否宕机,如图 13-

5-5 所示。

图 13-5-5 设置 Cacti 用何种方法探测被监控设备是否宕机

(6)保存编辑

在页面下方可以看到该设备所用到的图形模板信息以及关联数据信息,见图 13-5-6,点击“保

存”。

Page 19: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第19页

图 13-5-6 关联图形模板信息和关联数据信息

注意:

图 13-5-6 中,通过“添加图片模板”选项,可以添加参数模板。

在页面上方,可以看到出现设备的 NSMP 信息,见图 13-5-7,表示设备参数编辑成功。

图 13-5-7 页面上方出现设备的 SNMP 信息

步骤 2:将本机设备添加到图形树(tree)中

(1)选择要添加到图形树中的设备

见图 13-5-8。在管理设备页面,选中设备(Cacti-Server),然后在下面的下拉选项中选中“Place

on a Tree (Default Tree)”,然后点击“Go”按钮。

图 13-5-8 选中要添加到图形树的设备

Page 20: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第20页

(1)选择要添加的图形树的目标分支

见图 13-5-9。选择目标分支,然后点击“继续”按钮。

图 13-5-10 选择目标分支

步骤 3:查看监控图形

(1)查看图形树

见图 13-5-11。点击左上方“图形”按钮,查看图形树。

图 13-5-11 图形树

(2)查看本机设备的监控图形

见图 13-5-12。点击图形树中的本机设备(Cacti-Server),查看监控图形。

Page 21: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第21页

图 13-5-12 本机设备监控图形

步骤 4:监控宿主机

(1)安装 SNMP

在宿主机(Windows10)以管理员身份打开“Windows PowerShell”,输入命令“ get-

windowscapability –online –name “SNMP*””查看是否安装 SNMP。输入命令“add-windowscapability

–online –name “SNMP.Client~~~~0.0.1.0””安装 SNMP。如图 13-5-13 所示。

图 13-5-13 Windows 10 安装 SNMP

(2)设置团体名和访问控制

打开“服务”,找到“SNMP 服务”,如图 13-5-14 所示。双击“SNMP 服务”在 SNMP 服务的

Page 22: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第22页

属性对话框中找到“安全”选项卡,添加只读团体名“snmp-cacti”,选择“接受来自任何主机的 SNMP

数据包”,如图 13-5-15 所示。

图 13-5-14 Windows 服务

图 13-5-15 设置团体名和访问控制

Page 23: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第23页

(2)设置防火墙

打开“高级安全 Windows Defender 防火墙”,在“入站规则”选中“SNMP 服务”,在“常规”

选项卡,常规选择“已启用”、操作选择“允许连接”,如图 13-5-16 所示;在“作用域”选项卡,

本地 IP 地址选择“任何 IP 地址”、远程 IP 地址选择“任何 IP 地址”,如图 13-5-17 所示。

(3)在 Cacti 添加宿主机

在“控制台”标签页,“创建”菜单中,选择“新设备”,添加宿主机,如图 13-5-18 所示。

图 13-5-18 添加新设备

图 11-5-16 常规选项卡 图 11-5-17 作用域选项卡

Page 24: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第24页

(6)保存编辑

在页面下方可以看到该设备所用到的图形模板信息以及关联数据信息,见图 13-5-19,点击“保

存”。

图 13-5-19 关联图形模板信息和关联数据信息

在页面上方,可以看到出现所添加设备的 SNMP 信息,见图 13-5-20,表示添加设备成功。

图 13-5-20 页面上方出现设备的 SNMP 信息

步骤 5:为宿主机创建图形

Cacti 可以将监控到的数据,以图形的形式展示。注意,所创建的图形,是根据该设备所选择的

模板而定的。

(1)打开创建图形的页面,创建需要的图形

点击图 13-5-20 右上方的“为设备创建图形”,打开创建图形页面,见图 13-5-21。根据需要,

创建所需的图形。

Page 25: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第25页

图 13-5-21 创建图形页面

步骤 6:将设备添加到图形树,并查看监控图形

此步骤与步骤 2、步骤 3 相同,具体过程略。宿主机的监控图形,见图 13-5-22。

图 13-5-22 宿主机监控图形

Page 26: 实验十三:基于 Cacti 搭建运维监控系统 - hactcm.edu.cnfileapi.it.hactcm.edu.cn/wljssj/file/2020/11/22/... · 2020. 11. 22. · 实验十三:基于Cacti搭建运维监控系统

《网络运维管理》 / 实验十三:基于 Cacti搭建运维监控系统

河南中医药大学信息技术学院 | 网络与信息系统科研工作室

第26页

五、实验分析

1、本实验中,在配置 Cacti 服务器的防火墙规则时,并没有开放 udp 161 端口,这会影响 Cacti

的监控吗?如果其他被监控设备没有开放 udp 161 端口,Cacti 能监控成功吗?为什么?

2、设备模板、图形模板与数据源之间有什么关系?

3、Linux 设备可以使用 Windows 设备模板吗?为什么?