部署 cacti 监控系统

news2024/11/24 9:55:34

Cacti

Cacti(流量和性能监测为主)

Cacti 在英文中的意思是仙人掌的意思,Cacti 是一套基于 PHP、MySQL、SNMP 及 RRDTool 开发的网络流量监测图形分析工具。它通过 snmpget 来获取数据,使用 RRDtool 绘画图形,而且你完全可以不需要了解 RRDtool 复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host 以及任何一张图,还可以与 LDAP 结合进行用户验证,同时也能自己增加模板,功能非常强大完善。

LAMP (底层环境)
数据收集:SNMP(j简单网络管理协议)
数据展示:B/S RRDTOOL(图片展示)

服务端配置(主控端)

安装 Cacti 需要 Mysql,PHP,RRDTool,net-snmp 和 支持 PHP 的 Web服务器,如 Apache,Nginx 或 IIS等。

软件版本要求:

Dependency	Cacti 1.2.x	 Cacti 1.3.x
MariaDB		5.5+		10.2.x+
MySQL		5.5+		5.7+
PHP			5.4+		8.0+
RRDtool		1.4+		1.8+
Net-SNMP	5.5+		5.8+

1 安装 net-snmp 简单网络管理协议

# yum install -y net-snmp net-snmp-libs net-snmp-utils net-snmp-devel net-snmp-perl

2 安装 RRDTool 绘图工具

# yum install –y rrdtool rrdtool-devel rrdtool-php rrdtool-perl perl-devel perl-CPAN perl-YAML

3 安装和配置 cacti

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

1)安装 cacti

将源码包释放到 Web 服务器的网页目录

[root@server ~]# tar zxf cacti-1.2.12.tar.gz -C /var/www/html
[root@server ~]# cd /var/www/html/
[root@server html]# mv cacti-1.2.12 /var/www/html/cacti

2)创建数据库,并导入默认数据库

MariaDB [(none)]> set collation_server='utf8_general_ci';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> create database cacti default character set utf8;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on cacti.* to cactiuser@localhost identified by "cactiuser";
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO 'cactiuser'@'localhost' IDENTIFIED BY 'cactiuser';
Query OK, 0 rows affected (0.01 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> use cacti;
Database changed
MariaDB [cacti]> source /var/www/html/cacti/cacti.sql;

3)设置数据库时区

[root@server html]# mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root -p mysql
Enter password:
Warning: Unable to load '/usr/share/zoneinfo//leapseconds' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo//tzdata.zi' as time zone. Skipping it.

4)编辑 include/config.php

为 Cacti 配置指定数据库类型,名称,主机,用户和密码

[root@server html]# vim /var/www/html/cacti/include/config.php
$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'cactiuser';
$database_port     = '3306';

$url_path = '/cacti/';
$cacti_session_name = 'Cacti';

5)设置适当的权限以生成图形/日志

创建一个用户账号,调整目录属主,以便正常读取和写入数据

[root@server include]# chown -R apache:apache /var/www/html/cacti/
[root@server include]# useradd -r -M cactiuser
[root@server include]# chown -R cactiuser /var/www/html/cacti/rra

6)设置计划任务,采集数据

[root@server cacti]# crontab -e
[root@server cacti]# crontab -l
*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null  2>&1

7)重启相关服务

[root@server cacti]# systemctl restart httpd && systemctl restart mariadb.service
[root@server cacti]# systemctl restart crond && systemctl restart snmpd

8)安装spine高速数据采集插件

cacti 默认使用 cmd.php 来轮询数据,速度会很慢,因此我们采用Spine来轮询数据。cacti-spine 是一个由 C 语言开发的,用于替代 cmd.php 的快速获取速度的引擎。(也可以不装)

# wget https://www.cacti.net/downloads/spine/cacti-spine-1.2.12.tar.gz
# yum install -y mysql-devel dos2unix autoconf automake binutils libtool gcc cpp glibc-headers glibc-devel help2man
# tar zxvf cacti-spine-1.2.12.tar.gz
# cp -R cacti-spine-1.2.12 /usr/local/spine
# cd /usr/local/spine
# ln -s /usr/lib64/libmysqlclient.so.1.2.12 /usr/lib64/libmysqlclient.so
# sh bootstrap
# ./configure && make && make install
# chown root:root /usr/local/spine/bin/spine
# chmod +s /usr/local/spine/bin/spine
# cp /usr/local/spine/etc/spine.conf.dist /etc/spine.conf
# vim /etc/spine.conf
		DB_Host localhost
		DB_Database cacti
		DB_User cactiuser
		DB_Pass cactiuser
		DB_Port 3306
