背景信息:我是一名学生,我正在尝试准备一份安全监控远程指标的概念证明。
研究如何从远程主机轮询信息并了解它可以通过多种方法完成,例如1)snmp(UDP)2)check_nrpe等。
1)我希望了解nrpe如何格式化轮询数据(xml,json等)
2)如何传输nrpe数据? (udp,tcp?)
3)nrpe传输的安全机制,是否存在ACL或xml轮询数据的加密等(安全性是一个问题,因为我想证明nagios对来自远程网络的度量标准轮询很有用,我知道连接可以用SSL包裹,但我对nagios安全功能感兴趣)2)如果nagios插件可以从数据库中轮询数据
答案 0 :(得分:1)
NRPE使用自己的格式进行数据交换。它不是XML或JSON。从我所看到/告诉的,它是一个已经打包并推送到tcp的已定义类型。
typedef struct packet_struct{
int16_t packet_version;
int16_t packet_type;
u_int32_t crc32_value;
int16_t result_code;
char buffer[MAX_PACKETBUFFER_LENGTH];
}packet;
TCP。
如果使用SSL支持编译nrpe / check_nrpe(编译时需要开发库),则连接可以包装在SSL中。有一个allowed_hosts
指令形式的ACL可以限制它应答的主机,但这并不限制可以执行的命令。
这取决于“民意调查数据”的含义。 Nagios插件可以执行任何脚本编写操作。如果您希望它查询数据库并返回值,则将其写入。如果您希望它查询数据库并查看所花费的时间,请写下(或查看是否已经写过)。如果您正在查看Nagios是否可以读取数据库以找出要执行的插件...不,至少不是Nagios Core。我不能担保Nagios XI,但我相信这也不行。
我希望有所帮助。