美文网首页
11、自动部署filebeat脚本(mysql、postgres

11、自动部署filebeat脚本(mysql、postgres

作者: 阿fong | 来源:发表于2021-01-31 22:05 被阅读0次

    一、使用rpm安装filebeat

    二、提前确认数据库的类型和日志路径(mysql不收集慢查询日志)

    三、备份替换filebeat配置文件

    四、执行脚本

    #3、开启模块
    while read -p "请输入您的数据库类型代码(mysql:1;postgresql:2):" dbcode
    do
    if [ $dbcode -eq 1 ]; then
        dbtype="mysql"
        break
    elif [ $dbcode -eq 2 ]; then
        dbtype="postgresql"
        break
    else
        echo "错误请重新输入"
    fi
    done
    
    filebeat modules enable system
    filebeat modules enable $dbtype
    filebeat modules list
    
    #4、配置日志路径
    echo ""
    echo "请输入$dbtype数据库的日志路径"
    echo "对于多个日志文件,名称中不同的部分用通配符*号代替,例如:\n--------------"
    echo "/var/log/message.log"
    echo "/var/log/message1.log"
    echo "/var/log/message_2020_12_07.log"
    echo "正确路径配置:/var/log/message*.log"
    
    while read -p "请输入您的日志路径:" logPath
    do
            echo "您输入的日志路径为:$logPath"
            echo -e "尝试输出是否存在\n------------------------"
            ls -l $logPath
            echo "------------------------"
            read -p "请确认您输入的日志路径(yes/no):" true
            if [ $true == "yes" ]; then
                    break
            else
                    echo "请重新输入!"
            fi
    done
    
    if [ $dbcode -eq 1 ]; then
        #关闭慢日志收集
        sed -i "15 s/^    enabled: true/    enabled: false/" /etc/filebeat/modules.d/$dbtype.yml
        #配置日志路径
        sed -i "11 s!    #var.paths:!    var.paths:\n      - $logPath!" /etc/filebeat/modules.d/$dbtype.yml
    elif [ $dbcode -eq 2 ]; then
        #配置日志路径
        sed -i "11 s!    #var.paths:!    var\.paths:\n      - $logPath!" /etc/filebeat/modules.d/$dbtype.yml
    fi
    
    chkconfig --add filebeat
    chkconfig filebeat on
    
    echo "启动filebeat"
    service filebeat stop
    sleep 3
    service filebeat start
    sleep 3
    service filebeat status
    echo "脚本结束!"
    

    相关文章

      网友评论

          本文标题:11、自动部署filebeat脚本(mysql、postgres

          本文链接:https://www.haomeiwen.com/subject/jfldtltx.html