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 

原文地址:https://www.cnblogs.com/ad-note/p/9930255.html