ネットワークの監視を構成するときに使用できるすべてのオプションを確認したい場合は、次のセクションを参照してください。
snmp-base.yaml
以下は、SNMP およびフロー データ デバイスをポーリングするために ktranslate
Dockerイメージによって使用される snmp-base.yaml
ファイルで使用できるさまざまな設定オプションの例です。 GitHub の KTranslate リポジトリ で、多くのコメントが付けられたサンプルを参照することもできます。
ups_snmpv2c__10.10.0.201 :
snmp_comm : $YOUR_COMMUNITY_STRING
oid : .1.3.6.1.4.1.318.1.3.27
description : "APC Web/SNMP Management Card (MB:v4.1.0 PF:v6.2.1 PN:apc_hw05_aos_621.bin AF1:v6.2.1 AN1:apc_hw05_sumx_621.bin MN:AP9537SUM HR:05 SN: ABC123DEF456 MD:05/21/2016) (Embedded PowerNet SNMP Agent SW v2.2 compatible)"
last_checked : 2021-11-09T18:14:59.907821489Z
router_snmpv3__10.10.0.202 :
device_name : router_snmpv3
user_name : $YOUR_USER_NAME
authentication_protocol : $YOUR_AUTH_PROTOCOL
authentication_passphrase : $YOUR_AUTH_PASSPHRASE
privacy_protocol : $YOUR_PRIVACY_PROTOCOL
privacy_passphrase : $YOUR_PRIVACY_PASSPHRASE
oid : .1.3.6.1.4.1.9.1.544
description : "Cisco IOS Software , 3800 Software (C3845 - ADVENTERPRISEK9 - M) , Version
15.1(3)T4 , RELEASE SOFTWARE (fc1)\r\nTechnical Support : http : //www.cisco.com/techsupport\r\nCopyright
(c) 1986 - 2012 by Cisco Systems , Inc.\r\nCompiled Thu 24 - May - 12 04 : 27 by prod_rel_team"
last_checked : 2021-11-09T18:14:59.907821489Z
mib_profile : cisco - asr.yml
owning_team : core - networking
engine_id : "80:00:01:01:0a:14:1e:28"
if_interface_name : "^Ten.*|^Gig.*"
netbotz_snmpv1__10.10.0.203 :
device_name : netbotz_snmpv1
snmp_comm : $YOUR_COMMUNITY_STRING
oid : .1.3.6.1.4.1.5528.100.20.10.2013
description : "Linux netbotz930A7A 2.6.12 #307 Wed Dec 29 15:25:32 EST 2010 ppc"
last_checked : 2021-11-09T18:14:59.907821489Z
mib_profile : apc - netbotz.yml
owning_team : load_balancing
oid : .1.3.6.1.4.1.30065.1.3011.7020.3735.24.2878.2
description : "Arista Networks EOS version 4.22.9M running on an Arista
Networks DCS - 7020SR - 24C2"
last_checked : 2021-11-09T18:14:59.907821489Z
mib_profile : arista - switch.yml
username : $YOUR_ARISTA_API_USERNAME
password : $YOUR_ARISTA_API_PASSWORD
device_name : meraki_controller
device_ip : snmp.meraki.com
provider : meraki - cloud - controller
api_key : $YOUR_MERAKI_API_KEY
monitor_org_changes : true
- $YOUR_COMMUNITY_STRING_1
- $YOUR_COMMUNITY_STRING_2
- $YOUR_COMMUNITY_STRING_3
no_dedup_engine_id : false
drop_if_outside_poll : false
mib_profile_dir : /etc/ktranslate/profiles
mibs_db : /etc/ktranslate/mibs.db
if_Description : ".*WAN.*"
purge_devices_after_num : 0
デバイスセクション キー名
必須
説明
device_name
✓✓
デバイスの名前。これは、NewRelic内のデバイスの一意の識別子です。
device_ip
✓✓
デバイスのターゲットIP。
snmp_comm
✓(SNMPv1 / 2cに必要)
SNMPv1/2c
使用するコミュニティ文字列。
use_snmp_v1
✓(SNMPv1に必要)
SNMPv1を使用するかどうかを示します。デフォルトでは、 false
に設定されています。
snmp_v3
✓(SNMPv3に必要)
SNMPv3構成
debug
SNMPポーリング中にデバッグレベルのログを有効にするかどうかを示します。デフォルトでは、 false
に設定されています。
port
SNMPクエリを送信するポート。デフォルトでは、ポート161
に設定されています。
oid
✓(SNMPポーリングに必要)
デバイスで検出されたsystemObjectID | sysObjectID | sysOID
。これは、デバイスを既知のSNMPプロファイルに一致させ、 provider
属性を設定するために使用されます。一致するものが見つからない場合、これによりprovider
がkentik-default デバイスとして設定されます。
description
デバイスの検出されたsysDescr
。このフィールドは情報です。
last_checked
このデバイスが ktranslate
Dockerイメージによって最後に検出されたときのタイムスタンプ。 このフィールドは情報提供です。
mib_profile
✓(SNMPポーリングに必要)
sysOID
に基づく検出実行中にこのデバイスに関連付けられた SNMP プロファイル ファイル。 If this starts with a bang (!) token, it will override the automatic matching from the sysOID
and use a manual override. 例: "!cisco-asa.yml"
(引用符が必要です)。
provider
✓(New Relicに必要)
NewRelicのエンティティ合成中に使用される値。これは、一致したmib_profile
に基づいて自動的に作成され、エンティティを作成するには、 entity-definitions リポジトリ内のルールの1つと一致する必要があります。デバイスを手動で追加する場合は、この値が有効であることを確認するように注意する必要があります。
poll_time_sec
SNMPポーリング頻度を秒単位で示します。この設定は、 global.poll_time_sec
属性を上書きするために使用されます。
retries
SNMPOIDのポーリングを再試行する試行回数を示します。この設定は、 global.retries
属性を上書きするために使用されます。
timeout_ms
SNMPポーリングタイムアウトをミリ秒単位で示します。この設定は、 global.timeout_ms
属性を上書きするために使用されます。
user_tags
key:value
属性をペアにして、デバイスにより多くのコンテキストを提供します。このレベルのタグは、 global.user_tags
属性で適用されるすべてのタグに追加されます。
discovered_mibs
このデバイスが応答できる、一致したmib_profile
からプルされたMIBのリスト。このフィールドは情報です。
engine_id
このデバイスのSNMPエージェントに対して検出された一意のエンジンID。通常、SNMPv3の検出中に検出されます。このフィールドは情報です。
match_attributes
attribute:regex
ペアを使用して、メトリックを許可リストに追加します。このレベルのペアは、 global.match_attributes
属性で適用されるすべてのペアに追加されます。RE2 構文を使用し、デフォルトのOR
演算子があります。キーの前に!
を付けて、 AND
演算子を強制します。
monitor_admin_shut
Administratively Shutdown
ステータスのインターフェースを監視するかどうかを示します。デフォルトでは、 false
に設定されています。
no_use_bulkwalkall
true
の場合、SNMP GETBULK
要求アクションを無効にします。デフォルトでは、 false
に設定されています。
response_time
このデバイスで応答時間 ポーリングが有効になっているかどうかを示します。デフォルトでは、 false
に設定されています。
ping_only
true
の場合、すべての SNMP ポーリングを無効にし、このデバイスの 応答時間 ポーリングを有効にします。この設定は、 global.response_time
属性をオーバーライドします。デフォルトでは、 false
に設定されています。各 ping_only デバイスに行 provider: kentik_ping
が含まれていることを確認してください。
ping_interval_sec
この設定は、 ping_only
|の間に使用される1パケット/秒のデフォルトレートを上書きするために使用されます。 response_time
ポーリング。
flow_only
true
の場合、すべてのSNMPポーリングを無効にします。デフォルトでは、 false
に設定されています。
purge_after_num
X 個のスケジュールされた検出ジョブが失敗した後、構成ファイルからデバイスを削除します。 This setting overrides the global purge_devices_after_num
setting. デバイスを永久に保持するにはこれを-1
に設定し、パージ値を設定するには1
以上の整数を設定します。 (デフォルト: 0
)
ext
✓(APIポーリングに必要)
APIポーリング構成
ext.ext_only
この device_name
構成のすべての SNMP ポーリングを無効にします。デフォルト: false
。
トラップセクション キー名
必須
説明
listen
✓✓
SNMPトラップを受信するためのリスニングIPポート。デフォルトでは0.0.0.0:1620
に設定されており、 docker run ...
コマンドでリダイレクトを使用して、ホスト上のより一般的な UDP 162 をコンテナー内の UDP 1620 にリダイレクトします。リダイレクトはこのフラグで行われます -p 162:1620/udp
community
SNMP トラップを受信するための SNMPv1/v2c コミュニティ ストリング。デフォルトでは、受信トラップがこのコミュニティに一致しない場合でも、受信トラップを処理します。
version
使用するSNMPバージョン。オプションは、 v1
、 v2c
、およびv3
です。デフォルトでは、 v2c
に設定されています。
transport
使用するSNMPトランスポートプロトコル。オプションはTCP
とUDP
です。デフォルトでは、 UDP
v3_config
使用するSNMPv3構成 。version: v3
の場合にのみ使用されます。
トラップのみ
これをtrue
に設定すると、コンテナーは SNMP または ICMP ポーリングを試行しなくなります。これは、着信トラップのみをリッスンするコンテナーが必要な場合に使用されます。
ドロップ_未定義
これをtrue
に設定すると、コンテナは既存の SNMP プロファイルで明示的に定義されていない SNMP トラップ メッセージを転送できなくなります。 (デフォルト: false
)
ディスカバリーセクション キー名
必須
説明
cidrs
✓✓
CIDR 表記 のターゲット IP 範囲の配列。 タイムアウトを避ける ために、これらの範囲のサイズに注意してください。
ignore_list
すべての検出ジョブで明示的に無視するIPアドレスの配列。
debug
検出中にデバッグレベルのログを有効にするかどうかを示します。デフォルトでは、 false
ports
✓✓
SNMPポーリング中にスキャンするターゲットポートの配列。
default_communities
✓(SNMPv1 / 2cに必要)
SNMPポーリング中にスキャンするSNMPv1/v2cコミュニティストリングの配列。この配列は順番に評価され、検出は最初に通過するコミュニティを受け入れます。
use_snmp_v1
✓(SNMPv1に必要)
検出中にSNMPv1を使用するかどうかを示します。デフォルトでは、 false
default_v3
✓(SNMPv3に必要)
SNMPポーリング中にスキャンする単一のSNMPv3構成 。
other_v3s
✓(SNMPv3に必要)
SNMPポーリング中にスキャンするための複数のSNMPv3設定 。 Use this option OR default_v3
, not both
add_devices
✓✓
検出されたデバイスをsnmp-base.yaml
ファイルのdevices
セクションに追加するかどうかを示します。デフォルトでは、 true
に設定されています。
add_mibs
✓✓
検出されたMIBをsnmp-base.yaml
ファイルのglobal.mibs_enabled
セクションに追加するかどうかを示します。デフォルトでは、 true
に設定されています。
threads
✓✓
検出中に使用するスレッドの整数制限。コンテナで使用可能なコアの数よりも少なくする必要があります。デフォルトでは、 4
に設定されています。
replace_devices
✓✓
検出されたデバイスがsnmp-base.yaml
ファイルのdevices
セクションにすでに存在する場合、それらを置き換えるかどうかを示します。デフォルトでは、 true
に設定されています。
no_dedup_engine_id
true
に設定すると、報告されたSNMPエンジンIDに基づいて、検出されたデバイスが同じデバイスであると思われる場合に、それらのデバイスの重複排除を無効にします。デフォルトでは、 false
check_all_ips
true
に設定すると、TCPポートスキャンを介して最初に活気をチェックせずに、検出ジョブがcidrs
アレイのすべてのターゲットIPアドレスに対してSNMP接続を試行するように強制します。この設定は検出ジョブの速度を低下させますが、 /32
オーバーライドを使用してcidrs
アレイにリストされていないデバイスに対して検出が失敗する問題を回避するのに役立ちます。デフォルトでは、 false
グローバルセクション キー名
必須
説明
poll_time_sec
✓✓
デバイスをポーリングする時間(秒単位)。これは、 devices.<deviceName>.poll_time_sec
属性を使用してデバイスごとにオーバーライドできます。デフォルトでは、 60
に設定されています。
drop_if_outside_poll
ポーリングにpoll_time_sec
で設定された値よりも長い時間がかかる場合に、このサイクルからすべての値を削除するかどうかを示します。 デフォルトでは、 false
に設定されています。
mib_profile_dir
キュレートされたMIBプロファイルを見つけるためのディレクトリ。これらは、Kentikのsnmp-profiles リポジトリから自動的にktranslate
イメージにプルされ、Dockerランタイムで、プロファイルの独自のローカルディレクトリのボリュームマウントを作成することでオーバーライドできます。
mibs_db
mibs_enabled
✓✓
ktranslate
Dockerイメージがポーリングするすべてのアクティブな MIB の配列。 このリストは、 discovery_add_mibs
属性がtrue
の場合、検出中に自動的に生成されます。 ここにリストされていない MIB は、設定ファイル内のどのデバイスでもポーリングされません。 MIB-NAME.tableName
構文を使用して、MIB ファイル内で SNMP テーブルを直接指定できます。 例: HOST-RESOURCES-MIB.hrProcessorTable
。
timeout_ms
✓✓
SNMP クエリのタイムアウト時間 (ミリ秒)。 これは、 devices.<deviceName>.timeout_ms
属性を使用してデバイスごとにオーバーライドできます。 デフォルトでは、 3000
に設定されています。
retries
✓✓
失敗した SNMP ポーリングを再試行する回数。 これは、 devices.<deviceName>.retries
属性を使用してデバイスごとにオーバーライドできます。 デフォルトでは、 0
に設定されています。
user_tags
key:value
属性をペアにして、デバイスにより多くのコンテキストを提供します。このレベルのタグは、構成ファイル内のすべてのデバイスに適用されます。
match_attributes
attribute:regex
ペアを使用して、メトリックを許可リストに追加します。このレベルのペアは、構成ファイル内のすべてのデバイスと照合されます。RE2 構文を使用し、デフォルトのOR
演算子があります。キーの前に!
を付けて、強制的にAND
演算子にします。
response_time
構成ファイル内のすべてのデバイスに対して応答時間 ポーリングが有効になっているかどうかを示します。デフォルトでは、 false
に設定されています。
purge_devices_after_num
X 個のスケジュールされた検出ジョブが失敗した後、構成ファイルからデバイスを削除します。 デバイスを永久に保持するにはこれを-1
に設定するか、パージ値を設定するには1
以上の整数を設定します。 デフォルトでは、 0
に設定されています。
watch_profile_changes
mib_profile_dir
パスのプロファイルが変更されたときにSNMP スレッドを再ロードする ウォッチャーを設定します。 デフォルトでは、 false
に設定されています。
クラウドプロバイダーの秘密 ネットワーク監視エージェントには、AWS Secrets Manager 、 Azure Key Vault 、およびGCP Secret Manager からキーを取得するためのサポートが組み込まれています。
重要 SNMPv1 および SNMPv2c は、プロトコル自体がコミュニティ文字列をデフォルトでプレーン テキストで送信するため、クラウド シークレットの使用をサポートしていません。 SNMP 認証のセキュリティが懸念される場合は、SNMPv3 を使用するように更新してください。
クラウドの秘密設定 AWS Secrets Manager Azure Key Vault GCP シークレット マネージャー
AWS Secrets Manager
Azure Key Vault
GCP シークレット マネージャー
AWS Secrets Manager を使用するには、次の 3 つの 環境変数 を設定し、実行時にdockerに提供する必要があります。
名前
説明
AWS_ACCESS_KEY_ID
ユーザーを認証するためのクレデンシャルの一部として使用されるAWSアクセスキーを指定します。
AWS_SECRET_ACCESS_KEY
ユーザーを認証するための認証情報の一部として使用されるAWSシークレットキーを指定します。
AWS_REGION
リクエストの送信先の AWS リージョンを指定します。
docker run -d --name ktranslate-$CONTAINER_SERVICE --restart unless-stopped --pull=always -p 162:1620/udp \
-v `pwd`/snmp-base.yaml:/snmp-base.yaml \
-e NEW_RELIC_API_KEY=$YOUR_NR_LICENSE_KEY \
-e AWS_ACCESS_KEY_ID=$YOUR_AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$YOUR_AWS_SECRET_ACCESS_KEY \
-e AWS_REGION=$YOUR_AWS_REGION \
-nr_account_id=$YOUR_NR_ACCOUNT_ID \
-service_name=$CONTAINER_SERVICE \
-snmp_discovery_on_start=true \
-snmp_discovery_min=180 \
Azure Key Vault を使用するには、次の 5 つの環境変数を設定し、実行時にdockerに提供する必要があります。
ヒント 両方ではなく、 KT_AZURE_KEY_VAULT_NAME
またはKT_AZURE_KEY_VAULT_URL
を設定する必要があります。 デフォルトではKT_AZURE_KEY_VAULT_NAME
が使用され、エージェントは共通の URL パターンを使用します。 https://$KT_AZURE_KEY_VAULT_NAME.vault.azure.net/
名前
説明
KT_AZURE_KEY_VAULT_NAME
シークレットが保存されているボールト名。
KT_AZURE_KEY_VAULT_URL
APIコールがターゲットとするオプションの完全なURL。
AZURE_CLIENT_ID
Application ID
と呼ばれることもあります。これは、シークレットにアクセスするために使用されるサービス プリンシパルの識別子です。
AZURE_CLIENT_SECRET
これは、認証時にサービス プリンシパルに使用されるクライアント シークレット (パスワード) です。 この ID はクライアント シークレットのvalue のものであり、シークレット自体の ID ではないことに注意してください。
AZURE_SUBSCRIPTION_ID
これは、シークレットが管理されるサブスクリプションに関連付けられた 32 桁の GUID です。
AZURE_TENANT_ID
Directory ID
と呼ばれることもあります。これは、サービス プリンシパルが保存されている Microsoft Entra のテナントの識別子です。
docker run -d --name ktranslate-$CONTAINER_SERVICE --restart unless-stopped --pull=always -p 162:1620/udp \
-v `pwd`/snmp-base.yaml:/snmp-base.yaml \
-e KT_AZURE_KEY_VAULT_NAME=$YOUR_KEY_VAULT_NAME \
#### Optional: Provide the full URL to target
# -e KT_AZURE_KEY_VAULT_URL=$YOUR_KEY_VAULT_URL \
-e AZURE_CLIENT_ID=$YOUR_CLIENT_ID \
-e AZURE_CLIENT_SECRET=$YOUR_CLIENT_SECRET \
-e AZURE_TENANT_ID=$YOUR_TENANT_ID \
-e AZURE_SUBSCRIPTION_ID=$YOUR_SUBSCRIPTION_ID \
-nr_account_id=$YOUR_NR_ACCOUNT_ID \
-service_name=$CONTAINER_SERVICE \
-snmp_discovery_on_start=true \
-snmp_discovery_min=180 \
GCP Secret Manager を使用するには、認証情報 JSON ファイルに対して次のボリューム マウントを 2 つの環境変数とともに設定し、実行時にdockerに提供する必要があります。
docker run -d --name ktranslate-$CONTAINER_SERVICE --restart unless-stopped --pull=always -p 162:1620/udp \
-v `pwd`/snmp-base.yaml:/snmp-base.yaml \
-v $YOUR_LOCAL_SERVICE_ACCOUNT_KEY_FILE_PATH:/gcp_snmp_sa_key.json \
-e GOOGLE_APPLICATION_CREDENTIALS='./gcp_snmp_sa_key.json' \
-e GOOGLE_CLOUD_PROJECT=$YOUR_PROJECT_ID \
-nr_account_id=$YOUR_NR_ACCOUNT_ID \
-service_name=$CONTAINER_SERVICE \
-snmp_discovery_on_start=true \
-snmp_discovery_min=180 \
SNMPv3 オプション SNMPv3設定 キー名
必須
説明
user_name
✓✓
SNMPv3認証のユーザー名
authentication_protocol
✓✓
SNMPv3認証プロトコル。可能な値は、 NoAuth
、 MD5
、または SHA
authentication_passphrase
SNMPv3認証パスフレーズ
privacy_protocol
✓✓
SNMPv3プライバシープロトコル。可能な値は、 NoPriv
、 DES
、 AES
、 AES192
、 AES256
、 AES192C
、または AES256C
privacy_passphrase
SNMPv3プライバシーパスフレーズ
context_engine_id
SNMPv3コンテキストエンジンID
context_name
SNMPv3コンテキスト名
例: プレーンテキスト AWS シークレット アズールの秘密 GCP シークレット
プレーンテキスト
AWS シークレット
アズールの秘密
GCP シークレット
user_name : $YOUR_SNMPV3_USER
authentication_protocol : $YOUR_AUTHENTICATION_PROTOCOL
authentication_passphrase : $YOUR_AUTHENTICATION_PASSPHRASE
privacy_protocol : $YOUR_PRIVACY_PROTOCOL
privacy_passphrase : $YOUR_PRIVACY_PASSPHRASE
default_v3 : aws.sm.$YOUR_SECRET_NAME
AWS では、関連するすべてのkey:value
ペアを含むJSON 構造にシークレットを保存する 必要があります。 これは例です:
"user_name" : "$YOUR_SNMPV3_USER" ,
"authentication_protocol" : "$YOUR_AUTHENTICATION_PROTOCOL" ,
"authentication_passphrase" : "$YOUR_AUTHENTICATION_PASSPHRASE" ,
"privacy_protocol" : "$YOUR_PRIVACY_PROTOCOL" ,
"privacy_passphrase" : "$YOUR_PRIVACY_PASSPHRASE"
default_v3 : azure.kv.$YOUR_SECRET_NAME
Azure では、関連するすべてのkey:value
ペアを含む複数行構造でシークレットを保存する 必要があります。 これは例です:
user_name: $YOUR_SNMPV3_USER
authentication_protocol: $YOUR_AUTHENTICATION_PROTOCOL
authentication_passphrase: $YOUR_AUTHENTICATION_PASSPHRASE
privacy_protocol: $YOUR_PRIVACY_PROTOCOL
privacy_passphrase: $YOUR_PRIVACY_PASSPHRASE
default_v3 : gcp.sm.$YOUR_SECRET_NAME
GCP では、関連するすべてのkey:value
ペアを含む複数行構造でシークレットを保存する 必要があります。 これは例です:
user_name: $YOUR_SNMPV3_USER
authentication_protocol: $YOUR_AUTHENTICATION_PROTOCOL
authentication_passphrase: $YOUR_AUTHENTICATION_PASSPHRASE
privacy_protocol: $YOUR_PRIVACY_PROTOCOL
privacy_passphrase: $YOUR_PRIVACY_PASSPHRASE
複数のSNMPv3プロファイルを使用した検出の実行 複数のSNMPv3プロファイルでの検出ジョブの実行をサポートするために、 discovery.default_v3
キーをSNMPv3構成 の配列を保持するdiscovery.other_v3s
キーに置き換えることができます。
- user_name : $YOUR_USER_NAME_1
authentication_protocol : $YOUR_AUTHENTICATION_PROTOCOL_1
authentication_passphrase : $YOUR_AUTHENTICATION_PASSPHRASE_1
privacy_protocol : $YOUR_PRIVACY_PROTOCOL_1
privacy_passphrase : $YOUR_PRIVACY_PASSPHRASE_1
- user_name : $YOUR_USER_NAME_2
authentication_protocol : $YOUR_AUTHENTICATION_PROTOCOL_2
authentication_passphrase : $YOUR_AUTHENTICATION_PASSPHRASE_2
privacy_protocol : $YOUR_PRIVACY_PROTOCOL_1
privacy_passphrase : $YOUR_PRIVACY_PASSPHRASE_2
これは、クラウド プロバイダーのシークレット マネージャーを使用しても機能します。 AWS の例:
- aws.sm.$YOUR_SECRET_NAME_1
- aws.sm.$YOUR_SECRET_NAME_2
APIポーリング構成 ヒント API 認証設定でクラウド プロバイダーのシークレットを使用することもできます。
Arista eAPI Arista eAPI 統合は、通常 SNMP ポーリングでは利用できない追加の BGP および MLAG テレメトリを収集します。
BGP の詳細は次のコマンドから収集されます。 show ip bgp summary vrf all
NRQL を使用して BGP テレメトリを検索します。
max ( kentik . eapi . bgp . InMsgQueue ) AS 'InQ' ,
max ( kentik . eapi . bgp . MsgReceived ) AS 'MsgSent' ,
max ( kentik . eapi . bgp . MsgSent ) AS 'MsgRcvd' ,
latest ( peer_state ) AS 'State' ,
latest ( kentik . eapi . bgp . UpDownTime ) AS 'Up/Down' ,
latest ( kentik . eapi . bgp . Version ) AS 'V'
router_id AS 'Device IP' ,
peer_asn AS 'BGP Peer ASN' ,
MLAG の詳細は、次のコマンドから収集されます。 show mlag detail
NRQL で MLAG テレメトリを検索します。
latest ( kentik . eapi . mlag . PortsConfigured ) AS 'Ports Configured' ,
latest ( kentik . eapi . mlag . PortsDisabled ) AS 'Ports Disabled' ,
latest ( kentik . eapi . mlag . PortsActivePartial ) AS 'Ports Active-partial' ,
latest ( kentik . eapi . mlag . PortsInactive ) AS 'Ports Inactive' ,
latest ( kentik . eapi . mlag . PortsActiveFull ) AS 'Ports Active-full' ,
latest ( kentik . eapi . mlag . PortsErrdisabled ) AS 'Ports Err-disabled' ,
latest ( config_sanity ) AS 'Config-Sanity' ,
latest ( state ) AS 'State' ,
latest ( neg_status ) AS 'Negotiation Status' ,
latest ( peer_address ) AS 'Peer Address' ,
latest ( peer_link ) AS 'Peer Link' ,
latest ( peer_link_status ) AS 'Peer Link Status' ,
latest ( local_interface ) AS 'Local Interface' ,
latest ( local_intf_status ) AS 'Local Interface Status'
domain_id AS 'MLAG Domain ID'
設定オプション キー名
必須
説明
eapi_config.ユーザー名
✓✓
eAPI 認証を認証するためにデバイスに渡すユーザー名。
eapi_config.パスワード
✓✓
eAPI 認証を認証するためにデバイスに渡すパスワード。
eapi_config.transport
使用する接続トランスポートのタイプを指定します。可能な値は https
と http
です。デフォルト: https
。
eapi_config.port
✓✓
eAPI 接続のエンドポイントの TCP ポート。
Meraki ダッシュボード API Meraki ダッシュボードAPIインテグレーションは、 Meraki 環境の健全性に関連するさまざまなメトリクスを取得します。 設定オプションを組み合わせることで、ニーズに合わせてさまざまな監視シナリオを設定し、New Relic アカウントにエンティティを作成できます。
Meraki 組織エンティティ 組織メトリクスは、デフォルトでは、 Meraki Organization
エンティティの生成にのみ使用されるkentik.meraki.organization.Count
メトリクスの下に収集されます。 これは主に、Meraki 階層を視覚化し、ネットワークとデバイスを親組織に合わせて調整できるようにするためです。
Meraki ネットワーク エンティティ meraki_config.preferences.show_network_attr: true
ネットワーク メトリクスは、 kentik.meraki.network.Count
エンティティの生成にのみ使用されるメトリクスの下に収集されます。 Meraki Network
これは主に、Meraki 階層の視覚化を可能にし、デバイスがメンバーとなっているネットワークに合わせて調整することを目的としています。
Meraki デバイス エンティティ meraki_config.monitor_devices: true && meraki_config.preferences.device_status_only: true
:組織デバイス ステータスの取得 エンドポイントを使用して、組織内のすべての Meraki デバイスのステータスを一覧表示します。
NRQL を使用してデバイス ステータス テレメトリを検索します。
latest ( status ) AS 'Device Status'
org_id AS 'Organization ID' ,
org_name AS 'Organization Name' ,
network_id AS 'Network ID' ,
network AS 'Network Name' ,
device_name AS 'Device Name' ,
src_addr AS 'Device Public IP' ,
serial AS 'Device Serial' ,
address AS 'Device Address' ,
lat AS 'Device Latitude' ,
lng AS 'Device Longitude' ,
WHERE instrumentation . name = 'meraki.device_status'
meraki_config.monitor_uplinks: true && meraki_config.preferences.hide_uplink_usage: false
:組織内のすべての Meraki MX、MG、および Z シリーズ デバイスのアップリンク ステータスとパフォーマンスを一覧表示するには、「組織アップリンク ステータスの取得 」と「ネットワークエンドポイントによる組織アプライアンスのアップリンク使用状況の 取得」の両方を使用します。
NRQL を使用してデバイスのアップリンク テレメトリを検索します。
max ( kentik . meraki . uplinks . LatencyMS ) AS 'Uplink Latency' ,
max ( kentik . meraki . uplinks . LossPct ) AS 'Uplink Loss %' ,
max ( kentik . meraki . uplinks . Recv ) AS 'Uplink Receive Bytes' ,
max ( kentik . meraki . uplinks . Sent ) AS 'Uplink Transmit Bytes' ,
latest ( status ) AS 'Uplink Status'
org_id AS 'Organization ID' ,
org_name AS 'Organization Name' ,
network_id AS 'Network ID' ,
network AS 'Network Name' ,
device_name AS 'Device Name' ,
interface AS 'Device Uplink Interface' ,
serial AS 'Device Serial'
meraki_config.monitor_uplinks: true && meraki_config.preferences.hide_uplink_usage: true
:組織のアップリンク ステータスの取得 エンドポイントを使用して、組織内のすべての Meraki MX、MG、および Z シリーズ デバイスのアップリンク ステータスのみを一覧表示します。
NRQL を使用してデバイスのアップリンク ステータス テレメトリを検索します。
latest ( status ) AS 'Uplink Status'
org_id AS 'Organization ID' ,
org_name AS 'Organization Name' ,
network_id AS 'Network ID' ,
network AS 'Network Name' ,
device_name AS 'Device Name' ,
interface AS 'Device Uplink Interface' ,
serial AS 'Device Serial'
meraki_config.monitor_vpn_status: true && meraki_config.preferences.show_vpn_peers: false
:組織アプライアンスの VPN ステータスの取得エンド ポイントを使用して、組織内のネットワーク全体の VPN ステータスを表示します。
NRQL を使用して VPN ステータス テレメトリを検索します。
latest ( status ) AS 'VPN Status'
org_id AS 'Organization ID' ,
org_name AS 'Organization Name' ,
network_id AS 'Network ID' ,
network AS 'Network Name' ,
device_name AS 'Device Name' ,
serial AS 'Device Serial' ,
wan1 OR wan2 AS 'WAN Interface IP'
WHERE instrumentation . name = 'meraki.vpn_status'
meraki_config.monitor_vpn_status: true && meraki_config.preferences.show_vpn_peers: true
:組織アプライアンスの VPN ステータスの取得エンド ポイントを使用して、組織内のネットワーク全体の VPN ピアに関する情報を追加します。
NRQL を使用して VPN ピアのテレメトリを検索します。
latest ( status ) AS 'Peer Status'
network_id AS 'Network ID' ,
network AS 'Network Name' ,
device_name AS 'Device Name' ,
serial AS 'Device Serial' ,
peer_name AS 'Peer Name' ,
peer_reachability AS 'Peer Reachability' ,
peer_network_id AS 'Peer Network ID' ,
WHERE metricName = 'kentik.meraki.vpn_status.PeerStatus'
Meraki 設定オプション 主な構成オプション ヒント API 環境変数を使用すると、API キーを設定ファイルにプレーン テキストで保存せずに Meraki 統合に渡すことができます。
キー名
必須
入力
説明
meraki_config.api_key
✓ ( KENTIK_MERAKI_API_KEY 環境変数を使用する場合は不要)
APIキー(文字列)
認証用のMeraki ダッシュボードAPIキー 。
meraki_config.max_http_retry
1 ~ 10 の整数 (デフォルト: 2)
HTTP 429
エラーを返す API リクエストで再試行する頻度を制御するオプションの設定。再試行の間隔は 5 秒です。
meraki_config.monitor_devices
本当 | false (デフォルト: false)
組織内のすべての Meraki デバイスのステータスを監視します。
meraki_config.monitor_org_changes
本当 | false (デフォルト: false)
組織の変更ログを監視します。
meraki_config.monitor_uplinks
本当 | false (デフォルト: true)
組織内のすべての Meraki MX、MG、および Z シリーズ デバイスのアップリンク ステータスとパフォーマンスを監視します。
meraki_config.monitor_vpn_status
本当 | false (デフォルト: false)
組織内のネットワーク全体の VPN ステータスを監視します。
フィルタリングオプション これらのオプションを使用すると、Meraki 環境内の特定の対象オブジェクトへの監視を制限できます。
キー名
必須
入力
説明
meraki_config.organizations
RE2 構文 の正規表現 (デフォルト: null)
すべての監視をフィルタリングして、組織の特定のリストを絞り込みます。
meraki_config.networks
RE2 構文 の正規表現 (デフォルト: null)
すべての監視をフィルタリングして、ネットワークの特定のリストを絞り込みます。
meraki_config.product_types
有効なタイプは、ワイヤレス、アプライアンス、スイッチ、systemsManager、カメラ、セルラーゲートウェイ、センサー、およびクラウドゲートウェイです。(デフォルト: null)
特定の種類のデバイスでフィルタリングするための監視 APIリクエストに問題を追加します。
追加の設定 これらのオプションを使用すると、メインの構成オプションから収集されたデータをさらに定義できます。上記の例のセクションでは、さまざまな組み合わせが説明されています。
キー名
必須
入力
説明
meraki_config.preferences.device_status_only
本当 | false (デフォルト: false)
monitor_devices: true
を使用してポーリングをステータス情報のみに制限する場合に必須です 。 (This is used to prevent timeout issues.)
meraki_config.preferences.hide_uplink_usage
本当 | false (デフォルト: false)
monitor_uplinks
と組み合わせて使用すると、パフォーマンス メトリックを削除し、アップリンクのステータス情報のみを返します。
meraki_config.preferences.show_vpn_peers
本当 | false (デフォルト: false)
monitor_vpn_status
と組み合わせて使用して、VPN ピアにテレメトリを追加します。
meraki_config.preferences.show_network_attr
本当 | false (デフォルト: false)
ネットワーク上にテレメトリーを追加するために使用されます。 Meraki Network
エンティティを作成するために必要です。
最小構成例 device_name : meraki_cloud_controller
device_ip : snmp.meraki.com
provider : meraki - cloud - controller
完全な設定例 [#meraki-full-config] Meraki Organization
、 Meraki Network
、およびMeraki Device
エンティティの作成に必要なすべてのオプション。 device_name : meraki_controller
device_ip : snmp.meraki.com
provider : meraki - cloud - controller
api_key : $YOUR_MERAKI_API_KEY
monitor_org_changes : true
複数の Meraki ダッシュボード API をターゲットとするキー device_ip : snmp.meraki.com
provider : meraki - cloud - controller
api_key : "$YOUR_API_KEY_1"
monitor_org_changes : true
device_name : meraki_single_org
device_ip : snmp.meraki.com
provider : meraki - cloud - controller
api_key : "$YOUR_API_KEY_2"
monitor_org_changes : true
device_name : meraki_filtered
device_ip : snmp.meraki.com
provider : meraki - cloud - controller
api_key : "$YOUR_API_KEY_2"
外部設定ファイル さまざまな設定と自動化のニーズをサポートするために、 dockerコンテナーにボリューム マウントする外部ファイルを使用して、標準の設定ファイルの特定の要素を分離できます。 docker run
コマンドに以下のマウント引数を含める必要があります。外部設定ファイルごとに 1 つの引数を指定します。
-v `pwd`/fileName.yaml:/fileName.yaml \
これらのファイルの構文は、二重引用符を含めて"@fileName.yaml"
です。
ディスカバリーCIDR 例:
CIDRファイルは、次のようなYAMLリスト構文を使用する必要があります。
デバイス 例:
デバイスファイルは、メイン構成ファイルの標準devices
セクションと同じ構文を使用する必要がありますが、検出中に生成されるオプションのフィールドは省略されます。
ups_snmpv2c__10.10.0.201 :
snmp_comm : $YOUR_COMMUNITY_STRING
oid : .1.3.6.1.4.1.318.1.3.27
の match_attributes
可観測性のニーズに見合う価値を生み出さないデータのフィルタリングをサポートするために、 global.match_attributes.{}
またはdevices.[].match_attributes.{}
属性マップを設定できます。
これにより、New Relic にデータを送信する前に、 ktranslate
レベルでフィルタリングが提供され、インターフェースなどの監視をきめ細かく制御できるようになります。
このマップのデフォルトの動作はOR
条件ですが、これをオーバーライドして、キー名の前に!
を付けることでAND
演算子を強制することができます。これは、一致したアイテムのみを返し、すべてのnull
および""
(空の)結果を省略する場合にも役立ちます。
null値と空の値を持つデフォルトの「OR」 if_Alias
Uplink
で始まる場合に一致します。 OR if_interface_name
Gig
で始まる場合、すべてのnull
と""
値を保持します。
if_interface_name : "^Gig.*"
'AND'、nullおよび空の値を省略 if_Alias
Uplink
で始まる場合に一致し、 AND if_interface_name
Gig
で始まる場合に一致し、すべてのnull
および""
値を削除します。
"!if_interface_name" : "^Gig.*"
単一一致、null値と空の値を省略 if_Alias
がUplink
で始まる場合に一致し、すべてのnull
と""
の値を削除します。
ネガティブな先読みを作成する Golang の正規表現パッケージは、デフォルトでは否定先読みパターン ( q(?!u)
) をサポートしていません。 回避策として、属性マップにDOES_NOT_MATCH
トークンを追加して、一致パターンの逆の結果を効果的に得ることができます。
たとえば、文字列Uplink
を含まない すべてのインターフェースに一致させるには、次のような設定を使用できます。
response_time
と ping_only
パフォーマンス統計にアクセスできない、または利用できないデバイスの監視をサポートするため、または基本的なラウンドトリップ時間(RTT)の監視が必要な単純な場合に、 global.response_time
またはdevices.[].ping_only
属性をtrue
に設定できます。
この機能は、 go-ping パッケージを使用して、ICMP (デフォルト) または非特権 UDP パケットをデバイスに送信し、平均、最小、最大、および標準偏差のラウンドトリップ時間 (RTT) を収集します。 このパッケージは、 ktranslate
からデバイスの IP アドレスに 1 秒あたり 1 パケットを送信した場合のエンドポイントのパケット損失率も表示します。これは、 devices.[].ping_interval_sec
属性を設定することで上書きできます。 docker 実行時にKENTIK_PING_PRIV=false
環境変数を設定することで、特権 ICMP パケットのデフォルトの使用から UDP に切り替えることができます。
global.response_time
属性をtrue
に設定すると、既存のSNMPポーリングに加えてRTT監視が追加されます。RTTのUDP|ICMPパケットのみを使用し、SNMPポーリングを使用しないデバイスを監視するには、 devices.[].ping_only: true
を使用します。
New Relicでは、次のメトリックを調査することで、このポーリングの結果を確認できます。
average ( kentik . ping . AvgRttMs ) AS 'Average' ,
max ( kentik . ping . MaxRttMs ) AS 'Max' ,
min ( kentik . ping . MinRttMs ) AS 'Min' ,
average ( kentik . ping . StdDevRtt ) AS 'StdDev' ,
latest ( kentik . ping . PacketLossPct ) AS 'Packet Loss %'
ヒント フローデバイスからRTTメトリックを収集する場合は、 flow_only
属性の代わりにping_only
属性を使用できます。ping_only
とflow_only
の両方がtrue
の場合、デバイスはflow_only
デバイスとして扱われます。
の flow_only
フロー データのみを収集するデバイスのモニタリングをサポートするには、 devices.<deviceName>.flow_only
属性をtrue
に設定します。
これにより、 KFlow
イベントのネームスペースにテレメトリーのみを持つFlow Device エンティティが生成されます。 あるいは、SNMP デバイスとして設定ファイルにあるデバイスからフロー テレメトリーを収集すると、 Router やFirewall などの既存のエンティティにKFlow
データの装飾が追加されます。
New Relicでは、次のイベントを調査することで、このポーリングの結果を確認できます。
WHERE instrumentation . name = 'netflow-events'
フローデータアプリケーションマッピング デフォルトでは、フローテレメトリは、特定のフロー会話で使用されているレイヤー4ポートの評価に基づいて、既知のアプリケーションにマッピングされます。必要に応じて、Dockerの実行時に-application_map
フラグにYAMLファイルを提供することで、デフォルトのマッピングをオーバーライドできます。これにより、識別したポートに基づいてアプリケーション名を指定できます。
構文例:
フローデータ入力フィルタリング デフォルトでは、フローデータコンテナは受信したすべてのフローパケットを収集して処理します。必要に応じて、指定したフィルターと一致しないすべてのトラフィックを無視する包含フィルターを-nf.source
フラグに追加できます。
フローフィルターのオプション 構文: --filters $TYPE,$FIELD,$FUNCTION,$MATCH
引数名
必須
説明
$ TYPE
✓✓
適用するフィルターのタイプ。可能な値は、 string
、 int
、およびaddr
です。
$ FIELD
✓✓
一致パターンを評価するフィールドの名前。
$ FUNCTION
✓✓
評価中に使用する関数のタイプ。可能な値はEqual: ==
、 NotEqual: !=
、 LessThan: <
、 GreaterThan: >
、 Contains: %
$ MATCH
✓✓
一致パターンとして使用される値。
フィルタの例 10.0.0.0/24
CIDR範囲の送信元アドレスからのみフローデータを収集します
-nf.source sflow --filters addr,src_addr,%,10.10.0.0/24
宛先ポートがと等しくないフローデータのみを収集します 8531
-nf.source netflow5 --filters int,l4_dst_port,!=,8531
10.0.0.0/24
CIDR 範囲内の送信元アドレス、かつ宛先ポートが8531
に等しくない送信元アドレスからのみフロー データを収集します (暗黙的なAND
演算子)
--filters addr,src_addr,%,10.0.0.0/24 --filters int,l4_dst_port,!=,8531
カスタム SNMP プロファイルの自動再ロード デフォルトでは、ktranslate
docker mib_profile_dir パスの SNMP プロファイルへの変更を組み込むには、 コンテナーを手動で破棄して再構築する必要があります。これは、 dockerイメージがパブリックsnmp-profiles リポジトリ から利用可能な最新のプロファイルを取得するため、ほとんどの デプロイメント では通常の動作です。 カスタム プロファイル を提供する場合は、 watch_profile_changes 設定を使用して、コンテナーがコンテナーの基盤となる構成と SNMP プロファイルを自動的に更新できるようにすることができます。
重要 ウォッチャー ライブラリ の制限のため、これは再帰的ではありません。 したがって、サブディレクトリ内のプロファイルが変更された場合は、変更をトリガーするためにトップレベルのファイルも編集する必要があります。
このディレクトリ構造を仮定すると、次のようになります。
この更新サイクルをトリガーするには、新しいファイルをディレクトリのルートに配置し、手動で変更する必要があります。 これを実装する簡単な方法は、変更を送信するときに、 last_updated.txt
などのファイルにタイムスタンプを書き込むだけです。