3

jmx を監視するために、metricbeats の http モジュールを使用しています。jolokia モジュールの代わりに http モジュールを使用しています。これは、現時点ではワイルドカードがサポートされていないためです。ドキュメント内の構成例は次のとおりです。

- module: http
  metricsets: ["json"]
  period: 10s
  hosts: ["localhost:80"]
  namespace: "json_namespace"
  path: "/jolokia/"
  body: '{"type" : "read", "mbean" : "kafka.consumer:type=*,client-id=*", "attribute" : "count"}'
  method: "POST"

これは正常に機能し、kibana にデータを取得できます。複数のパスを呼び出すように次のように構成すると、エラーが表示されます。

- module: http
      metricsets: ["json"]
      enabled: true
      period: 10s
      hosts: ["localhost:80"]
      namespace: "metrics"
      method: POST
      paths:
        - path: "/jolokia/"
          body: '{"type" : "read", "mbean" : "kafka.consumer:type=*,client-id=*", "attribute" : "bytes-consumed-rate"}'
        - path: "/jolokia/"
          body: '{"type" : "read", "mbean" : "kafka.consumer:type=*,client-id=*", "attribute" : "commit-latency-avg"}'

これは正しい構成ではないようで、http イベントに失敗したことがわかります。

2018/02/26 19:53:18.315740 metrics.go:39: INFO Non-zero metrics in the last 30s: beat.info.uptime.ms=30000 beat.memstats.gc_next=4767600 beat.memstats.memory_alloc=4016168 beat.memstats.memory_total=47474256 libbeat.config.module.running=3 libbeat.output.read.bytes=4186 libbeat.output.write.bytes=16907 libbeat.pipeline.clients=7 libbeat.pipeline.events.active=0 libbeat.pipeline.events.published=18 libbeat.pipeline.events.total=18 libbeat.pipeline.queue.acked=18 metricbeat.http.json.events=3 metricbeat.http.json.failures=3

http モジュールのセットアップ方法に関するドキュメント:構成例

4

2 に答える 2