如何在 Ubuntu 16.04 上安装 Cacti 1.1.10
作者:Kent Ickler
提示: 本文提及的技术和工具可能已过时,不适用于当前环境。但本文仍可作为学习机会,用于更新或集成到现代工具和技术中。
什么是 Cacti?
Cacti 是一个网络系统,可输入系统生成的量化数据并以精美的图表呈现数据。
网络管理员
在网络管理领域,Cacti 提供时间关键和时间历史数据,帮助您做出重要决策。典型的数据输入包括:交换机端口利用率、环境信息(温度、湿度等)、系统关键指标:存储空间、CPU 时间等。
安全管理员
结合 SIEM 和其他系统数据源,Cacti 可用于生成安全基线和标准化模式。它也是网络的快速健全性检查工具。
安装 Ubuntu 16.04
我们使用 ISO 镜像 ubuntu-16.04.2-server-amd64.iso 进行安装。
完成典型设置,但在操作系统安装包选择期间确保安装 LAMP 包。
系统将提示创建 MySQL root 账户密码。创建密码(不要留空),妥善保管(稍后在使用 mysql 和 mysqladmin 时需要),然后继续。
安装完成后登录。注意我们需要进行的所有更新!
更新基础系统
1
2
3
4
|
sudo -s
apt-get update
apt-get upgrade
reboot -h now
|
配置网络
更新完成后,设置网络堆栈。然后重启:
1
2
|
sudo -s
nano /etc/network/interfaces
|
nano 注意事项: CTRL+O 保存更改,CTRL+X 关闭
更新网络设置并再次重启。
关于 sudo 和 root 的说明
从现在开始的大部分工作都在 root 下完成,因为大部分工作都在 /opt/ 目录内进行并安装组件。
安装先决条件
重启后再次登录。
我们需要为 Cacti 安装一些先决条件:
1
|
apt-get install php-xml php-ldap php-mbstring php-gd php-snmp php-gmp rrdtool snmp librrds-perl
|
下载 Cacti 文件
1
2
3
|
wget http://www.cacti.net/downloads/cacti-1.1.10.tar.gz
tar xvzf cacti-1.1.10.tar.gz
mv cacti-1.1.10 /opt/cacti
|
设置日志位置
1
2
3
4
5
|
mkdir /opt/logs
touch /opt/logs/cacti.log
touch /opt/logs/httpd_access.log
touch /opt/logs/httpd_error.log
chown -R www-data /opt/logs/*
|
配置 SQL 数据库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# 创建 cacti 数据库
mysqladmin --user=root --password create cacti
### 输入您的 mysql root 密码
# 填充 Cacti 数据库
mysql --user root -p cacti < /opt/cacti/cacti.sql
### 输入您的 mysql root 密码
### 此过程需要几分钟,请耐心等待提示符返回
# 在 SQL 中创建时区表
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
### 输入您的 mysql root 密码
# 为 cacti 用户提供对 cacti 数据库和时区数据库的访问权限
mysql --user=root --password mysql
### 输入您的 mysql root 密码。
### 这将使您进入 mysql 数据库的 mysql 控制台。
### 注意:此处引用的 'somepassword' 是 cacti 用户密码,必须与下一节中 cacti 配置中使用的密码相同
mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'somepassword';
mysql> GRANT SELECT ON mysql.time_zone_name TO cacti@localhost IDENTIFIED BY 'somepassword';
Exit
|
配置 Cacti 文件
注意: 此处引用的 ‘somepassword’ 是上面指定的 cacti 数据库用户密码。
1
2
3
4
5
6
7
8
9
10
11
|
nano /opt/cacti/include/config.php
### 找到这些变量并进行以下更改
$database_type = 'mysql';
$database_default = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = somepassword;
$database_port = '3306';
$database_ssl = false;
$url_path = '';
|
设置文件权限
注意: 设置完成后,出于安全原因,“Needed for setup” 部分应恢复为您的 Linux 用户。
1
2
3
4
5
6
7
8
9
10
11
|
# 安装所需
chown -R www-data:www-data /opt/cacti/resource/snmp_queries
chown -R www-data:www-data /opt/cacti/resource/script_server
chown -R www-data:www-data /opt/cacti/resource/script_queries
chown -R www-data:www-data /opt/cacti/scripts
# 始终需要
chown -R www-data:www-data /opt/cacti/rra/ /opt/cacti/log/
chown -R www-data:www-data /opt/cacti/cache/mibcache
chown -R www-data:www-data /opt/cacti/cache/realtime
chown -R www-data:www-data /opt/cacti/cache/spikekill
|
配置 Apache
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
touch /etc/apache2/sites-available/cacti.conf
nano /etc/apache2/sites-available/cacti.conf
### 输入以下内容并保存 cacti.conf
<VirtualHost *:80>
<Location />
require all granted
</Location>
ServerAdmin webmaster@localhost
DocumentRoot /opt/cacti
ErrorLog /opt/logs/httpd_error.log
CustomLog /opt/logs/httpd_access.log combined
</VirtualHost>
|
从 Apache 中移除默认/现有站点
1
|
rm /etc/apache2/sites-enabled/*
|
在 Apache 中启用 Cacti 站点
配置 MySQL
1
2
3
4
5
6
7
8
9
10
11
12
|
nano /etc/mysql/mysql.conf.d/mysqld.cnf
### 将以下行添加到配置文件底部:
Max_heap_table_size = 380M
Tmp_table_size = 64M
Join_buffer_size = 64M
Innodb_doublewrite = OFF
Innodb_buffer_pool_size = 1899M
Innodb_flush_log_at_timeout = 3
Innodb_read_io_threads = 32
Innodb_write_io_threads = 16
|
配置轮询器 Crontab
1
2
3
4
5
|
nano /etc/crontab
### 在底部添加行
*/5 * * * * www-data php /opt/cacti/poller.php > /dev/null 2>&1
|
重启服务
1
2
|
service apache2 restart
service mysql restart
|
启动 Web 图形界面安装
完成所有先决条件后,Web 图形界面安装应该会相当顺利。每页的左下角有 NEXT 按钮。
注意: 确保将 cacti 日志路径更新为 /opt/logs/cacti.conf
确保检查所有可用的安装模板。
完成!登录!
首次登录的默认凭据是:
用户: admin
密码: admin
首次登录时将提示您更改密码。
查看这篇关于将 HP ProCurve 交换机添加到 Cacti 的后续文章。