这一篇的实验室透过 docker-compose 中 logging 关键字将应用程序 log 转发到 fluent-bit 并做日志解析,最後再将其存入 Elasticsearch。
建设基础环境
fluent/conf/fluent-bit.conf
的 Elasticsearch 连线位置,改成自己机器的 IP 和 ES 映射的 Port 预设是 9200
原则上 EFK 基础设施就会被建立起来,接着我们启动一个 spring boot 专案进行测试。测试的专案在 github 上。注意这边的 logging-docker-compose.yml
要进行以下修改如下,最後运行 logging-docker-compose.yml
即可。
version: '3.7'
services:
jaeger-tracing-java-service:
container_name: jaeger-tracing-web-redis-demo
build:
context: .
environment:
# OTEL 相关环境变数先注解
#OTEL_TRACES_EXPORTER: jaeger
#OTEL_EXPORTER_JAEGER_ENDPOINT: http://192.168.101.129:9000 # must URI format
#OTEL_RESOURCE_ATTRIBUTES: "service.name=java-redis-demo,service.version=v1.0.0"
#OTEL_PROPAGATORS: "tracecontext,baggage"
#OTEL_METRICS_EXPORTER: none
SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/demo # 这边改成 jdbc:postgresql://postgres:5432/demo
SPRING_DATASOURCE_USERNAME: demo
SPRING_DATASOURCE_PASSWORD: 123456
SPRING_REDIS_HOST: redis
logging:
driver: fluentd
options:
fluentd-address: 192.168.101.129:24224 # 这边的 IP 改成机器 IP
tag: web-backend
ports:
- "8000:8080"
redis:
container_name: redis
image: redis:latest
expose:
- 6379
logging:
driver: fluentd
options:
fluentd-address: 192.168.101.129:24224 # 这边的 IP 改成机器 IP
tag: redis
...
使用 docker ps -a
检查是否都正常运行
54c3aa17b5c4 fluent/fluent-bit:1.7.0 "/fluent-bit/bin/flu…" 11 minutes ago Up 11 minutes 0.0.0.0:2020->2020/tcp, :::2020->2020/tcp, 0.0.0.0:24224->24224/tcp, :::24224->24224/tcp, 0.0.0.0:24224->24224/udp, :::24224->24224/udp fluent-bit
4eb79214849d docker.elastic.co/kibana/kibana:7.6.0 "/usr/local/bin/dumb…" 16 minutes ago Up 16 minutes 0.0.0.0:5601->5601/tcp, :::5601->5601/tcp
kibana
c886270bbe2c docker.elastic.co/elasticsearch/elasticsearch:7.6.0 "/usr/local/bin/dock…" 16 minutes ago Up 16 minutes 0.0.0.0:9200->9200/tcp, :::9200->9200/tcp, 0.0.0.0:9300->9300/tcp, :::9300->9300/tcp elasticsearch2
4e596a65d2d7 postgres "docker-entrypoint.s…" 22 minutes ago Up 22 minutes (healthy) 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp
postgres
ed493f4b2816 redis:latest "docker-entrypoint.s…" 22 minutes ago Up 22 minutes 6379/tcp
redis
8e4889332516 psql-redis-springboot_jaeger-tracing-java-service "java -javaagent:ope…" 22 minutes ago Up 22 minutes 0.0.0.0:8000->8080/tcp, :::8000->8080/tcp
jaeger-tracing-web-redis-demo
最後可以在 Kibana 上看到 index,如下
接着在 Index pattern
输入 index 名称,再按 Next Step,最後点击 Create index pattern。最後我们可以看见该容器的日志了。
明天会使用 Spring boot 的环境配置进行实作。
<<: day18 : kafka服务应用 on K8S (下)
在撰写程序时我发现了一个以前没有遇到过的事情,我原先一直以为是因为环境导致的但是後来我发现跟环境没有...
前言 在上一个范例中,是写死回传的内容,显然在现实生活中应该是不会有公司让你可以这样做的,而当我们的...
视差效果 教学原文参考:视差效果 这篇文章会介绍,如何在 Scratch 3 里建立五个角色,透过重...
前言 昨天聊过 Task.WhenAll , 得知其底层就是等待多个 Task 完成的机制, 那 T...
竟然到了第四个练习!!! 教学范例:https://www.sixvfx.com/ae_combus...