在本教程中,我们将学习如何在最新版本的Debian和Ubuntu 16.04 LTS中安装和配置Cacti网络监控工具。 在本指南中,将从源文件构建和安装Cacti。
Cacti是一个开源的监控工具,用于监控网络,尤其是网络设备,如交换机,路由器,通过SNMP协议的服务器。 Cacti与最终用户交互,可以通过Web工具界面进行管理。
要求
第1步:安装和配置Cacti的先决条件
1.在Debian 9中 ,打开源文件列表文件进行编辑,并通过更改以下几行将contrib和non-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
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安装中登录到MariaDB或MySQL数据库,并通过发出以下命令来创建用于安装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.cnf或mysqld.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
8.最后,重新启动MySQL和Apache服务以应用所有设置,并通过发出以下命令来验证两个服务的状态。
# 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配置设置
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二进制位置
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 9和Ubuntu 16.04 LTS服务器的最新版本中,您已经从源代码成功安装并配置了Cacti与Cacti-Spine混水器。