mircomasa.filebeat

Filebeat ロール

ライセンス ビルドステータス ビルドステータス Galaxy Ansible Ansible

概要

このロールは以下を行います:

  • Ubuntu、CentOS、Windows に Filebeat をインストールします。
  • 準備した設定ファイル(ログパス、Elasticsearch への接続など)をコピーします。

ロールのタスク

  • サーバーの準備(Elasticsearch リポジトリを追加)
  • [オプション] カスタムパス用のフォルダを作成
  • Filebeat をインストール
  • 設定ファイルをコピー

要件

  • インストールのための Ansible 最小バージョン: 2.5
  • サポートされているOS:
    • CentOS
      • 6、7
    • Ubuntu
      • 16.04、18.04
    • Debian
      • 8、9
    • Windows

ロール変数


以下の変数は Playbook で "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 OS のファミリーのデフォルト値は "/var/log/*.log" です。

WIN OS のファミリーのデフォルト値は '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 OS に応じてどの初期化スクリプトを使用して 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 のインストール時のみ)

例 Playbook

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

著者情報

著者:

プロジェクトについて

Role for filebeat installation

インストール
ansible-galaxy install mircomasa.filebeat
ライセンス
apache-2.0
ダウンロード
3.7k
所有者