11、自动部署filebeat脚本(mysql、postgres
2021-01-31 本文已影响0人
阿fong
一、使用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 "脚本结束!"