[ELK を通じて教える] Kibana のパフォーマンスの最適化

Yuxian: CSDN コンテンツ パートナー、CSDN の新人スター メンター、フルスタック クリエイティブ スター クリエイター、51CTO (トップ セレブ + エキスパート ブロガー)、Github オープン ソース愛好家 (ゴーゼロ ソース コードの二次開発、ゲーム バックエンド アーキテクチャ https: https:/ /github.com/Peakchen)

 

Kibana のパフォーマンス最適化の原則

Kibana のパフォーマンス最適化の原則には、主に次の側面が含まれます。

  • データ ストレージ: Kibana はデータ ストレージとして Elasticsearch を使用し、Elasticsearch のインデックス作成とクエリのパフォーマンスを最適化することで Kibana のパフォーマンスを向上させることができます。

  • データ集約: Kibana の視覚化機能と検索機能はどちらもデータ集約操作を必要とし、集約操作を最適化することでパフォーマンスを向上させることができます。

  • データ キャッシュ: Kibana は一部のデータと結果をキャッシュし、キャッシュを最適化することでパフォーマンスを向上させることができます。

  • ネットワーク伝送: Kibana と Elasticsearch 間のネットワーク伝送もパフォーマンスに影響し、ネットワーク伝送を最適化することでパフォーマンスを向上させることができます。

  1. 関連するインターフェースの使用方法の詳細な紹介

Kibana パフォーマンス最適化の関連インターフェイスには、主に次の側面が含まれます。

  • Elasticsearch API: 断片化やレプリカによるクエリ パフォーマンスの最適化など、Elasticsearch のインデックス作成とクエリ パフォーマンスを最適化するために使用されます。

  • Kibana API: 集計操作の最適化によるパフォーマンスの向上など、Kibana の視覚化および検索機能を最適化するために使用されます。

  • キャッシュ API: キャッシュのクリア、キャッシュ サイズの設定など、Kibana のキャッシュを管理するために使用されます。

  • ネットワーク API: 圧縮や暗号化による伝送パフォーマンスの向上など、Kibana と Elasticsearch 間のネットワーク伝送を最適化するために使用されます。

  1. 利用シーンの説明

Kibana パフォーマンス最適化の使用シナリオには次のものがあります。

  • 大量のデータ: データの量が多い場合、Kibana にパフォーマンスの問題が発生する可能性があるため、Kibana のクエリおよび集計操作を最適化する必要があります。

  • 複雑なクエリ: クエリ ステートメントが複雑な場合、Kibana のクエリ パフォーマンスが影響を受ける可能性があるため、Elasticsearch のクエリ パフォーマンスを最適化する必要があります。

  • マルチユーザーアクセス: 複数のユーザーが同時に Kibana にアクセスすると、Kibana のパフォーマンスに影響が出る可能性があるため、Kibana のキャッシュとネットワーク送信を最適化する必要があります。

  • 安全な送信: データを暗号化して安全に送信する必要がある場合、Kibana と Elasticsearch 間のネットワーク送信を最適化する必要があります。

  1. ドキュメントへのリンク

関連する文献や資料へのリンクをいくつか示します。

パフォーマンスの最適化のために Kibana を使用した実装例を次に示します。

  1. Elasticsearch のインデックス作成とクエリのパフォーマンスの最適化

次の側面を通じて、Elasticsearch のインデックス作成とクエリのパフォーマンスを最適化できます。

  • シャードとレプリカ: シャードとレプリカの数を増やすと、クエリのパフォーマンスと可用性が向上します。

  • インデックスの最適化: インデックス マッピング、アナライザー、フラグメントの数を最適化すると、クエリのパフォーマンスが向上します。

  • クエリの最適化: クエリ ステートメント、クエリ条件、並べ替えなどを最適化すると、クエリのパフォーマンスが向上します。

Elasticsearch API を使用してインデックス作成とクエリのパフォーマンスを最適化する例を次に示します。

PUT /my_index/_settings
{
  "index": {
    "number_of_shards": 5,
    "number_of_replicas": 1
  }
}

PUT /my_index/_mapping
{
  "properties": {
    "name": {
      "type": "text",
      "analyzer": "ik_max_word"
    },
    "age": {
      "type": "integer"
    }
  }
}

POST /my_index/_search
{
  "query": {
    "match": {
      "name": "john"
    }
  },
  "sort": [
    {
      "age": {
        "order": "desc"
      }
    }
  ]
}

この例では、my_index インデックスのシャード数を 5 に、コピー数を 1 に増やし、インデックスのマッピングを最適化し、ik_max_word アナライザーを使用して名前フィールドをセグメント化し、クエリ ステートメントを最適化し、match を使用して名前をクエリします。 「john」ドキュメントを含むフィールド。年齢フィールドで降順に並べ替えられます。

  1. Kibana の視覚化と検索機能を最適化する

次の側面を通じて、Kibana の視覚化および検索機能を最適化できます。

  • 集計の最適化: 集計の粒度、バケット サイズ、日付間隔などを最適化すると、視覚化と検索のパフォーマンスが向上します。

  • 視覚化の最適化: 視覚化チャートの種類、データ量、色などを最適化すると、視覚化のパフォーマンスが向上します。

  • 検索の最適化: 検索語、フィルター条件、時間範囲などを最適化すると、検索パフォーマンスが向上します。

Kibana API を使用して視覚化と検索機能を最適化する例を次に示します。

  • 集計の最適化: ヒストグラムの Y 軸で集計関数を「avg」に設定し、「日次」時間間隔を使用します。

  • 視覚化の最適化: ヒストグラムに表示されるバーの数を 100 に制限し、色をグレーに設定します。

  • 検索の最適化: KQL 構文を使用して検出ページのデータをフィルターし、期間を過去 7 日間に設定します。

  1. Kibana キャッシュの最適化

Kibana は一部のデータと結果をキャッシュします。Kibana のキャッシュは次の側面を通じて最適化できます。

  • キャッシュのクリア: Kibana のキャッシュを定期的にクリアすると、メモリが解放され、パフォーマンスが向上します。

  • キャッシュ サイズ: 適切なキャッシュ サイズを設定すると、メモリとパフォーマンスのバランスをとることができます。

以下は、Cache API を使用して Kibana キャッシュを最適化する例です。

DELETE /api/saved_objects/_cache
{
  "cache": "dashboard",
  "id": "my_dashboard"
}

PUT /api/kibana/settings
{
  "cache.max_size": "500mb"
}

この例では、「my_dashboard」という名前のダッシュボードのキャッシュをクリアし、Kibana のキャッシュを最大サイズ 500MB に設定します。

上記は、パフォーマンスの最適化のために Kibana を使用した実装例です。Elasticsearch のインデックス作成とクエリのパフォーマンスを最適化し、Kibana の視覚化と検索機能を最適化し、Kibana のキャッシュを最適化することで、Kibana のパフォーマンスを向上させ、データ分析と探索の効率を向上させることができます。

おすすめ

転載: blog.csdn.net/feng1790291543/article/details/132103674