cacti如何网络绘图

联启 网络工具 17

本文目录导读:

cacti如何网络绘图-第1张图片-电脑手机工具软件下载 - 免费实用工具合集 | 联启科技

  1. 核心逻辑与数据流
  2. 前置准备
  3. 配置 SNMP 被监控设备
  4. Cacti 中的核心配置步骤
  5. 启动轮询器
  6. 查看图表
  7. 进阶优化与常见问题
  8. 总结:Cacti 绘图的最佳实践

Cacti 是一个基于 RRDtool 的经典网络监控与绘图工具,它通过 SNMP(简单网络管理协议,Simple Network Management Protocol)轮询网络设备,并将数据存储在循环数据库中,最终生成可视化图表。

以下是使用 Cacti 进行网络绘图的完整工作流程和核心步骤:

核心逻辑与数据流

理解 Cacti 的绘图逻辑是配置成功的基础:

  1. 数据收集:Cacti 的 poller(轮询器)通过 SNMP 定期(默认5分钟)向目标设备请求数据(如接口流量、CPU负载)。
  2. 数据存储:获取到的原始数据被存入 RRD 文件(轮循数据库文件,Round Robin Database),RRDtool 会自动进行数据合并(如将秒级数据汇总为小时、天、周、月、年数据),以节省磁盘空间。
  3. 数据呈现:当你打开 Cacti 网页时,它会调用 RRDtool 的 graphgraphv 命令,从 RRD 文件中读取数据,动态生成 PNG 图片并返回给浏览器。

前置准备

在开始绘图前,需要确保以下条件已满足:

  1. 安装 LAMP/LEMP 环境:Linux + Apache/Nginx + MySQL/MariaDB + PHP,Cacti 需要数据库和 PHP 环境。

  2. 安装依赖组件:SNMP 客户端、RRDtool 和 PHP-SNMP 扩展。

    # Debian/Ubuntu 示例
    sudo apt-get install apache2 mysql-server php php-mysql php-snmp rrdtool snmp snmpd libapache2-mod-php
    # RHEL/CentOS 示例
    sudo yum install httpd mariadb-server php php-mysql php-snmp rrdtool net-snmp net-snmp-utils
  3. 安装 Cacti 本体:从官网下载或使用包管理器安装。

    sudo apt-get install cacti   # 或从官网下载源码编译

配置 SNMP 被监控设备

确保待监控的网络设备(路由器、交换机、服务器)已开启 SNMP 服务。

设备端配置示例(以 Cisco 交换机为例):

enable
configure terminal
snmp-server community public RO    # 设置只读团体名(默认是 public,建议修改为强密码)
snmp-server location "机房A"        # 可选,设置位置信息
snmp-server contact "admin@example.com" # 可选,设置联系人
exit
write memory

Linux 服务器端配置(通过 net-snmp 守护进程): 编辑 /etc/snmp/snmpd.conf,添加或修改:

# 允许所有来源访问(生产环境应限制IP)
com2sec notConfigUser  default       public
group   notConfigGroup v1           notConfigUser
group   notConfigGroup v2c          notConfigUser
view    systemview    included   .1.3.6.1.2.1.1
view    systemview    included   .1.3.6.1.2.1.25.1
view    systemview    included   .1.3.6.1.2.1.2   # 包含网络接口信息
access  notConfigGroup ""      any       noauth    exact  systemview none none

重启服务:systemctl restart snmpd

Cacti 中的核心配置步骤

