zoukankan      html  css  js  c++  java
  • 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,你每次更新或完善监控时,更新一下模板,然后重复调用一次批量化执行即可。
     
  • 相关阅读:
    实现图片加载从模糊到清晰显示的方法
    审批流程设计方案-介绍(一)
    SpringBoot+JPA实现DDD(一)
    RabbitMQ使用入门
    SpringBoot+JPA实现DDD(六)
    SpringBoot+JPA实现DDD(五)
    Spring Boot+JPA实现DDD(四)
    Spring Boot+JPA实现DDD(三)
    Spring Boot+JPA实现DDD(二)
    DDD入门之解决了什么问题(二)
  • 原文地址:https://www.cnblogs.com/perfei/p/10768713.html
Copyright © 2011-2022 走看看