阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Cacti使用安装详解

145次阅读
没有评论

共计 11128 个字符,预计需要花费 28 分钟才能阅读完成。

Cacti 是一套基于 PHP,MySQL,SNMP 及 RRDTool 开发的网络流量监测图形分析工具。Cacti 是通过 snmpget 来获取数据,使用 RRDtool 绘画图形,而且你完全可以不需要了解 RRDtool 复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host 以及任何一张图,还可以与 LDAP 结合进行用户验证,同时也能自己增加模板,功能非常强大完善。界面友好。软件 Cacti 的发展是基于让 RRDTool 使用者更方便使用该软件,除了基本的 Snmp 流量跟系统资讯监控外,Cacti 也可外挂 Scripts 及加上 Templates 来作出各式各样的监控图。

cacti 是用 php 语言实现的一个软件,它的主要功能是用 snmp 服务获取数据,然后用 rrdtool 储存和更新数据,当用户需要查看数据的时候用 rrdtool 生成图表呈现给用户。因此,snmp 和 rrdtool 是 cacti 的关键。Snmp 关系着数据的收集,rrdtool 关系着数据存储和图表的生成。

Mysql 配合 PHP 程序存储一些变量数据并对变量数据进行调用,如:主机名、主机 ip、snmp 团体名、端口号、模板信息等变量。

snmp 抓到数据不是存储在 mysql 中,而是存在 rrdtool 生成的 rrd 文件中(在 cacti 根目录的 rra 文件夹下)。rrdtool 对数据的更新和存储就是对 rrd 文件的处理,rrd 文件是大小固定的档案文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。关于 RRDTool 的知识请参阅 RRDTool 教学。

RHEL6.4 中使用 Cacti+Spine 监控主机实现发送邮件报警 http://www.linuxidc.com/Linux/2013-11/92795.htm

RHEL6.4 中使用 Cacti+Spine 监控远程主机 http://www.linuxidc.com/Linux/2013-11/92796.htm

CentOS 5.5 完整安装 Cacti+Spine http://www.linuxidc.com/Linux/2011-12/49701.htm

CentOS 6 下 Cacti 搭建文档 http://www.linuxidc.com/Linux/2013-06/86595.htm

RHEL5.9 下 Cacti 监控部署详解 http://www.linuxidc.com/Linux/2013-06/85427.htm

CentOS 6.3 下 Cacti 安装详解 http://www.linuxidc.com/Linux/2013-05/84279.htm

CentOS Linux 下快速安装配置 Cacti 中文版 http://www.linuxidc.com/Linux/2013-03/81627.htm

 

前期准备工作:

Cacti 官网:http://www.cacti.net/download_cacti.php

找到 Linux/Unix in tar.gz format 连接图标,

下载地址:http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz

下载地址:http://www.cacti.net/downloads/spine/cacti-spine-0.8.8b.tar.gz
确保前期安装需要准备的软件:

    • net-snmp-devel
    • mysql
    • mysql-devel
    • openssl-devel

准备所需要的软件包

Apache http://www.apache.org/

Mysql http://www.mysql.com/

Php http://www.php.net

Rrdtool http://oss.oetiker.ch/rrdtool/

Net-snmp http://www.net-snmp.org/

Cacti http://www.cacti.net/

其中 apache、mysql、php 通过 yum 安装 

下面简述安装过程:

一、安装 RRDTool 和 SNMP

1 安装 RRDTool
yum -y install rrdtool
启动 rrdtool 服务并且加入启动列表
service rrdcached start 失败报错:rrdcached: 未被识别的服务
chkconfig rrdcached on 失败

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

也 chkconfig 失败 

2 安装 snmp 支持工具

可以 yum 安装,也可以源码安装, 比如

Wget http://sourceforge.net/projects/net-snmp/files/net-snmp/5.6.2.1/net-snmp-5.6.2.1.tar.gz/download

