如何在ubuntu14.04 LTS服务器上从源代码安装Cacti

时间:2019-08-20 17:58:21  来源:igfitidea点击:

Cacti是非常有名的监控系统。
它基于RRD工具,通过外部脚本/命令收集信息,并将数据输入MySQL/MariaDB等RDBMS数据库。
Cacti前端基本上是用PHP编写的。
我们可以使用SNMP来收集这些信息并输入到Cacti数据库中。
我们可以在Cacti服务器中查看由RRD工具管理的图形中的数据。

安装Cacti的基本要求

  • Webserver:HTTPD(在这里,我们使用的是Apache2)

  • php:因为Cacti有基于php的前端。

  • php-mysql:php扩展,帮助php代码连接和管理mysql数据库。

  • php-snmp:php扩展,帮助php代码通过snmp(简单网络管理协议)管理远程设备。

  • mysql:这是mysql客户端。可以通过它管理MySQL服务器数据库

  • mysql-server:mysql服务器。

  • net-snmp:net-snmp是一套用于使用和部署snmp协议(v1、v2c和v3以及AgentX子代理协议)的软件。

安装环境

  1. 操作系统:Ubuntu 14.04 LTS

  2. 架构:x86_64

  3. 数据库服务器:MySQL Server 5.6

  4. Web服务器:Apache2

  5. IP地址:192.168.122.116

安装Cacti准备工作

在ubuntu中,首先更新apt repo。

sudo apt-get update

安装Apache、PHP、PHP扩展、SNMP:

sudo apt-get install apache2 php5 php5-mysql php5-snmp snmp php5-gd

安装RRD工具:

sudo apt-get install rrdtool

安装MySQL Server 5.6

sudo apt-get install mysql-server-5.6

为Cacti创建系统用户

sudo useradd cactiuser

MySQL数据库服务器解决方案

为Cacti创建数据库和用户,并授予用户的所有特权,设置密码

mysql -u root -p
mysql> create database cactidb;
mysql> CREATE USER 'cactiuser'@'localhost' IDENTIFIED BY 'Password';
mysql> GRANT ALL ON cactidb.* TO 'cactiuser'@'localhost'; 
mysql> flush privileges;
mysql> exit

下载并提取Cacti软件包

复制提取出来的cacti源代码到/var/www/html目录中,并重命名为cacti。

wget http://www.cacti.net/downloads/cacti-0.8.8d.tar.gz

tar -xvzf cacti-0.8.8d.tar.gz

sudo cp -prvf cacti-0.8.8d /var/www/html/cacti

从dump文件恢复Cacti数据库

将dump文件Cacti.sql还原到Cacti数据库。

mysql -u root -p cactidb < /var/www/html/cacti/cacti.sql

在config.php中配置Cacti

编辑config.php文件。

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

根据配置进行相应修改:

$database_type = "mysql";
$database_default = "cactidb";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "Password";
$database_port = "3306";
$database_ssl = false;

$url_path = "/cacti/";

$cacti_session_name = "Cacti";

修改cacti web目录的所有者和目录

chown -R www-data:www-data /var/www/html/cacti/

更改cacti web目录中rra和log目录的所有者。

chown -R cactiuser /var/www/html/cacti/rra/ /var/www/html/cacti/log/

设置计划任务

编辑/etc/crontab文件

vi /etc/crontab

在crontab末尾添加下面几行。用户cactiuser将每天每5分钟运行一次cron。

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

重启Web服务器

完成所有步骤后,重新启动Apache。

sudo service apache2 restart

在浏览器中安装cacti

在浏览器中打开 http://服务器ip/cacti

  1. “Cacti安装指南”。单击“下一步”按钮。

  2. 选择“新安装”并单击“下一步”按钮。

  3. 显示RRDtool的路径、php的路径、snmpwalk的路径、snmpget的路径、snmpbulkwalk、snmpgetnext、cacti log path、RRD工具版本和SNMP版本。单击“完成”按钮。

  4. 登录cacti,默认用户名/密码为 admin/admin

  5. 重新设置管理员的新密码。