# /usr/local/spine/bin/spine    // 初始化

重启httpd服务,在浏览器访问:http://ip/cacti,进入安装界面

4 初始化 Cacti 系统

在浏览器访问 web 服务,除此访问会自动跳转至安装指南界面

第一次登录提示/var/www/html/cacti/log/cacti.log问题,创建该文件,并赋予权限

[root@server ~]# touch /var/www/html/cacti/log/cacti.log
[root@server ~]# chown apache:apache /var/www/html/cacti/log/cacti.log

登录界面,用户 admin ,密码 admin ,以超级用户登录
在这里插入图片描述

检查各个模块时,会有报错

修改 /etc/my.cnf 在[mysqld]后添加如下内容:

[root@server ~]# vi /etc/my.cnf
[mysqld]
skip-grant-tables
max_allowed_packet = 16777216
max_heap_table_size = 128M
tmp_table_size = 128M
join_buffer_size = 256M
innodb_buffer_pool_size = 1901M
innodb_read_io_threads = 32
innodb_write_io_threads = 16
innodb_buffer_pool_instances =16
innodb_additional_mem_pool_size = 80
innodb_large_prefix = ON
innodb_flush_log_at_trx_commit = 2
innodb_file_format = Barracuda
innodb_file_per_table = ON
innodb_additional_mem_pool_size = 80M

重启服务

[root@server ~]# systemctl restart mariadb

字符集编码和版本我没有做修改,注释后面有解决办法

在这里插入图片描述

全部点击 “下一页” , 接收默认值

在这里插入图片描述

安装完成后的登录界面

在这里插入图片描述

5 监控本机

修改本机 snmp 配置文件

[root@server ~]# vim /etc/snmp/snmpd.conf
···
// 修改 default 为本机ip,修改 public 为自己的团体名(可以不改)
42  com2sec notConfigUser  default       public
// 把 systemview 改成 all,供所有 snmp 访问权限
64  access  notConfigGroup ""      any       noauth    exact  all none none
// 去掉此行注释
85  view all    included  .1                               80

重启 snmp 服务

[root@server ~]# systemctl restart snmpd

状态显示 UP ,表示成功

在这里插入图片描述

监控其他机器 Linux

安装 SNMP

# yum install -y net-snmp net-snmp-libs net-snmp-utils net-snmp-devel net-snmp-perl

修改 snmp 配置文件

修改方式与之前一样,不同的是 IP 需要指向主控端

[root@localhost ~]# vim /etc/snmp/snmpd.conf
com2sec notConfigUser  192.168.153.132       public        // 指向主控端 IP 
access  notConfigGroup ""      any       noauth    exact  all none none
view all    included  .1                               80

重启 SNMP

# systemctl restart snmpd.service && systemctl enable snmpd.service

在 web 配置

主机名填写被控端 IP ;设备模板选择 Linux 模板

在这里插入图片描述

页面往下,点击创建,再点击保存

在这里插入图片描述

为主机添加图形

创建新图形,选择刚才创建的主机,点击创建

在这里插入图片描述

查看图形数据

在这里插入图片描述

监控 Windows 主机

1 添加 SNMP 功能

开始–计算机–右键管理–功能–添加功能–选择 SNMP – 添加安装

在这里插入图片描述

打开服务,在服务中去找到 SNMP

在这里插入图片描述

点击服务,选择安全,添加 public ,下面可以选择接收哪个 IP 的连接,这里我选择所以,当然也可以添加主控端的 IP

在这里插入图片描述

2 在 web 端添加 Windows 主机

模板选择 Windows

在这里插入图片描述

点击创建,再保存

在这里插入图片描述

添加图形,选择刚才创建的设备,右边勾选几个图形,点击 GO