yum -y install net-snmp
yum -y install net-snmp-utils
启动 snmpd 服务并且加入启动列表
service snmpd start
chkconfig snmpd on

3 安装LAMP

[root@cacti ~]# yum -y install httpd mysql-server php php-mysql mysql-devel

[root@cacti ~]# chkconfig httpd on

[root@cacti ~]# chkconfig mysqld on

[root@cacti ~]# /etc/init.d/httpd start

[root@cacti ~]# /etc/init.d/mysqld start

 

启动完 httpd 之后,可以打开 http://10.xx.1.xx/,界面如下:

Cacti 使用安装详解

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-05/102361p2.htm

二、然后下载 cacti
到这里去下载 wget http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz

下载当前最新版 wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.8b.tar.gz

和 cacti-spine,http://www.cacti.net/downloads/spine/

下载当前最新版 cacti-spine,wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.8b.tar.gz

三、开始安装cacti-spine

1,建立 cacti 用户

[root@squid-2 ~]# useradd -m cacti

[root@squid-2 ~]# passwd cacti

密码:cacti

2,首先安装几个编译 cacti-spine 需要的 devel:
yum install net-snmp-devel -y
yum install mysql-devel -y
yum install openssl-devel -y

3,安装 gcclibtool
yum install gcc -y
yum install libtool -y

 

4,下载 cactid 并解压 :
tar -xf cacti-spine-0.8.8b.tar.gz
编译安装:
cd cacti-spine-0.8.8b
aclocal
libtoolize –force
autoheader
autoconf
automake
./configure
make
make install

 

5,安装好以后,我们需要再配置一下:

Cacti 使用安装详解

vim /etc/spine.conf
DB_Host localhost
DB_Database cacti
DB_User cacti_user
DB_Pass cacti05261743
DB_Port 3306,

6,启动一下看看

#/usr/local/spine/bin/spine

一般显示

SPINE: Using spine config file [/etc/spine.conf]
SPINE: Version 0.8.8a starting
SPINE: Time: 0.1190 s, Threads: 5, Hosts: 2

 

7,创建 mysql 账号:

 

  1. mysql> set names utf8;
  2. Query OK, 0 rows affected (0.00 sec)
  3. mysql> create database cacti;
  4. Query OK, 1 row affected (0.09 sec)
  5. mysql>
  6. mysql> grant all on cacti.* to cacti_user@\

 

登录 mysql,删除掉’’@localhost 以及 ’’@hostname2个用户名为空串的 mysql 账号,就 OK 了。

 

 

  1. [cacti@squid-2 ~]$ /usr/local/spine/bin/spine
  2. SPINE: Using spine config file [/etc/spine.conf]
  3. MYSQL: Connection Failed: Error:\‘2002\’, Message:\‘Can\’t connect to local MySQL server through socket \‘/var/lib/mysql/mysql.sock\’ (2)\
  4. MYSQL: Connection Failed: Error:\’2002\‘, Message:\’Can\‘t connect to local MySQL server through socket \’/var/lib/mysql/mysql.sock\‘ (2)\’
  5. MYSQL: Connection Failed: Error:\‘2002\’, Message:\‘Can\’t connect to local MySQL server through socket \‘/var/lib/mysql/mysql.sock\’ (2)\
  6. MYSQL: Connection Failed: Error:\’2002\‘, Message:\’Can\‘t connect to local MySQL server through socket \’/var/lib/mysql/mysql.sock\‘ (2)\’
  7. MYSQL: Connection Failed: Error:\‘2002\’, Message:\‘Can\’t connect to local MySQL server through socket \‘/var/lib/mysql/mysql.sock\’ (2)\
  8. 05/16/2014 04:11:43 PM – SPINE: Poller[0] FATAL: Connection Failed, Error:\’2002\‘, Message:\’Can\‘t connect to local MySQL server through socket \’/var/lib/mysql/mysql.sock\‘ (2)\’ (Spine init)

 

