11、自动部署filebeat脚本(mysql、postgresql)

一、使用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、postgresql))