脚本冥等添加自动任务-mysql监控部署
场景: 定义一套添加mysql监控的脚本,在mysql安装完毕后,一键执行添加监控 已有以下的等一系列命令可以读取mysql从库的延迟时间并推向influxdb,变化的部分为 -P 端口、-k keyname */1 * * * * /usr/local/dbmng/bin/conninflux -i slave -P 3302 -jk Seconds_Behind_Master -k wlnew_Seconds_Behind_Master 又有以下命令定时读取mysql的insert次数 */1 * * * * /usr/local/dbmng/bin/conninflux -i status -P 3302 -pm Com_insert -k wlnew_Com_insert 定义一个模板,将具体要执行的命令写入其中 vim /usr/local/dbmng/scripts/mysql_monitor/cron.txt */1 * * * * /usr/local/dbmng/bin/conninflux -i slave -P 9999 -jk Seconds_Behind_Master -k keyname_Seconds_Behind_Master */1 * * * * /usr/local/dbmng/bin/conninflux -i status -P 9999 -pm Com_insert -k keyname_Com_insert 冥等添加自动任务,自动去掉重复的行 vim appendCrontabCmd.sh #!/bin/bash if [ $# -lt 2 ]; then echo "需要输入端口和keyname两个参数" exit 1 fi port=$1 keyname=$2 cd /usr/local/dbmng/scripts/mysql_monitor cp ./cron.txt ./tmp.txt /usr/bin/sed -i "s/9999/${port}/g" ./tmp.txt /usr/bin/sed -i "s/keyname/${keyname}/g" ./tmp.txt cat /var/spool/cron/root >> ./tmp.txt sort -k2n ./tmp.txt | uniq> /var/spool/cron/root crontab -l 然后就在在自动化部署平台中多次调用脚本而不用担心有重复的自动任务; sh appendCrontabCmd.sh 3301 test 不管是几十台还是几百台mysql,你每次更新或完善监控时,更新一下模板,然后重复调用一次批量化执行即可。
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄

更多精彩