HAProxy でのログインを設定して理解する方法

Haproxy Denoroguinwo She Dingshite Li Jiesuru Fang Fa



Web サーバーまたはその他のホスト型アプリケーションがある場合、HAProxy などのロード バランサーは、サーバーが過負荷にならないようにトラフィックを分散するのに役立ちます。ロード バランサーの使用を選択した場合でも、ログを確認してトラブルシューティングを行う方法が必要です。 HAProxy を使用する場合は、検出してログに記録するエラーに応じて、さまざまな重大度レベルのログを設定する方法を理解する必要があります。この投稿では、HAProxy でのロギングを紹介し、ロギングを設定して理解する手順について説明します。読む!

HAProxy でのログインのセットアップ

インフラストラクチャで HAProxy を使用できるさまざまなインスタンスがあります。これを Web サーバーのロード バランサとして使用する場合でも、コンテナ化の場合でも、ロギングがどのように機能するか、またロギングを設定するにはどのような手順を実行する必要があるかを理解する必要があります。エラーをログに記録する明確な方法がなければ、HAProxy のトラブルシューティングは困難な作業になります。

幸いなことに、スムーズな統合とサービスのために、HAProxy の検出、監視、トラブルシューティングに役立つログを設定できます。使用できるログ ツールはさまざまありますが、このガイドでは、syslog メッセージを処理する Rsyslog ツールに焦点を当てます。







HAProxy でのロギングを設定する方法は次のとおりです。



ステップ 1: Rsyslog がインストールされていることを確認する



このチュートリアルでは、HAProxy の Rsyslog ログ ツールを使用します。したがって、システムにインストールされていることを確認してください。バージョンをチェックして確認してください。





最新の Linux システムには、Rsyslog がプリインストールされています。インストールしていない場合は、次のコマンドを実行します。



$ sudo apt install rsyslog

ステップ 2: HAProxy 構成ファイルを編集する

システムで Rsyslog を使用できるようになったら、次のステップは HAProxy 構成ファイルにアクセスし、ログの処理方法を定義することです。設定ファイルは「/etc/haproxy/haproxy.cfg」にあります。選択したエディターで開きます。

sudo nano /etc/haproxy/haproxy.cfg

グローバル セクションでは、HAProxy ログをどのように実行するかを指定します。 UDP ポート 514 などの特定のポートでリッスンしている syslog サーバーがある場合は、次の行を使用して「local0」機能を介してログをサーバーに送信できます。

あるいは、ログを「/dev/log」ソケットに送信し、Rsyslog を使用してアクセスすることもできます。そのためには、構成ファイルに次の行を追加します。

「log」キーワードは、指定された syslog サーバーまたはソケットにログを送信するディレクティブを与えるため、必ず含める必要があることに注意してください。繰り返しますが、ログに特定のセキュリティ レベルを指定する場合は、通知セキュリティ レベルの場合と同様に、ステートメントの最後にその名前を追加します。

ログに記録できるセキュリティ レベルはいくつかあります。ステートメントの最初の行で行ったようにセキュリティ レベルのタイプを指定しない場合、ログ ファイルには HAProxy によって共有されるログ メッセージが含まれることになり、ログに記録されるメッセージによってはサイズが大きくなる可能性があります。したがって、syslog サーバーまたはソケットに何を記録するかを具体的にすることを検討してください。

「デフォルト」セクションに次の行があることを確認します。

このステートメントにより、構成ファイルの後続のすべてのプロキシ セクション (バックエンドなど) が、グローバル セクションで指定した基準を使用してメッセージをログに記録するようになります。ただし、各プロキシに特定のログ基準を使用して、対象とするセキュリティ レベルの種類を取得することを選択できます。使用する syslog サーバーまたはソケットを指定したら、変更を保存してファイルを終了します。

ステップ 3: Rsyslog 構成ファイルを編集する

rsyslog 構成ファイルでは、HAProxy ログを保存する場所を rsyslog に指示する必要があります。この場合、一般ログと通知レベルのログを保存したいと思います。したがって、構成ファイルを開いて、最後に次のステートメントを追加します。

変更を保存してファイルを終了します。 Rsyslog は、生成されたログ メッセージの種類に応じて、以前に指定したログ ファイルのいずれかにログ メッセージを送信します。

ステップ 4: サービスを再起動する

その後、HAProxy サービスと rsyslog サービスを再起動する必要があります。 「systemctl」を使用して次のコマンドを実行します。

$ sudo systemctl rsyslog.serviceを再起動します
$ sudo systemctl 再起動 haproxy.service

ステップ 5: ロギングをテストする

これで HAProxy ログが設定されました。残りの手順は、ログが機能していることを確認することです。これをテストするには、「tail」コマンドを使用して、ログ ファイルの最後の行をリアルタイムで表示します。

前に「rsyslog」構成ファイルで指定したのと同じパスをどのように指定しているかに注目してください。

指定された出力により、HAProxy ログが正常に設定されたことが確認されます。キャプチャしたいログの種類に合わせて構成ファイルを自由に編集してください。

結論

HAProxy にはさまざまなアプリケーションがあります。どのような利用方法を選択するにしても、ログはエラーを防止し、問題のトラブルシューティングに役立つために不可欠です。構成ファイルの編集からログの保存場所の指定、ログ機能のテストまで、HAProxy ログを設定する手順を学習しました。これで、自分のケースに合わせて HAProxy ログを設定できるようになりました。