目錄
在ELasticsearch安裝X-pack
默認情況下,當你安裝Elasticsearch時,X-pack也被安裝了。請看installing Elasticsearch狗超。
設(shè)置X-pack
X-Pack是一個彈性的堆棧擴展论颅,它提供安全、警報镜雨、監(jiān)視嫂侍、報告、機器學(xué)習(xí)和許多其他功能。
如果你想嘗試X-Pack的所有功能挑宠,你可以開始一個30天的試用菲盾。在試用期結(jié)束時,您可以購買訂閱來繼續(xù)使用X-Pack組件的全部功能各淀。更多信息請看 https://www.elastic.co/subscriptions.
- 安裝X-pack
- 配置監(jiān)控
- 配置安全
- 配置X-pack Java 客戶端
- X-pack設(shè)置
- X-pack引導(dǎo)檢查
在Elasticsearch中配置監(jiān)控
如果在集群中啟用彈性監(jiān)視特性懒鉴,那么有兩種方法可以收集關(guān)于彈性搜索的度量:
- Collecting monitoring data
-
Collecting monitoring data with Metricbeat
了解一般的監(jiān)控,請看Monitoring the Elastic Stack
收集監(jiān)控數(shù)據(jù)
如果啟用集群中的彈性監(jiān)視特性碎浇,您可以選擇收集關(guān)于Elasticsearch的指標临谱。默認情況下,監(jiān)視是啟用的奴璃,但是數(shù)據(jù)收集是禁用的悉默。
該方法涉及到使用導(dǎo)出器將指標發(fā)送到監(jiān)視集群。作為替代方法苟穆,請看Collecting monitoring data with Metribeat抄课。
注意:如果希望從Beats和Logstash等源收集監(jiān)視數(shù)據(jù)并將其路由到監(jiān)視集群,則必須遵循此方法雳旅。您還不能使用Metricbeat為這些產(chǎn)品運送監(jiān)視數(shù)據(jù)跟磨。
先進的監(jiān)測設(shè)置,使您能夠控制多久收集數(shù)據(jù)岭辣,配置超時吱晒,并為本地存儲的監(jiān)視索引設(shè)置保留期。您還可以調(diào)整監(jiān)視數(shù)據(jù)的顯示方式沦童。
要了解一般的監(jiān)控仑濒,請看Monitoring the Elastic Stack
1、配置你的集群去收集監(jiān)控數(shù)據(jù):
a.查證xpack.monitoring.enabled設(shè)置為true偷遗,在集群中的每個節(jié)點上墩瞳,這是它的默認值。更多信息請看Monitoring settings.
b.查證xpack.monitoring.elasticsearch.collection.enabled設(shè)置為true氏豌,在集群中的每個節(jié)點上喉酌,這是它的默認值。
注意:您可以在每個節(jié)點上在elasticsearch.yml文件中指定此設(shè)置泵喘,或者跨集群作為一個動態(tài)集群設(shè)置泪电。如果啟用了Elasticsearch安全特性,則必須具有monitor集群特權(quán)來查看集群設(shè)置和manage集群特權(quán)來更改它們纪铺。
更多信息相速,請看Monitoring settings和Cluster Update Settings
c.在集群中的每個節(jié)點上設(shè)置xpack.monitoring.collection.enabled為true。默認情況下鲜锚,它是不可用的(false)突诬。
注意:您可以在每個節(jié)點上在elasticsearch.yml文件中指定此設(shè)置苫拍,或者跨集群作為一個動態(tài)集群設(shè)置。如果啟用了Elasticsearch安全特性旺隙,則必須具有monitor集群特權(quán)來查看集群設(shè)置和manage集群特權(quán)來更改它們绒极。
例如, 使用下面的APIs查看并更改此設(shè)置:
curl -X GET "localhost:9200/_cluster/settings"
curl -X PUT "localhost:9200/_cluster/settings" -H 'Content-Type: application/json' -d'
{
"persistent": {
"xpack.monitoring.collection.enabled": true
}
}
'
或者蔬捷,您可以在Kibana中啟用此設(shè)置垄提。在側(cè)導(dǎo)航中,單擊Monitoring周拐。如果數(shù)據(jù)收集被禁用塔淤,系統(tǒng)會提示您打開它。
d.可選:指定要監(jiān)視哪些索引
默認情況下速妖,監(jiān)測代理從所有的彈性搜索索引中收集數(shù)據(jù)高蜂。從特定索引收集數(shù)據(jù),配置xpack.monitoring.collection.indices設(shè)置罕容。您可以指定多個索引用一個逗號分隔的列表备恤,或者使用索引模式來匹配多個索引。例如:
xpack.monitoring.collection.indices: logstash-*, index1, test2
可以在索引名或模式前增加+或-顯式地包含或排除锦秒。例如露泊,包含所有test開頭的所有索引除了test3,你可以指定為+test旅择,-test3
2.確定在何處存儲監(jiān)視數(shù)據(jù)
默認情況下惭笑,數(shù)據(jù)通過使用local exporter存儲在同一個集群中∩妫或者沉噩,你可以使用一個http exporter來發(fā)送數(shù)據(jù)到單獨的監(jiān)控集群。更多信息關(guān)于典型的監(jiān)控架構(gòu)柱蟀,請看How Monitoring Works.
3.如果你選擇用一個http exporter
a.在您希望監(jiān)視的集群上(通常稱為生產(chǎn)集群)川蒙,配置每個節(jié)點,以便將指標發(fā)送到監(jiān)視集群长已。在elasticsearch.yml文件中配置一個HTTP exporter在xpack.monitoring.exporters設(shè)置上畜眨。例如:
xpack.monitoring.exporters:
id1:
type: http
host: ["http://es-mon-1:9200", "http://es-mon2:9200"]
b.如果監(jiān)控集群上啟用了彈性安全特性,在將數(shù)據(jù)傳送到監(jiān)視集群時术瓮,必須提供適當?shù)膽{據(jù):
i.在監(jiān)視集群上創(chuàng)建具有內(nèi)置的remote_monotoring_agent權(quán)限的用戶康聂,或者,使用內(nèi)置的remote_monitoring_user用戶胞四。
ii.在每個節(jié)點的elasticsearch.yml文件中增加用戶id和密碼設(shè)置恬汁,在設(shè)置HTTP exporter的時候。
例如:
xpack.monitoring.exporters:
id1:
type: http
host: ["http://es-mon-1:9200", "http://es-mon2:9200"]
auth.username: remote_monitoring_user
auth.password: YOUR_PASSWORD
c.如果您將監(jiān)視集群配置為使用加密通信撬讽,則必須在主機設(shè)置中使用HTTPS協(xié)議蕊连。您還必須指定將用于驗證監(jiān)視集群中的節(jié)點標識的受信任CA證書。
i. 要將CA證書添加到Elasticsearch節(jié)點的受信任證書游昼,可以使用certificate_authority設(shè)置指定PEM編碼的證書的位置甘苍。例如:
xpack.monitoring.exporters:
id1:
type: http
host: ["https://es-mon1:9200", "https://es-mon2:9200"]
auth:
username: remote_monitoring_user
password: YOUR_PASSWORD
ssl:
certificate_authorities: [ "/path/to/ca.crt" ]
ii.或者,您可以使用信任存儲庫(包含證書的Java Keystore文件)配置受信任證書烘豌。例如:
xpack.monitoring.exporters:
id1:
type: http
host: ["https://es-mon1:9200", "https://es-mon2:9200"]
auth:
username: remote_monitoring_user
password: YOUR_PASSWORD
ssl:
truststore.path: /path/to/file
truststore.password: password
4.將集群配置為將監(jiān)視數(shù)據(jù)從Kibana载庭、Beats和Logstash等源路由到監(jiān)視集群。有關(guān)配置每個產(chǎn)品以收集和發(fā)送監(jiān)視數(shù)據(jù)的信息廊佩,請參見Monitoring the Elastic Stack囚聚。
5.如果你更新設(shè)置在彈性搜索。在您的生產(chǎn)集群上的elasticsearch.yml文件标锄,重新啟動Elasticsearch顽铸。
TIP:您可能希望在重新啟動節(jié)點之前暫時禁用碎片分配,以避免在安裝過程中不必要的碎片重新分配料皇。
6.可選:Configure the indices that store the monitoring data
用Metricbeat收集Elasticsearch監(jiān)控數(shù)據(jù)
警告:此功能還處于測試階段谓松,可能會有更改。設(shè)計和代碼還沒有正式的GA功能成熟践剂,并且是按原樣提供的鬼譬,沒有任何保證。Beta特性不受官方GA特性的SLA支持逊脯。
在6.5之后优质,你可以使用Metricbeat來收集關(guān)于ELasticsearch的數(shù)據(jù),并將其發(fā)送到監(jiān)控集群军洼,而不是像Collecting monitoring data里介紹的使用通過導(dǎo)出器路由巩螃。
學(xué)習(xí)關(guān)于一般的監(jiān)控,參見Monitoring the Elastic Stack.
- 啟用監(jiān)控數(shù)據(jù)的收集功能匕争。設(shè)置xpack.monitoring.collection.enable為true在生產(chǎn)集群的每個節(jié)點上牺六,默認情況下,這是不可用的(false)汗捡。
注意:****您可以在每個節(jié)點上在elasticsearch.yml文件中指定此設(shè)置淑际,或者跨集群作為一個動態(tài)集群設(shè)置。如果啟用了Elasticsearch安全特性扇住,則必須具有monitor集群特權(quán)來查看集群設(shè)置和manage集群特權(quán)來更改它們春缕。
例如:你可以使用下面的APIs來查看和改變這個設(shè)置:
curl -X GET "localhost:9200/_cluster/settings"
curl -X PUT "localhost:9200/_cluster/settings" -H 'Content-Type: application/json' -d'
{
"persistent": {
"xpack.monitoring.collection.enabled": true
}
}
'
更多信息,請參見 Monitoring settings 和 Cluster Update Settings.
2.禁用默認的彈性搜索監(jiān)視指標集合艘蹋。設(shè)置xpack.monitoring.elasticsearch.collection.enabled為false在生產(chǎn)集群的每個節(jié)點上锄贼。
注意:****您可以在每個節(jié)點上在elasticsearch.yml文件中指定此設(shè)置,或者跨集群作為一個動態(tài)集群設(shè)置女阀。如果啟用了Elasticsearch安全特性宅荤,則必須具有monitor集群特權(quán)來查看集群設(shè)置和manage集群特權(quán)來更改它們屑迂。
例如,你可以使用下面的API來改變這個設(shè)置:
curl -X PUT "localhost:9200/_cluster/settings" -H 'Content-Type: application/json' -d'
{
"persistent": {
"xpack.monitoring.elasticsearch.collection.enabled": false
}
}
'
保留xpack.monitoring.enabled設(shè)置為它的默認值(true)冯键。
- 在生產(chǎn)集群的每個節(jié)點上:
a.1. Install Metricbeat.
b.在Metricbeat中啟用彈性搜索模塊
例如惹盼,要啟用在modules.d目錄下的默認配置,運行下面的命令:
metricbeat modules enable elasticsearch
更多信息惫确,請參見 Specify which modules to run 和Elasticsearch module.
c.在Metricbeat中配置Elasticsearch模塊
你必須在moudles.d/elasticsearch.yml文件中指定以下設(shè)置:
- module: elasticsearch
metricsets:
- ccr
- cluster_stats
- index
- index_recovery
- index_summary
- ml_job
- node_stats
- shard
period: 10s
hosts: ["http://localhost:9200"] # 1
xpack.enabled: true # 2
1.此設(shè)置標識用于訪問Elasticsearch的主機和端口號手报。
2.此設(shè)置確保Kibana能夠成功讀取此監(jiān)視數(shù)據(jù)。也就是說改化,它存儲在與 exporters發(fā)送的監(jiān)控數(shù)據(jù)相同的位置和格式中掩蛤。
d.如果Elastic的安全特性被啟用, 您還必須提供用戶ID和密碼陈肛,以便Metricbeat能夠成功收集指標揍鸟。
i.在生產(chǎn)集群上創(chuàng)建一個具有內(nèi)置的remote_monitoring_collector權(quán)限的用戶【浜担或者蜈亩,使用內(nèi)置的用戶remote_monitoring_user.
ii.增加username和password設(shè)置到ELasticsearch模塊的配置文件。
例如前翎,在modules.d/elasticsearch.yml文件中增加下面的設(shè)置:
- module: elasticsearch
...
username: remote_monitoring_user
password: YOUR_PASSWORD
e.如果你配置了Elasticsearch使用加密通信稚配,你必須通過HTTPS訪問它。例如港华,在moudles.d/elasticsearch.yml文件里使用一個hosts設(shè)置像https://localhost:9200.
f.確定將監(jiān)視數(shù)據(jù)發(fā)送到何處道川。
TIPS:在生產(chǎn)環(huán)境,我們強烈建議使用一個分開的集群(稱為監(jiān)控集群)來存儲數(shù)據(jù)立宜。使用分開的監(jiān)控集群防止生產(chǎn)集群中斷影響您訪問監(jiān)視數(shù)據(jù)的能力冒萄。它還可以防止監(jiān)視活動影響生產(chǎn)集群的性能。
例如橙数,在Metricbeat配置文件(Metricbeat .yml)中指定Elasticsearch輸出信息:
output.elasticsearch:
hosts: ["https://es-mon-1:9200","https://es-mon-2:9200"]
在這個例子中尊流,數(shù)據(jù)存儲在一個監(jiān)控集群帶有節(jié)點es-mon-1和es-mon-2.
更多關(guān)于配置項的信息,請參見Configure the Elasticsearch output.
g.如果在集群上啟用了Elasticsearch的安全特性灯帮,你必須提供一個有效的用戶ID和密碼以便Metricbeat能夠成功的發(fā)送指標崖技。
i.在監(jiān)控集群上創(chuàng)建一個具有內(nèi)置的remote_monitoring_agent權(quán)限的用戶≈痈纾或者迎献,使用內(nèi)置的用戶remote_monitoring_user.
ii.增加username和password設(shè)置到ELasticsearch輸出信息配置在Metricbeat配置文件中(metricbeat.yml):
output.elasticsearch:
...
username: remote_monitoring_user
password: YOUR_PASSWORD
h.如果你配置了監(jiān)控集群使用加密通信,你必須通過HTPPS訪問它腻贰。例如吁恍,使用一個hosts設(shè)置像https://es-mon-1:9200在metricbeat.yml文件中。
4.啟動ELasticsearch
5.啟動Metricbeat
6.在Kibana查看監(jiān)控數(shù)據(jù)