私有部署ELK,搭建自己的日志中心(四)-- kibana展示es的数据

一、说在前面的话

前一篇已把elk的安装连带讲完,本文重在讲述如何在kibana展示es数据。

二、数据的展示

展示es数据库的客户端工具有很多,比如es head插件,但是一说到要查询日志,还是非kibana莫属了。

1、kibana.yml

bash 复制代码
# 服务端口
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"

2、添加索引

索引模式,新增索引模式。


添加索引模式完成,可以看到其时间筛选字段名称是logdate,另外右上角可以将之删除。

时间字段是必选的,建议你使用日志打印的时间,因为采集时间并不和打印时间相等。

但是,如果你没能对日志内容进行解析成功,换句话说,在filebeat或者logstash未能得到logdate,那么你将查询不到任何日志。(因为Kibana查询的时候,时间是必填的查询条件)

此时,你就得选择采集时间@timestamp作为索引的时间字段。效果见下:

要想在Kibana展示es数据并不难,保证时间字段必须有值。

三、数据存储

1、elasticsearch.yml

日志中心在内部使用,关闭认证,方便使用。

bash 复制代码
# 集群名称
cluster.name: elasticsearch-cluster
network.host: 0.0.0.0
# 支持跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
# 安全认证
xpack.security.enabled: false

2、定期清理数据

kibana的索引管理--》索引生命周期策略:

  • 创建策略

    数据治理的策略分为四种:

  • 热阶段

  • 温阶段

  • 冷阶段

  • 删除阶段

热阶段,此阶段为必需。默认即可。

温阶段:您仍在查询自己的索引,但其为只读。您可以将分片分配给效率较低的硬件。为了获取更快的搜索,您可以减少分片数目并强制合并段。
冷阶段:您查询自己索引的频率较低,因此您可以在效率较低的硬件上分配分片。因为您的查询较为缓慢,所以您可以减少副本分片数目。

因为日志中心搭建的es是单节点模式,所以,不开启温和冷阶段。

删除阶段

设置需要保存的天数,15天前的索引将被自动删除,从而控制其数据量。

另外,你可以根据需求创建快照,可以恢复删除的数据。(我这里也没有创建,因为研发环境下的日志数据其重要性较低)

3、其他事项

  • 单节点
bash 复制代码
    environment:
      - "discovery.type=single-node"
  • jvm配置
bash 复制代码
    environment:
      - "ES_JAVA_OPTS=-Xms1500m -Xmx1500m"

四、kibana之索引管理

你可以在kibana管理es的索引数据。

至此,我们的日志中心完成了一半,可以采集ecs虚拟机上的jvm日志。

下文,我们将介绍如何在k8s pod里采集jvm日志,以及大流量日志采集环境下,适当引入Kafka消息中间件。

相关推荐
Abladol-aj16 分钟前
并发和并行的基础知识
java·linux·windows
清水白石00816 分钟前
从一个“支付状态不一致“的bug,看大型分布式系统的“隐藏杀机“
java·数据库·bug
Elastic 中国社区官方博客3 小时前
使用 Elastic AI Assistant for Search 和 Azure OpenAI 实现从 0 到 60 的转变
大数据·人工智能·elasticsearch·microsoft·搜索引擎·ai·azure
Francek Chen5 小时前
【大数据技术基础 | 实验十二】Hive实验:Hive分区
大数据·数据仓库·hive·hadoop·分布式
吾日三省吾码6 小时前
JVM 性能调优
java
弗拉唐7 小时前
springBoot,mp,ssm整合案例
java·spring boot·mybatis
oi777 小时前
使用itextpdf进行pdf模版填充中文文本时部分字不显示问题
java·服务器
少说多做3438 小时前
Android 不同情况下使用 runOnUiThread
android·java
知兀8 小时前
Java的方法、基本和引用数据类型
java·笔记·黑马程序员