发现 rpm 安装的 没有日志输出,只能用二进制的方式, (生产环境建议用二进制方式)
官方文档 :连接
各个版本: 连接
1-
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.5-linux-x86_64.tar.gz
tar xzvf filebeat-7.17.5-linux-x86_64.tar.gz
3-.修改filebeat的配置文件
(1)编写测试的配置文件
mkdir /etc/filebeat/config
输入
cat > /etc/filebeat/config/01-stdin-to-console.yml <<'EOF'
# 指定输入的类型
filebeat.inputs:
# 指定输入的类型为"stdin",表示标准输入
- type: stdin
# 指定输出的类型
output.console:
# 打印漂亮的格式
pretty: true
EOF
启动
filebeat -e -c /etc/filebeat/config/01-stdin-to-console.yml
测试, 屏幕输入 baimeidashu
filebeat开机自启)
1.创建shell文件filebeat.sh:
#!/bin/bash
nohup /opt/filebeat-7.17.5-linux-x86_64/filebeat -e -c /opt/filebeat-7.17.5-linux-x86_64/config/nginx.yml > /dev/null 2>&1 &
echo $! > /var/run/filebeat.pid
2.给shell赋执行权限
chmod +x filebeat.sh
3.给rc.local赋执行权限
chmod +x /etc/rc.d/rc.local
4.编辑rc.local文件
vim /etc/rc.d/rc.local在文件末尾添加shell文件路径,如下所示
这样就OK。
停止脚本:
cat stopfilebeat.sh
#!/bin/bash
PID=$(cat /var/run/filebeat.pid)
kill -9 $PID
生产:
cd /opt/filebeat-7.17.5-linux-x86_64
mkdir config
编写配置文件
cat nginx.yml
filebeat.inputs:
- type: log
paths: ["/var/log/nginx/uat-cloudservice.baimeidashu.com.*"]
tags: "uat-cloudservice"
- type: log
paths: ["/var/log/nginx/uat-cloudservice2.baimeidashu.com.*"]
tags: "cloudservice2"
- type: log
paths: ["/var/log/nginx/uat-cloudsocket.baimeidashu.com.*"]
tags: "uat-cloudsocket"
- type: log
paths: ["/var/log/nginx/uat-cloudservice3.baimeidashu.com.*"]
tags: "cloudservice3"
- type: log
paths: ["/var/log/nginx/uat-audio.baimeidashu.com.*"]
tags: "audio"
- type: log
paths: ["/var/log/nginx/uat-oms.baimeidashu.com.*"]
tags: "oms"
output.elasticsearch:
hosts:
- "http://192.168.1.250:9200"
username: "elastic"
password: "baimeidashu.123"
indices:
- index: "nginx-uat-cloudservice.baimeidashu.com-%{+yyyy.MM.dd}"
when.contains:
tags: "uat-cloudservice"
- index: "nginx-uat-cloudservice2.baimeidashu.com-%{+yyyy.MM.dd}"
when.contains:
tags: "cloudservice2"
- index: "nginx-uat-cloudsocket.baimeidashu.com-%{+yyyy.MM.dd}"
when.contains:
tags: "uat-cloudsocket"
- index: "nginx-uat-cloudservice3.baimeidashu.com-%{+yyyy.MM.dd}"
when.contains:
tags: "cloudservice3"
- index: "nginx-uat-audio.baimeidashu.com-%{+yyyy.MM.dd}"
when.contains:
tags: "audio"
- index: "nginx-uat-oms.baimeidashu.com-%{+yyyy.MM.dd}"
when.contains:
tags: "oms"
setup.ilm.enabled: false
setup.template.name: "nginx"
setup.template.pattern: "nginx*"
setup.template.overwrite: true
编写启动脚本
cat startfilebeat.sh
#!/bin/bash
#nohup /opt/filebeat-7.17.5-linux-x86_64/filebeat -e -c /opt/filebeat-7.17.5-linux-x86_64/config/nginx.yml > /dev/null 2>&1 &
nohup /opt/filebeat-7.17.5-linux-x86_64/filebeat -e -c /opt/filebeat-7.17.5-linux-x86_64/config/nginx.yml > /var/log/filebeat/filebeat.log 2>&1 &
echo $! > /var/run/filebeat.pid
cat stopfilebeat.sh
#!/bin/bash
PID=$(cat /var/run/filebeat.pid)
kill -9 $PI
启动后去 es 验证
然后
这样就说明有数据进来了。
我们随便访问nginx 看看是不是日志能到ES
欢迎来撩 : 汇总all