ノード情報API
クラスターのノード情報を返します。
リクエスト
GET /_nodes
GET /_nodes/<node_id>
GET /_nodes/<metric>
GET /_nodes/<node_id>/<metric>
前提条件
- Elasticsearchのセキュリティ機能が有効になっている場合、このAPIを使用するには
monitor
またはmanage
クラスター権限が必要です。
説明
クラスターのノード情報APIは、1つ以上(またはすべて)のクラスターのノード情報を取得することを可能にします。すべてのノード選択オプションはこちらで説明されています。
デフォルトでは、ノードのすべての属性とコア設定を返します。
パスパラメータ
<metric>
- (オプション、文字列)返される情報を特定のメトリックに制限します。カンマ区切りのリストをサポートし、
http,ingest
のように指定できます。- `````aggregations
- 利用可能な集約のタイプに関する情報。
http
- このノードのHTTPインターフェースに関する情報。
indices
- インデックス作成に関連するノードレベルの設定:
total_indexing_buffer
: このノードのインデックスバッファの最大サイズ。
ingest
- インジェストパイプラインとプロセッサに関する情報。
jvm
- JVM情報、名前、バージョン、設定を含む。
os
- オペレーティングシステム情報、名前とバージョンを含む。
plugins
- 各ノードごとにインストールされたプラグインとモジュールの詳細。各プラグインとモジュールに対して以下の情報が利用可能です:
name
: プラグイン名version
: プラグインが構築されたElasticsearchのバージョンdescription
: プラグインの目的に関する短い説明classname
: プラグインのエントリポイントの完全修飾クラス名has_native_controller
: プラグインにネイティブコントローラプロセスがあるかどうか
process
- プロセス情報、数値プロセスIDを含む。
settings
elasticsearch.yml
ファイルで定義されたすべてのノード設定のリスト。thread_pool
- 各スレッドプールの設定に関する情報。
transport
- ノードのトランスポートインターフェースに関する情報。
このAPIの完全なGET /_nodes/<node_id>/<metric>
形式を使用する場合、すべてのメトリックを取得するためにメトリック_all
を要求することも、すべてのメトリックを抑制し、ノードのIDのみを取得するためにメトリック_none
を要求することもできます。
<node_id>
- (オプション、文字列)返される情報を制限するために使用されるノードIDまたは名前のカンマ区切りリスト。
レスポンスボディ
build_hash
- このリリースの最後のgitコミットの短いハッシュ。
host
- ノードのホスト名。
ip
- ノードのIPアドレス。
name
- ノードの名前。
total_indexing_buffer
- 最近インデックスされたドキュメントをディスクに書き込む前に保持するために使用される合計ヒープ。 このサイズはこのノードのすべてのシャードで共有されるプールであり、インデックスバッファ設定によって制御されます。
total_indexing_buffer_in_bytes
total_indexing_buffer
と同じですが、バイトで表現されます。transport_address
- トランスポートHTTP接続が受け入れられるホストとポート。
version
- このノードで実行されているElasticsearchのバージョン。
transport_version
- このノードが通信できる最新のトランスポートバージョン。
index_version
- このノードが読み取ることができる最新のインデックスバージョン。
component_versions
- このノードにロードされている個々のコンポーネントのバージョン番号。
- `````os.refresh_interval_in_millis
- OS統計のリフレッシュ間隔
os.name
- オペレーティングシステムの名前(例:Linux、Windows、Mac OS X)
os.arch
- JVMアーキテクチャの名前(例:amd64、x86)
os.version
- オペレーティングシステムのバージョン
os.available_processors
- Java仮想マシンに利用可能なプロセッサの数
os.allocated_processors
- スレッドプールサイズを計算するために実際に使用されるプロセッサの数。この数はノードの
node.processors
設定で設定でき、デフォルトではOSによって報告されたプロセッサの数になります。
- `````process.refresh_interval_in_millis
- プロセス統計のリフレッシュ間隔
process.id
- プロセス識別子(PID)
process.mlockall
- プロセスアドレス空間がメモリに正常にロックされているかどうかを示します。
クエリパラメータ
flat_settings
- (オプション、ブール値)
true
の場合、設定をフラット形式で返します。デフォルトはfalse
です。 timeout
- (オプション、時間単位)各ノードが応答するまでの待機期間。ノードがタイムアウトが切れる前に応答しない場合、その情報はレスポンスに含まれません。ただし、タイムアウトしたノードはレスポンスの
_nodes.failed
プロパティに含まれます。デフォルトではタイムアウトはありません。
例
Ruby
response = client.nodes.info(
node_id: 'process'
)
puts response
response = client.nodes.info(
node_id: '_all',
metric: 'process'
)
puts response
response = client.nodes.info(
node_id: 'nodeId1,nodeId2',
metric: 'jvm,process'
)
puts response
response = client.nodes.info(
node_id: 'nodeId1,nodeId2',
metric: '_all'
)
puts response
コンソール
# プロセスのみを返す
GET /_nodes/process
# 上記と同じ
GET /_nodes/_all/process
# nodeId1とnodeId2のJVMとプロセスのみを返す
GET /_nodes/nodeId1,nodeId2/jvm,process
# 上記と同じ
GET /_nodes/nodeId1,nodeId2/info/jvm,process
# nodeId1とnodeId2のすべての情報を返す
GET /_nodes/nodeId1,nodeId2/_all
_all
フラグを設定すると、すべての情報を返すことができます - または省略することもできます。
プラグインメトリックの例
#### Python
``````python
resp = client.nodes.info(
node_id="plugins",
)
print(resp)
`
Ruby
response = client.nodes.info(
node_id: 'plugins'
)
puts response
Js
const response = await client.nodes.info({
node_id: "plugins",
});
console.log(response);
コンソール
GET /_nodes/plugins
コンソール-結果
{
"_nodes": ...
"cluster_name": "elasticsearch",
"nodes": {
"USpTGYaBSIKbgSUJR2Z9lg": {
"name": "node-0",
"transport_address": "192.168.17:9300",
"host": "node-0.elastic.co",
"ip": "192.168.17",
"version": "{version}",
"transport_version": 100000298,
"index_version": 100000074,
"component_versions": {
"ml_config_version": 100000162,
"transform_config_version": 100000096
},
"build_flavor": "default",
"build_type": "{build_type}",
"build_hash": "587409e",
"roles": [
"master",
"data",
"ingest"
],
"attributes": {},
"plugins": [
{
"name": "analysis-icu",
"version": "{version}",
"description": "The ICU Analysis plugin integrates Lucene ICU module into elasticsearch, adding ICU relates analysis components.",
"classname": "org.elasticsearch.plugin.analysis.icu.AnalysisICUPlugin",
"has_native_controller": false
}
],
"modules": [
{
"name": "lang-painless",
"version": "{version}",
"description": "An easy, safe and fast scripting language for Elasticsearch",
"classname": "org.elasticsearch.painless.PainlessPlugin",
"has_native_controller": false
}
]
}
}
}
インジェストメトリックの例
#### Python
``````python
resp = client.nodes.info(
node_id="ingest",
)
print(resp)
`
Ruby
response = client.nodes.info(
node_id: 'ingest'
)
puts response
Js
const response = await client.nodes.info({
node_id: "ingest",
});
console.log(response);
コンソール
GET /_nodes/ingest
コンソール-結果
{
"_nodes": ...
"cluster_name": "elasticsearch",
"nodes": {
"USpTGYaBSIKbgSUJR2Z9lg": {
"name": "node-0",
"transport_address": "192.168.17:9300",
"host": "node-0.elastic.co",
"ip": "192.168.17",
"version": "{version}",
"transport_version": 100000298,
"index_version": 100000074,
"component_versions": {
"ml_config_version": 100000162,
"transform_config_version": 100000096
},
"build_flavor": "default",
"build_type": "{build_type}",
"build_hash": "587409e",
"roles": [],
"attributes": {},
"ingest": {
"processors": [
{
"type": "date"
},
{
"type": "uppercase"
},
{
"type": "set"
},
{
"type": "lowercase"
},
{
"type": "gsub"
},
{
"type": "convert"
},
{
"type": "remove"
},
{
"type": "fail"
},
{
"type": "foreach"
},
{
"type": "split"
},
{
"type": "trim"
},
{
"type": "rename"
},
{
"type": "join"
},
{
"type": "append"
}
]
}
}
}
}