• my34_脚本冥等添加自动任务-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,你每次更新或完善监控时,更新一下模板,然后重复调用一次批量化执行即可。
     
  • 相关阅读:
    添加搜索引擎
    理解隐马尔可夫模型(转载)
    全排列合集
    COM使用简介
    KMP算法
    遗传算法(转载)
    退火算法(转载)
    非电信手机获取闪讯密码的一种实现方法
    几个时间控制函数(转载)
    图像处理的Alpha通道
  • 原文地址:https://www.cnblogs.com/perfei/p/10768713.html
Copyright © 2020-2023  润新知