找到正在运行的 mysql.sock 的路径,做一个软连接:

 

  1. [root@mysqlvm2 bin]# find /name mysql.sock
  2. /usr/local/mysql/mysql.sock
  3. [root@mysqlvm2 bin]#
  4. [root@mysqlvm2 bin]# ln -s /usr/local/mysql/mysql.sock /var/lib/mysql/mysql.sock
  5. [root@mysqlvm2 bin]#

 

再次启动,有报错如下:

 

  1. [root@mysqlvm2 bin]# /usr/local/spine/bin/spine
  2. SPINE: Using spine config file [/etc/spine.conf]
  3. 05/16/2014 04:16:40 PM – SPINE: Poller[0] FATAL: MySQL Error:\‘1146\’, Message:\‘Table \’cacti.settings\‘ doesn\’t exist\

 

需要导入默认的cacti.sql,解压缩.tar.gz,获得cacti.sql

 

  1. [cacti@squid-2 cacti-0.8.8b] tar -xvf cacti-0.8.8b.tar.gz
  2. [cacti@squid-2 cacti-0.8.8b] cd cacti-0.8.8b
  3. [root@mysqlvm2 bin]# type mysql
  4. mysql is hashed (/usr/local/mysql/bin/mysql)
  5. [cacti@squid-2 cacti-0.8.8b]$
  6. mysql -u cacti_user -pcacti05261743 -h127.0.0.1 cacti </home/cacti/cacti-0.8.8b/cacti.sql
  7. [cacti@squid-2 cacti-0.8.8b]$ /usr/local/spine/bin/spine
  8. SPINE: Using spine config file [/etc/spine.conf]
  9. SPINE: Version 0.8.8b starting
  10. SPINE: Time: 0.1386 s, Threads: 5, Hosts: 2
  11. [cacti@squid-2 cacti-0.8.8b]$

 

启动成功了。

8,最后,等 cacti 安装完之后在 cacti 的 web 配置界面选择 setting

settings->paths->Spine Poller File Path [/usr/local/spine/bin/spine]
settings->poller->Poller Type [spine]
console->settings->poller->Maximum Threads per Process [5]
save 完成。

 

四、我们开始安装正主cacti

1 配置

解压并放到 apache 文档目录(/var/www/html)
tar -xf cacti-0.8.8b.tar.gz
mv cacti-0.8.8b /var/www/html/cacti

cd /var/www/html/

编辑 CentOS cacti 配置文件,连接 MySQL 服务的用户名,密码,端口等。

 

  1. vim /var/www/html/cacti/include/config.php
  2. #
  3. $database_type = \“mysql\”;
  4. $database_default = \“cacti\”;
  5. $database_hostname = \“localhost\”;
  6. $database_username = \“cacti_user\”;
  7. $database_password = \“cacti_user05161610\”;
  8. $database_port = \“3306\”;
  9. $database_ssl = false;

 

 

 

2添加计划任务 ( 使cacti5 分钟获得一次数据)
#crontab -e
*/1 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1 // 让系统每 1 分钟收集

Cacti 是一套基于 PHP,MySQL,SNMP 及 RRDTool 开发的网络流量监测图形分析工具。Cacti 是通过 snmpget 来获取数据,使用 RRDtool 绘画图形,而且你完全可以不需要了解 RRDtool 复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host 以及任何一张图,还可以与 LDAP 结合进行用户验证,同时也能自己增加模板,功能非常强大完善。界面友好。软件 Cacti 的发展是基于让 RRDTool 使用者更方便使用该软件,除了基本的 Snmp 流量跟系统资讯监控外,Cacti 也可外挂 Scripts 及加上 Templates 来作出各式各样的监控图。

cacti 是用 php 语言实现的一个软件,它的主要功能是用 snmp 服务获取数据,然后用 rrdtool 储存和更新数据,当用户需要查看数据的时候用 rrdtool 生成图表呈现给用户。因此,snmp 和 rrdtool 是 cacti 的关键。Snmp 关系着数据的收集,rrdtool 关系着数据存储和图表的生成。

