Statsd 输出插件

编辑
  • 插件版本:v3.2.0
  • 发布日期:2018-06-05
  • 变更日志

对于其他版本,请参阅 版本化插件文档

安装

编辑

对于默认情况下不包含的插件,可以通过运行 bin/logstash-plugin install logstash-output-statsd 轻松安装。有关更多详细信息,请参阅 使用插件

获取帮助

编辑

如果您对插件有任何疑问,请在 Discuss 论坛中发起主题讨论。对于错误或功能请求,请在 Github 中提交问题。有关 Elastic 支持的插件列表,请查阅 Elastic 支持矩阵

描述

编辑

statsd 是一种用于聚合统计信息(例如计数器和计时器)并通过 UDP 发送到后端服务(例如 Graphite 或 Datadog)的网络守护程序。总体思路是您将指标发送到 statsd,并且每隔几秒钟它就会将聚合值发送到后端。示例聚合包括总和、平均值和最大值、它们的标准差等。此插件使您可以轻松地根据 Logstash 事件中的数据发送此类指标。

您可以在此处了解有关 statsd 的信息

此插件与 Logstash 一起使用的典型示例包括按响应代码对 HTTP 命中进行计数、对提供服务的总字节数进行求和以及跟踪请求处理时间的第 50 和第 95 百分位数。

发送到 statsd 的每个指标都具有一个点分隔路径、一个类型和一个值。指标路径由 namespacesender 选项以及根据指标类型获取的指标名称构建。总而言之,指标路径将遵循以下模式

namespace.sender.metric

关于此插件,默认命名空间为“logstash”,默认发送者为 host 字段,指标名称取决于在 incrementdecrementtimingcountsetgauge 选项中设置的指标名称。在指标路径中,冒号(“:”)、竖线(“|”)和 at 符号(“@”)是保留字符,将替换为下划线(“_”)。

示例

output {
  statsd {
    host => "statsd.example.org"
    count => {
      "http.bytes" => "%{bytes}"
    }
  }
}

如果在名为 hal9000 的主机上运行,则如果当前事件的 bytes 字段中包含 123,则上述配置将向 statsd 发送以下指标

logstash.hal9000.http.bytes:123|c

Statsd 输出配置选项

编辑

此插件支持以下配置选项以及稍后描述的 通用选项

设置 输入类型 必需

count

hash

decrement

array

gauge

hash

host

string

increment

array

namespace

string

port

number

sample_rate

number

sender

string

set

hash

timing

hash

另请参阅 通用选项,了解所有输出插件支持的选项列表。

 

count

编辑
  • 值类型为 hash
  • 默认值为 {}

计数指标。 metric_name => count 作为哈希值。 %{fieldname} 替换允许用于指标名称。

decrement

编辑
  • 值类型为 array
  • 默认值为 []

递减指标。指标名称作为数组。 %{fieldname} 替换允许用于指标名称。

gauge

编辑
  • 值类型为 hash
  • 默认值为 {}

仪表指标。 metric_name => gauge 作为哈希值。 %{fieldname} 替换允许用于指标名称。

host

编辑
  • 值类型为 string
  • 默认值为 "localhost"

statsd 服务器的主机名或 IP 地址。

increment

编辑
  • 值类型为 array
  • 默认值为 []

递增指标。指标名称作为数组。 %{fieldname} 替换允许用于指标名称。

namespace

编辑
  • 值类型为 string
  • 默认值为 "logstash"

此指标要使用的 statsd 命名空间。 %{fieldname} 替换允许。

port

编辑
  • 值类型为 number
  • 默认值为 8125

要连接到 statsd 服务器上的端口。

protocol

编辑
  • 值类型为 string
  • 默认值为 "udp"

要连接到 statsd 服务器上的协议。

sample_rate

编辑
  • 值类型为 number
  • 默认值为 1

指标的采样率。

sender

编辑
  • 值类型为 string
  • 默认值为 "%{host}"

发送者的名称。点将替换为下划线。 %{fieldname} 替换允许。

  • 值类型为 hash
  • 默认值为 {}

集合指标。 metric_name => "string" 作为哈希值追加。 %{fieldname} 替换允许用于指标名称。

timing

编辑
  • 值类型为 hash
  • 默认值为 {}

计时指标。 metric_name => duration 作为哈希值。 %{fieldname} 替换允许用于指标名称。

通用选项

编辑

所有输出插件都支持这些配置选项

设置 输入类型 必需

codec

codec

enable_metric

boolean

id

string

codec

编辑
  • 值类型为 codec
  • 默认值为 "plain"

用于输出数据的编解码器。输出编解码器是在数据离开输出之前对其进行编码的便捷方法,无需在 Logstash 管道中使用单独的过滤器。

enable_metric

编辑
  • 值类型为 boolean
  • 默认值为 true

禁用或启用此特定插件实例的指标日志记录。默认情况下,我们会记录所有可能的指标,但您可以禁用特定插件的指标收集。

  • 值类型为 string
  • 此设置没有默认值。

向插件配置添加唯一的 ID。如果未指定 ID,Logstash 将生成一个。强烈建议在配置中设置此 ID。当您有两个或多个相同类型的插件时,这尤其有用。例如,如果您有 2 个 statsd 输出。在这种情况下,添加命名 ID 将有助于在使用监控 API 时监控 Logstash。

output {
  statsd {
    id => "my_plugin_id"
  }
}

id 字段中的变量替换仅支持环境变量,不支持使用密钥存储中的值。