Documentation

8. Tower のロギングおよびアグリゲーション

ロギングは、Ansible Tower 3.1.0 で導入されたスタンドアロンの機能で、詳細にわたるログを複数のサードパーティーの外部ログアグリゲーションサービスに詳細ログを送信することができます。このデータフィードに接続されるサービスは、Tower の使用状況や技術的な傾向の見解を得るための便利な手段として機能します。このデータは、インフラストラクチャー内のイベントの分析、異常な点がないかの監視、サービス別のイベントの相関確認に使用することができます。Tower で最も便利なデータのタイプは、ジョブファクトデータ、ジョブイベント/ジョブラン、アクティビティーストリームデータ、ログメッセージです。これらのデータは、最小限のサービス固有の微調整をカスタムハンドラーに加えるか、インポートしたライブラリーを使用し、JSON 形式で HTTP 接続で送信されます。

8.1. ログアグリゲーターサービス

ログアグリゲーターサービスは、以下の監視またはデータ分析システムと連携します。

8.1.1. Splunk

Ansible Tower の Splunk ロギング統合では、Splunk HTTP Collector を使用します。HTTP Event Collector の設定の詳しい情報は、http://docs.splunk.com/Documentation/Splunk/latest/Data/UsetheHTTPEventCollector を参照してください。

8.1.2. Loggly

Loggly の HTTP エンドポイント経由でのログの送信を設定するには、https://www.loggly.com/docs/http-endpoint/ を参照してください。Loggly は、http://logs-01.loggly.com/inputs/TOKEN/tag/http/ に記載の URL 規則を使用します。これは、以下の例の ログアグリゲーター フィールドに入力して紹介しています。

_images/logging-loggly-tower-example.png

8.1.3. Sumologic

Sumologic では、json ファイルに含まれる検索基準を作成します。json ファイルには、必要なデータを収集するのに使用するパラメーターが指定されています。

_images/logging_sumologic_main.png

8.1.4. Elastic stack (以前の ELK stack)

ログを使用する Elastic stack 経由で取得された、Kibana の Tower ログからの情報を視覚的に表示することができます。Ansible Tower は、logstash コネクターや、Elasticsearch (エラスティックサーチ) のデータモデルとの互換性を確保します。サンプルの設定と、ライブラリーまたは提示の例を使用して、コンテナーを設定すると、Elastic stack の用途が最初から最後までデモを確認することができます。

Tower は、logstash 設定を使用してログのソースを指定します。このテンプレートを値を入力します。

input {
       http {
        port => 8085
        user => logger_username
        password => "password"
       }
}

メッセージの内容を処理するために、設定ファイルに以下を追加します。

filter {
       json {
        source => "message"
       }
}

8.2. Tower でのロギングの設定

いずれかのアグリゲータータイプにロギングを設定する方法:

  1. 設定 (settings) メニュー画面から、Tower の設定 をクリックします。
  1. システム タブを選択します。
  2. サブカテゴリーのドロップダウンメニュー一覧から ロギング を選択します。
  3. 表示されたフィールドで設定可能なオプションを設定します。
  • ログアグリゲーター: ログを送信するホスト名または IP アドレスを入力します。
  • ログアグリゲーターポート: 必要な場合には、アグリゲーターポートを指定します。
  • ログアグリゲータータイプ: クリックして、ドロップダウンメニューからアグリゲーターサービスを選択します。
_images/configure-tower-system-logging-types.png
  • ログアグリゲーターユーザー名: 必要な場合には、ログアグリゲーターのユーザー名を入力します。
  • ログアグリゲーターパスワード/トークン: 必要な場合にはログアグリゲーターのパスワードを入力します。
  • ログアグリゲーターフォームにデータを送信するロガー: デフォルトでは、データ 4 種類すべてが事前投入されています。各データタイプに関する追加情報は、フィールドの横にあるヒント help アイコンをクリックします。必要がなくなればデータタイプを削除してください。
  • ログシステムによるファクトの個別トラッキング: オンに切り替えるか、デフォルトのままオフにしておくかなど、追加情報を確認するにはヒント help アイコンをクリックします。
  • 外部ログの有効化: 外部のログアグリゲーターにログを送信するには、切り替えボタンをクリックして ON にします。
  1. 選択したログアグリゲーションの内容を確認します。以下は、Splunk 用に設定した一例です。
_images/configure-tower-system-logging-splunk-example.png
  1. 完了したら、保存 をクリックして設定を適用するか、キャンセル をクリックして変更を破棄します。

8.3. SSL 証明書の検証

ログアグリゲーション向けの SSL 証明書の検証はデフォルトで有効になっています。Ansible Tower 3.1.3 では、手動でローカルの settings.py ファイルに以下の環境変数を追加して False に設定し、SSL 証明書の検証を無効にすることができます。

LOG_AGGREGATOR_VERIFY_CERT = False