mircomasa.filebeat
Filebeat 角色
简介
此角色:
- 在 Ubuntu、CentOS 和 Windows 上安装 filebeat
- 复制已准备好的配置文件(日志路径、连接到 elasticsearch 等)
角色任务
- 准备服务器(添加 elastic repo)
- [可选] 创建自定义路径的文件夹
- 安装 filebeat
- 复制配置文件
要求
- 安装所需的最低 Ansible 版本:2.5
- 支持的操作系统:
- CentOS
- 6, 7
- Ubuntu
- 16.04, 18.04
- Debian
- 8, 9
- Windows
- CentOS
角色变量
您可以通过在剧本中设置 "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
用于配置使用何种输出发送数据(elasticsearch
或logstash
)。默认值为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
作者信息
作者:
- Lean Delivery Team team@lean-delivery.com