cacti是一款使用PHP语言开的发性能与流量检测软件,检测对象可以是Linux、Windows服务器,也可以是路由交换机等网络设备,主要基于SNMP(simple、Network、Management、Protocol,简单网络管理协议)来搜集CPU占用、内存使用、运行进程、网卡流量等数据
构建cacti监控平台时要先进行LAMP架构,这边实验我直接用yum一键安装、在生产环境中最好使用手工编译安装
LAMP手工编译安装可以参考以下博客文章
Apache手工编译安装
https://blog.51cto.com/13645280/2117794
MySQL数据库基础
https://blog.51cto.com/13645280/2132869
构建PHP运行环境
https://blog.51cto.com/13645280/2136415
(1)yum安装LAMP
yum -y install httpd
yum -y install mariadb mariadb-server
yum -y install php php-mysql
#编写php首页进行测试机
cd /var/www/html/
vim index.php
<?php
phpinfo();
?>
#关闭防火墙、SELinux
systemctl stop firewalld
setenforce 0
查看php配置文件路径 whereis
php
Centos下安装mysql5.7 http://support.2vps.cn/archives/557.html
mysql utf-general-ci 修改成utf8mb4 方案
http://support.2vps.cn/archives/561.html
mysql的timezone问题
解决办法:mysql_tzinfo_to_sql /usr/share/zoneinfo/Asia/Shanghai Shanghai | mysql -u root -p mysql
网页测试截图yum -y install zlib freetype libjpeg fontconfig gd libxml2 php-gd
yum -y install net-snmp net-snmp-utils
yum -y install rrdtool rrdtool-devel
(3)安装cacti监控源码包
#用wget下载最新的源码包
wget https://www.cacti.net/downloads/cacti-1.1.38.tar.gz
#解压到/var/www/html底下然后用mv重命名为cacti
tar zxvf cacti-1.1.38.tar.gz -C /var/www/html/
mv /var/www/html/cacti-1.1.38/ /var/www/html/cacti
#创建cacti管理用户
useradd -M -s /sbin/nologin cacti
#修改cacti属主和数组
chown -R cacti.cacti /var/www/html/cacti/
#修改cacti底下include底下config.php文件
$database_type = "mysql";
$database_default = "cacti"; #修改数据库名称
$database_hostname = "localhost";
$database_username = "cacti"; #修改授权用户
$database_password = "asd123"; #修改授权密码
$database_port = "3306";
$database_ssl = false;
(3)创建数据库斌授予权限
#首先开启数据库并数据库设置密码
systemctl start mariadb.service
mysqladmin -uroot password abc123
#进入数据库船舰cacti数据库并授予权限
mysql -u root -p
#创建名为cacti的数据库并设定字符集utf-8
create database cacti default character set utf8;
#授予cacti用户权限登陆密码为asd123
grant all on cacti.* to cacti@localhost identified by 'asd123';
quit
#把cacti目录底下的cacti.sql导入到cacti数据库里面(这边使用的用户时cacti用户授予的密码时asd123)
mysql -u cacti -p cacti < cacti.sql
(3)修改snmp协议的配置文件
在本机模拟linux cacti被控端
vim /etc/snmp/snmpd.conf
41行:com2sec notConfigUser 192.168.179.151 public
62行:access notConfigGroup "" any noauth exact all none none
85行:view all included .1 80 #去掉前面的#号
#开启snmp协议
systemctl start snmpd.service
(4)进入安装页面http://192.168.1789.151/cacti1:
安装ldap
yum install php-ldap
打开php.ini配置文件找到ldap那个区域模块添加
extension=ldap.so
2:
安装mbstring拓展模块
yum install php-mbstring
打开php.ini配置在配置文件最后一行添加
extension=mbstring.so
3:
安装posix模块
yum -y install php-process
查看验证是否安装成功
php -m|grep posix
posix
显示红色字体posix就表示安装成功
2、解决数据库时间问题
#进入数据库授权
GRANT SELECT ON mysql.time_zone_name TO cacti@localhost IDENTIFIED BY 'cactiwhsir';
#再把以下命令重新授权一下
grant all on cacti.* to cacti@localhost identified by 'asd123';
#刷新
flush privileges;
#又会出现下面报错
ERROR: Your MySQL TimeZone database is not populated. Please populate this database before proceeding.
#解决办法
mysql_tzinfo_to_sql /usr/share/zoneinfo/Asia/Shanghai Shanghai | mysql -u root -p mysql
#重启数据库
systemctl restart mariadb.service
3、我们再看问题都解决了还是不能安装因为还有一个cacti报错看下图:#打开php.ini配置文件找到date.timezone原本是注释状态需要去掉前面的;分号然后在=等于后面空格加上Asia/Shanghai
date.timezone = Asia/Shanghai
重启HTTP服务
点击next下一步安装好后进入以下页面:
By CloudITIDC Global on 14 1月 2021 0 Categories / 帮助文档