定时网络巡检工具如何配置

联启 网络工具 1

本文目录导读:

定时网络巡检工具如何配置-第1张图片-电脑手机工具软件下载 - 免费实用工具合集 | 联启科技

  1. 选择工具与准备
  2. 详细配置步骤
  3. 结果通知与报警
  4. 常见问题与优化
  5. 总结配置流程

工具选择配置巡检任务结果通知,以下是通用的配置步骤,以最常见的开源工具ZabbixPrometheus + GrafanaPython脚本 + 系统Crontab为例。

选择工具与准备

  1. 按场景选择

    • Zabbix:适合有大量网络设备(路由器、交换机、防火墙),需SNMP监控,有成熟模板,配置相对复杂但功能强大。
    • Prometheus + SNMP Exporter + Blackbox Exporter:适合云原生环境,对设备性能和可达性(Ping、端口扫描)做指标采集,灵活且资源占用低。
    • Python脚本 + Crontab/计划任务:适合轻量、定制化巡检(如批量登录设备执行命令抓取配置或状态),灵活性最高。
  2. 前置准备

    • 网络设备:开启并配置SNMP(用于性能监控)或SSH/Telnet(用于配置抓取)。
    • 巡检服务器:确保服务器能访问所有被管设备。

详细配置步骤

方案A:使用 Zabbix 进行定时SNMP巡检(推荐)

场景:监控交换机端口流量、CPU/内存、设备存活。

  1. 安装Zabbix Server & Web
    • wget 获取安装包或使用包管理器(如 yum install zabbix-server-mysql)。
  2. 导入Networking模板
    • 在Zabbix Web界面 Configuration > Templates 搜索 Template Module ICMP PingNetworks Devices
  3. 创建设备主机
    • Configuration > Hosts > Create host
    • Host name:设备名(如 Switch-A)。
    • Groups:选择 Linux servers 或新建 Network Devices
    • Interfaces:选择 SNMP,填入设备IP,端口161,版本 v2c 或 v3。
    • SNMP community:填写设备上的 SNMP 团体名(如 public)。
  4. 激活
    • Templates 标签页,Link new templates,选择 Template Module ICMP Ping(确保设备在线)和 Template Net Network Generic Device SNMPv2
    • 点击 Add 完成。
  5. 设置巡检间隔
    • 进入Zabbix Server 配置文件 /etc/zabbix/zabbix_server.conf,调整 CacheSize 防止内存溢出。
    • 模板中的监控项默认每 5分钟 巡检一次,可在 Configuration > Hosts > 该设备 > Macros 中覆盖默认间隔(如设置 {$SNMP_TIMEOUT}{$INTERVAL})。

方案B:使用 Prometheus + Blackbox Exporter 进行 HTTP/Ping/端口巡检

场景:检测网站是否正常、SSL证书过期时间、TCP端口可达性。

  1. 配置 Blackbox Exporter

    • 下载并启动 blackbox_exporter
    • 编辑 blackbox.yml(默认配置即可,或自定义 probe 模块)。
    • 启动命令:./blackbox_exporter --config.file=blackbox.yml
  2. 配置 Prometheus: 在 prometheus.ymlscrape_configs 下添加类似以下模块:

    scrape_configs:
      - job_name: 'network_ping_check'
        metrics_path: /probe
        params:
          module: [icmp]  # 使用ICMP模块
        static_configs:
          - targets:
            - 192.168.1.1    # 网关
            - 8.8.8.8        # 外网
        relabel_configs:
          - source_labels: [__address__]
            target_label: __param_target
          - source_labels: [__param_target]
            target_label: instance
          - target_label: __address__
            replacement: 127.0.0.1:9115  # Blackbox Exporter地址
  3. 设置定时执行

    • Prometheus 天然在每个 scrape_interval(通常15s-30s)自动抓取。
    • 如果想“固定时间”巡检(如每天10点),需结合 Prometheus Alertmanagersilence 或使用 Cortex/Thanos 的定时查询功能,更简单的方法:在Grafana里设置Dashboard定时刷新。

方案C:Python脚本 + Crontab / 计划任务(最灵活、适合抓取配置)

场景:每天凌晨自动备份路由器配置,或检查端口状态并生成报告。

  1. 编写Python脚本(示例:检查接口状态):

    # network_check.py
    from netmiko import ConnectHandler
    import json
    from datetime import datetime
    devices = [
        {'device_type': 'cisco_ios', 'ip': '192.168.1.1', 'username': 'admin', 'password': 'secret'}
    ]
    report = []
    for device in devices:
        try:
            connection = ConnectHandler(**device)
            output = connection.send_command('show interface brief')
            connection.disconnect()
            report.append({device['ip']: output})
        except Exception as e:
            report.append({device['ip']: f"Error: {str(e)}"})
    # 写入日志
    with open(f'/var/log/network_report_{datetime.now().strftime("%Y%m%d")}.txt', 'w') as f:
        json.dump(report, f, indent=4)
  2. 配置系统定时任务(Linux)

    • 执行 crontab -e
    • 添加一行(每天凌晨3点执行):
      0 3 * * * /usr/bin/python3 /home/scripts/network_check.py
    • 若要每隔5分钟执行一次:
      */5 * * * * /usr/bin/python3 /home/scripts/network_check.py
  3. Windows 计划任务

    • 打开“任务计划程序”。
    • 创建任务 -> 触发器(每天/每小时) -> 操作(启动程序:python.exe,参数为脚本路径)。

结果通知与报警

无论使用哪种工具,都需要将巡检结果推送给管理员:

  • Zabbix:配置 Action,当监控项触发阈值(如Ping丢包率>10%),发送邮件或钉钉/企微Webhook。
  • Prometheus:配合 Alertmanager,配置 receiver 路由到 Email、Slack 或飞书。
  • 脚本:在Python脚本中加入 smtplib 发送邮件,或调用 requests 发HTTP请求到企业微信机器人。

常见问题与优化

  1. SNMP返回超时

    • 检查防火墙是否开放UDP 161端口。
    • 在Zabbix中增加 {$SNMP_TIMEOUT} 超时时间(如5秒)。
  2. SSH登录失败

    • 检查设备是否开启SSH,且允许该IP登录。
    • 最好使用SSH密钥(免密)替代密码,避免密码过期或泄漏。
  3. 数据量过大

    • 减少巡检频率(如从1分钟改为5分钟)。
    • 只监控关键指标(如端口状态、CPU),不要全量采集。

总结配置流程

步骤 操作 示例命令/配置
搭建环境 安装工具、依赖 apt install zabbix-server-mysql / pip install netmiko
添加设备 手动或自动发现 Zabbix自动发现规则 / Prometheus static_configs
配置检查项 选择模板或写脚本 模板 ICMP Ping / show interface
设置频率 Cron / Prometheus scrape_interval / Zabbix 默认间隔 */10 * * * *
动作与通知 配置报警媒介 钉钉机器人、SMTP邮件
测试 手动触发一次,查看日志 python network_check.py / Zabbix 测试

根据你管理的设备数量和巡检深度,选择合适的方案即可,如果需要进一步细化某个工具的配置,可以告诉我具体的设备型号和需求。

标签: 网络巡检

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