Network Flow でネットワーク機器の監視を行う

New Relic network PerformanceMonitoringではKtranslate によってSNMPやFlowData、SyslogDataを収集します。

このKtransllateはコンテナもしくはLinux パッケージの形で提供されます。

この記事ではKtransllateを運用する際に必要となるトラブルシューティング手法をご案内します。

トラブルシューティングドキュメント

Ktranslateの基本的なトラブルシューティングに関するドキュメントは公式ドキュメントに用意されています。

公式ドキュメントではnetworkPerformanceEntityの確認方法やSNMPトラブルシューティング、Ktranslateサイジングについての情報が用意されています。

Ktranslteのlog確認

KtranslateがNew RelicPlaitformに接続出来ている場合はKtranslateのlogは自動的に収集され、New Relic Logs UIから確認出来ます。

Ktranslate-logs

Ktranslateのlogは以下のようなメタデータを持ってNew Relic Logs で確認できます。

 

 

{
  "collector.name": "ktranslate",
  "container_service": "SNMP-V2",
  "instrumentation.provider": "kentik",
  "logtype": "ktranslate-health",
  "message": "KTranslate 1/1024) Running with SNMP v2c",
  "newrelic.logPattern": "nr.DID_NOT_MATCH",
  "newrelic.source": "api.logs",
  "plugin.type": "ktranslate-health",
  "severity": "Info",
  "timestamp": 1723802916392
}

以下の様なNRQLで確認することもできます。

ktranslate-log-nrql

 

SELECT `level`,`message` FROM Log WHERE `instrumentation.provider` = 'kentik'

ローカルでのlog確認

Ktranslateのlogはテキストファイルには出力されません。導入環境に合わせてそれぞれ次のようなコマンドでlogを確認してください。

 

Ktranslate Containerの場合

以下のコマンドでlogを確認します。

 

docker logs ktranslate-$CONTAINER_SERVICE

ktranslate-$CONTAINER_SERVICE 部分はKtranslate コンテナ起動時に設定したContainer Name を指定します。

Ktranslate パッケージの場合

以下のコマンドでlogを確認します。

 

journalctl -u ktranslate

Ping Monitoringが動作しない

Ktranslate Package版の場合はICMP Echo Socketの権限が不足してPing Monitoringが動作しない場合があります。

この場合以下のようなErrorがlogに記録されます。

Cannot ping: listen ip4:icmp : socket: operation not permitted

この場合はKtranslateの環境変数を設定し、ICMPパケットを特権モードで利用出来るようにします。

環境変数を設定

KENTIK_PING_PRIV=false

Ktranslate デバッグプログラム

実験的なプロジェクトでありNew Relic テクニカルサポートのサポート範囲外となりますが、Ktranslate コンテナの自己診断プログラムが公開されています。

newrelic-npm-diagnostics

npmDiag は、お客様の Network Performance Monitoring 環境からログと設定ファイルを収集し、サポートのために New Relic に提供可能な ZIP ファイルを作成します。

まとめ

New Relic の公式ドキュメント以外にもKtranslateの状態を確認するためのlogの確認方法や設定方法

情報収集プログラムが用意されています。

Ktranslateの動作情報を収集し、New Relic NPMの運用にお役立てください。