前一篇已把elk的安装连带讲完,本文重在讲述如何在kibana展示es数据。
展示es数据库的客户端工具有很多,比如es head插件,但是一说到要查询日志,还是非kibana莫属了。
# 服务端口
server.port: 5601
# 服务IP
server.host: "0.0.0.0"
# ES的内网Ip:192.168.8.29
elasticsearch.hosts: ["http://192.168.8.29:9200"]
# 汉化
i18n.locale: "zh-CN"
索引模式,新增索引模式。
添加索引模式完成,可以看到其时间筛选字段名称是logdate,另外右上角可以将之删除。
时间字段是必选的,建议你使用日志打印的时间,因为采集时间并不和打印时间相等。
但是,如果你没能对日志内容进行解析成功,换句话说,在filebeat或者logstash未能得到logdate,那么你将查询不到任何日志。(因为Kibana查询的时候,时间是必填的查询条件)
此时,你就得选择采集时间@timestamp作为索引的时间字段。效果见下:
要想在Kibana展示es数据并不难,保证时间字段必须有值。
日志中心在内部使用,关闭认证,方便使用。
# 集群名称
cluster.name: elasticsearch-cluster
network.host: 0.0.0.0
# 支持跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
# 安全认证
xpack.security.enabled: false
kibana的索引管理–》索引生命周期策略:
创建策略
数据治理的策略分为四种:
热阶段
温阶段
冷阶段
删除阶段
热阶段,此阶段为必需。默认即可。
温阶段:您仍在查询自己的索引,但其为只读。您可以将分片分配给效率较低的硬件。为了获取更快的搜索,您可以减少分片数目并强制合并段。
冷阶段:您查询自己索引的频率较低,因此您可以在效率较低的硬件上分配分片。因为您的查询较为缓慢,所以您可以减少副本分片数目。
因为日志中心搭建的es是单节点模式,所以,不开启温和冷阶段。
删除阶段
设置需要保存的天数,15天前的索引将被自动删除,从而控制其数据量。
另外,你可以根据需求创建快照,可以恢复删除的数据。(我这里也没有创建,因为研发环境下的日志数据其重要性较低)
environment:
- "discovery.type=single-node"
environment:
- "ES_JAVA_OPTS=-Xms1500m -Xmx1500m"
你可以在kibana管理es的索引数据。
至此,我们的日志中心完成了一半,可以采集ecs虚拟机上的jvm日志。
下文,我们将介绍如何在k8s pod里采集jvm日志,以及大流量日志采集环境下,适当引入Kafka消息中间件。