Cacti监控软件安装与应用

2023-11-10 04:11

本文主要是介绍Cacti监控软件安装与应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Cacti监控软件安装与应用

前言

在生产环境中,监控在Linux运维中是不可或缺的,不管平台做的多么稳定,总有一些意想不到的事情发生。作为一种开源的监控软件,cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。cacti是通过 snmp协议来获取数据,使用 RRDtool绘画图形,它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图。

基础理论说明

snmp协议

SNMP 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。 SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过 SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。

RRDTool

RRDtool(Round Robin Database Tool)是一个用来处理定量数据的开源高性能数据库。

由于 RRDtool 设计的初衷就是为监控开发的,所以与其他的数据库相比,RRDtool 有以下特性:

  • 有一个强大的绘图引擎,可以根据数据库内容,创建 png 格式的图片。

  • 是一个基于时间序列的环形数据库。可以想象一个圆,圆周上有一些均匀分散的点。这些点就是数据存储的位置。从圆心画一条到圆周的某个点的箭头,这个箭头就是指向当前元素的指针。在当前元素被读或写之后,指针就往下一个元素移动。当所有位置都被用过,原来的位置就会被重用。这样,数据库永远不会满,不需要维护。

  • 可以被配置成存储当前值与前一个值变化速度,而不是简单地存储提供的值。

  • 要求在预定的时间间隔中取得监控数据,如果没有得到更新的数据,就将该时间段的值设为 UNKNOWN.

工作原理

  • 步骤一,snmp协议收集远程服务器的数据
  • 步骤二,将snmp收集的数据内容保存到rrd数据库中
  • 步骤三,若用户查看某台设备上的流量或其它状态信息
  • 步骤四,在mysql数据库中查找该设备对应的rra数据库文件的名称
  • 步骤五,通过rrdtool命令进行绘图即可

实验步骤

实验目的:搭建Cacti监控平台

实验准备:两台C6标准虚拟机(selinux与防火墙已关闭)

实验规划:

服务器角色简称IP地址
Cacti监控服务器M(monitor)192.168.10.10
监控测试机T(test)192.168.10.11

ps:标准虚拟机安装见网络阶段Centos6安装指南

ps2:注意同步虚拟机时间。

一、Cacti服务端搭建

准备好Catic软件包,安装基础环境与依赖(LAMP)。

yum -y install httpd mysql mysql-server mysql-devel libxml2-devel mysql-connector-odbc perl-DBD-MySQL unixODBC php php-mysql php-pdo lrzsz gcc gcc-c++ net-snmp net-snmp-utils lm_sensors

PS:生产环境中MySQL数据库最好使用源码安装。

启动MySQL与apache服务

service httpd start
service mysqld start

挂载准备好的软件镜像,并将软件拷贝至指定目录。

mkdir /mnt/iso
mount -o loop cacti.iso /mnt/iso/
cp -a /mnt/iso/* ./

1.安装RRDtool

解压编译安装rrdttool工具,此版本有bug,必须等报错后再安装缺失依赖库方可解决。。。。。。

tar -zxvf rrdtool-1.4.5.tar.gz
cd rrdtool-1.4.5
./configure --prefix=/usr/local

解压安装cgilib库(图形支持库)

cd
tar zxvf cgilib-0.5.tar.gz
cd cgilib-0.5
make

将生成的两个文件拷贝至指定目录下

cp libcgi.a /usr/local/lib
cp cgi.h /usr/include

安装缺失依赖

yum -y  install libart_lgpl-devel 
yum -y install pango-devel* cairo-devel*

返回rrdttool解压目录,重新编译安装。

cd /root/rrdtool-1.4.5
./configure --prefix=/usr/local && make && make install
echo $?

2.部署Cacti

解压cacti软件包,将解压目录移动至指定目录下。

cd /root/cacti
tar -zxf cacti-0.8.7g.tar.gz
mv cacti-0.8.7g  /var/www/html/cacti

进入解压目录,开始打补丁操作。

cd /var/www/html/cacti/
patch -p1 -N < /root/cacti/data_source_deactivate.patch
patch -p1 -N < /root/cacti/graph_list_view.patch
patch -p1 -N < /root/cacti/html_output.patch
patch -p1 -N < /root/cacti/ldap_group_authenication.patch
patch -p1 -N < /root/cacti/script_server_command_line_parse.patch
patch -p1 -N < /root/cacti/ping.patch
patch -p1 -N < /root/cacti/poller_interval.patch

添加检测数据的用户账户,更改权限,保证读写数据正常。

useradd runct  # 创建runct用户
chown -R root.root * # 更改当前目录下文件属主属组权限为root
chown -R runct.runct rra log # 更改rra和log属主属组权限为root

授权数据库用户,导入初始化数据。

mysqladmin -uroot password 123 #设置root密码
mysql -uroot -p123 #登录数据库
create database cactidb default character set utf8; #创建数据库,设置默认字符集
grant all on cactidb.* to 'cactiuser'@'localhost' identified by 'daqiang'; #进行授权操作并设置连接密码
quit
mysql -u cactiuser -p cactidb < cacti.sql #还原数据库

查看生成的数据表。

mysql -uroot -p123
show databases;
use cactidb
show tables;

还原成功,退出数据库。

编辑cacti配置文件,设置连接数据库信息。

vim /var/www/html/cacti/include/config.php
$database_type = "mysql";
$database_default = "cactidb";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "daqiang";
$database_port = "3306";   

保存退出,配置apache。

vim /etc/httpd/conf/httpd.conf# 取消276行注释,配置域名
ServerName cacti.daqiang.com
# 修改292行,设置默认主页。
DocumentRoot "/var/www/html/cacti"
# 修改317行,配置主页相关权限信息
<Directory "/var/www/html/cacti">
# 修改402行,配置主页匹配
DirectoryIndex index.php index.html index.html.var

保存退出,重新启动apache。

/etc/init.d/httpd restart

使用浏览器访问服务器进入安装页面

192.168.10.10

点击Next进行下一步

选择新安装,点击Next进行下一步。

确认上述文件存在并且可以使用,完成安装操作,进入登陆界面。

输入默认账户和密码(均为admin),系统提示重新设置密码。

重新设置完毕后保存登陆。

登陆成功,页面安装完毕。

二、监控测试端配置

安装基础软件

yum -y install net-snmp net-snmp-utils lm_sensors

编辑snmp服务的主配置文件

vim /etc/snmp/snmpd.conf# 修改41行,配置服务器地址、共同体名称等信息。
com2sec notConfigUser  default       public
# 修改62行,开放所有的SNMP查询权限 all 默认为SystemView
access  notConfigGroup ""      any       noauth    exact  all none none
#取消85行注释,支持各种查询与访问。
view all    included  .1                               80

保存退出,启动服务。

service snmpd start
chkconfig snmpd on # 设为开机自启

测试端配置完毕,开始监控测试。

三、监控设置

在浏览器的监控窗口中删除localhost的监控,添加监控测试端。

添加新的监控主机名称、描述信息、监控内容等,添加完成点击create创建。

创建后的页面可以自定义监控模版与图形绘制模版

配置图形绘制内容

选择绘制内容,点击create创建。

在默认图片树上挂载图片

点击点击create创建,再点击save保存。

保存完毕后,点击graphs查看生成的服务器状态图片。

无生成的服务器状态图片,因为RDDTool未运行。

服务端执行php命令生成服务器状态图片。

php /var/www/html/cacti/poller.php

图片存放在/var/www/html/cacti/rra中

返回浏览器刷新查看

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fgkzDjEV-1606051767136)(https://7.dusays.com/2020/11/22/136c6b1c3eb12.png)]

生成完毕,此时并无数据,需要运行一段时间。

将上述命令写入服务端的定时计划任务中,使其自动运行。

crontab –e */5 * * * *  /usr/bin/php  /var/www/html/cacti/poller.php &>/dev/null #每5分钟执行一次
service crond restart #启动crond服务
chkconfig crond on #设置开机自启

