torian.logstash

LogstashのためのAnsibleロール

ビルドステータス

このAnsibleロールは、公式リポジトリパッケージを通じてLogstashをインストールします。

サポートされているプラットフォーム

  • EL / CentOS (6 / 7)
  • Debian (Wheezy / Jessie)
  • Ubuntu (Precise / Trusty)
  • Amazon Linux

ロール変数

以下のロール変数はdefaults/main.ymlで定義されています。詳細な説明はファイルを参照してください。

logstash_version: 5.6.4

logstash_daemon_user: root

logstash_install_dir: /usr/share/logstash
logstash_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}

追加プラグインのインストール

デフォルトでは、例として、ロールは2つのプラグインをインストールします:

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