如何将Nagios数据导出为CSV?

Fiq*_*nan 3 database nagios export-to-csv

我是新手,我正在为我的项目做这件事.我能够成功安装和监控nagios.但是我需要将这些数据导出到csv中.任何人都可以帮助我吗?

非常感谢xx

Joe*_*ung 7

您可以在配置文件中设置host_perfdata_fileservice_perfdata_file指令,nagios.cfg以使用host_perfdata_file_templateservice_perfdata_file_template指令指定的格式将性能数据输出到指定的文件路径.

将性能数据写入文件

您可以让Nagios使用host_perfdata_fileservice_perfdata_file选项将所有主机和服务性能数据直接写入文本文件.将主机和服务性能数据写入这些文件的格式由host_perfdata_file_templateservice_perfdata_file_template 选项确定 .

服务性能数据的示例文件格式模板可能如下所示:

service_perfdata_file_template=[SERVICEPERFDATA]\t$TIMET$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$
Run Code Online (Sandbox Code Playgroud)

默认情况下,文本文件将以"追加"模式打开.如果需要将模式更改为"写入"或"非阻塞读/写"(在写入管道时很有用),则可以使用host_perfdata_file_mode和service_perfdata_file_mode选项.

此外,您可以让Nagios定期执行命令,以使用host_perfdata_file_processing_commandservice_perfdata_file_processing_command选项对性能数据文件进行periocially处理(例如,旋转它们).执行这些命令的时间间隔分别由 host_perfdata_file_processing_intervalservice_perfdata_file_processing_interval选项控制.

资料来源:https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/perfdata.html

性能数据处理选项

Format:   process_performance_data=<0/1>
Example:  process_performance_data=1
This value determines whether or not Nagios will process host and service check performance data.

0 = Don't process performance data (default)
1 = Process performance data
Run Code Online (Sandbox Code Playgroud)

主机性能数据处理命令

Format:   host_perfdata_command=<command>
Example:  host_perfdata_command=process-host-perfdata
Run Code Online (Sandbox Code Playgroud)

此选项允许您指定在每次主机检查后运行的命令,以处理可能从检查返回的主机性能数据.command参数是您在对象配置文件中定义的命令定义的简称.仅当全局启用process_performance_data选项并且启用了主机定义中的process_perf_data指令时,才会执行此命令.

服务性能数据处理命令

Format:   service_perfdata_command=<command>
Example:  service_perfdata_command=process-service-perfdata
Run Code Online (Sandbox Code Playgroud)

此选项允许您指定在每次服务检查后运行的命令,以处理可能从检查返回的服务性能数据.command参数是您在对象配置文件中定义的命令定义的简称.仅当全局启用process_performance_data选项且启用了服务定义中的process_perf_data指令时,才会执行此命令.

主机性能数据文件

Format:   host_perfdata_file=<file_name>
Example:  host_perfdata_file=/usr/local/nagios/var/host-perfdata.dat
Run Code Online (Sandbox Code Playgroud)

此选项允许您指定在每次主机检查后将向其写入主机性能数据的文件.数据将写入host_perfdata_file_template选项指定的性能文件.如果全局启用process_performance_data选项并且启用了主机定义中的process_perf_data指令,则性能数据仅写入此文件.

服务性能数据文件

Format:   service_perfdata_file=<file_name>
Example:  service_perfdata_file=/usr/local/nagios/var/service-perfdata.dat
Run Code Online (Sandbox Code Playgroud)

此选项允许您指定在每次服务检查后将写入服务性能数据的文件.数据将写入service_perfdata_file_template选项指定的性能文件.如果全局启用process_performance_data选项并且启用了服务定义中的process_perf_data指令,则性能数据仅写入此文件.

主机性能数据文件模板

Format:   host_perfdata_file_template=<template>
Example:  host_perfdata_file_template=[HOSTPERFDATA]\t$TIMET$\t$HOSTNAME$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$
Run Code Online (Sandbox Code Playgroud)

此选项确定将哪些(以及如何)数据写入主机性能数据文件.模板可能包含宏,特殊字符(\ t表示制表符,\ r表示回车符,\n表示换行符)和纯文本.每次写入性能数据文件后,都会自动添加换行符.

服务性能数据文件模板

Format:   service_perfdata_file_template=<template>
Example:  service_perfdata_file_template=[SERVICEPERFDATA]\t$TIMET$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$
Run Code Online (Sandbox Code Playgroud)

此选项确定将哪些(以及如何)数据写入服务性能数据文件.模板可能包含宏,特殊字符(\ t表示制表符,\ r表示回车符,\n表示换行符)和纯文本.每次写入性能数据文件后,都会自动添加换行符.

资料来源:https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/configmain.html#process_performance_data

注意:如果您按照"批量模式"中的说明设置pnp4nagios,您可能已经完成了此操作.在这种情况下,您只需要参考您指定的路径host_perfdata_fileservice_perfdata_file.但如果没有,这就是你如何为pnp4nagios做的:

必须在nagios.cfg中启用性能数据的处理

 process_performance_data=1
Run Code Online (Sandbox Code Playgroud)

此外,还需要一些新的指令

#
# service performance data
#
service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata
service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$
service_perfdata_file_mode=a
service_perfdata_file_processing_interval=15
service_perfdata_file_processing_command=process-service-perfdata-file

#
# host performance data starting with Nagios 3.0
# 
host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata
host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$
host_perfdata_file_mode=a
host_perfdata_file_processing_interval=15
host_perfdata_file_processing_command=process-host-perfdata-file
Run Code Online (Sandbox Code Playgroud)

资料来源:https://docs.pnp4nagios.org/pnp-0.6/config#bulk_mode

编辑:这是一种更简单的按需生成CSV数据的方法.

  • 浏览到http:///nagios/cgi-bin/avail.cgi
  • 填写向导的步骤.
  • 请务必选中第3个屏幕上的"以CSV格式输出"复选框.
  • 点击"创建可用性报告!" 按钮.
  • 将在您的浏览器中生成并下载CSV文件.

在此输入图像描述 在此输入图像描述 在此输入图像描述