Barmanチェック#

check コマンドは、指定されたサーバーへの接続を検証し、サーバー構成が一貫していることを確認します。このコマンドは、一連のチェックを実行して、SSHの適切なセットアップとPostgres接続が機能していること、バックアップディレクトリの存在、およびWALアーカイブの整合性を検証します。また、Postgres構成、保持ポリシー、バックアップの有効性、およびWALアーカイブプロセスも検証します。検出された問題を特定して報告するため、 Barmanが提供する最も重要な機能の1つとなります。

このコマンドを実行すると、次のことが行われます。

  • WALアーカイブが正しく構成されていることを確認します。

  • Postgres接続と必要な特権を検証します。

  • 必要なディレクトリがすべて存在することを確認します。

  • 保持ポリシーが適切に設定されていることを確認します。

  • バックアップとWALファイルの有効性を確認します。

  • 構成エラーとアーカイバーの問題を検出します。

使用法#

check コマンドを使用するには、次のコマンドを実行します。

barman check <server_name>

構成されているすべてのサーバーでチェックを実行するには、次を使用します。

barman check all

Tip

check コマンドをアラートおよびモニタリングインフラストラクチャと統合して、バックアップ環境の継続的な監視を保証します。 --nagios オプションは、Nagios / Icingaのプラグインを作成するのに役立ち、サーバーのステータスをシームレスに監視できます。例、次のことを実行できます。

barman check --nagios <server_name>

これにより、Nagiosと互換性のある形式で結果が出力され、既存のモニタリングセットアップへの統合が容易になります。

Tip

他のバックアップおよびサーバー固有のチェックには、次のコマンドを使用できます。

  • barman check-backup 物理バックアップの一貫性を検証するために必要なすべてのWALファイルが適切にアーカイブされていることを確認します。このコマンドは cron ジョブによって使用され、各バックアップ操作の後に自動的に実行されます。詳細については、 barman check-backup を参照してください。

出力を理解する#

barman check を実行すると、次のような出力が表示されます。

$ barman check example
Server example:
    PostgreSQL: OK
    superuser or standard user with backup privileges: OK
    PostgreSQL streaming: OK
    wal_level: OK
    replication slot: OK
    directories: OK
    retention policy settings: OK
    backup maximum age: OK (no last_backup_maximum_age provided)
    compression settings: OK
    configuration files: OK
    pg_basebackup: OK
    pg_basebackup compatible: OK
    received WAL files: OK
    archiving: OK
    archive_mode: OK
    archive_command: OK
    continuous archiving: OK
    archive_timeout: OK

出力ラベルは、各チェックのステータスによって異なる場合があります。たとえば、チェックが失敗した場合、 FAILED としてマークされ、問題のトラブルシューティングに役立つヒントが含まれる場合があります。チェックは合格したが警告がある場合、追加のコンテキストとともに WARNING としてマークされます。

barman check コマンドは、 Barman機能の次の各側面のチェックを実行します。

WAL Archive

  • WALアーカイブが正しく設定されていることを確認します。

  • 受信ディレクトリとストリーミングディレクトリにあるWALファイルの数を確認します。

注釈

Barman構成に archiver = off があり、受信ディレクトリにWALが存在する場合、チェックは失敗します。これは、着信ディレクトリのWALが、Postgresがまだ archive_command を使用しているか、ユーザーが archiver から streaming_archiver に切り替え、BarmanのアーカイブにWALが保存されていないことを示唆しているために発生します。

これを解決するには、着信のWALが必要か、または安全に削除できるかどうかを判断する必要があります。これは次の方法で実行できます。

  1. WALが最も古いバックアップの begin_wal より新しいかどうかの確認。

  2. これらのWALが既にBarmanのアーカイブに存在するかどうかの確認。

streaming_archiver = off とWALがストリーミングディレクトリで見つかった場合、同じ問題が適用されます。

Postgres Connection

  • Postgres接続を検証します。

  • サーバーバージョンがサポートされていることを確認します。

  • 必要な特権とストリーミングサポートを確認します。

Local Tools Validity

  • バックアップを取るための pg_basebackup 、WALファイルのストリーミング用の pg_receivewal など、バックアップを取得しWALを受信するためのローカルツールがデータベースサーバーのバージョンで正しく動作することを確認します。

Directory

  • 必要なバックアップディレクトリがすべて存在することを確認します。

  • ディレクトリが存在しない場合は作成します。

Retention Policy

  • 保持ポリシー設定を検証します。

Backup Validity

  • バックアップの有効性要件が満たされていることを確認します。

  • バックアップの最大存続期間と最小サイズを確認します。

WAL Validity

  • WALアーカイブ要件が満たされていることを確認します。

  • WALファイルの最大存続期間とサイズを確認します。

Configuration

  • サーバーのメッセージリストのエラーメッセージを検査します。

  • 見つかったエラーを出力します。

Identity

  • ストリーミング接続から取得したシステムIDが、標準接続からのシステムIDおよびディスクに保存されているものと一致することを確認します。

Archiver Errors

  • errorディレクトリでアーカイブエラーの存在を検査します。