Filebeat安装学习

Filebeat是一个轻量级的日志数据收集工具,属于Elastic公司的Elastic Stack(ELK Stack)生态系统的一部分。它的主要功能是从各种来源收集日志数据,将数据发送到Elasticsearch、Logstash或其他目标,以便进行搜索、分析和可视化。

以下是Filebeat的主要概述和特点:

  • 轻量级:Filebeat是一个轻量级的代理,对系统资源的消耗非常低。它设计用于高性能和低延迟,可以在各种环境中运行,包括服务器、容器和虚拟机。
  • 多源收集:Filebeat支持从各种来源收集数据,包括日志文件、系统日志、Docker容器日志、Windows事件日志等。它具有多个输入模块,可以轻松配置用于不同数据源的数据收集。
  • 模块化:Filebeat采用模块化的方式组织配置,每个输入类型都可以作为一个模块,易于扩展和配置。这使得添加新的数据源和日志格式变得更加简单。
  • 自动发现:Filebeat支持自动发现服务,可以在容器化环境中自动识别新的容器和服务,并开始收集其日志数据。
  • 安全性:Filebeat支持安全传输,可以使用TLS/SSL加密协议将数据安全地传输到目标。它还支持基于令牌的身份验证。
  • 数据处理:Filebeat可以对数据进行简单的处理,如字段分割、字段重命名和数据过滤,以确保数据适合进一步处理和分析。
  • 目标输出:Filebeat可以将数据发送到多个目标,最常见的是将数据发送到Elasticsearch,以便进行全文搜索和分析。此外,还可以将数据发送到Logstash、Kafka等目标。
  • 实时性:Filebeat可以以实时方式收集和传输数据,确保日志数据及时可用于分析和可视化。
  • 监控和管理:Filebeat具有自身的监控功能,可以监视自身的状态和性能,并与Elasticsearch、Kibana等工具集成,用于管理和监控数据收集。
  1. filebeat.inputs:指定要监视的数据源。可以配置多个输入,每个输入定义一个数据源。每个输入包括以下参数:
  2. type:数据源的类型,例如日志文件、系统日志、Docker日志等。
  3. paths:要监视的文件路径或者使用通配符指定多个文件。
  4. enabled:是否启用该输入。

###下载filebeat软件:

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.3-x86_64.rpm

安装:

 

 

###查看配置文件

systemctl cat filebeat

 

# /usr/lib/systemd/system/filebeat.service
[Unit]
Description=Filebeat sends log files to Logstash or directly to Elasticsearch.
Documentation=https://www.elastic.co/beats/filebeat
Wants=network-online.target
After=network-online.target

[Service]

Environment="GODEBUG='madvdontneed=1'"
Environment="BEAT_LOG_OPTS="
Environment="BEAT_CONFIG_OPTS=-c /etc/filebeat/filebeat.yml"
Environment="BEAT_PATH_OPTS=--path.home /usr/share/filebeat --path.config /etc/filebeat --path.data /var/lib/filebeat --path.logs
ExecStart=/usr/share/filebeat/bin/filebeat --environment systemd $BEAT_LOG_OPTS $BEAT_CONFIG_OPTS $BEAT_PATH_OPTS
Restart=always

[Install]
WantedBy=multi-user.target
###查看配置文件.yml
egrep -v '^$|^*#' /etc/filebeat/filebeat.yml
filebeat.inputs:
- type: filestream
  enabled: false
  paths:
    - /var/log/*.log
filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false
setup.template.settings:
  index.number_of_shards: 1
setup.kibana:
output.elasticsearch:
  hosts: ["localhost:9200"]
processors:
  - add_host_metadata:
      when.not.contains.tags: forwarded
  - add_cloud_metadata: ~
  - add_docker_metadata: ~
  - add_kubernetes_metadata: ~
 
 
###########修改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
 ########原有剧本文件备份:
目录:/etc/filebeat
mv filebeat.yml filebeat_$(date +%F).yml
ls filebeat.yml
ls: cannot access filebeat.yml: No such file or directory
#########创建新文件:
cat > /etc/filebeat/filebeat.yml << EOF
#指定输入类型
filebeat.inputs:
###指定输入的类型为“stdin”,表示标准输入
- type: stdin
########指定输出类型:
output.console:
  #打印漂亮的格式:
  pretty: true
EOF

 

################执行filebeat测试##############

一般是/etc/filebeat/filebeat.yml这个文件

filebeat -e -c filebeat.yml

 也可以执行其他文件

filebeat -e -c ~/config/01-stdin-to-console.yml

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

posted @ 2024-01-19 10:37  往事已成昨天  阅读(97)  评论(0编辑  收藏  举报