mircomasa.filebeat
Filebeat ロール
概要
このロールは以下を行います:
- Ubuntu、CentOS、Windows に Filebeat をインストールします。
- 準備した設定ファイル(ログパス、Elasticsearch への接続など)をコピーします。
ロールのタスク
- サーバーの準備(Elasticsearch リポジトリを追加)
- [オプション] カスタムパス用のフォルダを作成
- Filebeat をインストール
- 設定ファイルをコピー
要件
- インストールのための Ansible 最小バージョン: 2.5
- サポートされているOS:
- CentOS
- 6、7
- Ubuntu
- 16.04、18.04
- Debian
- 8、9
- Windows
- CentOS
ロール変数
以下の変数は Playbook で "variable: value" と設定できます。
filebeat_versionインストールする主要な Filebeat ブランチを選択します(5.x 或いは 6.x 現在の安定バージョン)。デフォルト値は6です。filebeat_last_versionインストールする特定の Filebeat バージョンを選択します。デフォルト値は6.6.0です。elastic_gpg_keyElasticsearch リポジトリからの GPG キー。デフォルト値はhttps://artifacts.elastic.co/GPG-KEY-elasticsearchです。filebeat_node_nameFilebeat ノードの名前。デフォルト値は{{ inventory_hostname }}です。このオプションが未定義の場合、ホスト名が使用されます。filebeat_ssl_enabledFilebeat と 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_pathWindows の 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_nameFilebeat サービスを管理する nssm\init スクリプトの名前。filebeat_bulk_max_size単一の Logstash リクエストでバルクする最大イベント数。デフォルト値は500です。filebeat_workerElasticsearch ホストあたりのワーカー数。デフォルト値は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_frequencyFilebeat がファイルの更新をチェックする頻度を定義します。デフォルト値は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
著者情報
著者:
- Lean Delivery Team team@lean-delivery.com
