はじめに
このドキュメントでは、Kibanaを使用して、異なるCisco DNA Centerサービス間で特定のログを検索する方法について説明します。
前提条件
要件
ADMIN ROLEを使用してGUIからCisco DNA Centerにアクセスする必要があります。また、Cisco DNA Centerサービスの名前と使用方法に精通している必要があります。
使用するコンポーネント
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
Kibanaは、Elasticsearch用のオープンソースデータ可視化プラグインです。Cisco DNA Centerで利用可能なElasticsearchクラスタでインデックス付けされたコンテンツに加えて、視覚化機能を提供します。
Kibanaには、次の2つの方法でアクセスできます。
- https://<Cisco DNA Center ip>/kibana
- メインメニュー>システム>システム360 ->クラスタツール – >ログエクスプローラ
既定のKibana Webページ
ログの可視化のためのKibanaの設定
左側のバーのメニューに移動し、「Discover」をクリックします。
Kibanaには複数のフィールドがあり、次の図で強調表示されています。
Kibanaにフィールドを追加
「フィルタ」>「使用可能フィールド」にナビゲートします
ログを可視化するために追加する必要があるフィールドは次のとおりです。
- Kubernetes.labels.serviceName:特定のログを表示するサービス
- Log:ログの未加工の内容
追加ボタンをクリックします。
次の設定が行われていることを確認します。
注:時間フィールドはデフォルトで追加されています。
キバナでフィルタを追加および編集する
フィルタを追加するには、次のアクティビティを実行します。
- フィルタの追加をクリックします。
- フィールド選択:Kubernetes.labels.serviceName
- 演算子select: is
- 値:サービスを選択します。
- Saveボタンをクリックします
次の例を見てみましょう。選択されているサービスはapic-em-inventory-manager-serviceです。
必要に応じて、さらにフィルタを追加できます。
次の例では、Field:log、operator:is、およびValue:error:
特定の日付からログを取得する
検索条件に時間要素を追加できます。
Time Rangeフィールドの次のオプションのいずれかを使用します。
- Absolute:特定の日付から別の特定の日付へ。
- Relative:過去X分間、数時間、数日、または数週間から特定の日付まで。
- Now:時間を「now」に設定すると、毎回の更新時にこの時間が更新時刻に設定されます。
Luceneの使用例
Luceneは、高性能でフル機能のテキスト検索エンジンライブラリです。これは、フルテキスト検索を必要とするほぼすべてのアプリケーションに適したテクノロジーです。
検索バーに移動し、Luceneを有効にするためにKQLを無効にします。
特定のサービスのログの取得
フィルタバーに次のクエリを入力し、Refreshボタンを押します
kubernetes.labels.serviceName:<service-name>
次に、task-serviceの例を示します。
kubernetes.labels.serviceName:task-service
特定の単語を含むログを取得する
ヒント:問題を示す最も一般的なログエントリには、「エラー」、「失敗」、および「例外」が含まれていますが、トラブルシューティングの指針となる他の一般的な文字列に変更することができます。
フィルタバーに次のクエリを入力し、Refreshボタンを押します
log:error
検索の組み合わせ
文字列の間にAND(または&&)を使用して、文字列の組み合わせに一致するエントリを検索できます。
log:error AND kubernetes.labels.serviceName:onboarding-service
注:一部のフィールドは検索可能ではありません。
Available Fieldsペインに検索可能なフィールドのみを表示する場合は、歯車を選択してビューをカスタマイズします。使用する検索の種類(たとえば、文字列、ブール値、数値など)を定義することもできます。
2つの異なるサービスを同時に検索してエラーを見つける
検索条件に2つ以上のサービスを含めます。サービス名をかっこで囲み、ORで区切って入力してください。
log:error && (kubernetes.labels.serviceName:onboarding-service OR kubernetes.labels.serviceName:telemetry-agent)
参考