2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Datadog agentで取得したメトリクスの値が0になる

Last updated at Posted at 2022-03-30

つまずいたこと

datadogでsnmp監視したところ、追加したメトリクスの値が常に0となってしまっていた。
snmp監視の方法は以下を参考に構築した。

DatadogのSNMP Integrationを利用してネットワーク機器を監視する
https://qiita.com/wuitap/items/49fe9e074fddc44d054a

今回参考にしたリンク

Profile Format Reference
https://datadoghq.dev/integrations-core/tutorials/snmp/profile-format/
Metrics Types
https://docs.datadoghq.com/ja/metrics/types/?tab=count

原因

datadogでは、メトリクスタイプを指定することが出来る。基本的には、typeをGaugeにしておけば問題ないが追加したメトリクスはRateになっていた。
ほとんど変化しないメトリクスのため、常に0となっていた。

type 用途
Gauge ある断面で発生した値(基本これになる)
Counter イベント発生の合計数
Rate 前回分との差分

調査方法

debug logの取得

$ docker exec -it ${container_id} agent check snmp --log-level > snmp.log
$ less snmp.log

取得したlog

2022-03-30 02:04:14 UTC | CORE | TRACE | (pkg/collector/snmp/gosnmp_lib/gosnmp_log.go in Write) | logger_debug.go:13: OID:XXXXXXXXXX
2022-03-30 02:04:14 UTC | CORE | TRACE | (pkg/collector/snmp/gosnmp_lib/gosnmp_log.go in Write) | logger_debug.go:13: decodeValue: msg: value
2022-03-30 02:04:14 UTC | CORE | TRACE | (pkg/collector/snmp/gosnmp_lib/gosnmp_log.go in Write) | logger_debug.go:7: decodeValue: type is Counter64

debug logを見ると、上記のような形でCounter64で表示されていた。datadog内部では以下のように変換されているよう。

SNMP type Inferred metric type
Counter32 rate
Counter64 rate
Gauge32 gauge
Integer gauge
Integer32 gauge
CounterBasedGauge64 gauge
Opaque gauge

修正方法

forced_type: XXXの形で強制的にtypeを変更する設定を入れる。

metrics:
    # CPU
  - MIB: CHECKPOINT-MIB
    metric_tags:
      - column:
          OID: 1.3.6.1.4.1.2620.1.6.7.5.1.1
          name: multiProcIndex
        tag: cpu_core
    symbols:
      - OID: 1.3.6.1.4.1.2620.1.6.7.5.1.2
        name: multiProcUserTime
      - OID: 1.3.6.1.4.1.2620.1.6.7.5.1.3
        name: multiProcSystemTime
      - OID: 1.3.6.1.4.1.2620.1.6.7.5.1.4
        name: multiProcIdleTime
      - OID: 1.3.6.1.4.1.2620.1.6.7.5.1.5
        name: multiProcUsage
    table:
      OID: 1.3.6.1.4.1.2620.1.6.7.5
      name: multiProcTable
  - MIB: CHECKPOINT-MIB
    symbol:
      OID: 1.3.6.1.4.1.2620.1.6.7.2.7.0
      name: procNum
    # Memory
  - MIB: CHECKPOINT-MIB
    forced_type: gauge               ★
    symbol:
      OID: 1.3.6.1.4.1.2620.1.6.7.4.3.0
      name: memTotalReal64
  - MIB: CHECKPOINT-MIB
    forced_type: gauge             ★
    symbol:
      OID: 1.3.6.1.4.1.2620.1.6.7.4.4.0
      name: memActiveReal64
  - MIB: CHECKPOINT-MIB
    forced_type: gauge             ★
    symbol:
      OID: 1.3.6.1.4.1.2620.1.6.7.4.5.0
      name: memFreeReal64

詳細は公式のサンプルを確認
https://github.com/DataDog/integrations-core/blob/master/snmp/datadog_checks/snmp/data/profiles/checkpoint-firewall.yaml

補足

typeの指定はもっと簡単に確認することが可能だった。。。
Metrics→Summaryで確認ができる。ここからだと、メトリクスの単位(byte,kiobyte,etc)も設定出来るので便利

Metrics Summary
https://docs.datadoghq.com/metrics/summary/

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?