はじめに
このドキュメントでは、Kibanaを使用して、さまざまなCisco DNA Centerサービス間で特定のログを検索する方法について説明します。
前提条件
要件
GUIからADMIN ROLEを使用してCisco DNA Centerにアクセスする必要があります。また、Cisco DNA Centerサービスの名前と使用方法に精通している必要があります。
使用するコンポーネント
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
Kibanaは、Elasticsearch用のオープンソースデータ可視化プラグインです。Cisco DNA Centerで使用可能なElasticsearchクラスタでインデックスされたコンテンツに加えて視覚化機能を提供します。
Kibanaには、次の2つの方法でアクセスできます。
- https://<Cisco DNA Center ip>/kibana
- メインメニュー>システム> System 360 -> Cluster Tools -> Log Explorer
デフォルトのKibana Webページ
ログの可視化のためのKibanaの設定
左側のバーのメニューに移動し、「Discover」をクリックします。
Kibanaには複数のフィールドがあり、次の図で強調表示されています。
Kibanaにフィールドを追加する
[フィルタ] > [利用可能なフィールド]に移動します
ログを可視化するために追加する必要があるフィールドは次のとおりです。
- Kubernetes.labels.serviceName:特定のログを表示するサービス
- Log:ログの未加工の内容
追加ボタンをクリックします。
次の設定が行われていることを確認します。
キバナでフィルタを追加および編集する
フィルタを追加するには、次のアクティビティを実行します。
- フィルタの追加をクリックします。
- フィールド選択:Kubernetes.labels.serviceName
- 演算子選択: 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)
参考