链路追踪(zipkin+sleuth+kafka+mysql+ELK+filebeats)
Posted ALe2022
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了链路追踪(zipkin+sleuth+kafka+mysql+ELK+filebeats)相关的知识,希望对你有一定的参考价值。
链路追踪
一、基础环境准备
1.ELK+filebeat日志收集搜索
2.zipkin+sleuth链路追踪
3.OCP环境mysql数据持久化
4.dev环境kafka数据发送
5.整体架构图
二、启动ElasticSearch
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lIsoJFIL-1677219388551)(C:\\Users\\Lele.chen1\\AppData\\Roaming\\Typora\\typora-user-images\\image-20230218200356623.png)]
1.启动前需要修改配置文件elasticsearch.yml
xpack.security.enabled: false 避免登录需要密码
2.关闭SSL认证
xpack.security.http.ssl:
enabled: false
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uqEzlHVW-1677219388551)(C:\\Users\\Lele.chen1\\AppData\\Roaming\\Typora\\typora-user-images\\image-20230218201220827.png)]
3.浏览器输入localhost:9200
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J7zCowh5-1677219388552)(C:\\Users\\Lele.chen1\\AppData\\Roaming\\Typora\\typora-user-images\\image-20230218201104450.png)]
三、elasticsearch-head可视化安装
-
git clone git://github.com/mobz/elasticsearch-head.git
-
cd elasticsearch-head
-
npm install
-
npm run start
-
open
http://localhost:9100/
1.浏览器输入http://localhost:9100/
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w9jtmMSv-1677219388552)(C:\\Users\\Lele.chen1\\AppData\\Roaming\\Typora\\typora-user-images\\image-20230218202617858.png)]
1.集群健康值:未连接。
需要添加两行配置在elasticsearch.yml,解决跨域问题
http.cors.enabled: true
http.cors.allow-origin: “*”
四、kibana启动
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xjxKAL6j-1677219388553)(C:\\Users\\Lele.chen1\\AppData\\Roaming\\Typora\\typora-user-images\\image-20230218205105080.png)]
kibana启动之后自动链接es
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CBAxkd7y-1677219388553)(C:\\Users\\Lele.chen1\\AppData\\Roaming\\Typora\\typora-user-images\\image-20230218205156285.png)]
1、浏览器输入http://localhost:5601/
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NqMcsItx-1677219388553)(C:\\Users\\Lele.chen1\\AppData\\Roaming\\Typora\\typora-user-images\\image-20230218205506332.png)]
2、修改kaibana配置文件kibana.yml为中文
i18n.locale: “zh-CN”
五、logstash安装启动
1.新建文件 my_logstash.conf
一定要和bin同一个目录层级
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.
input
beats
host => "0.0.0.0"
port => 5044
output
if [fields][filetype]== "order"
elasticsearch
hosts => ["127.0.0.1:9200"]
index => "order-%+YYYY.MM.dd"
else if [fields][filetype] == "product"
elasticsearch
hosts => ["127.0.0.1:9200"]
index => "product-%+YYYY.MM.dd"
2.浏览器输入localhost:9600
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-USdpDesr-1677219388554)(C:\\Users\\Lele.chen1\\AppData\\Roaming\\Typora\\typora-user-images\\image-20230218213004695.png)]
六、filebeat安装
1.filebeat.yml调整
①:配置 Filebeat prospectors->path 这里的路径是所要收集日志的路径
②:配置 enabled: true 这个配置很重要,只有配置为true之后配置才可生效,否则不起作用。
③:配置Outputs ,这里的Outputs有elasticsearch,logstash。按照配置文件下面的示例配置即可。
2.启动命令
filebeat -e -c filebeat.yml 就可以启动filebeat
七、zipkin+sleuth部署
1.直接启动jar包
Java -jar zipkin-server-2.23.16-exec.jar,这种方式数据不会保存,下次重启后数据将会丢失
2.将日志数据持久化到mysql
java -jar zipkin-server-2.23.16-exec.jar --STORAGE_TYPE=mysql --MYSQL_HOST=XXXX --MYSQL_TCP_PORT=XX --MYSQL_USER=root --MYSQL_PASS=XXX --MYSQL_DB=zipkin
3.将日志通过kafka流传输
java -jar zipkin-server-2.23.16-exec.jar --STORAGE_TYPE=mysql --MYSQL_HOST=XXX --MYSQL_TCP_PORT=3306 --MYSQL_USER=root --MYSQL_PASS=XXXX --MYSQL_DB=zipkin --KAFKA_BOOTSTRAP_SERVERS=XXXX:9092
4.连接kafka,创建topic
java -jar zipkin-server-2.23.16-exec.jar --KAFKA_BOOTSTRAP_SERVERS=XXXX:9092 --KAFKA_TOPIC=zipkin
以上是关于链路追踪(zipkin+sleuth+kafka+mysql+ELK+filebeats)的主要内容,如果未能解决你的问题,请参考以下文章
Kubnernetes 集群部署 Zipkin+Kafka+ElasticSearch 实现链路追踪
Kubnernetes 集群部署 Zipkin+Kafka+ElasticSearch 实现链路追踪
Kubnernetes 集群部署 Zipkin+Kafka+ElasticSearch 实现链路追踪
Kubnernetes 集群部署 Zipkin+Kafka+ElasticSearch 实现链路追踪