如何从Thruk导出所有主机和服务?

问题描述

我们在业务中使用Thruk作为不同nagios后端服务器的前端。

我需要创建由这些nagios服务器监视的所有服务及其主机的列表,但是我看不到导出列表的简便方法

我去过左下角的“配置”按钮,并设法获取了需要加载的列表,但是我无法从该区域干净地复制和粘贴,并且没有导出可用。

我想知道是否还有另一种简单的方法可以做到,通过CLI似乎将是一个较长的任务。

解决方法

您可以从Thruks REST API获取主机和服务的列表。

这里有一些示例:https://thruk.org/documentation/rest_examples.html

在命令行中,您可以使用thruk cli工具生成列表:

%> thruk r /csv/hosts?columns=name

这将创建所有主机的简单文本列表。删除/ csv前缀将导致json数据结构。 删除column = ...将导出所有可用的列。

可以从Web Rest API中获取相同的内容:

%> curl -H "X-Thruk-Auth-Key: ****" -g 'http://user:password@localhost/thruk/r/csv/hosts?columns=name'

可以在用户个人资料页面中创建API密钥。

URL /r/hosts检索当前在nagios中配置的所有主机,可以通过例如/r/config/objects?:TYPE=host访问Thruk配置工具。 以下是所有可用的剩余URL的列表: https://thruk.org/documentation/rest.html#_endpoints