ElasticsearchのMarvelプラグイン



Elasticsearchs Marvel Plugin



2019 Unicorn Enterprise Heavy Gold Recruitment Python Engineer Standard >>> hot3.png

MarvelはElasticの商用監視ソリューションであり、パフォーマンスの最適化とトラブルシューティングのためにElasticsearchクラスターの履歴状態を監視するための強力なツールです。監視は主に、クラスターレイヤー、ノードレイヤー、インデックスレイヤー、スライスレイヤー、イベントレイヤー、センスの6つのレベルに分けられます。



1.1.1 インストール

MarvelはElasticsearchプラグインの形式です。最新バージョンでは、Marvelには2つのコンポーネントがあります。1つはプロキシであり、Elasticsearchクラスターにインストールする必要があります。もう1つはKibanaプラグインであり、Kibanaにインストールする必要があります。

インストール手順:



1)ElasticsearchにMarvelプラグインをインストールします。

ビン/プラグインインストールライセンス

bin / plugin installmarvel-agent



2)KibanaにMarvelプラグインをインストールします

bin / kibanaプラグイン--elasticsearch / marvel / latestをインストールします

3)ElasticsearchとKibanaを起動します

bin / elasticsearch

bin/kibana

インストール後、ブラウザにhttp://127.0.0.1:5601/と入力して、図9.1に示すインターフェイスを表示します。

Figure 9.1 Kibana Home

次に、インターフェイスメニューで[Marvel]を選択すると、図9.2に示すインターフェイスが表示されます。

図9.2マーベルホーム

次に、elasticsearchをクリックして、図9.3に示す監視インターフェースを確認します。

図9-3Marvelモニタリングページ

この記事はもともとsecislandによって作成されました。著者と出典を示してください。

1.1.2 構成

lパラメータ設定の監視

各ノードのelasticsearch.ymlでMarvelパラメーターを構成することにより、Elasticsearchクラスターからのデータの収集を制御できます。カスタムインデックステンプレートを追加して、インデックスモニタリングの設定を変更し、クラスターによって収集されたデータからストレージを作成できます。

設定を監視するためのパラメーターは、marvel.agentで始まるelasticsearch.ymlファイルにあります。

marvel.agent.cluster.state.timeout

クラスタステータスを収集するためのタイムアウトを設定します。デフォルトは10秒です。

marvel.agent.cluster.stats.timeout

クラスター統計を収集するためのタイムアウトを設定します。デフォルトは10秒です。

marvel.agent.indices

どのインデックスデータを収集するかを制御します。デフォルトではすべてのインデックスです。指定されたインデックスの名前は、test1、test2、test3のようにコンマで区切ることができます。 test *など、ワイルドカードを名前に含めることができます。関連するインデックスを明示的に含めたり除外したりできます。たとえば、testで始まるすべてのインデックスを含めますが、test3を除外するには、+ test *または-test3のように記述します。

marvel.agent.index.stats.timeout

インデックス統計を収集するためのタイムアウトを設定します。デフォルトは10秒です。

marvel.agent.indices.stats.timeout

合計インデックス統計を収集するためのタイムアウトを設定します。デフォルトは10秒です。

marvel.agent.exporters

エージェント監視データを構成します。デフォルトでは、エージェントはローカルクラスターにインストールされ、データを監視し、HTTPプロトコルを使用してデータを別の監視クラスターに送信します。次に例を示します。

marvel.agent.exporters:

id1:#デフォルトのローカルエクスポーター

タイプ:ローカル

id2:#httpエクスポーターの例

タイプ:http#エクスポータータイプ、ローカルまたはhttp

host:['http:// domain:port'、...]#httpまたはhttpsを介してデータを送信するホスト

auth:

ユーザー名:#基本認証ユーザー名

パスワード:#基本認証パスワード

接続:

タイムアウト:#http接続タイムアウト(デフォルト:6秒)

read_timeout:#http応答タイムアウト(デフォルト:connection.timeout * 10)

キープアライブ:true | false#持続的接続を使用します(デフォルト:true)

ssl:

