当前位置: 首页 > article >正文

搭建ELK-Filebeat采集系统日志

1、解压到/data/elk/filebeat

mkdir -p /data/elk/filebeat
tar -zxf filebeat-7.17.7-linux-x86_64.tar.gz -C /data/elk/filebeat --strip-components=1 #--strip-components选项表示从目录级别上去除指定的前缀,以实现更加控制解压的效果

2、修改配置文件

vi /data/elk/filebeat/filebeat.yml
# ============================== Filebeat inputs ===============================
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /data/nginx/*.log

  ### 添加字段
  # 添加一些字段以识别项目和主机环境
  fields:
    hostenv: "production"  # 主机环境
    project: "nginx"  # 所属项目

  ### 多行选项
  # 多行选项,期望输出连续的多行日志,比如Java日志。
  multiline.type: pattern
  multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
  # 使用正则表达匹配行。
  multiline.negate: true
  # 定义行是否被否定,若被否定,则执行"multiline.match"。
  multiline.match: after
  # 设置将匹配行与上一行(before)合并为一个事件输出,还是将匹配行与下一行(after)合并为一个事件输出。

# ================================== Outputs ===================================
# ...
# ------------------------------ Kafka Output -------------------------------
output.kafka:
  hosts: ["192.168.0.193:9092"]
  # 指定Kafka服务器连接地址,我这边由于网络环境问题,所以使用Kafka服务器的公网主机IP地址。
 
  username: "admin"
  # 设置连接Kafka所使用的的用户名
  password: "admin888"
  # 设置连接Kafka所使用的的用户密码

  topic: '%{[fields.hostenv]}-%{[fields.project]}'
  # 设置主题名称
  partition.round_robin:
    group_events: 1
    reachable_only: false
  # 设置消息写入主题的分区策略:默认使用hash方法。
  # random.group_events, 随机写入主题的任意一个分区,并设置写入分区时消息事件的数量,默认为1。
  # round_robin.group_events,有序的轮询的写入主题分区,并设置写入分区时消息时间的数量,默认为1。
  # hash.hash,通过哈希计算分区中的字段列表,将匹配的字段写入到同一个分区中,如果没有配置字段,则使用事件键值。
  # - hash.random,如果无法计算哈希或键值,则随机分发事件。
  # reachable_only: 默认分区都尝试向所有分区发布事件,如果一个分区的leader在这个beat下变得不可用,输出可能会阻塞,则开启该项表示允许将事件发送到可用分区。
  required_acks: 1
  # 设置Kafka代理要求的ACK可靠性级别:
  # 0,无响应。
  # 1,等待本地提交。
  # -1,等待所有副本提交。
  # 注:如果设置为0,则Kafka不会返回任何ACK。出现错误时,消息可能会自动丢失。
  compression: gzip
  # 设置输出压缩编解码器,默认为gzip。支持none、snappy、lz4和zip压缩方式。
  compression_level: 4
  # 设置压缩级别,默认为4。如果设置为0,则表示不压缩。
  max_message_bytes: 10000000
  # JSON编码消息最大允许大小。更大的信息将被删除。默认是1M。该值应该小于或等于Kafka代理服务器
  # 的"message.max.bytes"。

3、设置开机启动

vi /lib/systemd/system/filebeat.service
[Unit]
Description=filebeat
Wants=network-online.target
After=network-online.target
[Service]
User=root
ExecStart=/data/elk/filebeat/filebeat -c /data/elk/filebeat/filebeat.yml
Restart=always
[Install]
WantedBy=multi-user.target
#加入开机启动
systemctl daemon-reload
systemctl enable filebeat

4、常用命令

systemctl start filebeat.service #启动
systemctl stop filebeat.service #停止
systemctl status filebeat.service #状态

启动后,filebeat会直接把对应的文件里面的日志自动发送到kafka对应的主题。如果不会安装kafka,请点击链接


http://www.kler.cn/a/285031.html

相关文章:

  • 书生大模型实战营(2)——函数实现+Vscode连接InternStudio debug笔记
  • jmeter的聚合报告生成测试报告的方法(生成.HTML模式)
  • Linux进程基本介绍,ps指令详解
  • CSS 的object-position属性
  • python模块和包的区别有哪些
  • 解决TESSY导入测试用例后出现提示接口有改变的问题
  • 2024年软考科目大调整:考试安排、频次变动全解析
  • EasyCVR中的H.265技术:助力实现大规模高效流畅的视频监控应用
  • docker run的--shm-size是干嘛用的
  • ws2812b效果研究之八 pride2015
  • BIRTV2024圆满落幕,中科极光9万流明点亮观影新体验
  • 【详细教程】分享6款AI论文创作工具!一键毕业论文轻松生成,
  • HTML 中 a 超链接标签全解析:属性、锚点与伪类
  • vue+moment转化日期格式为年月日时分秒!最简洁版
  • 怎样通过bs4找出程序中 标签<div class=“List2“>中所有的<li>的内容?
  • 前端如何在30秒内实现吸管拾色器?
  • Golang | Leetcode Golang题解之第386题字典序排数
  • 合并多个rtf文件
  • 从零开始学习SLAM六(单应矩阵)
  • 探索视觉的边界:PyTorch与TorchVision的深度融合