filebeat 自启脚本

本文介绍了两个用于自动化任务的脚本,crontab.sh用于将start.sh脚本添加到crontab定时任务中,而start.sh则包含了启动、重启和状态检查功能,确保Filebeat服务的稳定运行。通过获取主机IP地址并更新配置,这两个脚本实现了灵活的系统管理和日志收集。
摘要由CSDN通过智能技术生成

crontab.sh -- 将start脚本推送到crontab中使用

start.sh --启动脚本具备重启、检测状态,自动拉起功能

代码如下

cat crontab.sh 
#!/bin/bash
res=`grep "Serverip" /etc/profile | wc -l`

if [ $res == 0 ];then
	/usr/bin/cp /etc/profile /etc/profile.bak
	Serverip=`ifconfig eth0|sed  -n '2p'|sed 's/^.*inet //'|sed 's/ .*//'`
	echo "export Serverip=$Serverip" >> /etc/profile
	echo "*/2 * * * * /data/filebeat-6.6.2-linux-x86_64/start.sh"  >> /var/spool/cron/root		

fi

Serverip是为了获取主机ip地址,给filebeat.yml添加一个字段使用的

cat start.sh 
#!/bin/bash
source /etc/profile
single=$1
export Serverip=`ifconfig eth0|sed  -n '2p'|sed 's/^.*inet //'|sed 's/ .*//'`
path=/data/filebeat-6.6.2-linux-x86_64
filename=filebeat.yml
exstart="${path}/filebeat -e -c ${path}/${filename}"
juage(){
	ps -ef | grep filebeat.yml | grep -v "grep" | awk -F " " '{print $2}'
}
if [ -z $1 ];then     #1-1判断有没有参数restart,没有继续向下
	juage=`juage`
	if [ -z ${juage} ];then   #1-1-1判断有无进程,没有继续向下启动
	     nohup	${path}/filebeat -e -c ${path}/${filename}  > /dev/null 2>&1 &
	     sleep 2
	     juage=`juage`
	     if [ -z ${juage} ];then  #1-1-1-1判断pid是否为空,启动成功失败
                echo -e "\033[31m 启动失败 \033[0m"
	     else
		echo -e "\033[32m 启动完成 ${juage}  \033[0m"
             fi
	else    #1-1-2有进程,不做操作提示已运行
		echo -e "\033[32m 程序已运行 \033[0m"
	fi
elif [ $1 == restart ];then  #1-2脚本第一个参数为restart 进行重启操作
	juage=`juage`
	kill -9 ${juage}   #杀掉进程
	sleep 0.5
	nohup      ${path}/filebeat -e -c ${path}/${filename} > /dev/null 2>&1 &
	sleep 2
	juage=`juage`
	if [ "${juage}" != "" ];then  #1-2-1有进程不为空 启动成功
		echo -e  "\033[32m 重启完成 ${juage} \033[0m"
	else
		echo -e "\033[31m 重启失败 \033[0m"  #1-2-1否则 失败
	fi
fi

提供filebea.yml 供参考

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /data/ywgl/nginx/logs/tcp-access.log
  tags: ["nginx-tcp-access"]

  fields_under_root: true   
  fields:
    hostip: ${Serverip}

- type: log
  enabled: true
  paths:
    - /data/ywgl/nginx/logs/error.log
  tags: ["nginx-error"]
  multiline.pattern: '^ \['   #处理开头换行
  multiline.negate: true        #当前配置和下面的配置根据官网的解释配的 
  multiline.match: after
 
  fields_under_root: true   
  fields:
    host: ${Serverip}

filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false

setup.template.settings:
  index.number_of_shards: 3



processors:
  - drop_fields:
      fields: ["beat.hostname","beat.name","beatType","offset","input.type","beat.version"]

output.logstash:
  hosts: ["ip:5044"]

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值