Mysql 配合 PHP 程序存储一些变量数据并对变量数据进行调用,如:主机名、主机 ip、snmp 团体名、端口号、模板信息等变量。

snmp 抓到数据不是存储在 mysql 中,而是存在 rrdtool 生成的 rrd 文件中(在 cacti 根目录的 rra 文件夹下)。rrdtool 对数据的更新和存储就是对 rrd 文件的处理,rrd 文件是大小固定的档案文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。关于 RRDTool 的知识请参阅 RRDTool 教学。

RHEL6.4 中使用 Cacti+Spine 监控主机实现发送邮件报警 http://www.linuxidc.com/Linux/2013-11/92795.htm

RHEL6.4 中使用 Cacti+Spine 监控远程主机 http://www.linuxidc.com/Linux/2013-11/92796.htm

CentOS 5.5 完整安装 Cacti+Spine http://www.linuxidc.com/Linux/2011-12/49701.htm

CentOS 6 下 Cacti 搭建文档 http://www.linuxidc.com/Linux/2013-06/86595.htm

RHEL5.9 下 Cacti 监控部署详解 http://www.linuxidc.com/Linux/2013-06/85427.htm

CentOS 6.3 下 Cacti 安装详解 http://www.linuxidc.com/Linux/2013-05/84279.htm

CentOS Linux 下快速安装配置 Cacti 中文版 http://www.linuxidc.com/Linux/2013-03/81627.htm

 

前期准备工作:

Cacti 官网:http://www.cacti.net/download_cacti.php

找到 Linux/Unix in tar.gz format 连接图标,

下载地址:http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz

下载地址:http://www.cacti.net/downloads/spine/cacti-spine-0.8.8b.tar.gz
确保前期安装需要准备的软件:

    • net-snmp-devel
    • mysql
    • mysql-devel
    • openssl-devel

准备所需要的软件包

Apache http://www.apache.org/

Mysql http://www.mysql.com/

Php http://www.php.net

Rrdtool http://oss.oetiker.ch/rrdtool/

Net-snmp http://www.net-snmp.org/

Cacti http://www.cacti.net/

其中 apache、mysql、php 通过 yum 安装 

下面简述安装过程:

一、安装 RRDTool 和 SNMP

1 安装 RRDTool
yum -y install rrdtool
启动 rrdtool 服务并且加入启动列表
service rrdcached start 失败报错:rrdcached: 未被识别的服务
chkconfig rrdcached on 失败

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

也 chkconfig 失败 

2 安装 snmp 支持工具

可以 yum 安装,也可以源码安装, 比如

Wget http://sourceforge.net/projects/net-snmp/files/net-snmp/5.6.2.1/net-snmp-5.6.2.1.tar.gz/download

yum -y install net-snmp
yum -y install net-snmp-utils
启动 snmpd 服务并且加入启动列表
service snmpd start
chkconfig snmpd on

3 安装LAMP

[root@cacti ~]# yum -y install httpd mysql-server php php-mysql mysql-devel

[root@cacti ~]# chkconfig httpd on

[root@cacti ~]# chkconfig mysqld on

[root@cacti ~]# /etc/init.d/httpd start

[root@cacti ~]# /etc/init.d/mysqld start

 

启动完 httpd 之后,可以打开 http://10.xx.1.xx/,界面如下:

Cacti 使用安装详解

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-05/102361p2.htm

3 数据库配置

在前面的第三步已经配置好了,创建数据库 cacti 以及用户。

 

4 测试,建立一个 login.jsp 文件

[root@mysqlvm2 cacti]# vim login.php

 

simple demo

<?php

phpinfo();

?>

如下图所示:
Cacti 使用安装详解

打开网址页面:
启动完 httpd 之后,可以打开 http://10.xx.1.xx/,界面如下:

 

