You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Confluence页面自动化展示Nagios服务器状态报告?

将Nagios状态报告自动同步到Confluence页面的可行方案

当然可以实现!我之前帮团队搭建过一模一样的自动化流程,下面分享几个靠谱的方案,全程不用跳外部链接就能搞定:

方案一:自定义脚本对接Nagios与Confluence API

这是最灵活的方案,适合需要定制展示内容的场景:

  1. 从Nagios抓取状态数据
    Nagios Core自带JSON格式的状态API,你可以用curl或者Python直接调用获取数据。比如获取所有主机状态的命令:
curl -u nagios用户名:nagios密码 "http://你的Nagios服务器地址/nagios/cgi-bin/statusjson.cgi?query=hostlist"

如果要获取服务状态,把query参数改成servicelist即可。

  1. 处理并格式化数据
    用Python(推荐)或者Shell脚本解析返回的JSON数据,提取你关心的字段——比如主机名、状态(UP/DOWN)、最后检查时间、告警详情等,然后整理成Confluence支持的格式(比如简化版Markdown表格,或者HTML片段)。

举个Python处理的核心逻辑示例:

import requests
import json

# 获取Nagios数据
nagios_url = "http://你的Nagios服务器地址/nagios/cgi-bin/statusjson.cgi?query=hostlist"
auth = ("nagios用户名", "nagios密码")
response = requests.get(nagios_url, auth=auth)
host_data = json.loads(response.text)['data']['hostlist']

# 生成Confluence表格内容
table_content = "| 主机名 | 状态 | 最后检查时间 |\n|--------|------|--------------|\n"
for host in host_data:
    table_content += f"| {host['name']} | {host['status']} | {host['last_check']} |\n"
  1. 推送数据到Confluence
    使用Confluence的REST API更新指定页面。首先要在Confluence个人设置里生成API令牌,然后用curl或者Python的requests库发送更新请求,把刚才生成的内容替换到页面的指定位置(比如用页面里的特定标记来定位替换区域,避免覆盖页面其他内容)。

方案二:静态文件嵌入Confluence(无脚本基础首选)

如果不想写代码,可以用这种更轻量化的方式:

  • 定期导出Nagios静态报告:配置一个Cron任务,定时(比如每小时)用wget抓取Nagios的状态页面,保存成HTML文件:
wget --user=nagios用户名 --password=nagios密码 -O /path/to/nagios_status.html "http://你的Nagios服务器地址/nagios/cgi-bin/status.cgi"
  • 嵌入到Confluence页面:把导出的HTML文件上传到Confluence页面的附件,然后添加「HTML包含」宏,选择上传的附件;如果Confluence服务器能直接访问Nagios的静态文件地址,也可以直接用宏引用该URL。
    注意:这个方法实时性稍弱,适合不需要高频更新的场景

方案三:借助Jenkins做中间调度(已有CI/CD环境可选)

如果团队已经在用Jenkins,可以把它作为自动化的中间层:

  • 创建一个定时触发的Jenkins任务(比如每5分钟执行一次),在任务里调用Nagios API获取数据并格式化。
  • 安装Jenkins的Confluence插件,直接在任务配置里设置好Confluence的地址、API令牌和目标页面ID,插件会自动帮你完成页面更新,不用自己写认证和请求逻辑。

关键注意事项

  • 权限配置:确保Nagios的API允许脚本所在服务器访问,Confluence的API令牌要有目标页面的编辑权限。
  • 内容过滤:如果监控的主机/服务数量多,建议只展示异常状态(DOWN/CRITICAL/WARNING)的条目,避免页面过于冗长。
  • 格式兼容:Confluence的Markdown和标准Markdown有细微差异,比如表格的对齐方式,测试时要调整格式确保正常显示。

内容的提问来源于stack exchange,提问作者aa4931

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:16:29