在这里插入图片描述

添加树,右键选中,托选到目录下;点击保存,点击完成编辑树

在这里插入图片描述

现在可以看到图形了

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/795162.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LiveGBS流媒体平台GB/T28181常见问题-国标设备列表没有数据海康大华宇视华为监控摄像机NVR硬件设备注册不上来如何排查?

LiveGBS中国标设备列表没有数据海康大华宇视华为监控摄像机NVR硬件设备注册不上来如何排查? 1、国标设备列表看不到注册上来的设备2、检查方式2.1、检查设备注册信息2.2、检查服务器防火墙 3、尝试配置免密接入3.1、基础配置->白名单3.2、添加白名单 4、更多排查…

C# 目标平台为x64,自定义控件不可用,显示控件未能加载,错误解决方法

由于项目加载第三方的dll需要编译成x64,设置编译目标为x64 结果打开窗口设计器时,自定义的控件不能显示及加载 错误消息:未能找到类型“XXX”。请确保已引用包含此类型的程序集。如果此类型为开发项目的一部分,请确保已使用针对当…

ChatGPT有几个版本,哪个版本最强,如何选择适合自己的?

​ChatGPT就像内容生产界的瑞士军刀。它可以是数学导师、治疗师、职业顾问、编程助手,甚至是旅行指南。只要你知道如何让它做你想做的事,ChatGPT几乎可以提供你要的任何东西。 但重要的是,你知道哪个版本的ChatGPT最能满足你的需求吗&#x…

STM32CubeIDE(I2C)

目录 一、IIC轮询模式 1.1 配置 1.2 编写AHT20驱动 1.2.1 aht20.h 1.2.2 aht20.c 二、I2C中断 2.1 打开中断 2.2 分离读取流程 2.3 在主函数中重新编写读取流程 2.4 在i2c.c中重新定义stm32f1xx_hal_i2c.h中的两个函数 三、I2CDMA 3.1 配置DMA通道 3.2 代码的修改 一…

【优选算法题练习】day9

文章目录 一、DP35 【模板】二维前缀和1.题目简介2.解题思路3.代码4.运行结果 二、面试题 01.01. 判定字符是否唯一1.题目简介2.解题思路3.代码4.运行结果 三、724. 寻找数组的中心下标1.题目简介2.解题思路3.代码4.运行结果 总结 一、DP35 【模板】二维前缀和 1.题目简介 DP…

LeetCode三步问题(动态规划)

LeetCode三步问题&#xff08;动态规划&#xff09; 编写代码代码优化 链接: 三步问题 编写代码 class Solution { public:int waysToStep(int n) {if(n 1 || n 2) return n;vector<int> dp(n1);const int MOD 1e9 7;dp[0] dp[1] 1;dp[2] 2;for(int i 3;i<n…

WEB:file_include

背景知识 php伪协议 文件包含漏洞 php包含漏洞函数 题目 由题目可知这个是文件包含的题目&#xff0c;先用常用的协议先查看一下 payload ?filenamephp://filter/readconvert.base64-encode/resourceflag.php 出现了 发现filter&#xff0c;base64被过滤了 尝试其他协议 …

Elasticsearch监控工具Cerebro安装

Elasticsearch监控工具Cerebro安装 1、在windwos下的安装 1.1 下载安装包 https://github.com/lmenezes/cerebro/releases/download/v0.9.4/cerebro-0.9.4.zip 1.2 解压 1.3 修改配置文件 如果需要修改相关信息&#xff0c;编辑C:\zsxsoftware\cerebro-0.9.4\conf\applica…

c语言用冒泡排序模拟实现qsort排序

1、简单介绍冒泡排序 冒泡排序就是两两相邻元素进行比较&#xff0c;如果不满足顺序就进行交换。现有一组整数&#xff0c;将其用冒泡排序实现排序为升序。 假设有这样一组整数&#xff1a;9 8 7 6 5 由此可知&#xff0c;如果一个整型数组有num个元素&#xff0c;则需走num…

第一次作业 运维高级 MySQL备份与还原

