首页 > 解决方案 > Logstash + Telegraf 指标

问题描述

我使用 Logstash 读取 Kafka 主题并将事件发送到 Influxdb。Kafka 主题中的事件由 Telegraf 发送。

以下是从 Kafka 收到的一种事件:

{
       "message" => "disk,all_servers=myserver,device=dm-0,fstype=xfs,host=myserver,mode=rw,path=/ used=55471497216i,used_percent=26.463792867611136,inodes_total=102400000i,inodes_free=102336513i,inodes_used=63487i,total=209612800000i,free=154141302784i 1631183074000000000\n",
      "@version" => "1",
    "@timestamp" => 2021-09-09T16:49:14.029Z
}
{
       "message" => "cpu,all_servers=myserver,cpu=cpu-total,host=myserver usage_user=4.694598687520277,usage_system=1.9182231197899142,usage_idle=92.57950530586864,usage_steal=0,usage_guest_nice=0,usage_nice=0,usage_iowait=0,usage_irq=0,usage_softirq=0.8076728925508541,usage_guest=0 1631183074000000000\n",
      "@version" => "1",
    "@timestamp" => 2021-09-09T16:49:14.029Z
}

要将事件发送到 Influxdb,我使用 http 输出

http {
    url => "http://xxx:xxx@localhost:8086/write?db=telegraf"
    http_method => "post"
    headers =>  ["Accept-Encoding: gzip", "Content-Encoding: gzip"]
    message => "%{[message]}"
    format => "message"
  }

它正在工作,但速度很慢。

我尝试使用 influxdb 输出:

influxdb {
    host => "localhost"
    port => 8086
    user => "xxx"
    password => "xxx"
    db => "telegraf"
    retention_policy => "autogen"
    use_event_fields_for_data_points => true
    exclude_fields => ["@timestamp","@version"]
    data_points => {}
  }

但它不起作用。事件被消耗但不存储在 Influxdb 中。

任何想法 ?

M。

标签: logstashinfluxdbtelegraf

解决方案


推荐阅读