Cacti 1.2.23 监控系统安装教程

目录

安装环境:阿里云服务器CentOS7.9

(本文所需的安装包,由于下载缓慢,已经上传,需要的可以自取)

1、安装相关软件包

1.1 安装httpd

1.2 安装php7.2(cacti要求>=5.4版本)

1.3 修改PHP时区(添加date.timezone = Asia/Shanghai)

​编辑

1.4 安装MariaDB 10.4数据库

​编辑

1.5 安装net-snmp

1.6 安装RRDTool 绘图工具

1.7 创建数据库并新建用户和密码

2.安装cacti

2.1 安装cacti

2.2 据实际情况配置cacti的config.php,一般是修改第2、4、5行

2.3 创建日志文件,后续安装时用的到

2.4 创建 cacti 系统用户,设置目录权限

2.5 重启相关服务

3 安装spine

4 初始化cacti

可以选择Chinese,可能对我们比较友好点,然后接受协议,点击开始

​编辑

登录后根据提示修改相关配置以满足PHP推荐配置要求

根据提示修改相关配置以满足mysql推荐配置要求

显示全部🆗,直接下一页

下一页

下一页

下一页,到了“关键的可执行程序位置和版本”这一步,spine配置文件路径:/etc/spine.conf

RRDTool版本需要确认一下(rrdtool --version)

下一页

下一页

下一页

下一页

确认安装

到此就安装完成了,点击开始使用

5、修改访问通过ip直接访问,而不需要ip/cacti

6 轮询器及任务的配置

6.1设置计划任务,采集数据

6.2 设置语言

6.3 Poller轮询器配置


安装环境:阿里云服务器CentOS7.9

(本文所需的安装包,由于下载缓慢,已经上传,需要的可以自取)

1、安装相关软件包

1.1 安装httpd
#安装http
yum install -y httpd 
​
#启动httpd并设置开机启动
systemctl start httpd && systemctl enable httpd && systemctl status httpd
1.2 安装php7.2(cacti要求>=5.4版本)
#安装Remi仓库的RPM包:
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm  -y
​
#安装yum-utils包:
yum install yum-utils -y
​
#启用Remi仓库中的PHP 7.2版本:
yum-config-manager --enable remi-php72
​
#安装php及模块,使得PHP能够支持MySQL数据库、SNMP协议、XML处理、LDAP服务、图形处理(GD库)、多字节字符串处理、POSIX相关功能和GMP(大数学)运算。
yum install –y php php-mysql php-snmp php-xml php-ldap php-gd php-mbstring php-posix php-gmp php-intl
1.3 修改PHP时区(添加date.timezone = Asia/Shanghai)
vim /etc/php.ini
[PHP]
……
date.timezone = Asia/Shanghai
1.4 安装MariaDB 10.4数据库
#设置yum源
vim /etc/yum.repos.d/MariaDB.repo
​
# MariaDB 10.4 CentOS repository list - created 2019-05-16 02:03 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
​
#安装MariaDB(这部执行可能会出现error的报错,直接再执行一遍就好了)
yum install -y MariaDB-server MariaDB-client MariaDB-devel
​
#启动mysql数据库服务并设为开机启动
systemctl start mariadb && systemctl enable mariadb && systemctl status mariadb
#配置MariaDB,初始化数据库,设定密码,除了开始直接回车,其他的选择都输入Y。
[root@localhost ~]# mysql_secure_installation
​
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
......
Enter current password for root (enter for none):   //初始数据库密码为空,直接按回车键
OK, successfully used password, moving on...
......
Set root password? [Y/n] Y    //输入root管理员密码
New password:
Re-enter new password:
Password updated successfully!
......
Remove anonymous users? [Y/n] Y    //删除匿名账号
... Success!
......
Disallow root login remotely? [Y/n] Y   //禁止root管理员从远程登录
... Success!
.......
Remove test database and access to it? [Y/n] Y   //删除test数据库并取消对它的访问权限
......
Reload privilege tables now? [Y/n] Y   //刷新授权表,让初始化后的设定立即生效
... Success!
#添加如下MariaDB配置,后续需根据提示在进行修改
vim /etc/my.cnf.d/server.cnf
​
[mysqld]
​
collation_server = utf8mb4_unicode_ci
character_set_server = utf8mb4
​
​
max_allowed_packet = 16777216
max_heap_table_size = 123M
tmp_table_size = 123M
join_buffer_size = 6M
innodb_buffer_pool_size = 964M
innodb_flush_log_at_timeout = 3
innodb_read_io_threads = 32
innodb_write_io_threads = 16
innodb_buffer_pool_size= 1G
innodb_buffer_pool_instances = 9
innodb_io_capacity = 5000
innodb_io_capacity_max = 10000
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_doublewrite = OFF
​
#重启服务
systemctl restart mariadb.service && systemctl status mariadb.service
1.5 安装net-snmp
# 安装Net-snmp及其相关库
yum install –y net-snmp net-snmp-libs net-snmp-utils net-snmp-devel net-snmp-perl
​
#启动snmp并设置开机启动
systemctl start snmpd.service && systemctl enable snmpd.service && systemctl status snmpd.service
1.6 安装RRDTool 绘图工具
#安装编译时可能使用到的软件
yum -y install lm_sensors gcc gcc-c++ libart_lgpl-devel zlib-devel libpng-devel freetype-devel gettext-devel glib2-devel pcre-devel pango-devel cairo-devel  libxml2-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
​
#直接用yum安装(yum默认安装的是rrdtool 1.4.8 )
yum install -y rrdtool

