1 - 简介
这个系列是我学习Flink之后,想到加强一下我的FLink能力,所以开始一系列的自己拟定业务场景,进行开发。
这里更类似笔记,而不是教学,所以不会特别细致,敬请谅解。
这里是实战的,具体一些环境,代码基础知识不会讲解,例如docker,flink语法之类的,看情况做具体讲解,所以需要一些技术门槛。
2 - 准备
- flink - 1.12.0
- elasticsearch - 7.12
- kafka - 2.12-2.5.0
- kibana - 7.12
- filebeat - 7.12
这里就不做下载地址的分享了,大家自行下载吧。
3 - 代码
Flink代码
maven pom依赖,别问为啥这么多依赖,问我就说不知道,你就复制吧。
1 | xml复制代码<?xml version="1.0" encoding="UTF-8"?> |
下面是flink的,具体讲解都在代码里
1 | java复制代码package com.iolo.flink.cases; |
其中为了告警通知,做了个钉钉自定义机器人通知,需要的可以去百度查看一下,很方便。
developers.dingtalk.com/document/ap…
1 | java复制代码package com.iolo.common.util; |
然后可以直接在的控制面板直接启动这个main方法
Springboot
gitee地址直接下载,不做详细讲解
接口地址 http://127.0.0.1:8080/test/log?level=error&count=10
Kafka
操作命令,这些命令都是在Kafka里的bin目录下,Zookeeper是kafka自带的那个
1 | shell复制代码# Zookeeper 启动命令 |
Elasticsearch
这里开始使用docker,具体环境可以自行搭建,并且以后docker的场景会越来越多,直接上命令。
1 | shell复制代码docker run \ |
验证
Kibana
1 | shell复制代码docker run \ |
我这里去容器内部设置中文,你可以不做
设置的方法,在配置文件kibana.yml增加i18n.locale: "zh-CN"
验证 地址 是 127.0.0.1:5601
具体操作的时候进行图文讲解
Filebeat
下载地址 www.elastic.co/cn/download…
选择自己电脑环境进行下载,我是MAC
解压之后修改配置文件里,直接上配置文件
1 | xml复制代码# ============================== Filebeat inputs =============================== |
4 - 实战
环境和程序都准备好了之后,别忘了启动Springboot服务
然后通过请求接口服务 127.0.0.1:8080/test/log?level=error&count=10 来产生日志
通过查看钉钉 看是否有报警信息
钉钉成功!!!
然后就是Kibana的操作
直接上结果页面
然后就是操作步骤
第一先去es选择index
第二步根据红框点击进去es查询index页面
最后在输入框里查询你刚才的index ,咱们的代码就是my-index,根据提示进行下一步,我这里已经创建过了,所以就不在演示。最后就可以会有之前页面的效果。
5 - 结束语
整体就是这样,很多人肯定会提出质疑,说直接filebeat+ELK 也能完成这类效果,好的,你别杠,我这是学习flink之后,然后自己出业务场景,进行flink的实战总结,如果你有更好的方案,就干你的。
然后如果大家有啥想要的,遇到的场景,都可以提出来,我会斟酌后进行采纳进行实战实施。
最后感谢阅读。
本文转载自: 掘金