ロギングは、Ansible Tower 3.1.0 で導入されたスタンドアロンの機能で、詳細にわたるログを複数のサードパーティーの外部ログアグリゲーションサービスに詳細ログを送信することができます。このデータフィードに接続されるサービスは、Tower の使用状況や技術的な傾向の見解を得るための便利な手段として機能します。このデータは、インフラストラクチャー内のイベントの分析、異常な点がないかの監視、サービス別のイベントの相関確認に使用することができます。Tower で最も便利なデータのタイプは、ジョブファクトデータ、ジョブイベント/ジョブラン、アクティビティーストリームデータ、ログメッセージです。これらのデータは、最小限のサービス固有の微調整をカスタムハンドラーに加えるか、インポートしたライブラリーを使用し、JSON 形式で HTTP 接続で送信されます。
ログアグリゲーターサービスは、以下の監視またはデータ分析システムと連携します。
Ansible Tower の Splunk ロギング統合では、Splunk HTTP Collector を使用します。HTTP Event Collector の設定の詳しい情報は、http://docs.splunk.com/Documentation/Splunk/latest/Data/UsetheHTTPEventCollector を参照してください。
Loggly の HTTP エンドポイント経由でのログの送信を設定するには、https://www.loggly.com/docs/http-endpoint/ を参照してください。Loggly は、http://logs-01.loggly.com/inputs/TOKEN/tag/http/ に記載の URL 規則を使用します。これは、以下の例の ログアグリゲーター フィールドに入力して紹介しています。
Sumologic では、json ファイルに含まれる検索基準を作成します。json ファイルには、必要なデータを収集するのに使用するパラメーターが指定されています。
ログを使用する 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"
}
}
いずれかのアグリゲータータイプにロギングを設定する方法:
注釈
接続タイプが HTTPS の場合は、URL にポート番号が付いたホスト名を入力します。そのため、再度ポートを入力する必要はありません。ただし、TCP や UDP 接続は、URL ではなく、ホスト名とポート番号の組み合わせで判断されるため、TCP/UDP 接続の場合は、指定のフィールドにポートを入力してください。URL がホストフィールド (ログアグリゲーター フィールド) に入力された場合には、実際のホスト名としてホスト名の部分が抽出されます。