CentOS7安装Cacti

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

   Cacti是一款优秀的开源监控软件,使用php实现,主要特点是使用snmp服务获取数据,然后用rrdtool存储和更新数据,当用户查看数据的时候,rrdtool生成图表呈现给用户。在CentOS7后,默认数据库为MariaDB,其为MySQL的一个分支,用其存储变量并进行调用。MariaDB数据库并不存储snmp捕获到的数据,snmp捕获到的数据,存在于rrdtool生成的rrd文件中,这些文件位于cacti目录下的rra目录中。


一、相关软件的安装


多数使用yum即可安装:

1
2
3
4
5
6
yum  install  httpd* ----安装Web服务器Apache相关服务
yum  install  php* ----安装PHP相关服务
yum  install  mariadb* ----安装MariaDB数据库相关服务
yum  install  net-snmp* ----安装SNMP相关服务
yum  install  rrdtool rrdtool-devel rrdtool-php rrdtool-perl ----安装rrdtool以生成图像
yum  install  gd gd-devel php-gd ---rrdtool绘制图像需要的图形库


二、配置SNMP

1
# vi /etc/snmp/snmpd.conf


①将41行(各有不同,请自行查找)下的default更改为127.0.0.1

wKiom1W56xvD4ENwAAA7N9tl2CU501.jpg


②将62行(各有不同,请自行查找)下的systemview更改为all

wKioL1W57oyjLE0cAAB_TVIhUbI014.jpg


③将85行(各有不同,请自行查找)下的#注释掉


wKioL1W572jwmi8kAABOZtxBFSw915.jpg


④启动snmp

1
# systemctl start snmpd.service


三、MariaDB数据库配置


①启用MariaDB数据库

1
# systemctl start mariadb.service


②为root用户设置密码(以wang为例),并修改登录权限,默认密码为空

1
2
3
4
5
# mysql –u root –p      回车后输入密码(空)
MariaDB [(none)]> use mysql;
MariaDB [mysql]> update user  set  password=password(  'wang' ) where user= 'root' ;
MariaDB [mysql]>grant all privileges on *.* to root@localhost identified by ‘wang’ with grant option;
MariaDB [mysql]>flush privileges;


③添加cacti用户和cacti数据库,并为其设置权限

1
2
3
MariaDB [mysql]>create database cacti default character  set  utf8;     ##数据库字符集设置utf8,否则乱码
MariaDB [mysql]>grant all privileges on cacti.* to cacti@localhost identified by ‘cacti’ with grant option;
MariaDB [mysql]>flush privileges;


四、Cacti配置

①下载cacti

1
2
3
# wget http://www.cacti.net/downloads/cacti-0.8.8f.tar.gz  ##下载cacti
# tar -zxvf cacti-0.8.8f.tar.gz     ##解压cacti
# mv cacti-0.8.8f /var/www/html/cacti   ##移动至/var/www/html/cacti下


将cacti的表内容导入创建的数据库

1
2
  # cd /var/www/html/cacti 
  # mysql -ucacti -pcacti cacti < /var/www/html/cacti/cacti.sql

 

③分别编辑两个.php文件

 

1
2
  # vi /var/www/html/cacti/include/config.php
  # vi /var/www/html/cacti/include/global.php


修改内容相同,内容如下:

wKioL1W6Bj3gXkBiAACYRx7AEOA810.jpg


④修改文件属性:

1
2
3
# useradd –r –M cacti 
# chown –R cacti /var/www/html/cacti/rra/ 
# chown –R cacti /var/www/html/cacti/log/


⑤建立调度任务:

1
2
# crontab –e 【输入以下内容】
* /5  * * * * php  /var/www/html/cacti/poller .php >  /dev/null  2>&1

⑥启用http服务

1
  # systemctl start httpd.service


⑦浏览器输入 http://localhost/cacti或者127.0.0.1/cacti 访问cacti管理页面

如出现:

       Forbidden 

       You don't have permission to access /cacti on this server.

这是因为开启了SeLinux导致权限问题 


1).查看SELinux状态:

1
2
3
# /usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态
SELinux status:  enabled
# getenforce                      ##该命令也可检查


2).关闭SELinux:

a、临时关闭(不用重启机器):

1
2
# setenforce 0                       ##设置SELinux 成为permissive模式  (关闭SELinux)
# setenforce 1                       ##设置SELinux 成为enforcing模式     (开启SELinux)

b、修改配置文件需要重启机器:

1
# vi /etc/selinux/config

 

将SELINUX=enforcing 改为SELINUX=disabled

重启机器即可


再次输入 http://localhost/cacti,进入Web页面继续安装


注:如关闭后还是提示问题,可能是防火墙问题:

