对于你们中的某些人来说,这可能是一个基本问题,但作为初学者,我想知道如何从命令行将主机的当前状态(CPU、内存、磁盘空间等)数据导出或导入为 CSV/JSON/XML 格式。这是为我们的管理团队提供可读格式的每日报告。以下是我们正在运行的简要说明,
我们在后端有一个 nagios 服务器,我们在前端使用 Icinga 查看主机状态、图表等。在 Icinga 上,当我检查主机的当前状态时,我确实在浏览器中看到了“导出到 CSV”选项,但我想从命令行获取这些数据,这样我就可以为多个主机自动执行此过程。有没有办法简单地运行一些命令并从命令行下载主机(Windows 或 Linux)的当前状态?
谢谢!任何帮助都将不胜感激!
答案1
Icinga 原生支持 status.cgi 中的 JSON 输出。
通过构造正确的过滤器参数,您可以获取 status.cgi 可以显示的任何内容的 JSON。例如:
status.cgi?hoststatustypes=3&serviceprops=2097162&servicestatustypes=20&jsonoutput
答案2
谢谢 Keith。我修好了。只需在 URL 中添加双引号即可:)
curl -o test/test2 -u 用户:密码”http://10.0.0.1/icinga/cgi-bin/status.cgi/host=10.0.0.2&csvoutput“