geerlingguy.filebeat
Ansibleロール: ELKスタック用Filebeat
このAnsibleロールは、RedHat/CentOSまたはDebian/UbuntuにFilebeatをインストールします。
必要条件
特になし。
ロール変数
以下に利用可能な変数とデフォルト値を示します(defaults/main.yml
を参照してください):
filebeat_version: 7.x
インストールするFilebeatのメジャーバージョンを制御します。
filebeat_package: filebeat
filebeat_package_state: present
インストールする特定のパッケージです。パッケージ名を変更することで、プラットフォームとパッケージマネージャに合ったバージョンを指定できます。パッケージの状態(例: present, absent, latest)も制御できます。
filebeat_create_config: true
Filebeatの設定ファイルを作成し、SSLキーと証明書のコピーを処理するかどうか。この設定をfalse
にすると、自分で設定ファイルを作成できます。
filebeat_inputs:
- type: log
paths:
- "/var/log/*.log"
Filebeat設定のinputs
セクションにリストされる入力です。追加のオプションについては、Filebeat Inputs設定ガイドを参照してください。
filebeat_output_elasticsearch_enabled: false
filebeat_output_elasticsearch_hosts:
- "localhost:9200"
Elasticsearch出力を有効にするか、出力を送信するホストを指定します。
filebeat_output_elasticsearch_auth:
username: "admin"
password: "S3CR3eeet"
# または、バージョン8以上のみ
filebeat_output_elasticsearch_auth:
api_key: "xa-123a-f3ea012d-aaae1"
Elasticsearch出力の認証を設定します。api_keyとユーザー名/passwordは排他的で、api_keyはバージョン8以降にのみ利用可能です。
filebeat_output_logstash_enabled: true
filebeat_output_logstash_hosts:
- "localhost:5000"
Logstash出力を有効にするか、出力を送信するホストを指定します。
filebeat_enable_logging: false
filebeat_log_level: warning
filebeat_log_dir: /var/log/filebeat
filebeat_log_filename: filebeat.log
Filebeatのロギング設定です。
filebeat_ssl_certs_dir: /etc/pki/logstash
filebeat_ssl_private_dir: "{{ filebeat_ssl_certs_dir }}"
証明書とキーファイルが保存されるパスです。
filebeat_ssl_ca_file: ""
filebeat_ssl_certificate_file: ""
filebeat_ssl_key_file: ""
SSL証明書とキーファイルのローカルパスです。
filebeat_ssl_copy_file: true
証明書とキーをfilebeat_ssl_dir
にコピーするか、既存のものを使うかどうか。
最大のセキュリティのために、有効な証明書とキーファイルを使用し、プレイブック内のfilebeat_ssl_*
変数を更新して証明書を使用してください。
自己署名証明書/キーのペアを生成するには、以下のコマンドを使用できます:
$ sudo openssl req -x509 -batch -nodes -days 3650 -newkey rsa:2048 -keyout filebeat.key -out filebeat.crt
自己署名証明書を使用する場合、ファイルビートとログスタッシュは完全な信頼の連鎖(自己署名証明書の認証局を含む)がサーバーに追加されていない限り、正しく動作しないことに注意してください。詳細は: https://github.com/elastic/logstash/issues/4926#issuecomment-203936891
filebeat_ssl_insecure: "false"
自己署名証明書の使用を許可するには、これを"true"
に設定します(CAが利用できない場合)。
Filebeatテンプレートのオーバーライド
変数を介してカスタマイズできない場合は、Filebeat設定を生成するために使用されるテンプレートをオーバーライドできます。
filebeat_template: "filebeat.yml.j2"
提供されたテンプレートをコピーして変更するか、プレイブックディレクトリ内のテンプレートファイルを指定して、管理されたテンプレートの代わりになることもできます。
filebeat_template: "{{ playbook_dir }}/templates/filebeat.yml.j2"
依存関係
特になし。
例プレイブック
- hosts: logs
- name: java_packages変数の設定(Debian/Ubuntu)。
set_fact:
java_packages:
- openjdk-8-jdk
when: ansible_os_family == 'Debian'
roles:
- geerlingguy.java
- geerlingguy.elasticsearch
- geerlingguy.logstash
- geerlingguy.filebeat
ライセンス
MIT / BSD
著者情報
このロールは2016年にJeff Geerlingによって作成されました。彼はAnsible for DevOpsの著者です。
ansible-galaxy install geerlingguy.filebeat