第6章 Elasticsearch のアクションログストレージの設定
デフォルトでは、過去 3ヶ月分の使用ログが Red Hat Quay データベースに保存され、組織レベルとリポジトリーレベルで Web UI を介して公開されます。ログエントリーを見るには、適切な管理者権限が必要です。大量の操作ログが記録されるデプロイメントでは、Red Hat Quay データベースバックエンドの代わりに Elasticsearch に使用ログを保存できるようになりました。これを行うには、独自の Elasticsearch スタックを用意する必要があります。これは、カスタマイズ可能なコンポーネントとして Red Hat Quay に含まれていないためです。
Elasticsearch のロギングを有効にするには、Red Hat Quay のデプロイ中、またはデプロイ後に Red Hat Quay Config Tool を使用して行うことができます。出来上がった設定は、config.yaml
ファイルに格納されます。一度設定すれば、使用ログへのアクセスは、これまでと同様に、リポジトリーや組織の Web UI を介して提供されます。
ここでは、アクションログストレージをデフォルトの Red Hat Quay データベースから Elasticsearch を使用するように変更するための設定方法を説明します。
- Elasticsearch のアカウントを取得します。
- Red Hat Quay Config Tool を開きます (Red Hat Quay のデプロイ中またはデプロイ後)。
Action Log Storage Configuration 設定までスクロールし、Database の代わりに Elasticsearch を選択します。次の図は、表示される Elasticsearch の設定です。
使用する Elasticsearch インスタンスの以下の情報を入力します。
- Elasticsearch hostname: Elasticsearch サービスを提供するシステムのホスト名または IP アドレス。
- Elasticsearch port: 上で入力したホストで Elasticsearch サービスを提供しているポート番号。ポートが、Red Hat Quay レジストリーを実行しているすべてのシステムからアクセス可能でなければならないことに注意してください。デフォルトは TCP ポート 9200 です。
- Elasticsearch access key: 必要に応じて、Elasticsearch サービスにアクセスするために必要なアクセスキーです。
- Elasticsearch secret key: 必要に応じて、Elasticsearch サービスにアクセスするために必要な秘密鍵。
- AWS region: AWS 上で運用している場合は、AWS リージョンを設定します (そうでない場合は、空欄のままです)。
- Index prefix: ログエントリーに付ける接頭辞を選択します。
Logs Producer: Elasticsearch (デフォルト) または Kinesis のいずれかを選択し、ログを AWS 上の中間的な Kinesis ストリームに導きます。Kinesis から Elasticsearch (Logstash など) にログを送るには、独自のパイプラインを設定する必要があります。次の図は、Kinesis に必要な追加フィールドを示しています。
Logs Producer として Elasticsearch を選択した場合、これ以上の設定は必要ありません。Kinesis を選択した場合、以下を記入してください。
- ストリーム名: Kinesis のストリームの名前。
- AWS access key: Kinesis ストリームへのアクセスを得るために必要な AWS アクセスキーの名前 (必要な場合)。
- AWS secret key: Kinesis ストリームにアクセスするために必要な AWS シークレットキーの名前 (必要な場合)。
- AWS region: AWS のリージョン。
- 完了したら、設定を保存します。Config Tool が設定内容を検証します。Elasticsearch または Kinesis サービスへの接続に問題がある場合は、エラーが表示され、編集を続ける機会が与えられます。そうしないと、新しい設定に伴いでクラスターが再起動した後に、ロギングがあなたの Elasticsearch 設定に対して開始されます。