监控设置完毕。

四、添加新功能(拓展)

如果想实现更多新功能,需要现安装插件管理器。

cd /root/cacti-plugin/
tar -zxvf cacti-plugin-0.8.7g-PA-v2.8.tar.gz
cd cacti-plugin-arch/
mysql -uroot -p123 cactidb < pa.sql

还原后生成了补丁文件,前往相应目录打补丁。

cd /var/www/html/cacti
patch -p1 -N </root/cacti-plugin/cacti-plugin-arch/cacti-plugin-0.8.7g-PA-v2.8.diff

打完补丁后,生成了plugins目录。

前往浏览器管理界面启用插件管理器

graphs > console > User Management > admin

点击save保存,Configuration一栏处出现Plugin Management时表示安装成功。

安装新插件,添加新功能。

cp -a /root/cacti-plugin/monitor-0.8.2.tar.gz .
tar -zxvf monitor-0.8.2.tar.gz
cd monitor mysql -uroot -p123 cactidb < monitor.sql 

返回浏览器监控端,网页刷新。

点击Configuration > Plugin Management添加新插件。

启用插件后点击上方的monitor查看新插件功能

该插件功能是将主机以排列的展现,绿色代表正常监测,红色表示监测异常。

基础理论说明内容参考以下文章:

https://blog.51cto.com/freeloda/1308140

https://www.cnblogs.com/smallcoderhujin/p/3796599.html

本文于2020年11月22日由Vonmerlot整理成文。

这篇关于Cacti监控软件安装与应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/380334

相关文章

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

MySQL8.2.0安装教程分享

《MySQL8.2.0安装教程分享》这篇文章详细介绍了如何在Windows系统上安装MySQL数据库软件,包括下载、安装、配置和设置环境变量的步骤... 目录mysql的安装图文1.python访问网址2javascript.点击3.进入Downloads向下滑动4.选择Community Server5.

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

通过prometheus监控Tomcat运行状态的操作流程

《通过prometheus监控Tomcat运行状态的操作流程》文章介绍了如何安装和配置Tomcat,并使用Prometheus和TomcatExporter来监控Tomcat的运行状态,文章详细讲解了... 目录Tomcat安装配置以及prometheus监控Tomcat一. 安装并配置tomcat1、安装

MySql9.1.0安装详细教程(最新推荐)

《MySql9.1.0安装详细教程(最新推荐)》MySQL是一个流行的关系型数据库管理系统,支持多线程和多种数据库连接途径,能够处理上千万条记录的大型数据库,本文介绍MySql9.1.0安装详细教程,... 目录mysql介绍:一、下载 Mysql 安装文件二、Mysql 安装教程三、环境配置1.右击此电脑

在 Windows 上安装 DeepSeek 的完整指南(最新推荐)

《在Windows上安装DeepSeek的完整指南(最新推荐)》在Windows上安装DeepSeek的完整指南,包括下载和安装Ollama、下载DeepSeekRXNUMX模型、运行Deep... 目录在www.chinasem.cn Windows 上安装 DeepSeek 的完整指南步骤 1:下载并安装

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

JavaScript中的isTrusted属性及其应用场景详解

《JavaScript中的isTrusted属性及其应用场景详解》在现代Web开发中,JavaScript是构建交互式应用的核心语言,随着前端技术的不断发展,开发者需要处理越来越多的复杂场景,例如事件... 目录引言一、问题背景二、isTrusted 属性的来源与作用1. isTrusted 的定义2. 为