Cacti 使用安装详解

遇到的小问题,打开 index.php 是空页面,如下所示:
Cacti 使用安装详解

去查看日志,日志没有任何信息:

问题在哪里呢?

找到 apache 的配置文件httpd.conf

  1. [root@mysqlvm2 www]# vim /etc/httpd/conf/httpd.conf
  2. Search error_log
  3. 日志路径 /var/log/httpd/error_log
  4. [root@mysqlvm2 cacti]# cd /var/log/httpd/
  5. [root@mysqlvm2 httpd]# ll
  6. 总计 20
  7. rwrr 1 root root 9228 0516 18:39 access_log
  8. rwrr 1 root root 2049 0516 18:14 error_log
  9. rwrr 1 root root 0 0516 17:18 ssl_access_log
  10. rwrr 1 root root 1422 0516 18:14 ssl_error_log
  11. rwrr 1 root root 0 0516 17:18 ssl_request_log

 

逐个查看 log 信息,在 ssl_error_log 里面发现错误信息:

    1. [root@mysqlvm2 httpd]# tail f ssl_error_log
    2. [Fri May 16 18:00:36 2014][warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
    3. [Fri May 16 18:00:36 2014][warn] RSA server certificate CommonName (CN) `localhost.localdomain\‘ does NOT match server name!?
    4. [Fri May 16 18:14:39 2014] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
    5. [Fri May 16 18:14:39 2014] [warn] RSA server certificate CommonName (CN) `localhost.localdomain\’ does NOT match server
    6. [Fri May 16 18:14:39 2014][warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
    7. [Fri May 16 18:14:39 2014][warn] RSA server certificate CommonName (CN) `localhost.localdomain\‘ does NOT match server name!?
    8. [Fri May 16 18:48:48 2014] [warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
    9. [Fri May 16 18:48:48 2014] [warn] RSA server certificate CommonName (CN) `localhost.localdomain\’ does NOT match server
    10. [Fri May 16 18:48:48 2014][warn] RSA server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
    11. [Fri May 16 18:48:48 2014][warn] RSA server certificate CommonName (CN) `localhost.localdomain\

 

经过朋友 的提醒,还需要安装 php-mysql 组件

[root@mysqlvm2 httpd]# yum install -y php-mysql

之后,再打开页面,http://10.254.1.12/cacti/install/,就有信息如下:

点击next,继续下一步,其他的都死默认选项,默认登录用户名密码是admin:
Cacti 使用安装详解
Cacti 使用安装详解

 

 

五:Cacti监控 mysql 报表流量图:

wget https://mysql-cacti-templates.googlecode.com/files/better-cacti-templates-1.1.8.tar.gz

tar –xvf better-cacti-templates-1.1.8.tar.gz

cd better-cacti-templates-1.1.8

better-cacti-templates-1.1.8\scripts 下的 ss_get_mysql_stats.php 这个脚本 这个脚本需要放在 cacti 的服务端。

比如 cacti 部署在 /var/www/html 目录下,那么就 cp/var/www/html/cacti/scripts/

cp /root/better-cacti-templates-1.1.8/scripts/ss_get_mysql_stats.php /var/www/html/cacti/scripts/

修改 ss_get_mysql_stats.php 文件 第 30

$mysql_user = ‘cacti_user’;
$mysql_pass = ‘cacti_user05161610‘;
$cache_dir = “/xok.la/cacti/cache/”;

chown -R apache.apache /var/www/html/cacti/scripts

chmod -R 755 /var/www/html/cacti/scripts

使用 http 访问 cacti 主机 导入

/opt/mysql-cacti-templates-1.1.2/cacti_host_template_x_db_server_ht_0.8.6i.xml

然后创建 mysql 用户:

grant process,super on *.* to ‘cacti_user’@’%’ identified by ‘cacti_user05161610’;

Cacti 的详细介绍:请点这里
Cacti 的下载地址:请点这里

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计11128字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中