zoukankan      html  css  js  c++  java
  • 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 

  • 相关阅读:
    linux一键安装filemanager和caddy
    搭建owncloud
    Linux下解压命令大全
    linux虚拟机调整分辨率
    [Javascript] ==与===区别
    [转]ActiveX控件安全初始化之一:实现ISafeObject接口
    C# 温故而知新:Stream篇(—)
    [转]C# 温故而知新:Stream篇(二)
    【转】C# 温故而知新:Stream篇(三)
    [转]在企业应用开发中遵循开源协议
  • 原文地址:https://www.cnblogs.com/ad-note/p/9930255.html
Copyright © 2011-2022 走看看