kibana集群聚合
把多套集群的es聚集在一个kibana中展示
原理
- 通过kibana调用接口,连接集群的管理端口transport.host/port(一个或多个集群)
方法:远程集群
参考链接:https://www.elastic.co/guide/en/elasticsearch/reference/7.14/modules-remote-clusters.html
准备:
- 所有集群保证网络可以互通
- 在es集群中查看elasticsearch.yml中的 transport.host,transport.port的参数。
图形化创建
Stack Management---->远程集群----->添加即可(种子节点为transport.ip:9300默认)
开发者工具创建
添加远程集群:cluster_one,cluster_two
PUT _cluster/settings
{
"persistent": {
"cluster": {
"remote": {
##自己定义的集群的名字
"cluster_one": {
"seeds": [
##transport.host的ip及端口
"10.251.68.249:9300"
]
},
"cluster_two": {
"seeds": [
"10.11.5.147:9300"
]
}
}
}
}
}
- 可以加的参数
transport.host:host地址,默认network.host
transport.port:端口号,默认9300-9400
transport.publish_port:对外公布端口,默认于transport相同
transport.bind_host:service绑定的地址,默认是transport.bind_host或transport.host
transport.publish_host:集群通信地址默认transport.bind_host或transport.host有且只有一个
transport.connect_timeout:连接超时时间
transport.compress:是否在传输时进行压缩
transport.ping_schedule:ping消息间隔时间,用来确认transport是否可用,默认是5s,可用设置为-1来代表禁止ping
#例如
PUT _cluster/settings
{
"persistent": {
"cluster": {
"remote": {
"cluster_one": {
"seeds": [
"10.251.68.249:9300"
],
"transport.ping_schedule": "1s"
},
"cluster_two": {
"mode": "sniff",
"seeds": [
"10.11.5.147:9300"
],
"transport.ping_schedule": "1s",
"skip_unavailable": true
}
}
}
}
}
查询远程集群及参数
#查询全部远程集群及详细配置
PUT _cluster/settings
#查询单个集群的索引内容
GET nginx_access_2022.09.23/_search
删除远程集群
PUT _cluster/settings
{
"persistent": {
"search": {
"remote": {
"cluster_one": {
"seeds": null
}
}
}
}
}
报错小帖士1
#删除时报错
Cannot configure setting [cluster.remote.cluster_one.transport.ping_schedule] if remote cluster is not enabled.
- 解决办法
#看远程集群的详细配置参数
GET _cluster/settings
#如
"cluster_one" : {
"mode" : "sniff",
"skip_unavailable" : "false",
"transport" : {
"ping_schedule" : "30s"
},
"node_connections" : "3",
"seeds" : [
"10.251.54.200:9300"
]
}
#删除的配置信息比它的配置少所以删不掉把多的配置也给设置为null如:
PUT _cluster/settings
{
"persistent":{
"cluster":{
"remote":{
"cluster_one":{
"mode":null,
"node_connections":null,
"seeds":null,
"skip_unavailable":null,
"transport.ping_schedule":null
}
}
}
}
}
错误小贴士2
##远程集群删不掉
GET _cluster/settings
查看时发现在最低部有一行配置
“cluster.routing.allocation.awareness.attributes”
- 解决把它配置设为null
PUT _cluster/settings
{
“persistent”: {
“cluster.routing.allocation.awareness.attributes”: null
}
}
建索引模式
stack Management. -> 索引模式 -> 创建索引模式 (可以创建例如:*:nginx*)
直接创建索引模式索引名称为:远程集群名:索引
可以使用*匹配多个