如何在Debian和Ubuntu上安装Cacti-Spine

在本教程中,我们将学习如何在最新版本的Debian和Ubuntu 16.04 LTS中从源文件安装和配置Cacti网络监控工具。

在本教程中,我们将学习如何在最新版本的DebianUbuntu 16.04 LTS中安装和配置Cacti网络监控工具。 在本指南中,将从源文件构建和安装Cacti。

Cacti是一个开源的监控工具,用于监控网络,尤其是网络设备,如交换机,路由器,通过SNMP协议的服务器。 Cacti与最终用户交互,可以通过Web工具界面进行管理。

要求

  1. Debian 9安装LAMP Stack
  2. LAMP安装在Ubuntu 16.04 LTS

第1步:安装和配置Cacti的先决条件

1.Debian 9中 ,打开源文件列表文件进行编辑,并通过更改以下几行将contribnon-free存储库添加到文件中:

# nano /etc/apt/sources.list

将以下行添加到sources.list文件。

deb http://ftp.ro.debian.org/debian/ stretch main contrib non-free
deb-src http://ftp.ro.debian.org/debian/ stretch main
deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security stretch/updates main
将存储库添加到Debian

将存储库添加到Debian

2.之后,请确保通过执行以下命令来更新系统。

# apt update
# apt upgrade

3.在您的LAMP中,确保系统中存在以下PHP扩展。

# apt install php7.0-snmp php7.0-xml php7.0-mbstring php7.0-json php7.0-gd php7.0-gmp php7.0-zip php7.0-ldap php7.0-mcrypt

4.接下来,编辑PHP配置文件,并通过发出以下命令更改时区设置以匹配您的服务器的物理位置。

# echo "date.timezone = Europe/Bucharest" >> /etc/php/7.0/apache2/php.ini 

5.接下来,从LAMP安装中登录到MariaDBMySQL数据库,并通过发出以下命令来创建用于安装Cacti的数据库。

将cacti数据库名称,用户名和密码替换为您自己的配置,并为cacti数据库选择一个强大的密码。

# mysql -u root -p
mysql> create database cacti;
mysql> grant all on cacti.* to 'cactiuser'@'localhost' identified by 'password1';
mysql> flush privileges;
mysql> exit
创建仙人掌数据库

创建仙人掌数据库

6.另外,发出以下命令,通过发出以下命令,允许cacti用户选择对MySQL数据。时设置的权限。

# mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql 
# mysql -u root -p -e 'grant select on mysql.time_zone_name to [email protected]'

7.接下来,打开MySQL服务器配置文件,并在文件末尾添加以下行。

# nano /etc/mysql/mariadb.conf.d/50-server.cnf [For MariaDB]
# nano /etc/mysql/mysql.conf.d/mysqld.cnf      [For MySQL] 

将以下行添加到50-server.cnfmysqld.cnf文件的末尾。

max_heap_table_size		= 98M
tmp_table_size			= 64M
join_buffer_size		= 64M
innodb_buffer_pool_size	= 485M
innodb_doublewrite		= off
innodb_flush_log_at_timeout	= 3
innodb_read_io_threads	= 32
innodb_write_io_threads	= 16

对于MariaDB数据库,还将以下行添加到50-server.cnf文件的末尾:

innodb_additional_mem_pool_size	= 80M
为Cacti配置MySQL

为Cacti配置MySQL

8.最后,重新启动MySQLApache服务以应用所有设置,并通过发出以下命令来验证两个服务的状态。

# systemctl restart mysql apache2
# systemctl status mysql apache2

第2步:下载并准备Cacti安装

9.通过下载和提取最新版本的Cacti归档文件,从源代码开始安装Cacti,并通过发出以下命令将所有解压缩文件复制到Apache Web文档根目录。

# wget https://www.cacti.net/downloads/cacti-latest.tar.gz
# tar xfz cacti-latest.tar.gz 
# cp -rf cacti-1.1.27/* /var/www/html/

10./ var / www / html目录中删除index.html文件,创建Cacti日志文件并授予Apache对web根路径的写入权限。

# rm /var/www/html/index.html
# touch /var/www/html/log/cacti.log
# chown -R www-data:www-data /var/www/html/

11.接下来,编辑cacti配置文件并修改下面的行,如下例所示。

# nano /var/www/html/include/config.php

仙人掌config.php文件示例。 相应地替换仙人掌数据库名称,用户和密码。

$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'password1;
$database_port     = '3306';
$database_ssl      = false;
$url_path = '/';
Cacti配置设置

Cacti配置设置

12.接下来,通过发出以下命令,从/ var / www / html /目录中用cacti.sql脚本填充cacti数据库。

# mysql -u cactiuser cacti -p < /var/www/html/cacti.sql 