#查看rrdtool版本
rrdtool --version
1.7 创建数据库并新建用户和密码
#使用root用户登录MariaDB数据库,密码是'123456'(这个账号密码是上面安装数据库时建的)
[root@localhost src]# mysql -uroot -p123456 
​
#创建一个名为'cacti'的新数据库。
MariaDB [(none)]> create database cacti;
Query OK, 1 row affected (0.002 sec)
​
#为数据库‘cacti’创建用户名密码并同时授予该用户对'cacti'数据库的所有权限。
MariaDB [(none)]> grant all on cacti.* to cacti@'localhost' identified by "123456";
Query OK, 0 rows affected (0.003 sec)
​
#授予'cacti'用户对'mysql.time_zone_name'表的查询权限。
MariaDB [(none)]> grant select on mysql.time_zone_name to 'cacti'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.001 sec)
​
#刷新权限
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.002 sec)
​
#设置数据库时区
[root@localhost ~]# mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root -p mysql
Enter password:

2.安装cacti

2.1 安装cacti

下载链接: https://files.cacti.net/cacti/linux/https://github.com/Cacti/cacti/releases

#使用wget下载所需对应版本的cacti,也可以本地下载之后通过rz命令上传至centos服务器上(这块下载会比较慢,建议下到本地上传)
wget https://www.cacti.net/downloads/cacti-1.2.23.tar.gz
​
#下载之后解压
tar zxvf cacti-1.2.23.tar.gz
​
#将目录cacti-1.2.15移动到Apache的html目录下,并重命名为cacti。
mv cacti-1.2.23 /var/www/html/cacti
​
#导入数据库
mysql -ucacti -p123456 cacti < /var/www/html/cacti/cacti.sql
2.2 据实际情况配置cacti的config.php,一般是修改第2、4、5行
[root@localhost ~]# vim /var/www/html/cacti/include/config.php
......
$database_type     = 'mysql';
$database_default  = 'cacti';     //默认一般不变,主要看自己创建的数据库名称来决定
$database_hostname = 'localhost';
$database_username = 'cacti';     //创建的数据库名称
$database_password = '123456';    //所创建数据库的密码
$database_port     = '3306';
$database_retries  = 5;
$database_ssl      = false;
$database_ssl_key  = '';
$database_ssl_cert = '';
$database_ssl_ca   = '';
2.3 创建日志文件,后续安装时用的到
touch /var/www/html/cacti/log/cacti.log
touch /var/www/html/cacti/log/cacti_stderr.log
2.4 创建 cacti 系统用户,设置目录权限
useradd cacti
chown apache.apache /var/www/html/cacti/ -R
chown cacti /var/www/html/cacti/{rra,log}/ -R
chmod 777 /var/www/html/cacti/{rra,log}/ -R
2.5 重启相关服务
systemctl start mariadb httpd  && systemctl status mariadb httpd

3 安装spine

cacti 默认使用 cmd.php来轮询数据,速度会很慢,Spine是用C语言编写的,它被设计来提高数据收集的效率和速度,特别是在大规模网络环境中。与Cacti的PHP轮询器相比,Spine提供了更高的性能和可扩展性。这是因为Spine可以更好地利用多核处理器和多线程,减少数据收集时的CPU占用率,提高了轮询的速度。

下载链接: https://files.cacti.net/spine/https://github.com/Cacti/spine/releases

wget https://files.cacti.net/spine/cacti-spine-1.2.23.tar.gz
tar zxvf cacti-spine-1.2.23.tar.gz
mv cacti-spine-1.2.23 /usr/local/spine
cd /usr/local/spine
​
#安装编译spine时的相关软件
yum install -y net-snmp-devel mysql-devel openssl-devel dos2unix autoconf automake binutils libtool gcc cpp glibc-headers kernel-headers glibc-devel help2man
​
#编译安装
bash bootstrap  
./configure --with-reentrant
make && make install
​
chown root:root /usr/local/spine/bin/spine
chmod +s /usr/local/spine/bin/spine
​
#编辑spine.conf:
cp  /usr/local/spine/etc/spine.conf.dist /etc/spine.conf
​
#修改如下部分:
vim  /etc/spine.conf
​
DB_Host 127.0.0.1
DB_Database cacti
DB_User cacti
DB_Pass 123456
DB_Port 3306
​
#进行初始化:
/usr/local/spine/bin/spine  
​
执行此命令,成功后显示如下
SPINE: Using spine config file [/etc/spine.conf]
Version 1.2.23 starting
Time: 0.5256 s, Threads: 1, Devices: 1

