Ubuntu 下安装网络图形化网络图形化

Cacti是一款功能完整的网络图形化解决方案,Cacti旨在利用RRDtool的数据存储以及图形化功能来给广大安全研究人员提供以下功能性帮助:1、远程和本地数据收集; 2、设备扫描与发现; 3、设备与图形创建自动化; 4、自定义数据收集方法; 5、用户、组和域访问控制;

在 Ubuntu 20.04/18.04 上安装 Cacti 服务器

Cacti 有许多依赖项需要安装和配置,然后才能部署 Cacti 服务器本身。本指南将一一介绍这些依赖项的安装:

步骤 1:更新系统并升级所有软件包

我们总是从服务器包升级开始,以避免任何依赖问题:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt upgrade -y

您可以在升级后重新启动服务器:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo reboot

第 2 步:安装 php 和所需的模块

我们现在需要安装 php 和 cacti 所需的一些 php 模块。运行以下命令以获取并安装所有内容。

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt -y install apache2 php php-{mysql,curl,net-socket,gd,intl,pear,imap,memcache,pspell,tidy,xmlrpc,snmp,mbstring,gmp,json,xml,common,ldap}

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install libapache2-mod-php

本文长期更新链接:https://www.linuxmi.com/ubuntu-20-04-cacti.html

最重要的模块是 php-snmp 和 php-mysql。确保它们已安装。您可以使用以下命令检查您的 php 版本:

linuxmi@linuxmi:~/www.linuxmi.com$ php -v
PHP 7.4.3 (cli) (built: Nov 25 2021 23:16:22) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
   with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