13.现在安装一些额外的资源,因为Cacti引擎通过SNMP协议收集设备数据并使用RRDtool显示图形。 通过发出以下命令来安装它们全部。

# apt install snmp snmpd snmp-mibs-downloader rrdtool

14.通过执行以下命令重新启动snmpd守护程序,验证SNMP服务是否已启动并正在运行。 同时检查snmpd守护进程状态及其开放端口。

# systemctl restart snmpd.service 
# systemctl status snmpd.service
# ss -tulpn| grep snmp

第3步:下载并安装仙人掌

15. Cacti-Spine是C语言写成的默认cmd.php轮询器的替代品。 Cacti-Spine提供更快的执行时间。 要从源代码编译Cacti-Spine合并器,请在系统中安装以下所需的依赖项。

---------------- On Debian 9 ---------------- 
# apt install build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql++-dev librrds-perl libsnmp-dev libmariadb-dev libmariadbclient-dev
---------------- On Ubuntu ---------------- 
# apt install build-essential dos2unix dh-autoreconf help2man libssl-dev libmysql++-dev  librrds-perl libsnmp-dev libmysqlclient-dev libmysqld-dev  

16.安装上述依赖关系之后,下载最新版本的Cacti-Spine压缩文件,通过发布以下一系列命令来解压缩压缩文件并编译cacti-spine。

# wget https://www.cacti.net/downloads/spine/cacti-spine-latest.tar.gz
# tar xfz cacti-spine-latest.tar.gz 
# cd cacti-spine-1.1.27/

17.通过发出以下命令编译并安装来自源的Cacti-Spine。

# ./bootstrap 
# ./configure 
# make
# make install

18.接下来,确保spine binary由root帐户拥有,并通过运行以下命令来设置spine实用程序的suid位。

# chown root:root /usr/local/spine/bin/spine 
# chmod +s /usr/local/spine/bin/spine

19.现在,编辑Cacti Spine配置文件,并将Cacti数据库名称,用户名和密码添加到Spine conf文件中,如下例所示。

# nano /usr/local/spine/etc/spine.conf

将以下配置添加到spine.conf文件中。

DB_Host localhost
DB_Database cacti
DB_User cactiuser
DB_Pass password1
DB_Port 3306
DB_PreG 0

第4步:Cacti安装向导安装

20.要安装Cacti,请打开浏览器并在以下URL中导航到您的系统IP地址或域名。

http://your_IP/install

首先,检查Acept许可协议,然后点击下一步按钮继续。

仙人掌授权协议

仙人掌授权协议

21.接下来,检查系统要求并点击Next按钮继续。

仙人掌预安装检查

仙人掌预安装检查

22.在下一个窗口中,选择New Primary Server并点击Next按钮继续。

选择仙人掌安装类型

选择仙人掌安装类型

接下来,验证关键的二进制位置和版本,并将Spine二进制路径更改为/ usr / local / spine / bin / spine 完成后,点击下一步按钮继续。

验证Cacit二进制位置

验证Cacit二进制位置

24.接下来,检查是否所有的Web服务器目录权限已经设置(写权限设置),并点击下一步按钮继续。

仙人掌目录权限检查

仙人掌目录权限检查

25.下一步,检查所有的模板,点击完成按钮,以完成安装过程。

仙人掌模板设置

仙人掌模板设置

26.使用下面显示的默认凭据登录到Cacti Web界面,并更改管理员密码,如以下屏幕截图所示。

Username: admin
Password: admin
仙人掌管理员登录

仙人掌管理员登录

更改仙人掌管理员密码

更改仙人掌管理员密码

27.接下来,进入控制台 - >配置 - >设置 - >轮询器 ,并将轮询类型cmd.php更改Spine二进制,然后向下滚动到保存按钮以保存配置。

仙人掌轮询设置

仙人掌轮询设置

28.然后,进入控制台 - >配置 - >设置 - >路径 ,并将以下路径添加到Cacti-Spine配置文件中:

/usr/local/spine/etc/spine.conf 

点击保存按钮以应用配置。

添加仙人掌脊柱配置

添加仙人掌脊柱配置

29. Cacti轮询器启动从受监视设备收集数据的最终设置是添加一个新的crontab任务,以便每5分钟通过SNMP查询每个设备。

crontab作业必须由www-data帐户拥有。

# crontab -u www-data -e

添加Cron文件条目:

*/5 * * * * /usr/bin/php /var/www/html/poller.php

30.等待几分钟让Cacti收集数据并转到Graphs - > Default Tree ,您应该看到为您监控的设备收集的图表。

仙人掌监测图表

仙人掌监测图表

就这样! Debian 9Ubuntu 16.04 LTS服务器的最新版本中,您已经从源代码成功安装并配置了CactiCacti-Spine混水器。