kibana除了对elasticsearch存储的信息进行搜索之外,还以可以使用dev-tools工具对elasticsearch状态进行检查。
检查ealsticsearch状态
可以用 curl命令或者访问浏览器直接检查elasitcsearch状态以及配置等,如
# 查看集群支持的选项
crul 127.0.0.1:9200/_cat
#查看节点信息
curl 127.0.0.1:9200/_cat/nodes?v
#查看master节点信息
curl 127.0.0.1:9200/_cat/master?v
#查看所有节点上的热点线程
curl 127.0.0.1:9200/_cat/hot_threads
#查看不健康的分片或者索引
curl 127.0.0.1:9200/_cluster/allocation/explain?pretty
#查看线程池设置
curl 127.0.0.1:9200/_nodes/thread_pool/
#查看集群的全部信息
curl 127.0.0.1:9200/_cluster/stats?human&pretty
#查看集群的状态
curl 127.0.0.1:9200/_cluster/health?pretty
#获取所有索引的信息
curl 127.0.0.1:9200/_cat/indices?v&pretty
#查看集群状态,green功能完好,yellow数据可用的,但是未被分配的副本,red集群中存在不可用的数据
curl 127.0.0.1:9200/_cat/health?v
#创建索引test
#test索引名,pretty输出格式良好的json响应
curl 127.0.0.1:9200/test?pretty
#查看索引
curl 127.0.0.1:9200/test
使用kibana dev-tools
我们可以使用kibana的dev-tools工具来更加方便的查询常用检查
以下是常用查询
#判断索引是否存在
HEAD test
#打开索引test
POST test/_open
#关闭索引
POST test/_close
#查看索引的状态
GET test/_stats
#删除索引
DELETE test?pretty
#查看索引模板
GET _template #查看所有索引摸板
GET _template/temp* #查看以 temp 开头的索引模板
GET _template/template_1,template_2 #查看 template_1 和 template_2 索引摸板
GET _template/template_name #查看名称为 template_name 的索引摸板
grok debugger调试
grok是logstash的常用过滤插件,编写比较麻烦,不容易调试,我们可以用dev-tools工具进行grok调试
#input
[2020-04-03T16:51:35,918] [DEBUG] [o.e.a.a.c.n.i.TransportNodesInfoAction] [data02-131-211]
failed to execute on node [08GhVGGgRCqUE3qAdXf04g] org.elasticsearch.transport.NodeNot
ConnectedException: [master01-34.5][172.16.34.5:9300] Node not connected
#pattern
(?<date>\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2},\d{3})\] \[(?<loglevel>[A-Z \s]{4,5})] \[(?<service>[A-Za
-z0-9/.]{4,40})\] \[(?<node>[A-Za-z0-9/-]{4,40})\] (?<msg>.*)
#result
{ "date": [
[
"2020-04-03T16:51:35,918"
]
],"loglevel": [
[ "DEBUG"
]
],"service": [
[ "o.e.a.a.c.n.i.TransportNodesInfoAction"
]
],"node": [
[ "data02-131-211"
]
],"msg": [
[ "failed to execute on node [08GhVGGgRCqUE3qAdXf04g] org.elasticsearch.transport.N
odeNotConnectedException: [master01-34.5][172.16.34.5:9300] Node not connected"
]
]
}
简单匹配举例