更新 PHP 参数:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo vim /etc/php/*/apache2/php.ini

设置正确的时区:

date.timezone = Asia/Shanghai

更新内存限制:

memory_limit = 512M

还要调整每个脚本的最大执行时间:

max_execution_time = 300

重新启动 Apache Web 服务器

步骤 3:配置 Apache Web 服务器

确保已安装 Apache Web 服务器:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install apache2

安装 Apache 后,通过仅允许 Prod ServerTokens 来配置基本安全性。

linuxmi@linuxmi:~/www.linuxmi.com$ sudo vim /etc/apache2/conf-enabled/security.conf

更改第 25行

ServerTokens Prod

该指令将您返回的内容配置为服务器 HTTP 响应。有效选项为 Full | OS | Minimal | Minor | Major | Prod。

设置服务器名称:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo vim /etc/apache2/apache2.conf
ServerName cacti.example.com

设置服务器管理员以在出现问题时接收电子邮件。

linuxmi@linuxmi:~/www.linuxmi.com$ sudo vim /etc/apache2/apache2.conf
ServerAdmin [email protected]

如果您启用了 ufw,请在防火墙上打开 http 和 https 端口。

linuxmi@linuxmi:~/www.linuxmi.com$ sudo ufw allow http
Rule added
Rule added (v6
linuxmi@linuxmi:~/www.linuxmi.com$ sudo ufw allow https
Rule added
Rule added (v6)

进行这些更改后,您需要重新启动 apache Web 服务:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl restart apache2

第 4 步:安装和配置 MariaDB 数据库

运行以下命令在 Ubuntu 上安装 MariaDB 服务器:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install mariadb-server -y

为 Cacti 调整 MariaDB 数据库

在[mysqld]下添加以下设置:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
[mysqld]
innodb_file_format=Barracuda
innodb_large_prefix=1
collation-server=utf8mb4_unicode_ci
character-set-server=utf8mb4
innodb_doublewrite=OFF
max_heap_table_size=128M
tmp_table_size=128M
join_buffer_size=128M
innodb_buffer_pool_size=1G
innodb_flush_log_at_timeout=3
innodb_read_io_threads=32
innodb_write_io_threads=16
innodb_io_capacity=5000
innodb_io_capacity_max=10000
innodb_buffer_pool_instances=9

注释掉本地的其他设置

#character-set-server  = utf8mb4#collation-server      = utf8mb4_general_ci

重启 mariadb 服务

linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl restart mariadb

要检查这些设置中的任何一个,请使用 mysql select 语句,例如

linuxmi@linuxmi:~/www.linuxmi.com$ sudo mysql -u root
Welcome to the MariaDB monitor.  Commands end with ; or \g
Your MariaDB connection id is 31
Server version: 10.7.3-MariaDB-1:10.7.3+maria~focal mariadb.org binary distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> select @@tmp_table_size;
+------------------+
| @@tmp_table_size |
+------------------+
|        134217728
+------------------+
1 row in set (0.000 sec)
MariaDB [(none)]>
Bye

要么

MariaDB [(none)]> show variables like 'join_buffer_size';

本文长期更新链接:https://www.linuxmi.com/ubuntu-20-04-cacti.html

数据库服务器安装完成后,您需要为 Cacti 创建一个数据库:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo mysql -u root -p
CREATE DATABASE cacti DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
GRANT ALL PRIVILEGES ON cacti.* TO 'cacti_user'@'localhost' IDENTIFIED BY 'strongpassword';
GRANT SELECT ON mysql.time_zone_name TO cacti_user@localhost;
ALTER DATABASE cacti CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
FLUSH PRIVILEGES;
EXIT;

测试数据库连接:

linuxmi@linuxmi:~/www.linuxmi.com$ mysql -u cacti_user -p
Enter password:  
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 34
Server version: 10.7.3-MariaDB-1:10.7.3+maria~focal mariadb.org binary distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| cacti              |
| information_schema |
| mysql              |
+--------------------+
3 rows in set (0.001 sec)
MariaDB [(none)]>

为 cacti 数据库用户设置 mysql 时区

linuxmi@linuxmi:~/www.linuxmi.com$ sudo su -
root@linuxmi:~# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
Enter password:

第 5 步:在 Ubuntu 20.04/18.04 上安装 SNMP 和 Cacti

最后一个包安装步骤适用于 Cacti 和 snmp 包。Cacti 的功能依赖于 Snmp 和 rrdtool 工具。使用以下命令安装这些软件包:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install snmp snmpd snmp-mibs-downloader rrdtool

当要求选择 Web 服务器时,选择 Apache。

从 github 克隆项目:

linuxmi@linuxmi:~/www.linuxmi.com$ git clone -b 1.2.x https://github.com/Cacti/cacti.git
正克隆到 'cacti'...
remote: Enumerating objects: 79755, done.
remote: Counting objects: 100% (5684/5684), done.
remote: Compressing objects: 100% (1850/1850), done.
remote: Total 79755 (delta 4481), reused 4928 (delta 3814), pack-reused 74071
接收对象中: 100% (79755/79755), 146.12 MiB | 908.00 KiB/s, 完成.
处理 delta 中: 100% (59642/59642), 完成.
正在更新文件: 100% (3638/3638), 完成.

克隆 Cacti 存储库后,将文件移动到/var/www/html目录:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo mv cacti /var/www/html

现在让我们预先填充 cacti 使用的数据库:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo mysql -u root cacti 

填充数据库后,我们可以继续在/var/www/html/cacti/include中创建config.php文件:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo mv /var/www/html/cacti/include/config.php.dist /var/www/html/cacti/include/config.php

修改 Cacti 配置文件并确保根据需要更改数据库设置:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo vim /var/www/html/cacti/include/config.php

第 6 步:配置 SNMP

首先通过在 /etc/snmp/snmp.conf 上注释掉以下行来启用 MIB 的加载

linuxmi@linuxmi:~/www.linuxmi.com$ sudo vim /etc/snmp/snmp.conf

把 mibs 注释掉,如下图:

通过编辑 /etc/snmp/snmpd.conf 配置 SNMP community 名称

linuxmi@linuxmi:~/www.linuxmi.com$ sudo vim /etc/snmp/snmpd.conf

从 localhost 启用完全访问权限:

rocommunity MyCacti localhost

通过以下行评论禁用公共访问:

rocommunity public default -V systemonly
rocommunity6 public default -V systemonly

改成

# rocommunity public default -V systemonly# rocommunity6 public default -V systemonly

重启 snmpd 服务:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl restart snmpd

使用 snmpwalk 命令行工具验证 snmp 配置:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo snmpwalk -v 2c -c MyCacti localhost system
SNMPv2-MIB::sysDescr.0 = STRING: Linux linuxmi 5.16.0-051600-generic #202201092355 SMP PREEMPT Sun Jan 9 23:59:37 UTC 2022 x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (2321) 0:00:23.21
SNMPv2-MIB::sysContact.0 = STRING: Me 
  
    SNMPv2-MIB::sysName.0 = STRING: linuxmi SNMPv2-MIB::sysLocation.0 = STRING: Sitting on the Dock of the Bay SNMPv2-MIB::sysServices.0 = INTEGER: 72 SNMPv2-MIB::sysORLastChange.0 = Timeticks: (2) 0:00:00.02 SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance SNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB SNMPv2-MIB::sysORID.5 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup SNMPv2-MIB::sysORID.6 = OID: TCP-MIB::tcpMIB SNMPv2-MIB::sysORID.7 = OID: IP-MIB::ip SNMPv2-MIB::sysORID.8 = OID: UDP-MIB::udpMIB SNMPv2-MIB::sysORID.9 = OID: SNMP-NOTIFICATION-MIB::snmpNotifyFullCompliance SNMPv2-MIB::sysORID.10 = OID: NOTIFICATION-LOG-MIB::notificationLogMIB SNMPv2-MIB::sysORDescr.1 = STRING: The SNMP Management Architecture MIB. SNMPv2-MIB::sysORDescr.2 = STRING: The MIB 
   for Message Processing and Dispatching. SNMPv2-MIB::sysORDescr.3 = STRING: The management information definitions 
   for the SNMP User-based Security Model. SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module 
   for SNMPv2 entities SNMPv2-MIB::sysORDescr.5 = STRING: View-based Access Control Model 
   for SNMP. SNMPv2-MIB::sysORDescr.6 = STRING: The MIB module 
   for managing TCP implementations SNMPv2-MIB::sysORDescr.7 = STRING: The MIB module 
   for managing IP and ICMP implementations SNMPv2-MIB::sysORDescr.8 = STRING: The MIB module 
   for managing UDP implementations SNMPv2-MIB::sysORDescr.9 = STRING: The MIB modules 
   for managing SNMP Notification, plus filtering. SNMPv2-MIB::sysORDescr.10 = STRING: The MIB module 
   for logging SNMP Notifications. SNMPv2-MIB::sysORUpTime.1 = Timeticks: (1) 0:00:00.01 SNMPv2-MIB::sysORUpTime.2 = Timeticks: (1) 0:00:00.01 SNMPv2-MIB::sysORUpTime.3 = Timeticks: (1) 0:00:00.01 SNMPv2-MIB::sysORUpTime.4 = Timeticks: (2) 0:00:00.02 SNMPv2-MIB::sysORUpTime.5 = Timeticks: (2) 0:00:00.02 SNMPv2-MIB::sysORUpTime.6 = Timeticks: (2) 0:00:00.02 SNMPv2-MIB::sysORUpTime.7 = Timeticks: (2) 0:00:00.02 SNMPv2-MIB::sysORUpTime.8 = Timeticks: (2) 0:00:00.02 SNMPv2-MIB::sysORUpTime.9 = Timeticks: (2) 0:00:00.02 SNMPv2-MIB::sysORUpTime.10 = Timeticks: (2) 0:00:00.02 
  

请记住将 MyCacti 替换为您的rocommunity字符串的名称。

第 7 步:在 Ubuntu 20.04/18.04 上配置 Cacti 服务器

设置 Cacti 目录权限:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo chown -R www-data:www-data /var/www/html/cacti

为 Cacti 创建 systemd Unit单元文件:

创建环境文件:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo touch /etc/default/cactid

现在启动并启用 cacti 服务:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl daemon-reload
linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl enable cactid
Created symlink /etc/systemd/system/multi-user.target.wants/cactid.service → /etc/systemd/system/cactid.service.
linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl restart cactid

检查cactid服务的状态:

linuxmi@linuxmi:~/www.linuxmi.com$ systemctl status cactid
● cactid.service - Cacti Daemon Main Poller Service
    Loaded: loaded (/etc/systemd/system/cactid.service; enabled; vendor preset>
    Active: active (running) since Sun 2022-02-27 17:18:35 CST; 1min 56s ago
   Process: 69143 ExecStart=/var/www/html/cacti/cactid.php (code=exited, statu>
  Main PID: 69148 (php)
     Tasks: 1 (limit: 4575)
    Memory: 17.4M
    CGroup: /system.slice/cactid.service
            └─69148 php /var/www/html/cacti/cactid.php
2月 27 17:18:35 linuxmi systemd[1]: Starting Cacti Daemon Main Poller Service...
2月 27 17:18:35 linuxmi cactid.php[69143]: Starting Cacti Daemon ... [OK]
2月 27 17:18:35 linuxmi systemd[1]: Started Cacti Daemon Main Poller Service.

第 8 步:在 Web 界面上启动初始 Cacti 设置

打开 Web 浏览器并从 Cacti 服务器上授权的客户端系统导航到“ http://(Cacti 服务器的主机名或 IP 地址)/cacti/ ”。

使用用户名admin和密码admin登录

重置管理员密码(修改为Admin@123)

Cacti 版本 1.2.20 – 许可协议,勾选 接受 GPL 许可协议 ,然后单击“开始”按钮继续。

Cacti 将检查是否满足所有要求。您可能需要根据警告级别进行一些更改。

单击 下一步 按钮进入下一阶段。

您将被要求选择服务器安装类型:

安装选项:

  • 新的主要服务器 – 为主站点选择此项.
  • 新的远程poller – 远程poller 用于访问主站点无法访问的网络.

由于这是我们的第一台服务器,请选择“新的主要服务器”,然后单击 下一步

确认所有二进制文件都已找到,然后单击 下一步。

记下安装后需要 只读 权限的目录,点击 下一步。

完成所有其他步骤,包括模板设置:

然后确认安装:

您现在处于最后阶段,通过单击“ 完成 ”按钮完成安装以获取登录页面。

默认登录名是:

用户名:admin

密码:updated_password

当提示更改管理员用户的密码时,提供新密码并确认。然后您将访问 Cacti 界面,如下所示:

第 9 步:监控本地 Cacti 服务器

添加本地 Cacti 服务器进行监控。以管理员用户身份登录 Cacti 并转到:

控制台 > 设备 > +(添加设备)

填写服务器详细信息并向下滚动并单击“保存”按钮。

第 10 步:使用 Cacti Spine Poller

Spine 是一个多线程、高速数据收集工具,可替代 Cacti 的 cmd.php。您可以按照这篇《如何在 Ubuntu 20.04/18.04 上安装 Cacti Spine 轮询器》安装使用它:https://www.linuxmi.com/ubuntu-20-04-cacti-spine-poller.html

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/220429.html<

(0)
运维的头像运维
上一篇2025-04-14 13:52
下一篇 2025-04-14 13:53

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注