cacti监控整体恢复流程

Cacti监控故障恢复

主要分三个板块来写:

1、 安装http+mysql+php,导入数据

2、 安装snmp,rrdtool,spine

3、 安装完成后故障处理

 

一、系统初始环境安装

1、修改系统DNS,关闭防火墙,selinux

echo “nameserver 114.114.114.114” >> /etc/resolv.conf echo “nameserver “180.76.76.76” >> /etc/resolv.conf
setforce 0
systemctl stop firewalld

2、安装elep的yum

rpm –ivh http://mirrors.kernel.org/fedora-epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm

 

3、安装一些基本工具

yum -y install  lrzsz vim nc openssl bash glibc nload wget openssh-clients dmidecode

##############################################################################

二、mysql安装配置

1、 软件包及相关环境工具安装

##先把主要的包安装完,后面可以再开一个终端去装其他的一些包。

yum install -y mariadb httpd mariadb-server mariadb-devel yum -y install lrzsz vim nc openssl bash glibc nload wget openssh-clients dmidecode net-snmp net-snmp-utils net-snmp-libs net-snmp-agent-libs net-snmp-devel php php-snmp php-ldap php-pdo php-mysql php-devel php-pear php-common php-gd php-mbstring php-xml php-process rrdtool rrdtool-php rrdtool-perl rrdtool-devel gcc openssl-devel dos2unix autoconf automake binutils libtool

 

2、 mysql配置修改

修改 /etc/my.cnf.d/server.cnf 文件,添加如下

[mysql] character_set_server = utf8mb4 collation_server = utf8mb4_unicode_ci character_set_client = utf8mb4 max_connections = 100 max_heap_table_size = 48M max_allowed_packet = 16777216 join_buffer_size = 64M tmp_table_size = 64M innodb_file_per_table = ON innodb_buffer_pool_size = 240M innodb_doublewrite = OFF innodb_lock_wait_timeout = 50

 

设置数据库密码

systemctl start mariadb mysqladmin -uroot password 123456

 

新建数据,账号并授权

MariaDB [(none)]> create database cacti default character set utf8; MariaDB [(none)]> create database syslog default character set utf8; MariaDB [(none)]> create user 'cactiuser'@'localhost' identified by 'cactifans.org'; MariaDB [(none)]> grant all privileges on cacti.* to cactiuser@localhost; MariaDB [(none)]> grant all privileges on syslog.* to cactiuser@localhost; MariaDB [(none)]> flush privileges;

 

将数据库文件导入

Cacti的数据库主要有两个,一个是cacti字段表库,一个是syslog日志库

mysql –ucactiuser –pcactifans.org cacti < /var/www/html/cacti-backup.sql mysql –ucactiuser –pcactifans.org syslog < /var/www/html/syslog.sql

 

如果命令导入报错,一般是因为字符集不匹配,可用phpadmin工具导入,具体操作见附录1

#############################################################################

三、php配置修改

vim /etc/php.ini [php] safe_mode = off [Date] date.timezone = PRC

去掉前面的”;”,这个是php里面的注释,相当于shell里的#,如果不去掉,会导致rrdtool无法绘图

##############################################################################

四、修改apache支持

将原来备份的cacti网站文件,移到/var/www/html下

chown -R apache.apache  /var/www/html/

vi /etc/http/conf/httpd.conf

添加 AddType application/x-httpd-php .php

添加DriectoryIndex index.html index.php

 ###########################################################################

五、Snmp,spine配置

1、Snmp配置

vim /etc/snmpd/snmpd.conf

修改如下:

com2sec notConfigUser 127.0.0.1 public access notConfigGroup "" any noauth exact all none none view all included .1 80 ###去掉前面注释

 

2、Spine安装及配置

l   解压安装包,编译安装

wget https://www.cacti.net/downloads/spine/cacti-spine-0.8.8a.tar.gz Tar –xf cacti-spine-0.8.8a.tar.gz #### cd cacti-spine-0.8.8a ./configure make &&make install

 

l   安装完成后

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

修改连接的数据库名,密码

