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の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で確認することもできます。
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 コンテナの自己診断プログラムが公開されています。
npmDiag は、お客様の Network Performance Monitoring 環境からログと設定ファイルを収集し、サポートのために New Relic に提供可能な ZIP ファイルを作成します。
まとめ
New Relic の公式ドキュメント以外にもKtranslateの状態を確認するためのlogの確認方法や設定方法
情報収集プログラムが用意されています。
Ktranslateの動作情報を収集し、New Relic NPMの運用にお役立てください。
本ブログに掲載されている見解は著者に所属するものであり、必ずしも New Relic 株式会社の公式見解であるわけではありません。また、本ブログには、外部サイトにアクセスするリンクが含まれる場合があります。それらリンク先の内容について、New Relic がいかなる保証も提供することはありません。