运维工作中写的脚本
通过airflow api,用户给定dag_id和重跑时间,自动调起其下游依赖。
~# python3 auto_restart_downstream_dag.py
2023-10-13 14:54:36.764 | INFO | __main__:fetch_deps_data:51 - truncate table dag_dps.dag_dps
2023-10-13 14:54:36.772 | INFO | __main__:fetch_deps_data:55 - 175 dag dependencies records upserted successfully
usage: auto_restart_downstream_dag.py [-h] [-d DAG_ID] [-date DATE] [-t TYPE] [-i INTERACTION]
需要提供需要重跑的(失败的)dag_id,没有失败的检测不到,脚本将检测其是否存在下游dag,如果存在则`递归`调起下游dag。
optional arguments:
-h, --help show this help message and exit
-d DAG_ID, --dag_id DAG_ID
指定dag_id
-date DATE, --date DATE
指定需要重跑的日期,默认为今天,格式yyyy-MM-dd
-t TYPE, --type TYPE 重跑类型 1.restart: 默认值。只重跑自己和自己下游失败的dag 2.rerun: 重跑自己和下游所有的dag, 不管是否失败
-i INTERACTION, --interaction INTERACTION
默认非交互式。数值0或者1,是否交互式运行;交互式运行可以选择需要运行的dag
监控clickhouse每一个用户的QPS是否达到所啥配置配额的80%;如果是则告警; 使用企业微信告警机器人告警;并将监控信息推送一份至prometheus,以作图用。
restart.sh
#!/bin/bash
ps -ef | grep "monitor_ck_qps.py" | grep -v grep | awk '{print $2}' | xargs kill -9
nohup /monitor/diy_script/diy_monitor/bin/python monitor_ck_qps.py > /dev/null 2>&1 &