【问题标题】:How to export Nagios data into CSV?如何将 Nagios 数据导出为 CSV?
【发布时间】:2016-02-12 07:51:21
【问题描述】:

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

非常感谢xx

【问题讨论】:

    标签: database export-to-csv nagios


    【解决方案1】:

    您可以在nagios.cfg配置文件中设置host_perfdata_fileservice_perfdata_file指令,以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$
    

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

    此外,您可以让 Nagios 定期执行命令以 periocially 处理性能数据文件(例如旋转它们) 使用host_perfdata_file_processing_commandservice_perfdata_file_processing_command 选项。间隔在 这些命令的执行由 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
    

    主机性能数据处理命令

    Format:   host_perfdata_command=<command>
    Example:  host_perfdata_command=process-host-perfdata
    

    此选项允许您指定要在每个主机之后运行的命令 检查以处理可能从 查看。命令参数是命令定义的简称 您在对象配置文件中定义的。这个命令是 仅在启用 process_performance_data 选项时执行 全局,如果主机定义中的 process_perf_data 指令 已启用。

    服务性能数据处理命令

    Format:   service_perfdata_command=<command>
    Example:  service_perfdata_command=process-service-perfdata
    

    此选项允许您指定要在每次运行后运行的命令 服务检查处理可能返回的服务性能数据 从检查。命令参数是命令的短名称 您在对象配置文件中定义的定义。这 仅当 process_performance_data 选项为 全局启用,如果服务中的 process_perf_data 指令 定义已启用。

    主机性能数据文件

    Format:   host_perfdata_file=<file_name>
    Example:  host_perfdata_file=/usr/local/nagios/var/host-perfdata.dat
    

    此选项允许您指定一个文件到哪个主机性能 每次主机检查后都会写入数据。数据将被写入 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
    

    此选项允许您指定服务性能的文件 每次服务检查后都会写入数据。将写入数据 到由指定的性能文件 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$
    

    此选项决定将什么(以及如何)数据写入主机 性能数据文件。模板可能包含宏、特殊 字符(\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$
    

    此选项确定将什么(以及如何)数据写入服务 性能数据文件。模板可能包含宏、特殊 字符(\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
    

    另外需要一些新的指令

    #
    # 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
    

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

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

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

    【讨论】:

    • @mwfearnley 我认为它是 JSON,但我不在 Nagios 部署前面,我现在可以在其中试用。
    • 我知道这是旧的,但对于任何碰巧阅读它的人来说:perfdata 方法的一个问题是该文件不会包含任何不发布性能数据字段的检查信息。
    猜你喜欢
    • 2017-02-02
    • 2018-02-16
    • 2014-01-29
    • 2013-11-20
    • 2020-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-13
    相关资源
    最近更新 更多