hostname_verification:true | false#ホスト証明書を確認します(デフォルト:true)

プロトコル:#セキュリティプロトコル(デフォルト:TLSv1.2)

truststore.path:/ path / to / file#トラストストアへの絶対パス

truststore.password:#トラストストアのパスワード

truststore.algorithm:#トラストストアの形式(デフォルト:SunX509)

インデックス:

名前:

time_format:#驚異的なインデックスの時間形式の接尾辞(デフォルト: 'YYYY.MM.dd')

marvel.agent.index.recovery.active_only

すべてのリカバリデータを収集するかどうかを制御します。有効なリカバリデータを収集するには、trueに設定します。デフォルトはfalseです。

marvel.agent.index.recovery.timeout

リカバリデータを収集するためのタイムアウトを設定します。デフォルトは10秒です。

marvel.agent.interval

データサンプルが収集される頻度を制御します。デフォルト設定は10秒で、-1に設定するとデータ収集が無効になります。

marvel.history.duration

モニターによって作成されたインデックスが自動的に削除される保持時間を設定します。デフォルトは7日です。監視インデックスの自動削除を無効にするには、-1に設定します。

lインデックス構成の監視

監視では、インデックステンプレートを使用して、クラスターから収集されたデータを格納するために使用されるインデックスを構成します。

デフォルトのテンプレートは、次のコマンドで取得できます。

GET /_template/.marvel-es

デフォルトでは、テンプレートはシャードとレプリケートされた監視インデックスを構成します。デフォルト設定を上書きするには、次のような独自のテンプレートを追加できます。

PUT / _template / custom_marvel

{{

'テンプレート': '。marvel *'、

「注文」:1、

'設定': {

'number_of_shards':5、

'number_of_replicas':2

}

}

lKibana構成関連

Marvelの監視パラメーターはKibanaの構成ファイル(kibana.yml)で設定でき、ほとんどの場合、デフォルト値で問題ありません。

marvel.max_bucket_size

取得されたインデックスメトリック集計から、集計取得インデックスとノードを実行するバケットの数を返します。デフォルトは10000です。

marvel.min_interval_seconds

タイムバケットが表すことができる最小秒数。デフォルトは10秒です。

marvel.node_resolver

唯一のノードと見なされるフラグ。

marvel.report_stats

クラスター統計をElasticに送信するかどうか。デフォルトはtrueです。

l部族部族ノード監視構成

部族ノードを介してクラスターに接続する場合は、クラスターを監視するために、部族ノードおよびクラスター内のノードに監視エージェントをインストールする必要があります。クラスターにアクセス許可が設定されている場合は、部族ノードにもアクセス許可をインストールして構成する必要があります。

部族の祭りを除外するには、elasticsearch.yml構成ファイルでmarvel.enabledをfalseに設定します。次に例を示します。

node.name:部族

marvel.enabled:false

部族:

t1:

cluster.name:cluster1

Discovery.zen.ping.unicast.hosts:['cluster1-node1:9300'、 'cluster1-node2:9300']

この構成では、Hordeノードは監視ユーザーインターフェイスに表示されるノードの数に含まれますが、監視クラスターにデータをエクスポートしないため、ノードリストには含まれません。

次の例は、すべての部族データを監視しています。

node.name:部族

marvel.enabled:false

部族:

t1:

cluster.name:cluster1

Discovery.zen.ping.unicast.hosts:['cluster1-node1:9300'、 'cluster1-node2:9300']

マーベル:

有効:true

agent.exporters:

id1:

タイプ:http

ホスト:['monitoringhost:9200']

部族ノードのデータ収集が有効になっている場合、それはノード数とノードリストに含まれます。部族ノードはHTTP出力のみをサポートし、部族ノードのデータは外部監視クラスターに送信する必要があることに注意してください。

secislandのフォローアップでは、Elasticsearchの最新バージョンの機能を徐々に分析していきますので、お楽しみに。また、注目を集めるために、secislandの公開番号に参加することを歓迎します。

転載:https://my.oschina.net/secisland/blog/734885