1
2
# systemctl status firewalld.service       ##查看防火墙状态
# systemctl stop firewalld.service        ##关闭防火墙


五、安装Spine

由于默认cmd.php来轮询数据,速度会很慢,特别是在监控节点比较多的情况下,cmd.php就更显不足了,因此我们采用Spine来轮询数据。cacti-spine是一个由C语言开发的,用于替代cmd.php的快速获取速度的引擎。


①下载并编译安装

1
2
3
4
5
6
# wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.8f.tar.gz
# tar -zxvf cacti-spine-0.8.8f.tar.gz
# cd cacti-spine-0.8.8f
# ./configure
# make 
# make install


②修改访问数据库的用户名密码信息

1
2
# cp  /usr/local/spine/etc/spine.conf.dist  /usr/local/spine/etc/spine.conf
# vi /usr/local/spine/etc/spine.conf

wKioL1W7M2fRSVxCAABDlNSpS8U120.jpg


注:spine默认配置文件需要放在/etc才会生效,否则测试时会报如下错误:
SPINE: Poller[0] FATAL: Unable to read configuration file! (Spine init)


③测试是否正常

1
2
# /usr/local/spine/bin/spine
SPINE: Using spine config  file  [.. /etc/spine .conf]SPINE: Version 0.8.8f startingSPINE: Time: 2.0130 s, Threads: 1, Hosts: 2


④进入Cacti页面设置spine路径

Console -> Configuration -> Settings -> Paths -> Alternate Poller Path -> Spine Poller File Path
/usr/local/spine/bin/spine


⑤修改Cacti使用的Poller Type
Console -> Cacti Settings->Poller->Poller Type
在下拉中选择spine


不能出图的几个问题:


①安装Cacti后,完全无图,这是因为rrdtool没有完全安装

wKiom1W7Q7STTh9oAACCOowQ8DE477.jpg



②如不能出图,可能是时钟问题,如下: 

1
# cat /var/www/html/cacti/log/cacti.log

wKiom1W7PGmiNGRjAAJ72YjWrc4570.jpg


1).

1
# timedatectl   ##CentOS7统一的时间管理命令

wKioL1W7P0OSn5J_AADEOot_YmI897.jpg


1
2
3
# timedatectl set-local-rtc yes   ##yes表示使用本地时间,no则表示是UTC时间
# rm -rf /var/www/html/rra/*   ##删除/var/www/html/rra/下面的所有文件
# /usr/bin/php /var/www/html/cacti/poller.php --force  ##强制执行poller程序重新生成文件


2).cron的时间与poller.php的时间设置错误

一般poller.php的更新时间为60s,所以cron里边也要设置成每分钟更新一次

wKioL1W7QrTAA5koAAFi_VCGF58066.jpg


1
2
# crontab –e 【输入以下内容】
* /1  * * * * php  /var/www/html/cacti/poller .php >  /dev/null  2>&1


3).

1
# cat /var/www/html/cacti/log/cacti.log

wKiom1W7QWKQUSrJAARoXHRM97g481.jpg

OK,数据采集已经正常啦。


4.)进入Cacti查看,已经OK了

wKiom1W7QsTwnjTGAAJtBL9aKzI092.jpg



本文转自  结束的伤感  51CTO博客,原文链接:http://blog.51cto.com/wangzhijian/1680278

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
存储 安全 Linux
CentOS安装SeaweedFS
通过上述步骤,您应该能够在CentOS系统上成功安装并启动SeaweedFS。记住,根据实际部署规模和需求,可能还需要进一步调整配置参数和优化网络布局。SeaweedFS的灵活性和扩展性意味着随着使用深入,您可能需要探索更多高级配置和管理策略。
111 64
|
2月前
|
存储 安全 Linux
CentOS安装SeaweedFS
通过上述步骤,您应该能够在CentOS系统上成功安装并启动SeaweedFS。记住,根据实际部署规模和需求,可能还需要进一步调整配置参数和优化网络布局。SeaweedFS的灵活性和扩展性意味着随着使用深入,您可能需要探索更多高级配置和管理策略。
119 61
|
19天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第16天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括配置系统源、安装 SQL Server 2019 软件包以及数据库初始化,确保 SQL Server 正常运行。
|
28天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
29天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
98 1
Linux系统之Centos7安装cockpit图形管理界面
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
86 3
|
2月前
|
NoSQL 数据可视化 Linux
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
本文介绍了Redis的两个可视化管理工具:付费的Redis Desktop Manager和免费的Another Redis DeskTop Manager,包括它们的下载、安装和使用方法,以及在使用Another Redis DeskTop Manager连接Redis时可能遇到的问题和解决方案。
142 1
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
60 2
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
109 2