登录 Cacti 网页界面(通常是 http://your-server-ip/cacti),初始用户名密码均为 admin

添加设备(Devices)

  • 路径:Console -> Management -> Devices -> Add
  • General Host Options
    • Description:输入设备名称(如“核心交换机01”)。
    • Hostname:输入设备的 IP 地址或 FQDN。
    • Host Template:选择设备类型,这是一个非常重要的步骤!选择正确的模板(如 Cisco RouterGeneric SNMP Enabled Host)会自动创建相关的图形模板。
  • SNMP Options
    • SNMP Version:选择对应版本(常用 v1 或 v2c)。
    • SNMP Community:输入之前在设备上设置的只读团体名(如 public)。
    • SNMP Port:默认 161。
    • SNMP Timeout:建议设为 1000-1500 毫秒,避免超时。
  • Downed Device Detection:选择检测方式(如SNMP、Ping)。
  • Availability/Reachability Options:保留默认或按需修改。
  • 点击 Create 按钮。

如果设备配置正确,页面顶部会出现绿色的 SNMP Information 图标(表示成功获取到 SNMP 信息),点击该图标可以查看设备详细信息。

创建图形(Create Graphs for this Host)

  • 添加设备成功后,点击设备名称进入编辑页面,或直接点击 Create Graphs for this Host 链接。
  • Graph Template Selection:Cacti 会根据你选择的设备模板列出可用的图形模板(如接口流量 Interface - Traffic、CPU负载、内存使用等)。
  • Data Query:选择你要监控的具体数据源,对于接口流量,需要勾选对应的接口(如 Gi0/1)。
  • 点击 Create 按钮,Cacti 会创建对应的数据源(Data Sources)和图形(Graphs)。

将图形添加到图形树(Graph Trees)

创建好的图形默认不会直接显示在“图形(Graphs)”页面,需要将它们组织到“图形树”中。

  • 路径:Console -> Management -> Graph Trees -> Default Tree
  • 点击 Add 以添加分支(如“核心层”),然后在该分支下添加 GraphHost
  • 选择刚才创建好的设备或图形,点击 Add
  • 这样做的好处是:在“图形”页面可以按层级浏览所有图表。

启动轮询器

Cacti 的核心工作依赖于定时执行的 poller 脚本,默认是 poller.php

  • 配置 Cron 任务:确保系统有一个 Cron 任务,每5分钟执行一次采集,通常安装包会自动配置,检查 /etc/cron.d/cacti 文件。
  • 手动测试:可以手动运行命令来立即触发一次轮询:
    php /var/www/html/cacti/poller.php --force

    查看是否有数据采集成功的信息,以及是否有错误提示。

查看图表

  • 登录 Cacti 网页界面 -> Graphs 标签页。
  • 在左侧的 Graph Tree 中选择你刚才创建的树和分支,右侧就会显示最新的图表。
  • 在图表右上角可以选择时间范围(1小时、1天、1周、1个月、1年),以及图表样式(注释、时间线等)。

进阶优化与常见问题

  1. 优化数据库

    • 定期执行 php /var/www/html/cacti/poller_maintenance.php 清理过期数据(可加入 Cron 任务)。
    • 定期备份 /var/www/html/cacti/rra/ 目录(RRD 文件)和 Cacti 数据库。
  2. 调整 RRD 存储策略

    • 默认的 RRD 存储周期可能太短(如只保留2年数据)。
    • 编辑 /usr/share/cacti/cli/ 下的脚本或直接修改数据源定义,可以调整 RRA:AVERAGE:0.5:1:600 等参数,增加存储量。
  3. 常见问题排查

    • 图像不显示:检查 cacti.log(通常在 /var/log/cacti/)中的错误,最常见的原因是:Cacti 没有权限创建 RRD 文件(检查 rra/ 目录权限)、PHP 执行超时、SNMP 不通。
    • SNMP 超时:测试命令 snmpwalk -v 2c -c public <设备IP> .1.3.6.1.2.1.2 能否正常返回接口信息。
    • 时间偏移:确保 Cacti 服务器的时间是准确的(使用 NTP 同步),时间不准会导致图表数据混乱。
    • 大量设备导致性能问题:可开启 Spine(Cacti 的高速轮询引擎),或使用多个 Poller 分担负载。

Cacti 绘图的最佳实践

  1. 先验证 SNMP:在 Cacti 配置前,一定要先用 snmpwalksnmpget 工具手动测试设备的 SNMP 响应。
  2. 选择合适的模板:利用已有的设备模板和图形模板可以大幅减少重复工作。
  3. 合理的图形树结构:按地理位置、功能分区、业务线等维度建立清晰的树形目录。
  4. 定期维护:及时清理无效设备、优化数据库、管理 RRD 文件的存储周期。

希望这份指南能帮助你顺利使用 Cacti 搭建网络监控系统!如果有具体的错误信息或更具体的需求,欢迎继续提问。

标签: Cacti 网络绘图

抱歉,评论功能暂时关闭!