centos7配置安装cacti流量监控系统

cacti是基于php开发的,多数IDC公司使用的一套流量监控系统

cacti作用

    1:rrdtool create
    2:周期性执行能够取得数据的命令,并将取回来的数据保存在rrdtool所创建的rrd文件中
    3:利用rrdtool绘图并展示
    4:支持模板机制,导入,导出

#安装注意事项
    若php采用编译安装,须启用--enable-sockets
    cacti自身信息需要mysql来存储,并且新版对mysql的版本有要求mysql5.6以及mariadb10已上
    cacti默认使用相对路径,即在安装完成后需要在ip后面加上/cacti,比如https://127.0.0.1/cacti

安装mysql57的yum源

yum install epel*  -y && yum clean all && yum makecache 
rpm -Uvh http://repo.mysql.com/mysql57-community-release-el7.rpm
yum clean all && yum makecache

安装cacti

第一:安装LAMP环境
yum install httpd mysql-server php php-gd php-mysql -y

第二:安装rrdtool
yum install rrdtool rrdtool-devel.x84_64 rrdtool-perl.x86_64 -y

第三:安装snmp
yum install net-snmp-utils -y

第四:去官网下载cacti,并解压到web目录/var/www/html
第五:启动并初始化mysql

systemctl start mysqld
cat /var/log/mysqld.log  | grep pass    #这是查看mysql启动时生成的root密码,5.7版本的特性,下面需要输入密码
mysql_secure_installation

第六:创建名为cacti的数据库
mysql>create database cacti;

第七:导入cacti.sql到数据库cacti中
#若是导入失败,可以将下面的密码采用交互式键入
mysql -uroot -pNC-tianyu-0791 cacti < /var/www/html/cacti/cacti.sql

第八:授权数据库用户
#注意若是授权的账户无法进行安装,可以直接采用数据库的root账户
mysql>GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'NC-tianyu-0791';

第九:刷新数据库
mysql>flush privileges;

第十:修改cacti配置文件
#去掉前面的缩进
vim /var/www/html/cacti/include/config.php

    $database_type = "mysql";
    $database_default = "cacti";
    $database_hostname = "localhost";
    $database_username = "cactiuser";
    $database_password = "NC-tianyu-0791";
第十一:cacti在工作时需要周期性的执行某些操作,为了安全,需要创建一个运行cacti的普通用户
useradd cactiuser
chown -R cactiuser. /var/www/html/cacti/log /var/www/html/cacti/rra

第十二:修改php时区和系统时区
vim /etc/php.ini
date.timezone = Asia/Shanghai
#修改系统时区
cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

第十三:启动响应的服务
systemctl start mysqld
systemctl start httpd

第十四:在浏览器里输入对应的url
http://ip/cacti     #初始账户密码 admin  admin

下面的都是根据web内容进行更改,下面以注意的形式提出

注意一:新版本的cacti可能需要装一些php模块
yum install php-process php-ldap php-mbstring -y
yum install php-snmp -y

注意二:对数据库的要求,以下是示例,不同版本可能值不一样
#这里可以在vim /etc/my.cnf

character-set-server = utf8mb4
collation_server = utf8mb4_unicode_ci
max_heap_table_size = 50M
max_allowed_packet = 16777300
tmp_table_size = 72M
join_buffer_size = 72M
innodb_buffer_pool_size = 250M
innodb_doublewrite = OFF
innodb_flush_log_at_timeout = 4
innodb_read_io_threads = 42
innodb_write_io_threads = 32

注意三:默认数据库是没有time_zone内容的,需要导入这个内容
#一般Linux关于时区的文件都在/usr/share/zoneinfo这个目录下,需要将其导入数据库,用mysql_tzinfo_to_sql工具
##最后一定是mysql,不能是你创建的数据库名字

方法一:在bash下执行下面的
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -uroot -pNC-tianyu-0791 mysql

方法二:在数据库里执行下面的
mysql> use mysql;
mysql> GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost;
mysql> flush privileges;

注意四:文件权限,rra,和log必须为777

开始使用cacti

#创建定时任务,
#每5分钟,执行下面程序(可以手动执行看看,若是cacti不出图,极有可能是这条命令没执行),和每10分钟同步一次标准时间
echo "*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php --force &>/dev/null" > /var/spool/cron/cactiuser

crontab -e
*/10 * * * * /usr/sbin/ntpdate time.nist.gov

解决cacti无法出图的

1.system utilities -->Rebuild poller cache
2.系统时间不准确,重新设置时间
3.图像没有生成,运行#/usr/bin/php /var/www/html/cacti/poller.php --force
4.权限问题,修改权限#chmod 777 -R /var/www/html/cacti/rra
5.数据库表有损坏,修复#mysqlcheck -ao cacti --auto-repair -uroot -p
6.重启snmpd服务#service snmpd restart
7.检查snmp是否正常,snmpwalk -v 2c -c public 192.168.1.2
声明:本文为原创,作者为 辣条①号,转载时请保留本声明及附带文章链接:https://boke.wsfnk.com/archives/334.html
谢谢你请我吃辣条谢谢你请我吃辣条

如果文章对你有帮助,欢迎点击上方按钮打赏作者

最后编辑于:2023/3/19作者: 辣条①号

目标:网络规划设计师、系统工程师、ceph存储工程师、云计算工程师。 不负遇见,不谈亏欠!

暂无评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???

文章目录