mircomasa.filebeat

Filebeat 角色

许可证 构建状态 构建状态 Galaxy Ansible Ansible

简介

此角色:

  • 在 Ubuntu、CentOS 和 Windows 上安装 filebeat
  • 复制已准备好的配置文件(日志路径、连接到 elasticsearch 等)

角色任务

  • 准备服务器(添加 elastic repo)
  • [可选] 创建自定义路径的文件夹
  • 安装 filebeat
  • 复制配置文件

要求

  • 安装所需的最低 Ansible 版本:2.5
  • 支持的操作系统
    • CentOS
      • 6, 7
    • Ubuntu
      • 16.04, 18.04
    • Debian
      • 8, 9
    • Windows

角色变量


您可以通过在剧本中设置 "variable: value" 来重写以下任何变量。

  • filebeat_version 用于选择要安装的主要 Filebeat 分支(当前稳定版本为 5.x 或 6.x)。默认值为 6
  • filebeat_last_version 用于选择要安装的特定 Filebeat 版本。默认值为 6.6.0
  • elastic_gpg_key 来自 elasticsearch 存储库的 GPG 密钥。默认值为 https://artifacts.elastic.co/GPG-KEY-elasticsearch
  • filebeat_node_name Filebeat 节点的名称。默认值为 {{ inventory_hostname }}。如果未定义此选项,则使用主机名。
  • filebeat_ssl_enabled 开启/关闭 filebeat 与 logstash/elasticsearch 之间的 SSL 连接。SSL 选项应通过相应的字典字段设置,如下所示:
  ssl:
    key: "/etc/pki/tls/private/server.key"
    certificate: "/etc/pki/tls/certs/server.crt"
    certificate_authorities: "/etc/pki/CA/ca-root.pem"

在 Windows 设置中:

 ssl:
   key: 'c:\tls\private\server.key'
   certificate: 'c:\tls\certs\server.pem'
   certificate_authorities: 'c:\CA\ca-root.pem'

配置选项的 path 部分定义了 Filebeat 查找其文件的位置。例如,Filebeat 在配置路径中查找 Elasticsearch 模板文件,并在日志路径中写入日志文件。Filebeat 在数据路径中查找其注册文件。Linux 主机的默认值设置如下:

path:
  home: /usr/share/filebeat
  config: /etc/filebeat
  data: /var/lib/filebeat
  logs: /var/log/filebeat

在 Windows 设置中默认路径如下:

path:
  home: 'c:\program files\filebeat'
  config: 'c:\program files\filebeat'
  data: 'c:\programdata\filebeat'
  logs: 'c:\programdata\filebeat\logs'
  • win_download_path Windows 下载并解压 Filebeat 包的临时目录。默认值为 '{{ ansible_env.TEMP }}/filebeat'(ansible_env.TEMP 值解决了幂等性问题)

  • input_logpath 日志文件的路径。

*NIX 操作系统系列的默认值为 "/var/log/*.log"

WIN 操作系统系列的默认值为 'c:\windows\*.log'

变量 filebeat_inputs 定义了将由管道处理的日志类型、它们的日志路径和应存储此类日志的 Elasticsearch 索引。 您可以使用 YAML 格式指定多个输入,具有不同的路径、日志类型和索引名称,如下例所示:

    filebeat_inputs:
      - name: hybris
        paths:
          - '/var/log/console*.log'
        fields:
          logtype: hybris
          index_name: hybris-console
      - name: access
        paths:
          - '/var/log/access*.log'
          - '/var/log/nginx_access*.log'
        fields:
          logtype: access
          index_name: nginx-access

输出自定义:

  • filebeat_output 用于配置使用何种输出发送数据(elasticsearchlogstash)。默认值为 elasticsearch

  • filebeat_elasticsearch_output.hosts 要连接的主机数组。默认值为 localhost

  • filebeat_elasticsearch_output.port 设置自定义端口的值。默认值为 9200

  • filebeat_logstash_outputs 要连接的主机和端口的数组。默认值为 localhost:5044

高级配置参数:

配置选项的 filebeat(systemd)\initd 部分定义了根据 *nix 操作系统管理 filebeat 服务所使用的初始化脚本。将考虑自定义路径(如果配置)。

  • filebeat_service_name 管理 filebeat 服务的 nssm\init 脚本的名称

  • filebeat_bulk_max_size 在单个 Logstash 请求中批量处理的最大事件数量。默认值为 500

  • filebeat_worker 每个 Elasticsearch 主机的工作线程数量。默认值为 1

  • filebeat_logging_to_syslog 将所有日志输出发送到 syslog。默认值为 false

  • filebeat_logging_to_files 将所有日志输出发送到旋转文件。默认值为 true

  • filebeat_rotateeverybytes 定义日志文件大小限制。默认值为 104857600 = 100MB

  • filebeat_keepfiles 要保留的日志文件数量。默认值为 30

  • filebeat_ignore_older 超过该值(可以使用任何时间字符串,如 2h、5m)的文件将被忽略。默认值为 0(禁用)

  • filebeat_scan_frequency 定义 filebeat 检查文件更新的频率。默认值为 15s

  • filebeat_harvester_buffer_size 定义缓冲区大小。默认值为 65535

  • filebeat_logname 日志文件的名称。默认值为 "filebeat.log"

依赖关系


ca-cert(仅用于 SSL 安装)

示例剧本

安装 Filebeat 6.x 版本:

- name: 安装 filebeat
  hosts: all
  roles:
    - role: ansible-role-filebeat

使用自定义日志文件路径和 elasticsearch 输出安装 Filebeat 6.x 版本:

- name: 安装 filebeat
  hosts: all
  roles:
    - role: ansible-role-filebeat
  vars:
    input_logpath: "/var/log/messages"
    filebeat_elasticsearch_output:
      hosts:
        - elasticsearch.example.com
      port: 9200

许可证

Apache

作者信息

作者:

安装
ansible-galaxy install mircomasa.filebeat
许可证
apache-2.0
下载
3.7k
拥有者