日志服务搭建-ES-FileBeat-Kibana
创始人
2024-05-30 21:34:08
0

      1次订单量突增问题,导致了有几个数据没有录库,但是确有支付的记录,啥玩意,还能有这个操作,组内安排问题定位,解决,一看打出来的日志,只有支付有,生成订单这边没有,就相当于是俩眼一抹黑。 处理方案,销售确定有下订单后先按照支付的日志,把订单信息维护上。

      搞在线日志和核心业务监控,这看linux的日志还是挺费事的。

如果我们是在springboot的每个服务下面都配置了

 1. 不影响程序和不给程序更多的带宽消耗,就没有在xml中直接配置日志同步给es

采用的是本地服务生成日志后,通过FileBeat去监听指定log文件有变化,就同步数据到es中。

这里就要对所有服务提供log日志模板:

参考:

log.info("业务标识 |   业务操作  |  主要记录日志内容 : {}", 变化的参数)方式输出。

log.error("业务标识 |   业务操作  |  主要错误日志内容 : {}", 变化的参数)方式输出。

 搭建  elasticsearch / filebeat / logstash/ kibana服务

先安装docker 和docker-compose

version: "2.2"
services:es:image: elasticsearch:7.8.0container_name: elasticsearch ports:- "9200:9200"- "9300:9300"environment:discovery.type: single-node##es的密码ELASTIC_PASSWORD: changemeES_JAVA_OPTS: "-Xmx512m -Xms256m"volumes:- /mydata/elasticsearch/:/usr/share/elasticsearch/data- /opt/elk/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml- /opt/elk/elasticsearch/plugins:/usr/share/elasticsearch/pluginsls:image: logstash:7.8.0container_name: logstashports:- "5000:5000/tcp"- "5000:5000/udp"- "9600:9600"environment:discovery.type: single-nodeES_JAVA_OPTS: "-Xmx512m -Xms256m"volumes:- /opt/elk/logstach/pipeline:/usr/share/logstash/pipeline- /opt/elk/logstach/logstash.yml:/usr/share/logstash/config/logstash.yml- /opt/elk/logstach/jars:/usr/share/logstash/logstash-core/lib/jars/depends_on:- eskb:image: kibana:7.8.0container_name: kibanaports:- "5601:5601"volumes:- /opt/elk/kibana/kibana.yml:/usr/share/kibana/config/kibana.ymldepends_on:- es

在运行docker-compose.yml 

 

 

 然后就是elasticsearch的配置  elasticsearch.yml

## Default Elasticsearch configuration from Elasticsearch base image.
cluster.name: "docker-cluster"
network.host: 0.0.0.0
xpack.license.self_generated.type: trial
xpack.security.enabled: true
xpack.monitoring.collection.enabled: true

logstash.yml  文件配置

## Default Logstash configuration from Logstash base image.
http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://ip:9200" ]
xpack.monitoring.enabled: true
xpack.monitoring.elasticsearch.username: 账号
xpack.monitoring.elasticsearch.password: 密码

filebeat.yml  文件配置

filebeat.inputs:
- type: logenabled: truepaths: - /home/log-info.log  # 文件位置
setup.ilm.enabled: false
setup.template.settings:index.number_of_shards: 1output.elasticsearch:hosts: 'ip:9200'username: "账号"password: "密码"indices:- index: 'springboot-%{+yyyy.MM.dd}'  # 对应的索引

kibana.yml文件

##Default kibana configuration from Kibana base image.
server.name: kibana
server.host: 0.0.0.0
i18n.locale: "zh-CN"
server.basePath: "/kibana"
elasticsearch.hosts: [ "http://ip:9200" ]
xpack.security.enabled: true
monitoring.ui.container.elasticsearch.enabled: true
elasticsearch.username: 账号
elasticsearch.password: 密码

登入kibana ,可以查看索引数据,查看日志,功能比较强大,需要点时间研究。

 搭建好:

我要加一个服务到在线日志系统 流程

以A 服务为例子

原来看log-info    TAIL -F LOG-INO.LOG

_index : a-log-error-* 查看所有a服务error日志

_index : a-*  查看所有a服务info日志

  1. 到filebeat目录下修改filebeat.yml 参照已经完成的

 

 在配置完filebeat.yml都要重新执行filebeat容器

docker run -d --name=filebeat  --restart=always
-v对应文件映射
elastic/filebeat:7.8.0

最终实现现在看,根据时间查看

后面可以配置告警功能,优化日志展示格式。

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...