elk笔记9--跨集群搜索
1. 跨集群搜索简介
跨集群允许我们在一个或者多个远程集群上执行搜索任务,通常我们可以用跨集群搜索来过滤或者搜索不同数据中心的日志。
2. 跨集群搜索配置
直接通过api动态配置较方便,此处使用api配置,内容如下:
PUT _cluster/settings
{
"persistent": {
"cluster": {
"remote": {
"es_one": {
"skip_unavailable": true,
"seeds": [
"10.120.75.102:9300",
"10.120.75.103:9300"
]
}
}
}
}
}
返回:
{
"acknowledged" : true,
"persistent" : {
"cluster" : {
"remote" : {
"es_one" : {
"skip_unavailable" : "true",
"seeds" : [
"10.120.75.102:9300",
"10.120.75.103:9300"
]
}
}
}
},
"transient" : { }
}
默认情况下,如果任何请求的远程集群不可用,es将会返回一个错误;为了避免一些不可用的集群,可以设置skip_unavailable为true, 此时如果存在不可用的集群,返回结果中将不包括相应数据。
3 跨集群使用案例
- devtools搜索方法
输出结果如下:GET es_one:kibana_sample_data_flights/_search { "size": 1 }
其结果中_index前缀为es_one,可知该数据来自于远程集群es_one. - index pattern配置方法
创建index pattern时候也需要添加es_one:前缀,若有多个远程集群,则可以用es_*:之类的模糊匹配;
如下使用 es_one:kibana_sample_data_flights 来新建一个查看es_one集群的index pattern
创建后即可在discover中通过es_one:xx 来查询数据了,如下图所示: