參考:datasophon集成Flink1.20.0
此大神有多篇集成其他服務的文章,建議關注一波
一、服務集成
? ? ? ? ? ? ?flink 1.20 下載
? ? ? ? 1.構建壓縮包:
? ? ? ? 1.1拷貝需要的包
tar -zxvf flink-1.20.0-bin-scala_2.12.tgz
tar czf flink-1.20.0.tar.gz flink-1.20.0# 為了flink cdc 與dinky 的使用,可根據自己的業務來添加
cp mysql-connector-java-8.0.28.jar flink-1.20.0/lib
cp dinky-app-1.20-1.2.3-jar-with-dependencies.jar flink-1.20.0/lib
cp flink-doris-connector-1.20-24.0.1.jar flink-1.20.0/lib
cp flink-shaded-hadoop-3-uber-3.1.1.7.2.9.0-173-9.0.jar flink-1.20.0/lib
cp flink-table-planner-loader-1.20.0.jar flink-1.20.0/lib
cp kafka-clients-3.9.0.jar flink-1.20.0/lib
????????1.2 修改jobmanager.sh
????????
????????
vi flink-1.20.0/bin/jobmanager.sh # 在55行 args=("--configDir" "${FLINK_CONF_DIR}" "--executionMode" "cluster" "${args[@]}") # 添加參數改為 args=("-D" "metrics.reporter.prom.port=9250" "--configDir" "${FLINK_CONF_DIR}" "--executionMode" "cluster" "${args[@]}")
? ? ? 1.3 修改taskmanager.sh
????????
vi flink-1.20.0/bin/taskmanager.sh
# 在57行 args=("--configDir" "${FLINK_CONF_DIR}" "--configDir" "${FLINK_CONF_DIR}" "${ARGS[@]}")
# 添加參數改為
ARGS=("-D" "metrics.reporter.prom.port=9251" "--configDir" "${FLINK_CONF_DIR}" "${ARGS[@]}")
2.修改service_ddl.json
具體參考 上面的參考,但要注意jmxPort,需要跟上面jobmanager.sh taskmanager.sh對應,我的是9250對應的是jobmanager,9251對用的是taskmanager
3.后面繼續參考
二、服務配置
? ? ? ? 按照參考安裝Flink,在配置頁面,在自定義配置flink-conf.yaml 添加兩項配置
????????metrics.reporters:prom
????????metrics.reporter.prom.factory.class:org.apache.flink.metrics.prometheus.PrometheusReporterFactory
? ? ?這兩項配置也可以修改service_ddl.json,在上面添加,后續在裝其他集群時不需要手動添加這這兩項配置
三、驗證
? ? ? ? 在Flink 都啟動之后,在jobmanager節點上請求9250端口 是否又監控信息
? ? ? ? curl localhost:9250 ,如果出現信息則正常,如果不通檢查是否沒其他服務占用了端口
? ? ? ? 在taskmanager 節點請求9251 curl localhost:9251
四、Prometheus 配置
? 1.修改prometheus.yml 添加flink 監控
vi prometheus/prometheus.yml
# 添加配置- job_name: 'jobmanager'file_sd_configs:- files:- configs/jobmanager.json- job_name: 'taskmanager'file_sd_configs:- files:- configs/taskmanager.json
2.添加相應 的json 配置
vi prometheus/configs/jobmanager.json
# 內容hostname 為 所在的hostname
[{"targets":["hostname:9250"]}
]vi prometheus/configs/taskmanager.json
# 內容
[{"targets":["hostname1:9251","hostname2:9251","hostname3:9251"]}
]
?重啟Prometheus
訪問 hostname:9090/targets 可以通過datasophon 訪問
查看?
在DataSophon 主頁面,點擊告警組管理 -> 新建告警組
添加完成后右下角翻頁找到FLINK 告警組,點擊查看告警指標,新建告警指標,告警閾值一點要填1,這個是再單個節點上的監控,除非你一個節點起多個taskmanager
至此,在某個節點上kill掉taskmanger進程之后,datasophon也會通知異常,在datasophon的flink實例中對應節點也會變紅