轻量型日志采集器 Filebeat基本使用

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 轻量型日志采集器 Filebeat基本使用作者主页:https://www.couragesteak.com/

1 介绍

Filebeat是一个日志文件托运工具,安装客户端后,filebeat会监控指令日志,
下载地址:
https://www.elastic.co/cn/beats/filebeat

https://www.elastic.co/cn/downloads/past-releases/filebeat-7-17-0

注意:版本需要和 Elasticearch 版本相同

2 安装

2.1 下载安装

tar -zxvf filebeat-7.17.0-linux-x86_64.tar.gz

3 收集日志配置

安装目录下新建conf/star_module_log.yml

在这里插入代码片

4 启动

chown root filebeat.yml
chown root modules.d/nginx.yml 
./filebeat -e

./filebeat -e -c filebeat_log.yml

./filebeat -e -c filebeat.yml -d "publish"

5 举例

5.1 Filebeat收集日志并输出到控制台

"name": "ccccccccc":自定义name字段
"message": "你好" :日志中输出:你好
fields_under_root: true:将name定义为顶级字段

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /usr/local/nginx/logs/access.log
  fields:
    name: ccccccccc
  fields_under_root: true
output.console:
  pretty: true
./filebeat -e -c filebeat_log.yml

5.2 Filebeat收集Nginx运行日志并输出到es

filebeat_nginx.yml

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /usr/local/nginx/logs/access.log
  tags: ["nginx"]
setup.template.settings:
  index.number_of_shards: 1
output.elasticsearch:
  hosts: ["118.195.175.213:9200"]
  username: "elastic"
  password: "EtWvHc8lGh05YS7vS1mq"
./filebeat -e -c filebeat_nginx.yml

查看es,默认会按照filebeat-版本号-日期格式生成一个索引:

  • nginx日志数据在字段==message==中

在这里插入图片描述
到这里,仍然属于原始数据

filebeat_nginx.yml

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /usr/local/nginx/logs/access.log
  tags: ["nginx"]
    #keys_under_root可以让字段位于根节点,默认为false
  json.keys_under_root: true
  #对于同名的key,覆盖原有key值
  json.overwrite_keys: true
  #将解析错误的消息记录储存在error.message字段中
  json.add_error_key: true
setup.template.settings:
  index.number_of_shards: 1
output.elasticsearch:
  hosts: ["118.19*.17*.213:9200"]
  username: "elastic"
  password: "EtWvHc8lGh05YS7vS1mq"

5.3 基于Nginx module使用Filebeat收集Nginx运行日志并输出到es

## 查看module集合
./filebeat modules list
## 启用module
./filebeat modules enable module名称
## 禁用module
./filebeat modules disable module名称

启动nginx module

./filebeat modules enable nginx

查看module列表

./filebeat modules list

配置Nginx Module

${FILEBEAT_HOME}/modules.d/ nginx.yml

- module: nginx
  access:
    enabled: true
    var.paths: ["/usr/local/nginx/logs/access.log"]

  error:
    enabled: true
    var.paths: ["/usr/local/nginx/logs/error.log"]

配置filebeat:filebeat_nginx_module.yml

filebeat.inputs:
setup.template.settings:
  index.number_of_shards: 3
output.elasticsearch:
  hosts: ["http://118.195.175.213:9200"]
  username: "elastic"
  password: "EtWvHc8lGh05YS7vS1mq"
filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false

启动filebeat

./filebeat -e -c filebeat_nginx_module.yml
./filebeat -e -c filebeat_nginx_module.yml -d 'publish'

到此,可以查看数据索引

参考地址:
https://blog.csdn.net/zyxwvuuvwxyz/article/details/108831962

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6月前
|
存储 数据采集 JavaScript
深入理解数仓开发(一)数据技术篇之日志采集
深入理解数仓开发(一)数据技术篇之日志采集
|
23天前
|
监控 测试技术 开发者
一行代码改进:Logtail的多行日志采集性能提升7倍的奥秘
一个有趣的现象引起了作者的注意:当启用行首正则表达式处理多行日志时,采集性能出现下降。究竟是什么因素导致了这种现象?本文将探索Logtail多行日志采集性能提升的秘密。
|
2月前
|
存储 数据采集 分布式计算
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
57 1
|
3月前
|
Kubernetes API Docker
跟着iLogtail学习容器运行时与K8s下日志采集方案
iLogtail 作为开源可观测数据采集器,对 Kubernetes 环境下日志采集有着非常好的支持,本文跟随 iLogtail 的脚步,了解容器运行时与 K8s 下日志数据采集原理。
|
4月前
|
消息中间件 监控 Kafka
Filebeat+Kafka+Logstash+Elasticsearch+Kibana 构建日志分析系统
【8月更文挑战第13天】Filebeat+Kafka+Logstash+Elasticsearch+Kibana 构建日志分析系统
246 3
|
4月前
|
存储 应用服务中间件 nginx
部署ELK+filebeat收集nginx日志
部署ELK+filebeat收集nginx日志
173 0
部署ELK+filebeat收集nginx日志
|
5月前
|
消息中间件 Kubernetes Kafka
日志采集/分析
日志采集/分析
116 7
|
4月前
|
存储 Kubernetes Java
在k8S中,容器内日志是怎么采集的?
在k8S中,容器内日志是怎么采集的?
|
4月前
|
数据采集 监控 Kubernetes
Job类日志采集问题之iLogtail以减小容器发现和开始采集的延时如何优化
Job类日志采集问题之iLogtail以减小容器发现和开始采集的延时如何优化
|
4月前
|
数据采集 Kubernetes Java
Job类日志采集问题之在日志中添加容器的元信息标签,如何操作
Job类日志采集问题之在日志中添加容器的元信息标签,如何操作