Statsd 输出插件

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

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

安装

编辑

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

获取帮助

编辑

有关插件的问题,请在Discuss论坛中开一个主题。对于错误或功能请求,请在Github中打开一个 issue。有关 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 字段中的变量替换仅支持环境变量,不支持使用密钥存储中的值。