热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS7安装Cacti

Cacti是一款优秀的开源监控软件,使用php实现,主要特点是使用snmp服务获取数据,然后用rrdtool存储和更新数据,当用户查看数据的时候,rrdtool生成图表呈现给用户。在CentOS7后,默认数据库为MariaDB,其为MySQL的一个分支,用其存储变量并进行调用。MariaDB数据库并不存储snmp捕获到的数据,snmp捕获到的数据,存在于rrdtool生成的rrd文件中,

Cacti是一款优秀的开源监控软件,使用php实现,主要特点是使用snmp服务获取数据,然后用rrdtool存储和更新数据,当用户查看数据的时候,rrdtool生成图表呈现给用户。在CentOS7后,默认数据库为MariaDB,其为MySQL的一个分支,用其存储变量并进行调用。MariaDB数据库并不存储snmp捕获到的数据,snmp捕获到的数据,存在于rrdtool生成的rrd文件中,这些文件位于cacti目录下的rra目录中。

 

一、相关软件的安装

 

多数使用yum即可安装:

yum install httpd* ----安装Web服务器Apache相关服务

yum install php* ----安装PHP相关服务

yum install mariadb* ----安装MariaDB数据库相关服务

yum install net-snmp* ----安装SNMP相关服务

yum install rrdtool rrdtool-devel rrdtool-php rrdtool-perl ----安装rrdtool以生成图像

yum install gd gd-devel php-gd ---rrdtool绘制图像需要的图形库

 

二、配置SNMP

 

 

vi /etc/snmp/snmpd.conf

 

①将41行(各有不同,请自行查找)下的default更改为127.0.0.1

 

②将62行(各有不同,请自行查找)下的systemview更改为all

 

③将85行(各有不同,请自行查找)下的#注释掉

 

 

④启动snmp

   systemctl start snmpd.service

 

三、MariaDB数据库配置

 

①启用MariaDB数据库

   systemctl start mariadb.service

 

②为root用户设置密码(以wang为例),并修改登录权限,默认密码为空

 

#mysql –u root –p      回车后输入密码(空)

MariaDB [(none)]> use mysql;

 

MariaDB [mysql]> update user set password=password( 'wang') where user='root';

MariaDB [mysql]>grant all privileges on *.* to root@localhost identified by ‘wang’ with grant option;

MariaDB [mysql]>flush privileges;

 

③添加cacti用户和cacti数据库,并为其设置权限

MariaDB [mysql]>create database cacti default character set utf8;    ##数据库字符集设置utf8,否则乱码

MariaDB [mysql]>grant all privileges on cacti.* to cacti@localhost identified by ‘cacti’ with grant option;

MariaDB [mysql]>flush privileges;

 

四、Cacti配置

①下载cacti

wget http://www.cacti.net/downloads/cacti-0.8.8f.tar.gz  ##下载cacti

 

 tar -zxvf cacti-0.8.8f.tar.gz     ##解压cacti

   mv cacti-0.8.8f /var/www/html/cacti   ##移动至/var/www/html/cacti下

 

将cacti的表内容导入创建的数据库

 

  1. cd /var/www/html/cacti 

  2. mysql -ucacti -pcacti cacti < /var/www/html/cacti/cacti.sql 

③分别编辑两个.php文件

    vi /var/www/html/cacti/include/config.php

    vi /var/www/html/cacti/include/global.php 

 

修改内容相同,内容如下:

④修改文件属性:

useradd –r –M cacti 

chown –R cacti /var/www/html/cacti/rra/ 

chown –R cacti /var/www/html/cacti/log/ 

 

⑤建立调度任务:

#crontab –e 【输入以下内容】

*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1

 

⑥启用http服务

   systemctl start httpd.service

 

⑦浏览器输入 http://localhost/cacti或者127.0.0.1/cacti 访问cacti管理页面

如出现:

       Forbidden 

       You don&#39;t have permission to access /cacti on this server.

这是因为开启了SeLinux导致权限问题 

 

 

1).查看SELinux状态:

# /usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态

SELinux status:  enabled

# getenforce                      ##该命令也可检查

 

2).关闭SELinux:

a、临时关闭(不用重启机器):

# setenforce 0                       ##设置SELinux 成为permissive模式  (关闭SELinux)

# setenforce 1                       ##设置SELinux 成为enforcing模式     (开启SELinux)

 

 

