准备工作

# 创建filebeat安装目录
mkdir -p /usr/local/elk && cd

安装filbeat

1、下载filebeat

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.7.1-linux-x86_64.tar.gz
tar xf filebeat-7.7.1-linux-x86_64.tar.gz -C /usr/loca/elk/ && mv /usr/local/elk/filebeat-7.7.1-linux-x86_64 /usr/local/elk/filebeat-7.7.1

2、 配置filebeat


filebeat.inputs:
- type: log
  enabled: true  # 修改为true表示启用
  paths:
    - /usr/local/server/kuaiban-app-*/logs/app1/*.log  # 配置需要被收集的日志路径
    - /var/log/*.log

output.elasticsearch:
  hosts: ["172.16.2.155:9200"]  # 配置elasticsearch 的地址

3、 前台启动filebeat(这里暂时前台启动看看是否正常,也可以配合nohup放入后台运行。文章后面会写通过supervisor管理进程)

/usr/local/elk/filebeat-7.7.1/filebeat -e -c /usr/local/elk/filebeat-7.7.1/filebeat.yml

附加了解内容:filebeat进阶配置

1、java多行日志收集 例:

  multiline:
    pattern: '^\s*(\d{4}|\d{2})\-(\d{2}|[a-zA-Z]{3})\-(\d{2}|\d{4})'   # 指定匹配的表达式
    negate: true                                                       # 是否匹配到
    match: after                                                       # 合并到上一行的末尾
    max_lines: 1000                                                    # 最大的行数
    timeout: 10s                                                       # 如果在规定的时候没有新的日志事件就不等待后面的日志
  fields:                                                                # 添加type字段
      type: "stdout"

2、 自定义索引名(默认filebeat发送的数据会通过filebeat-*索引)

output.elasticsearch:
  # Array of hosts to connect to.
  hosts: ["172.16.2.155:9200"]
  index: "30test-environment-%{+yyyy.MM.dd}" # 设置索引名,按天
setup.ilm.enabled: false  # 必须加
setup.template.name: "30test-environment"
setup.template.pattern: "30test-environment-*"

3、 解析json

processors:
  - add_host_metadata: ~
  - add_cloud_metadata: ~
  - add_docker_metadata: ~
  - add_kubernetes_metadata: ~
  - decode_json_fields:  # 解析json的配置,解析message子弹
      fields: ["message"]
      process_array: false
      max_depth: 3
      target: ""
      overwrite_keys: false
      add_error_key: true
  - rename:  # json字段重命名
      fields:
        - from: "url"
          to: "request_url"
      ignore_missing: false
      fail_on_error: true

4、 日志输出到logstash

output.logstash:
  hosts: ["172.16.2.155:5044"]
Copyright © 运维知识库 all right reserved,powered by Gitbook文件修订时间: 2023-09-19 10:45:38

results matching ""

    No results matching ""