喜迎
春节

Linux下安装Cacti


1、安装rrdtool

yum install rrdtool rrdtool-perl -y

2、安装配置net-snmp

  • (1)、安装net-snmp
    yum install net-snmp net-snmp-libs net-snmp-utils

可能报错:

1
2
3
...
2:postfix-2.10.1-6.el7.x86_64 has missing requires of libmysqlclient.so.18()(64bit)
2:postfix-2.10.1-6.el7.x86_64 has missing requires of libmysqlclient.so.18(libmysqlclient_18)(64bit)

解决:缺少Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm这个包

1
2
# wget http://www.percona.com/redir/downloads/Percona-XtraDB-Cluster/5.5.37-25.10/RPM/rhel6/x86_64/Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm
# rpm -ivh Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rp
  • (2)、配置net-snmp
    vim /etc/snmp/snmpd.conf
1
2
3
4
5
6
7
8
411default 改为监控服务器ip;2public 改成复杂些的识别的字符串  
com2sec notConfigUser 127.0.0.1 public

621将systemview 改为all,供所有snmp 访问权限
access notConfigGroup "" any noauth exact all none none

85行 将#注释符号去掉
view all included .1 80
  • (3)、启动net-snmp
    service snmpd start
    可能提示:Redirecting to /bin/systemctl start snmpd.service
    解决方法:/bin/systemctl start snmpd

  • (4)、测试net-snmp
    snmpd 使用 tcp/udp 161 端口,验证snmpd 服务
    lsof -i :161

    使用snmpwalk 命令验证

    1
    2
    3
    4
    snmpwalk -v 2c -c public 127.0.0.1 
    -v是指版本,-c 是指密钥,获取到系统信息则正常!
    如果cacti搭建好后很久还是没出图,用这个命令试试看能否获取到数据。
    正常情况下,执行完这个命令后会有很多数据出现!

3、安装cacti

  • (1)、安装net-snmp
    1
    2
    3
    4
    5
    cd /tmp 
    wget http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz
    tar xzf cacti-0.8.8a.tar.gz
    mv cacti-0.8.8a /var/www/cacti
    cd /var/www/cacti
  • (2)、创建数据库
    mysqladmin --user=root -p create cacti

  • (3)、导入数据库
    mysql -uroot -p cacti < cacti.sql
    可能报错:ERROR 1067 (42000) at line 1847: Invalid default value for ‘status_fail_date’
    原因:status_fail_date的datetime默认类型是不允许的
    解决方法:

    1
    2
    3
    4
    vim /etc/my.cnf
    添加如下内容:
    sql-mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    重启mysql服务:systemctl restart mysqld
  • (4)、创建数据库用户

    1
    2
    3
    shell> mysql -uroot -p mysql 
    mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'Cacti@pwd001231';
    mysql> flush privileges;
  • (5)、配置include/config.php

    1
    2
    3
    4
    5
    $database_type = "mysql"; 
    $database_default = "cacti";
    $database_hostname = "localhost";
    $database_username = "cactiuser";
    $database_password = "Cacti@pwd001231";

打开注释掉的:$url_path = "/cacti/";

  • (6)、配置include/global.php

    1
    2
    3
    4
    5
    6
    7
    8
    /* Default database settings*/ 
    $database_type = "mysql";
    $database_default = "cacti";
    $database_hostname = "localhost";
    $database_username = "cactiuser";
    $database_password = "Cacti@pwd001231";
    $database_port = "3306";
    $database_ssl = false;
  • (7)、设置目录权限

    1
    2
    useradd cactiuser 
    chown -R cactiuser rra/ log/
  • (8)、配置计划任务

    1
    2
    3
    #crontab -e 
    */5 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1 //让系统每5分钟收集
    service crond restart
  • (9)、完成cacti的安装
    注意关闭防火墙或者允许80端口,关闭selinux
    1) 在浏览器中输入:http://监控服务器IP/cacti/
    默认用户名:admin 密码:admin
    2)设置cacti用到的命令路径
    3) 更改密码
    登陆成功户 next>> next>>

参考地址:https://www.cnblogs.com/liuyansheng/p/6118535.html


文章作者: Crazy Boy
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Crazy Boy !
评 论
 上一篇
Linux下安装nodejs
Linux下安装nodejs
1. 下载nodejs1wget https://nodejs.org/dist/v8.11.4/node-v8.11.4-linux-x64.tar.xz 2. 解压nodejs12tar xvf node-v8.11.4-li
2019-10-11
下一篇 
Linux下操作MySQL
Linux下操作MySQL
1. 登录MySQL数据库mysql -uroot -p 2. 退出MySQLquit或者exit 3. 查看MySQL版本(四种方法) 在终端下执行: mysql -V 在help中查找 mysql --help | grep Dist
2019-09-23
  目录
hexo