b、修改配置文件需要重启机器:

# vi /etc/selinux/config 

将SELINUX=enforcing 改为SELINUX=disabled

重启机器即可

 

再次输入 http://localhost/cacti,进入Web页面继续安装

五、安装Spine

由于默认cmd.php来轮询数据,速度会很慢,特别是在监控节点比较多的情况下,cmd.php就更显不足了,因此我们采用Spine来轮询数据。cacti-spine是一个由C语言开发的,用于替代cmd.php的快速获取速度的引擎。

 

①下载并编译安装

 

#wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.8f.tar.gz

#tar -zxvf cacti-spine-0.8.8f.tar.gz

#cd cacti-spine-0.8.8f

#./configure

#make 

#make install


②修改访问数据库的用户名密码信息

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

 

注:spine默认配置文件需要放在/etc才会生效,否则测试时会报如下错误:
SPINE: Poller[0] FATAL: Unable to read configuration file! (Spine init)

 

③测试是否正常

#/usr/local/spine/bin/spine

SPINE: Using spine config file [../etc/spine.conf]
SPINE: Version 0.8.8f starting
SPINE: Time: 2.0130 s, Threads: 1, Hosts: 2

 

④进入Cacti页面设置spine路径

Console -> Configuration -> Settings -> Paths -> Alternate Poller Path -> Spine Poller File Path
/usr/local/spine/bin/spine

 

⑤修改Cacti使用的Poller Type
Console -> Cacti Settings->Poller->Poller Type
在下拉中选择spine

 

不能出图的几个问题:

 

①安装Cacti后,完全无图,这是因为rrdtool没有完全安装

 

②如不能出图,可能是时钟问题,如下: 

#cat /var/www/html/cacti/log/cacti.log

 

1).#timedatectl   ##CentOS7统一的时间管理命令

#timedatectl set-local-rtc yes   ##yes表示使用本地时间,no则表示是UTC时间

# rm -rf /var/www/html/rra/*   ##删除/var/www/html/rra/下面的所有文件

#/usr/bin/php /var/www/html/cacti/poller.php --force  ##强制执行poller程序重新生成文件

 

2).cron的时间与poller.php的时间设置错误

一般poller.php的更新时间为60s,所以cron里边也要设置成每分钟更新一次

#crontab –e 【输入以下内容】

*/1 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1

 

3).# cat /var/www/html/cacti/log/cacti.log

OK,数据采集已经正常啦。

 

4.)进入Cacti查看,已经OK了


推荐阅读
  • 现在需要用到php(现在可以用)
    本文目录一览:1、现在在工作中PHP用到的多么? ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • 本文介绍了在无法联网的情况下,通过下载rpm包离线安装zip和unzip的方法。详细介绍了如何搜索并下载合适的rpm包,以及如何使用rpm命令进行安装。 ... [详细]
  • php课程Json格式规范需要注意的小细节
    JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgramming ... [详细]
  • PHP编程能开发哪些应用?
    导读:很多朋友问到关于PHP编程能开发哪些应用的相关问题,本文编程笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!本文目录一览: ... [详细]
  • 让你明白kvm是什么
    参考:https:blog.csdn.netbbwangjarticledetails80465320KVM工具集合:libvirt:操作和管理KVM虚机的虚拟化API ... [详细]
  • 【BUUCTF】[极客大挑战 2019]LoveSQL 详细题解总结笔记 Writeup
    【BUUCTF】[极客大挑战2019]LoveSQL一.SQL注入考点二.解题过程0.存在SQL注入1.万能密码adminor112.爆字段3.看回显4.爆数据库5.爆数据库的表6 ... [详细]
  • 本文介绍在使用vmware中配置centos6.5时遇到的网络问题,包括host-only和natip的配置,以及无法上网的原因。同时提供了解决方法,包括去掉host-only配置文件中的gateway。 ... [详细]
  • 说到C语言的语句块,真是一堆血泪史。第一大坑就是优先级。刚工作那会儿,C的书没看几本,自信满满的认为C语言都会了,拿出搞ACM培养的豪情壮志,代码倒是写得爽,却到处留 ... [详细]
  • Ubuntu 用户安装 Linux Kernel 3.15 RC1
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Linux防火墙配置—允许转发
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
author-avatar
0Hey0ne
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有