加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

CentOS7安装Cacti

发布时间:2023-04-07 16:47:39 所属栏目:教程 来源:
导读:Cacti是一款优秀的开源监控软件,使用PHP实现,主要特点是使用snmp服务获取数据,然后用rrdtool存储和更新数据,当用户查看数据的时候,rrdtool生成图表呈现给用户。在CentOS7后,默认数据库为MariaDB,其为MysqL的一
Cacti是一款优秀的开源监控软件,使用PHP实现,主要特点是使用snmp服务获取数据,然后用rrdtool存储和更新数据,当用户查看数据的时候,rrdtool生成图表呈现给用户。在CentOS7后,默认数据库为MariaDB,其为MysqL的一个分支,用其存储变量并进行调用。MariaDB数据库并不存储snmp捕获到的数据,snmp捕获到的数据,存在于rrdtool生成的rrd文件中,这些文件位于cacti目录下的rra目录中。

一、相关软件的安装

多数使用yum即可安装:

yum install httpd* ----安装Web服务器Apache相关服务

yum install PHP* ----安装PHP相关服务

yum install mariadb* ----安装MariaDB数据库相关服务

yum install net-snmP* ----安装SNMP相关服务

yum install rrdtoolrrdtool-devel rrdtool-PHP rrdtool-perl ----安装rrdtool以生成图像

yum install gdgd-develPHP-gd ---rrdtool绘制图像需要的图形库

二、配置SNMP

vi /etc/snmp/snmpd.conf

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

CentOS7安装Cacti

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

CentOS7安装Cacti

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

CentOS7安装Cacti

④启动snmp

systemctl start snmpd.service

三、MariaDB数据库配置

①启用MariaDB数据库

systemctl start mariadb.service

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

#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数据库,并为其设置权限

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

tar -zxvf cacti-0.8.8f.tar.gz ##解压cacti

mv cacti-0.8.8f /var/www/html/cacti ##移动至/var/www/html/cacti下

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

cd/var/www/html/cacti

MysqL-ucacti-pcacticacti</var/www/html/cacti/cacti.sql

③分别编辑两个.PHP文件

vi /var/www/html/cacti/include/config.PHP

vi /var/www/html/cacti/include/global.PHP

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

CentOS7安装Cacti

④修改文件属性:

useradd–r–Mcacti

chown–Rcacti/var/www/html/cacti/rra/

chown–Rcacti/var/www/html/cacti/log/

⑤建立调度任务:

#crontab–e 【输入以下内容】

*/5****PHP/var/www/html/cacti/poller.PHP>/dev/null2>&1

⑥启用http服务

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状态:

# /usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态

SELinux status: enabled

# getenforce ##该命令也可检查

2).关闭SELinux:

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

# setenforce 0 ##设置SELinux 成为permissive模式(关闭SELinux)

#setenforce 1##设置SELinux 成为enforcing模式 (开启SELinux)

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

# vi /etc/selinux/config

将SELINUX=enforcing 改为SELINUX=disabled

重启机器即可

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

五、安装Spine

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

①下载并编译安装

#tar -zxvf cacti-spine-0.8.8f.tar.gz

#cd cacti-spine-0.8.8f

#./configure

#make

#make install

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

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

CentOS7安装Cacti

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

③测试是否正常

#/usr/local/spine/bin/spine

SPINE: Using spine config file [../etc/spine.conf]
SPINE: Version 0.8.8f starting
SPINE: 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没有完全安装

CentOS7安装Cacti

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

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

CentOS7安装Cacti

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

CentOS7安装Cacti

#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里边也要设置成每分钟更新一次

CentOS7安装Cacti

#crontab–e 【输入以下内容】

*/1 ****PHP/var/www/html/cacti/poller.PHP>/dev/null2>&1

3).# cat /var/www/html/cacti/log/cacti.log

CentOS7安装Cacti

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

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

CentOS7安装Cacti
 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章