4 初始化cacti

在浏览器访问:http://ip/cacti,进入安装界面,默认账号/密码:admin/admin。 在进入安装之前建议关闭selinux,另请开放服务器的80端口,我这里是测试,所以我关闭了防火墙和selinux。根据实际情况修改相关参数:

关闭防火墙
systemctl stop firewalld.service
​
临时关闭selinux
setenforce 0
​
或者用永久关闭:
关闭防火墙和设置开启不启动
systemctl stop firewalld.service
systemctl disable firewalld.service
​
永久关闭selinux,需要重启服务器(只内网使用的话,建议永久关闭)
sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/config
​
netstat -ntap | egrep '(80|3306)'
​
如netstat出现未找到命令,则需要安装net工具包
yum install net-tools
可以选择Chinese,可能对我们比较友好点,然后接受协议,点击开始
登录后根据提示修改相关配置以满足PHP推荐配置要求

# 按要求max_execution_time需要大于等于60,memory_limit要大于等于400M,进行如下修改
vim /etc/php.ini
​
max_execution_time = 70
memory_limit = 500M
​
#修改后重启服务
systemctl restart httpd && systemctl status httpd
根据提示修改相关配置以满足mysql推荐配置要求

#按要求innodb_buffer_pool_size需要大于等于1843.64M,所以这里设置为2048M
vim /etc/my.cnf.d/server.cnf

innodb_buffer_pool_size = 2048M

#修改后重启服务
systemctl restart mariadb.service && systemctl status mariadb.service
显示全部🆗,直接下一页

下一页

下一页

下一页,到了“关键的可执行程序位置和版本”这一步,spine配置文件路径:/etc/spine.conf
RRDTool版本需要确认一下(rrdtool --version)

下一页

下一页

下一页

下一页

确认安装

到此就安装完成了,点击开始使用

5、修改访问通过ip直接访问,而不需要ip/cacti

#找到$url_path 将值修改为'/'
vim /var/www/html/cacti/include/config.php
$url_path = '/';```
​
#找到DocumentRoot将值修改为"/var/www/html/cacti"
vim /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html/cacti"
​
#重启httpd服务
systemctl  restart httpd && systemctl  status httpd

6 轮询器及任务的配置

6.1设置计划任务,采集数据

如果不配置此功能,图形界面全部会显示The Cacti Poller has not run yet。

 

#Centos7安装crontab服务(系统默认一般都自带此服务)
yum install crontabs -y
​
#配置crontab前,请使用以下命令测试是否可以获取数据
/usr/bin/php /var/www/html/cacti/poller.php
#正常会返回以下内容
OK u:0.00 s:0.01 r:1.01
OK u:0.00 s:0.01 r:1.01
OK u:0.00 s:0.01 r:1.03
OK u:0.00 s:0.01 r:1.03
OK u:0.00 s:0.01 r:1.04
OK u:0.00 s:0.01 r:1.04
OK u:0.00 s:0.01 r:1.05
OK u:0.00 s:0.01 r:1.05
OK u:0.00 s:0.01 r:1.06
2024-07-11 10:47:25 - SYSTEM STATS: Time:1.2825 Method:cmd.php Processes:1 Threads:1 Hosts:1 HostsPerProcess:1 DataSources:5 RRDsProcessed:5
OK u:0.00 s:0.01 r:1.06

 配置后就会显示如下的样子

 

#使用crontab命令添加任务
crontab -e
​
#添加以下任务,我这里配置成每五分钟运行一次
*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1
​
#设置crontab自启动,添加好crontab计划任务后,验证下crond服务是否已经启动,并设置开机自启
systemctl enable crond && systemctl status crond

6.2 设置语言

重新登录后,如果还是英文,到 系统配置-设置-基本-修改English为中文,保存,然后重新登录即可。

6.3 Poller轮询器配置

spine是一个高速的轮询器,是cmd.php的替代品,在cmd.php的基础上,拥有更好的灵活性、速度和并发性。

cacti默认使用的cmd.php进行轮询,由于我们之前已经安装好了spine,所以我这里就更改成spine。

在cacti监控系统中,选择系统 配置→设置→Poller→采集类型选择spine→保存,将cmd.php改为spine

到这里本片文章就结束,谢谢大家的观看。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值