1.创建student和score表 CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , birth YEAR, department VARCHAR(20) , address VARCHAR(50) );CREATE TABLE score ( id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO…

交叉编译----宿主机x86 ubuntu 64位-目标机ARMv8 aarch64

1.交叉编译是什么&#xff0c;为什么要交叉编译 编译&#xff1a;在一个平台上生成在该平台上的可执行代码交叉编译&#xff1a;在一个平台上生成在另一个平台上的可执行代码交叉编译的例子&#xff1a;如51单片机的可执行代码&#xff08;hex文件&#xff09;是在集成环境kei…

区间预测 | MATLAB实现QRGRU门控循环单元分位数回归多输入单输出区间预测

区间预测 | MATLAB实现QRGRU门控循环单元分位数回归时间序列区间预测 目录 区间预测 | MATLAB实现QRGRU门控循环单元分位数回归时间序列区间预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 MATLAB实现QRGRU门控循环单元分位数回归分位数回归多输入单输出区间…

【Docker】安全及日志管理

目录 一、Docker 安全及日志管理1.1 Docker 容器与虚拟机的区别1. 隔离与共享2. 性能与损耗 1.2Docker 存在的安全问题1.Docker 自身漏洞2.Docker 源码问题 1.3 Docker 架构缺陷与安全机制1. 容器之间的局域网攻击2. DDoS 攻击耗尽资源3. 有漏洞的系统调用4. 共享root用户权限 …

Python in VS Code 2023年7月发布|Mypy 扩展预览版与调试扩展、Pylance 本地化及其他

排版&#xff1a;Alan Wang 我们很高兴地宣布 Visual Studio Code 的 Python 和 Jupyter 扩展将于 2023 年 7 月发布&#xff01; 此版本包括以下更新&#xff1a; Mypy 扩展预览版预览版中的调试扩展Pylance 本地化使用 Pylance 的第三方库的索引持久性即将弃用 Python 3.7 支…

新功能 – Cloud WAN:托管 WAN 服务

我很高兴地宣布&#xff0c;我们推出了 Amazon Cloud WAN&#xff0c;这是一项新的网络服务&#xff0c;它可以轻松构建和运营连接您的数据中心和分支机构以及多个 Amazon 区域中的多个 VPC 的广域网&#xff08;WAN&#xff09;。 亚马逊云科技开发者社区为开发者们提供全球的…

win10 双系统 安装 Ubuntu20.04 记录

写这篇博客的原因 我今天晚上想重装ubuntu&#xff0c;结果不小心用genius 把属于win10的分区也给删除&#xff0c;只保留C盘和D盘。重装win10之后&#xff0c;我以为D盘还会有数据在&#xff0c;结果啥没了&#xff0c;甚至我的毕业照都没了。所以还是要准备一块移动硬盘&…

redis启动失败,oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo

在redis文件夹下&#xff0c;启动redis正常。 但是加入到system后启动redis失败。 一直处于starting状态。 对比正常redis服务的配置之后&#xff0c;把redis.conf里的守护进程关掉就可以了&#xff08;但是没用system管理之前&#xff0c;直接./redis.server启动是可以的&…

【Lua学习笔记】Lua进阶——函数和闭包

文章目录 函数函数嵌套闭包Closures可变函数函数重载 函数 函数嵌套 function A()print("这里是函数A")return function ()print("返回函数不要起名")end end B A() B()输出&#xff1a; 这里是函数A 返回函数不要起名使用函数嵌套的用法&#xff0c;我…

springboot 之以enable开头的注解

Spring​ 有很多 Enable 开头的注解&#xff0c;平时在使用的时候也没有注意过为什么会有这些注解 Enable 注解 首先我们先看一下有哪些常用的 Enable 开头的注解&#xff0c;以及都是干什么用的。 EnableRetry​&#xff1a;开启Spring 的重试功能&#xff1b; EnableSch…

Guitar Pro8吉他谱制作软件好不好用?

吉他谱是学习和演奏吉他的重要工具之一&#xff0c;对于吉他爱好者而言&#xff0c;掌握一款优秀的吉他谱制作软件是必不可少的。随着科技的进步&#xff0c;现在有许多吉他谱制作软件可供选择。下面我们就来看吉他谱制作软件哪个好&#xff0c;以及怎么制作吉他谱子吧&#xf…