1.20. コンプライアンスデータの復元


Grafana データソースは主に、history.local_compliance という名前のテーブルから取得されます。そのレコードは、毎晩 00:00:00 に開始される要約ルーチンによって生成されます。通常、要約プロセスを手動で実行する必要はありません。場合によっては、コンプライアンスジョブの実行時に予期しないエラーが発生する可能性があるため、データベースに手動でログインして概要プロセス全体を実行し、生成されなかったデータを回復する必要があります。手動での要約プロセスの実行 の手順に従ってデータを回復できます。

1.20.1. オプション: 既存のテーブルをパーティションテーブルに手動でアップグレードする

GA より前に Multicluster Global Hub の初期バージョンをインストールしている場合は、現在の Multicluster Global Hub Operator と互換性があるようにテーブルをアップグレードする必要があります。アップグレードの主な目的は、event.local_policiesevent.local_root_policies、および history.local_compliance テーブルをパーティション化されたテーブルに変換することです。

次の例は、日付が 2023-08 に設定された event.local_policies テーブルの変換を示しています。他の 2 つのテーブルのアップグレード手順は同様です。

  1. ターゲットがパーティション化されていることを確認してください。

    SELECT relname, relkind FROM pg_class WHERE relname = 'local_policies';

    テーブルの出力は次の例のようになります。

    Expand

    relname

    relkind

    local_policies

    r

    relkindp の場合、現在のテーブルはパーティション化されます。存在する場合は、残りの手順をスキップして、他のテーブルをアップグレードできます。

  2. 通常のテーブルをパーティションテーブルに変換します。

    -- start a transaction
    BEGIN;
    -- Rename the legacy TABLE_NAME
    ALTER TABLE event.local_policies RENAME TO local_policies_old;
    -- Partition tables: https://github.com/stolostron/multicluster-global-hub/blob/main/operator/pkg/controllers/hubofhubs/database/2.tables.sql#L283-L318
    CREATE TABLE IF NOT EXISTS event.local_policies (
        event_name character varying(63) NOT NULL,
        policy_id uuid NOT NULL,
        cluster_id uuid NOT NULL,
        leaf_hub_name character varying(63) NOT NULL,
        message text,
        reason text,
        count integer NOT NULL DEFAULT 0,
        source jsonb,
        created_at timestamp without time zone DEFAULT now() NOT NULL,
        compliance local_status.compliance_type NOT NULL,
        -- Rename the constraint to avoid conflicts
        CONSTRAINT local_policies_unique_partition_constraint UNIQUE (event_name, count, created_at)
    ) PARTITION BY RANGE (created_at);
    -- Create partitions, load the old data to the previous partition table
    CREATE TABLE IF NOT EXISTS event.local_policies_2023_08 PARTITION OF event.local_policies FOR VALUES FROM ('2023-08-01') TO ('2023-09-01');
    CREATE TABLE IF NOT EXISTS event.local_policies_2023_07 PARTITION OF event.local_policies FOR VALUES FROM ('2000-01-01') TO ('2023-08-01');
    
    -- Move the records from regular table to partition table
    INSERT INTO event.local_policies SELECT * FROM event.local_polcies_old;
    DROP TABLE IF EXISTS event.local_policies_old;
    -- commit the transaction
    COMMIT;

    テーブル名と現在の日付に従って、次の値を置き換えることができます。

    • event.local_policies_2023_08 は、現在の月 の接尾辞が付いたパーティション名です。例として 8 月を使用します。
    • '2023-08-01''2023-09-01' は、現在の月のパーティションの最小境界と最大境界です。
    • event.local_policies_2023_07 は、前月 (7 月) の接尾辞が付いたパーティション名です。
    • '2000-01-01''2023-08-01' は、前月のパーティションの最小境界と最大境界です。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る