zoukankan      html  css  js  c++  java
  • Cacti

    一、安装环境需求

    服务端需要安装的服务软件:

    1、mysql

    2、SNMP

    3、RRDTool 1.0.49 或 2.x 或 更高

    4、Lamp

    5、cacti

    在安装linux系统时候安装包的选择:

    base

    editors

    development librarys

    development tools

    x software development

    system tools

     

    二、mysql安装

    2.1 下载并安装MySQL官方的 Yum Repository

    [root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

    使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。

    [root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm

    之后就开始安装MySQL服务器。

    [root@localhost ~]# yum -y install mysql-community-server

    这步可能会花些时间,安装完成后就会覆盖掉之前的mariadb。

    至此MySQL就安装完成了,然后是对MySQL的一些设置。

    2.2 2 MySQL数据库设置

      首先启动MySQL

    [root@localhost ~]# systemctl start  mysqld.service

      查看MySQL运行状态,运行状态如图:

    [root@localhost ~]# systemctl status mysqld.service

    此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:

    [root@localhost ~]# grep "password" /var/log/mysqld.log

     如下命令进入数据库:

    [root@localhost ~]# mysql -uroot -p

      输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

      这里有个问题,新密码设置的时候如果设置的过于简单会报错:

    原因是因为MySQL有密码设置的规范,具体是与validate_password_policy的值有关:

    MySQL完整的初始密码规则可以通过如下命令查看:

    mysql> SHOW VARIABLES LIKE 'validate_password%';

    +--------------------------------------+-------+

    | Variable_name                        | Value |

    +--------------------------------------+-------+

    | validate_password_check_user_name    | OFF   |

    | validate_password_dictionary_file    |       |

    | validate_password_length             | 4     |

    | validate_password_mixed_case_count   | 1     |

    | validate_password_number_count       | 1     |

    | validate_password_policy             | LOW   |

    | validate_password_special_char_count | 1     |

    +--------------------------------------+-------+

    7 rows in set (0.01 sec)

      密码的长度是由validate_password_length决定的,而validate_password_length的计算公式是:

    validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

    我的是已经修改过的,初始情况下第一个的值是ON,validate_password_length是8。可以通过如下命令修改:

    mysql> set global validate_password_policy=0;
    mysql> set global validate_password_length=1;
    此时在输入ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
    mysql> show databases;

    Mysql密码修改

    登录mysql,执行如下sql语句,括号内为新密码

    mysql> set password=PASSWORD('123456');

    Query OK, 0 rows affected, 1 warning (0.00 sec)

    三、snmp的安装

    步骤1、安装前的环境部署工作(服务端)

    hostname cacti ---- 规范计算机名

    vim /etc/sysconfig/network

    HOSTNAME=cacti

    步骤2、安装前的环境部署工作(服务端、客户端)

    yum -y groupinstall "Development Tools"

    步骤3、安装snmp(服务端、客户端)

    yum install -y net-snmp*

    步骤4、备份snmp配置文件(服务端、客户端)

    ll /etc/snmp/snmpd.conf

    cd /etc/snmp/

    cp snmpd.conf snmpd.conf.$(date +%F) ---- 备份snmp配置文件

    步骤5、配置snmp(服务端、客户端)

    cd /etc/snmp

    vim snmpd.conf

    cat >snmpd.conf<<EOF

    com2sec local localhost public 
    com2sec mynetwork 192.168.1.0/24 public 
    group MyRWGroup v1 local 
    group MyRWGroup v2c local 
    group MyRWGroup usm local 
    group MyROGroup v1 mynetwork 
    group MyROGroup v2c mynetwork 
    group MyROGroup usm mynetwork 
    view all included .1 80 
    access MyROGroup "" any noauth exact all none none 
    access MyRWGroup "" any noauth exact all all none 
    syslocation etiantian.org 

    syscontact Me <48098550@qq.com>

    proc mountd 
    proc ntalkd 4 
    proc sendmail 10 1 
    proc httpd 10 1 
    exec echotest /bin/echo hello world 
    exec disk_used_shell /bin/sh /root/current_disk_used.sh 
    exec httpd_proc /bin/sh /root/current_httpd_proc.sh 
    disk / 10000 
    disk /boot 10000 
    load 12 14 14

    EOF

    步骤6、启动snmp服务(服务端、客户端)

    /etc/init.d/snmpd start

    netstat -lntup | grep 161

    ps -ef | grep snmpd | grep -v grep

    snmpget -v 1 -c public localhost system.sysUpTime.0 ---- 检查snmp是否正常

    步骤7、snmp设置开机自启动(服务端、客户端)

    echo "/etc/init.d/snmpd start" >> /etc/rc.local

    cat /etc/rc.local

    三、安装RRDTool步骤(服务端)

    步骤1、安装libart_lgpl

    cd /tools

    wget http://ftp.acc.umu.se/pub/gnome/sources/libart_lgpl/2.3/libart_lgpl-2.3.17.tar.gz

    tar zxf libart_lgpl-2.3.17.tar.gz

    cd libart_lgpl-2.3.17

    ./configure

    make && make install

    /bin/cp -r /usr/local/include/libart-2.0 /usr/include

    步骤2、安装rrdtool前的准备工作

    yum -y install libart_lgpl-devel pango-devel* cairo-devel* libxml2-devel

    步骤3、安装rrdtool

    cd /tools

    wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.30.tar.gz

    tar zxf rrdtool-1.2.30.tar.gz

    cd rrdtool-1.2.30

    ./configure

    make && make install

    ln -s /usr/local/rrdtool-1.2.30/bin/rrdtool /usr/local/bin/rrdtool ---- 软连接

    ll /usr/local/bin/rrdtool ---- 查看是否安装成功

    四、安装lamp(服务端)

    步骤1、安装lamp前的准备工作

    yum install -y gcc glibc glibc-common cairo pango zlib zlib-devel freetype freetype-devel gd gd-devel

    步骤2、安装lamp

    yum install -y mysql* httpd* php* --skip-broken

    步骤3、配置Apache

    cd /etc/httpd/conf

    cp httpd.conf httpd.conf.$(date +%F)

    sed -i 's##ServerName www.example.com:80#ServerName 127.0.0.1:80#g' /etc/httpd/conf/httpd.conf

    sed -i 's#DirectoryIndex index.html index.html.var#DirectoryIndex index.php index.html#g' /etc/httpd/conf/httpd.conf

    egrep "127.0.0.1|index.ph" /etc/httpd/conf/httpd.conf ---- 检查修改结果

    步骤4、启动Apache

    /etc/init.d/httpd start

    lsof -i :80

    echo "/etc/init.d/httpd start" >> /etc/rc.local

    cat /etc/rc.local

    步骤5、测试Apache的phpinfo

    cd /var/www/html

    vim index.php

    <?php

    phpinfo();

    ?>

    systemctl stop firewalld.service  #关闭防火墙

    systemctl disable firewalld.service  #禁止防火墙开机自启

    vi /etc/sellinux/config

    SELINUX=enable  #disabled    #enable改成disabled 禁用selinux

    setenforce 0          #临时关闭selinux

    IE测试:http://192.168.4.202/index.php

    出现如上界面代表你的lamp搭建完成

    测试结束后最好把phpinfo删除,避免安全隐患。

    步骤6、启动mysql服务

    /etc/init.d/mysqld start

    lsof -i :3306

    netstat -lnt | grep 3306

    echo "/etc/init.d/mysqld start" >> /etc/rc.local

    cat /etc/rc.local

    步骤7、创建cacti用户、数据库

    mysql

    grant all on cacti.* to cactiuser@localhost identified by 'cactiuser'; ---- 用户名cactiuser,密码cactiuser

    flush privileges;

    select user,host from mysql.user; ---- 查看用户

    create database cacti;

    show databases; ---- 查看库

    2、导入数据库
    方法一:
    (1)选择数据库
    mysql>use cacti;
    (2)设置数据库编码
    mysql>set names utf8;
    (3)导入数据(注意sql文件的路径)
    mysql> source /usr/local/cacti-0.8.8b/cacti.sql

    mysql -e "use cacti;show tables;" ---- 查看cacti数据库是否导入

    cd /tools/cacti-0.8.8b/include

    vim config.php ---- cacti配置文件,可以修改登陆密码

    grep database /tools/cacti-0.8.8b/include/config.php ---- 查看用户密码配置

    步骤3、设置Apache管理用户可以管理rra和log的权限

    egrep "^User|^Group " /etc/httpd/conf/httpd.conf ---- 查看Apache服务的管理用户是谁

    cd /tools/cacti-0.8.8b

    chown -R apache rra/ log/

    步骤4、配置cacti的站点目录

    cp -a /tools/cacti-0.8.8b /var/www/html/cacti

    ll /var/www/html

    cd /var/www/html

    chown -R apache.apache cacti

    步骤5、测试poller.php(定时收集数据的php文件)

    /usr/bin/php /var/www/html/cacti/poller.php

    报错1:

    FATAL: Cannot connect to MySQL server on 'localhost'. Please make sure you have specified a valid MySQL database name in 'include/config.php'

    原因:

    mysql是编译安装的

    解决办法:

    重新部署一个新的linux系统,用yum安装mysql

    报错2:

    PHP Warning: strtotime():

    PHP Warning: date():

    报错原因:

    php5.1.0开始,php.ini里加入了date.timezone这个选项,默认这个选项是关闭状态。开启这个功能,修改显示的时间是格林威治时间配置

    解决办法:

    sed -i 's#;date.timezone =#date.timezone = Asia/Shanghai#g' /etc/php.ini

    报错3:

    sh: -q: command not found

    sh: -: command not found

    解决办法:

    chmod 755 /var/www/html/cacti/poller.php

    报错4:

    没有反应,反应速度慢

    解决办法:

    修改/etc/hosts文件,主机名IP地址对应有问题

    步骤6、poller.php加入定时任务(cacti出图时使用该文件)

    echo '#cacti Use the drawing' >> /var/spool/cron/root

    echo '*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1' >> /var/spool/cron/root

    crontab -l

    步骤7、谷歌上运行安装cacti

    http://192.168.4.202/cacti/index.php

    注释:以上路径、文件在linux命令行确认一下是否存在

    注意:默认用户名、密码是admin

    
    
  • 相关阅读:
    js中通过Object.prototype.toString方法----精确判断对象的类型
    leecode---dfs,array,局部和全局---152. Maximum Product Subarray
    leecode96---dfs,dp,tree---96. Unique Binary Search Trees
    leecode115---dfs,string---Distinct Subsequences
    JVM:G1垃圾回收器
    java基础---JVM---CMS垃圾回收器
    java基础---JVM---调优,垃圾收集器,内存分配策略
    java基础---JVM---java内存区域与内存溢出问题
    java基础---一致性hash算法
    java基础---多态的实现原理
  • 原文地址:https://www.cnblogs.com/98years/p/9008276.html
Copyright © 2011-2022 走看看