vim /usr/local/spine/etc/spine.,conf DB_Host localhost DB_Database cacti DB_User cactiuser DB_Pass cactifans.org DB_Port 3306 DB_PreG 0

 

注释:spine安装完成,连上数据库之后会生成/usr/bin/spine,轮询器,没有连上数据库是不会有这个文件的。

###########################################################################

六、配置计划任务

vim /etc/cron.d/cacti */5 * * * * root /usr/bin/php /var/www/html/poller.php > /dev/null 2>&1

 

###每5分钟以root身份执行一次 ,/var/www/html/poller.php 轮询器

 >/dev/null 2>&1 的意思是将正确和错误的输出信息都输出到null

############################################################################

七、启动服务,检查配置

1、开机启动相关服务

systemct start httpd && systemctl enable httpd systemctl snmpd && systemctl enable snmpd systemctl enable mariadb

 

2、测试php是否配置正常

在网站根目录/var/www/html写一个测试文件,测试是否支持php

Vim /var/www/html/info.php <?php phpinfo(); ?>

 

浏览器访问http://ip/info.php  出现php测试页,则正常。

如果不正常,检查apache中是否添加支持php

#############################################################################

八、故障处理

1、Cacti设置页无法访问 (http://ip/settings.php

如果无法访问,查看apache的access日志,如果发现如下报错:

错误信息:

Mon Dec 26 11:00:48.241653 2016] [:error] [pid 32607] [client 192.168.10.79:65009] PHP Fatal error: Call to undefined function define_syslog_variables() in /usr/local/cacti/plugins/thold/includes/settings.php on line 132

注释掉/usr/local/cacti/plugins/thold/includes/settings.php 中132行 define_****即可解决

2、Cacti不出图

看/var/www/html/log/cacti.log 会发现如下报错:

POLLER: Poller[0] WARNING: Cron is out of sync with the Poller Interval! The Poller Interval is '300' seconds, with a maximum of a '300' second Cron, but 625 seconds have passed since the last poll!

 

解决办法:

@检查/etc/php.ini 中的timezone是否配置错误

检查Crond中的计划任务是否有写错,能否执行。

3、流量图乱码/不显示中文字体

将字体文件放到 /usr/share/fonts/目录下,然后下下图中填写字体具体位置。

 

在cacti目录下 /lib/functions.php文件倒数第二行加入

setlocale(LC_CTYPE,"zh_CN.UTF-8");

刷新网页,或者重启apache即可解决。

 

附1

使用phpadmin导入数据库

1、下载phpadmin,解压移动到网站根目录

tar –xf phpMyAdmin-4.0.10.20-all-languages.tar.gz mv phpMyAdmin-4.0.10.20-all-languages /var/www/html/phpadmin

 

 

 

2、 修改php参数

vim /etc/php.ini

upload_max_filesize  1000m

(即允许上传文件大小的最大值,默认为2M,修改值大小自定)

修改完后,再刷新phpmyadin导入数据库页面会发现,导入数据库大小限制会显示成“(最大限制:8,192 KB)”而不是手动设置的20m。

没错,只改upload_max_filesize设置的话,php.ini配置默认会以post_max_size这项配置的大小作为phpmyamdin导入数据库文件大小限制的标准。

因此我们还要作下面修改:

post_max_size  1000m   

(指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值,默认为8M)

再次刷新phpmyadin导入数据库页面会发现,最大限制值会变成 1000m,即使用的是upload_max_filesize配置选项。经过多次修改上述2个值,得出结论:

php.ini会取upload_max_filesize和post_max_size 2个配置的较小值项作为导入数据库文件大小限制的有效值!!

注意:要使上述设置生效,必须确认:

file_uploads     on 

 

3、用cactiuser的账号名密码登陆数据库,找到相应的数据,执行导入,导入的文件是要存在本地。

 

附2

l   Cacti流量图数据导入

将rrd文件导入到/var/www/html/rra/目录下,覆盖原来的文件,然后手动刷下poller.php

不需要修改mysql数据库。

---------------------------------------

End 

 


__EOF__

本文作者运维军火库
本文链接https://www.cnblogs.com/ad-note/p/9930255.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   运维军火库  阅读(1211)  评论(2编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示