Kibana
1. 导入数据
- Filebeat安装好之后,只要配置上写了发送给Elasticsearch,那么打开es-head的时候,就会发现在es里面已经由filebeat的索引。
- 直接开Kibana,5601端口
这个反正把es的数据调出来,然后导入到kinana里面
这一页就是开始使用了,这些日期,内容,各种过滤器叠加使用之类的。
2. 数据搜索
- 指定时间范围,还能自动刷新
- 左上角的键值筛选
这个只要选中statuscode,is not,后面跟200就行了,虽然完整的值是200 OK,不过看来这个is not只要写一部分就可以匹配了。
- 点到左边的字段名上之后
可以很直观地看到这个字段下面值的直方图分布
- 搜索搜到了之后,跳到某个条目的上下文
点开这一条的详细文档,然后就能跳到上下文上去,看着一条记录上上下下,就是遵从原来分布的那些
- 柱状图看时间和数量
3. 经验之谈
(1) 把json解析那一块去掉了
input {
beats {
port => 5044
}
}
filter {
grok {
match => { "message" => "\[%{TIMESTAMP_ISO8601:timestamp}\]\s+(GatewayMessage:\s+)(\|)%{DATA:url}(\|)%{DATA:methodvalue}(\|)%{DATA:queryParams}(\|)%{DATA:remote}(\|)%{DATA:statusCode}(\|)%{DATA:time}(\|)%{GREEDYDATA:response}" }
remove_field => ["message"]
}
# json {
# source => "response"
# target => "jsonresponse"
# }
geoip {
source => "remote"
remove_field => ["[geoip][latitude]", "[geoip][longitude]",
"[geoip][region_code]", "[geoip][country_name]", "[geoip][continent_code]",
"[geoip][location]", "[geoip][country_code3]", "[geoip][ip]", "[geoip][country_code2]",
"[geoip][timezone]"]
}
# mutate {
# remove_field =>["response"]
# }
}
output{
elasticsearch {
hosts=>["39.100.144.125:9200"]
index => "logstash-%{+YYYY.MM.dd}" #对日志进行索引归档
}
#stdout{codec => rubydebug}
}
原来是把json解析算进去的,由于要解析的json太大了,logstash如果卡时间的话,会产生日志丢失,于是把这一块去掉了。
(2) Kibana必须用@timestamp
如果建立index pattern的时候不用这个,之后会没有办法用时间来进行筛选,就是右上角那个东西会没有掉。
(3) x-pack
Kibana里面现在的监视已经是免费的了,推荐使用MatriBeat,不过目前没这东西,点心跳的时候,点下面那个使用内部收集的也可以。
反正这个直接就能用,根本不需要什么安全设置。
(4) 日志使用思路
从Kibana的仪表盘开始看,看出统计规律之后,然后去discover那一页去搜符合这个条件的日志。
网友评论