torian.logstash

Logstash 的 Ansible 角色

构建状态

这个 Ansible 角色通过官方仓库安装 Logstash 包。

支持的平台

  • EL / Centos (6 / 7)
  • Debian (Wheezy / Jessie)
  • Ubuntu (Precise / Trusty)
  • AMZ Linux

角色变量

以下角色变量在 defaults/main.yml 中定义。有关详细解释,您可以查看该文件。

logstash_version: 5.6.4

logstash_daemon_user: root

logstash_install_dir: /usr/share/logstash
logtash_conf_prefix:  /etc/logstash
logstash_conf_dir:    "{{logstash_conf_prefix}}/conf.d"
logstash_data_dir:    /var/lib/logstash

logstash_plugins:
  - logstash-input-s3
  - logstash-output-s3

JVM 配置的默认值 (jvm.options) 基于 Logstash 提供的值。

logstash_jvm_mem: 1g

logstash_config_jvm_defaults: |
  -Xms{{logstash_jvm_mem}}
  -Xmx{{logstash_jvm_mem}}
  -XX:+UseParNewGC
  -XX:+UseConcMarkSweepGC
  -XX:CMSInitiatingOccupancyFraction=75
  -XX:+UseCMSInitiatingOccupancyOnly
  -XX:+DisableExplicitGC
  -Djava.awt.headless=true
  -Dfile.encoding=UTF-8
  -XX:+HeapDumpOnOutOfMemoryError

logstash_config_jvm: "{{logstash_config_jvm_defaults}}"

守护进程配置 (logstash.yml) 的默认值也基于 Logstash 提供的值,但在这种情况下,logstash_config_daemon_defaultslogstash_config_daemon 的值是通过 jinja2 过滤器 combine() 合并的:

logstash_config_daemon_defaults:
  path.data: "{{logstash_data_dir}}"
  path.config: "{{logstash_conf_dir}}"
  path.logs: "{{logstash_logs_dir}}"

logstash_config_daemon: {}

使用

配置 inputfilteroutput 使用以下特殊变量:

  • logstash_inputs
  • logstash_filters
  • logstash_outputs

这些变量会扩展到它们各自的 input {}filter {}output {} 部分,因此您可以根据需要自由配置,例如:

---
- hosts: all

  vars:
    - logstash_inputs: |
        file {
            path => "/var/log/nginx/access.log"
            tags => ["nginx"]
        }
        file {
            path => "/var/log/nginx/error.log"
            tags => ["nginx"]
        }

    - logstash_filters: |
        grok { match => [ "message", "%{HTTPDATE:[@metadata][timestamp]}" ] }
        date { match => [ "[@metadata][timestamp]", "dd/MMM/yyyy:HH:mm:ss Z" ] }

    - logstash_outputs: |
        stdout { codec => rubydebug }


  roles:
    - { role: torian.logstash}

安装额外插件

默认情况下,并作为示例,该角色安装两个插件:

logstash_plugins:
  - logstash-input-s3
  - logstash-output-s3

如果您不需要它们,或者需要指定不同的插件,只需覆盖默认设置。

Logstash 版本升级

如果您需要从旧版本的 Logstash 升级,角色可以处理此操作。指定额外变量 logstash_upgrade=True,包管理器将安装与 logstash_version 的主要版本相匹配的最新可用版本。

关于项目

Ansible role for Logstash

安装
ansible-galaxy install torian.logstash
许可证
Unknown
下载
20.5k
拥有者
Ninja Sysadmin, DevOps Monk, Fulltime Dad