• ログイン

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

SNMPモニタリングの結果、メトリクスが見つからない

問題

SNMPモニタリングでは、デバイスに期待されるメトリクスがすべて表示されるわけではありません。

ソリューション

次のNRQLクエリを実行して、NewRelicに存在するメトリックを特定します。

FROM Metric SELECT
uniques(metricName)
WHERE instrumentation.provider = 'kentik'
AND device_name = '$DEVICE_NAME'
SINCE 1 HOUR AGO LIMIT MAX

重要

$DEVICE_NAMEをデバイスの名前に置き換えます。

このクエリは、過去1時間にあなたのデバイスで収集されているすべての次元メトリックのリストを提供します。メトリックがリストアップされていない場合は、試してみてください。

デバイスがターゲットOIDに応答することを確認する

snmpwalkユーティリティを使用して、 snmp-base.yaml構成ファイルで構成したSNMPクレデンシャルを使用してDockerホストからメトリックを収集します。

テストが失敗した場合、そのデバイスは収集したいOIDをサポートしていない可能性が高い。これは、ベンダーが管理しているデバイス自体の制限です。

ヒント

SNMPv3を使用している場合は、機器のv3ユーザーの設定を確認してください。ほとんどの場合、デバイス管理者はv3ユーザーアカウントのMIBへのアクセスを明示的に許可する必要があります。

デバイスが正しいプロファイルにマッチしていることを確認する

前のテストに合格した場合は、 snmp-base.yamlファイルのmib_profileに構成された値が正しいプロファイルファイル名と一致することを確認してください。例えば:

devices:
deviceOne:
...
mib_profile: cisco-catalyst.yml
...

New Relicで、次のNRQLクエリを使用してこれを確認できます。

FROM Metric SELECT
latest(instrumentation.name)
WHERE instrumentation.provider = 'kentik'
AND device_name = '$DEVICE_NAME'

重要

$DEVICE_NAMEをデバイスの名前に置き換えます。

SNMPプロファイルのライブラリは常に更新されており、使用しているコンテナイメージに目的のプロファイル設定がない場合があります。 mib_profileが期待されるプロファイルと一致しない場合は、構成ファイルを手動で更新するか、新しい検出を実行できます。

docker pull kentik/ktranslate:v2を実行して変更を加える前に、常にコンテナの最新のイメージをプルする必要があります。

Verify ktranslate is polling into device as expected

前のテストに合格した場合は、デバイスから特定のメトリックを収集する際に問題が発生していることを示す{ Warn重大度エラーがないかアカウントを確認する必要があります。

Logs UIです。

bash
$
collector.name:"ktranslate" message:"*OID failed to return results*"

NRQL。

FROM Log SELECT * WHERE `collector.name` = 'ktranslate' AND `message` LIKE '%OID failed to return results%'

期待される成果

KTranslate>cisco-7513 OID failed to return results, Metric Name: ipIfStatsHCInOctets, Profile: cisco-asr

ヒント

この例では、ターゲットデバイスcisco-7513cisco-asr SNMPプロファイルにあるipIfStatsHCInOctets OIDのメトリックを返さないことがわかります。

次に、お使いのデバイスに対して単一のSNMPポールを実行し、供給された設定を使用して、リクエストから ktranslate が受け取るものを正確に確認する必要があります。

これを行うには、 ktranslateを短期間のコンテナとして実行し、 -snmp_poll_nowフラグを使用して、 snmp-base.yaml構成ファイル内の名前に基づいてデバイスをターゲットにします。例えば:

bash
$
docker run -d --name ktranslate-poll_now --rm --net=host \
>
-v `pwd`/snmp-base.yaml:/snmp-base.yaml \
>
-e NEW_RELIC_API_KEY=$YOUR_NR_LICENSE_KEY \
>
kentik/ktranslate:v2 \
>
-snmp /snmp-base.yaml \
>
-nr_account_id=$YOUR_NR_ACCOUNT_ID \
>
-tee_logs=true \
>
-service_name=poll_now \
>
-snmp_poll_now=$TARGET_DEVICE_NAME \
>
-format=new_relic_metric

このポーリングの結果は、を使用してコンテナログで確認できます。 docker logs --follow ktranslate-poll_now

デバイス・メタデータ・ポーリングの成功例

2022-01-03T23:08:50.583 ktranslate/poll_now [Info] KTranslate SNMP Device Metadata: Data received: {SysName:router123 SysObjectID:.1.3.6.1.4.1.9.1.46 SysDescr:Cisco Internetwork Operating System Software ...}
2022-01-03T23:08:50.585 ktranslate/poll_now [Info] nrmFormat New Metadata for router123

デバイスの統計情報のポーリングが成功した例。

[{"metrics":[{"name":"kentik.snmp.ifInErrors","type":"count","value":0,"attributes":{"if_Speed":2,"mib-name":"IF-MIB","poll_duration_sec":60,"if_Type":"proppointtopointserial","if_AdminStatus":"up","objectIdentifier":".1.3.6.1.2.1.2.2.1.14","mib-table":"if","if_OperStatus":"up","device_name":"router123","provider":"kentik-router","if_interface_name":"Se11/0/0:16","instrumentation.name":"cisco-asr","if_Index":"63","if_Address":"10.201.0.65","eventType":"KSnmpInterfaceMetric","if_Netmask":"255.255.255.252","if_Alias":"pkt.ds1"}}]...}]

" prettified" JSONを見ると、このデバイスではポーリングが期待通りに機能していることがわかります。

[
{
"metrics": [
{
"name": "kentik.snmp.ifInErrors",
"type": "count",
"value": 0,
"attributes": {
"if_Speed": 2,
"mib-name": "IF-MIB",
"poll_duration_sec": 60,
"if_Type": "proppointtopointserial",
"if_AdminStatus": "up",
"objectIdentifier": ".1.3.6.1.2.1.2.2.1.14",
"mib-table": "if",
"if_OperStatus": "up",
"device_name": "router123",
"provider": "kentik-router",
"if_interface_name": "Se11/0/0:16",
"instrumentation.name": "cisco-asr",
"if_Index": "63",
"if_Address": "10.201.0.65",
"eventType": "KSnmpInterfaceMetric",
"if_Netmask": "255.255.255.252",
"if_Alias": "pkt.ds1"
}
}
]
}
]

デバイスプロファイルにOIDが記載されていることを確認する

これまでのテストにすべて合格した場合、デバイスプロファイル自体にOIDが存在するかどうかを確認します。OIDが記載されていても期待通りに動作しない場合や、OIDをプロファイルに追加する必要がある場合は、 GitHub issue を開いてリポジトリのメンテナに連絡し、解決に向けて動いてもらいます。

Copyright © 2022 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.