EDB Postgres™エンタープライズマネージャ
入門ガイド
バージョン7.7
 
 
 
1 はじめに
この文書はPostgres Enterprise Manager™(PEM)の紹介を提供します。このガイドは、ツールセットの基本を習得し、データベース管理作業を成功させるのに役立ちます。このガイドは、次の主要なセクションとカテゴリに分かれています。
•
Postgres Enterprise Managerの概要 - 第2章では、PEMの機能、コンポーネント、アーキテクチャ、およびサポートされているプラットフォームについて説明します。
•
PEM Webインタフェースの使用 - 第3章では、PEMのWebインタフェースの概要について説明します。 WebインターフェイスはPEMサーバとともにインストールされ、選択したブラウザから使用できます。
•
サーバーの登録 -第4章では 、サーバー登録を支援するために使用できるさまざまなツールについて説明します。
•
一般的なデータベース管理 -5章では、一般的なデータベース管理作業、SQLクエリ、およびストアドプロシージャの開発を支援します。
•
サーバ管理 - 第6章では、PEMサーバの制御、およびサーバ認証の管理について説明します。
•
PEM エージェント 管理 - 第7章では、PEMエージェントの設定と管理について説明します。
•
SSL 証明書の 置き換え - 第8章では、SSL証明書の管理について説明します。
このガイドは包括的なリソースではありません。むしろ、製品の使用方法の基本を理解するための手助けとなることを目的としています。 PEM機能の使用方法の詳細については、PEM WebインターフェイスまたはPEMガイドで入手可能なオンラインヘルプを参照してください。
この文書では PostgreSQLを使用してPostgreSQLまたはEDB Postgres Advanced Serverデータベースのいずれかを意味します。
1.1 新機能
このリリースでは、PEM 7.7に次の機能が追加されました。
•
•
•
クエリツールに COMMIT ボタン と ROLLBACK ボタンが 追加されました 。
•
あなたは使用することができます X-FRAME-OPTIONS ページレンダリングを管理し、クリックジャッキングを防ぐために設定します。デフォルトは SAMEORIGIN です。
•
1.2 このガイドで使用されている表記規則
このマニュアルでは、さまざまなコマンド、ステートメント、プログラム、例などの意味と使用方法を明確にするために、特定の表記規則が使用されています。この節では、これらの規則の概要を説明します。
以下の説明では、 用語は、言語キーワード、ユーザー指定の値、リテラルなどである任意の単語または単語のグループを指します。用語の正確な意味は、それが使用される文脈によって異なります。
•
イタリック体のフォント は、通常、初めてそれを定義する文中に新しい用語を導入します。
•
Fixed-width (mono-spaced) font は、 SQL コマンド、例で使用されている特定のテーブル名および列名、プログラミング言語のキーワード など、文字通りに与えなければならない用語に使用され ます 。例えば、 SELECT * FROM emp;
•
Italic fixed-width font は、ユーザーが実際の使用法で値を置き換える必要がある用語に使用されます。例えば、 DELETE FROM table_name ;
•
•
角括弧[]は、囲まれた用語の1つまたはすべてを置換できることを示します。たとえば、 [ a | b ] 、「 a 」または「 b 」のいずれかを選択するか、または両方を選択しないことを意味します。
•
中括弧{}は、囲まれた選択肢のうち1つだけを指定する必要があることを示します。たとえば、 { a | b }正確に一つ「の意味a 」又は「 b 」を指定しなければなりません。
•
省略記号...は、前の用語が繰り返される可能性があることを示します。たとえば、 [ a | b ] ...あなたが「 baaba 」というシーケンスを持っているかもしれないことを意味します。
2 Postgres Enterprise Manager - 概要
Postgres Enterprise Manager (PEM)は、データベース管理者、システム設計者、およびパフォーマンスアナリストがPostgreSQLおよびEnterpriseDB Advanced Serverデータベースサーバを管理、監視、および調整するのを支援するように設計されたエンタープライズ管理ツールです。 PEMは、ほんの一握りから数百台のサーバーまで、単一のコンソールからどこでも管理および監視できるように設計されているため、データベースのあらゆる側面を完全にリモート制御できます。
2.1 なぜPostgres Enterprise Managerなのですか?
PEMは他のどのPostgreSQL管理ツールにも見られない多くの利点を提供します。
•
管理en Masseデザイン 。 PEMはエンタープライズデータベース管理用に設計されており、地理的な境界を越えた多数のサーバーの管理に取り組むように構築されています。グローバルダッシュボードにより、すべてのサーバーの稼働/停止/パフォーマンスの状態を一目で確認できます。
•
分散アーキテクチャ PEMは、オペレーティングシステムのプラットフォームに関係なく、統計情報を収集し、マシン上でリモートで操作を実行する能力を最大限に引き出すように設計されています。
•
グラフィカル管理データベース管理のすべての側面は、グラフィカルインターフェイスを介してPEMクライアントで実行できます。サーバーの起動とシャットダウン、構成管理、ストレージとセキュリティの制御、オブジェクトの作成、パフォーマンス管理などを単一のコンソールから処理できます。
•
フルSQL IDE 。 PEMには、アドホックSQLクエリ、ストアドプロシージャ/関数開発、およびグラフィカルデバッガを提供する堅牢なSQL統合開発環境(IDE)が含まれています。
•
エンタープライズパフォーマンスモニタリング PEMは、すべての管理対象データベースサーバーに対してエンタープライズクラスのパフォーマンス監視を提供します。軽量で効率的なエージェントは、各データベースサーバーの運用および各マシンの基盤となるオペレーティングシステムのあらゆる側面を監視し、詳細な統計情報をインターフェース内の簡単にナビゲートされたパフォーマンスページに戻します。
•
予防的アラート管理 PEMは、24時間監視されている主要な測定基準(メモリ、ストレージなど)ごとにパフォーマンスしきい値を作成する機能を備えています。しきい値違反が発生すると、問題の性質と、状況がサーバーの全体的なパフォーマンスを危険にさらさないようにするために必要なアクションを伝える集中ダッシュボードにアラートが送信されます。
•
簡易キャパシティプランニング主要なパフォーマンス関連の統計はすべて自動的に収集され、PEMのリポジトリに指定期間保存されます。 Capacity Managerユーティリティを使用すると、さまざまな統計情報を選択し、時間の経過とともに傾向分析を実行して、ピーク負荷期間、ストレージ消費の傾向などを把握できます。ツールの予測メカニズムを使用すると、将来のリソース使用量とそれに応じた計画/予算も予測できます。
•
監査マネージャー監査マネージャはAdvanced Serverインスタンスの監査ログを設定します。データベースへの接続、データベースからの切断、データベースに対して実行されたSQLステートメントなどのアクティビティを記録できます。その後、 Audit Logダッシュボードを使用してログをフィルタリングして表示できます。
•
ログマネージャログマネージャウィザードは、(オプションの)ログ収集を使ってサーバーのログパラメータを中央テーブルに構成します。ウィザードを使用して、ログファイルのローテーション、ログの保存先、エラーメッセージの重大度などのログ記録動作の設定を指定します。 Server Logダッシュボードを使用して、収集されたサーバログエントリをフィルタリングして確認します。
•
SQLワークロードプロファイリング 。 PEMには、1つ以上のサーバに対して実行されたSQL文を追跡できるSQLプロファイリングユーティリティが含まれています。 SQLプロファイリングは、アドホックまたはスケジュールされた方法で実行できます。取得したSQL文をフィルタ処理すると、実行が不十分なSQL文を簡単に識別して調整できます。 SQLステートメントは、各ステートメントを分析し、パフォーマンスを向上させるために作成する必要がある新しいインデックスについて推奨するAdvanced Server上のインデックスアドバイザにも入力できます。
•
エキスパートデータベース分析 PEMにはPostgres Expertユーティリティが含まれています。 Postgres Expertは、ベストプラクティス実施目的のために選択されたデータベースを分析します。一般的な設定、セキュリティ設定などの分野が検討されます。推奨されるベストプラクティスからの逸脱は、それぞれの特定の問題の説明、および正しいことをするために何をすべきかについての専門家の助けとともに、あなたに報告されます。
•
ストリーミングレプリケーションの設定と監視。ストリーミングレプリケーションウィザードは、Postgresストリーミングレプリケーションシナリオに新しいサーバーを追加したり、既存のサーバーを設定してレプリケーションシナリオを作成するプロセスを簡素化します。レプリケーションシナリオを設定したら、ストリーミングレプリケーションダッシュボードでシナリオを監視するか、PEMクライアントでオプションを使用してスタンバイノードをマスターノードに昇格させることができます。
•
安全なクライアント接続 PEMは、暗号化されたSSHトンネルを介した安全なクライアント接続をサポートしています。フル機能のPEMクライアントには、安全な接続のための接続情報を提供できるSSHトンネル定義ダイアログが含まれています。
•
ワイドプラットフォームサポート PEMは、ほとんどの主要なLinuxおよびWindowsプラットフォームをサポートしています。
2.2 一般的なアーキテクチャ
PEMは、3つの主要コンポーネントで構成されています(図2.1を参照)。
PEMサーバ
PEMサーバーはPostgres Enterprise Managerの中核となる機能を提供します。サーバーは以下の責任を負います。
•
•
•
PEMエージェント
PEMエージェントは、各管理対象マシンでタスクを実行し、データベースサーバーとオペレーティングシステムの統計を収集します。
PEM Webインタフェース
PEMサーバーと一緒に配布されているPEMウェブインターフェースは、あなたが選択したブラウザでサーバーに接続してPostgresサーバーを管理しモニターすることを可能にします。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥c9521322¥pem-architecture.png
図2.1 - Postgresエンタープライズ管理の 一般的なアーキテクチャ
2.3 サポートされているバージョンとプラットフォーム
PEMサーバーとエージェントは、Advanced ServerまたはPostgreSQLバッキングデータベース(バージョン9.3以降)を使用します。 PEMはAdvanced ServerおよびPostgreSQLデータベースのバージョン9.3以降を管理および監視できます。
PEMサーバとエージェントは、以下でサポートされています。
64ビットLinux
•
•
•
•
•
•
64ビットWindows
•
•
PEMエージェントは、PEMサーバーホストとしてRHEL / CentOS 7.xを使用するLinux ppc64leでもサポートされています。
PEMエージェント用のRPMパッケージは、RHEL 6.xおよび7.xで使用可能です。
PEMクライアントは、次のブラウザでサポートされています。
•
•
•
•
SQLプロファイラは、PostgreSQLバージョン9.3以上のAdvanced ServerおよびEnterpriseDBディストリビューションでサポートされています。
2.4 PEMのインストール - 概要
PEMのインストール方法の詳細については、次のWebサイトで入手可能な 『PEM Installation Guide』を参照してください。
http://enterprisedb.com/products-services-training/products/documentation
PEMのインストールプロセスに含まれる基本的な手順は次のとおりです。
1。
PEMサーバコンポーネントをインストールします。 PEMサーバソフトウェアとバックエンドデータベース(名前は pem )は、サポートしているhttpdサーバと同じホストに存在することも、別々のホストに存在することもあります。
PEMサーバインストーラは、PEMサーバのホストにPEMエージェントとPEMクライアントをインストールします。
2。
リモートエージェントは、監視対象サーバーから入手可能なすべての情報を取得することはできません。各サーバーホストにエージェントをインストールすることをお勧めします。
3。
3 PEM Webインターフェイスの使用
PEM WebインターフェイスはPEMサーバと一緒にインストールされます。サーバのインストールが完了したら、次の場所に移動して、選択したブラウザでPEMインターフェイスを開くことができます。
https:// ip_address_of_PEM_host :8443/pem
どこ ip_address_of_PEM_host PEMサーバのホストのIPアドレスを指定します。 Postgres Enterprise Manager Loginウィンドウ(図3.1に示す)が開きます。
図3.1 - PEMログインページ
PEMサーバーで自分自身を認証するには、 Postgres Enterprise Manager Loginウィンドウのフィールドを使用します。
•
名前を提供 pem中のデータベース・ユーザーUsernameフィールドを。最初に接続したユーザの場合、これはPEMサーバのインストール時に指定された名前になります。
•
認証情報を入力したら、[ Login ]をクリックしてPEMに接続します。
PEM Webインターフェイスが開き、 Global Overview Dashboard 表示され Dashboard (図3.2を参照)。
図3.2 - クライアントに表示されたグローバル概要ダッシュボード
Browserペインには、各サーバー上に存在するデータベースオブジェクトに関する情報へのアクセスを提供し、ツリーコントロールを表示します。ツリーコントロールが展開され、PEMサーバによって監視されているサーバとオブジェクトの階層ビューが表示されます。
PEMメニューバーを使用すると、データベースサーバとそれらのサーバに存在するオブジェクトを管理するために使用できるコマンドと機能にアクセスできます。オプションが無効になっている場合:
•
•
•
3.1 PEMツールバー
PEM Webインターフェイスの上部にあるコンテキストメニューを使用すると、環境をカスタマイズしたり、PEMのエンタープライズ管理機能にアクセスしたりできます。
ファイルメニュー
図3.3 - ファイルメニュー
次のオプションにアクセスするには、 Fileメニュー(図3.3を参照)を使用してください。
オブジェクトメニュー
図3.4 - オブジェクトメニュー
Objectメニュー(図3.4を参照)コンテキスト依存です。 Objectメニューを使用して、次のオプションにアクセスします。
管理メニュー
図3.5 - 管理メニュー
次のPEM機能にアクセスするには、 Managementメニュー(図3.5を参照)を使用してください。
ダッシュボードメニュー
図3.6 - ダッシュボードメニュー
ダッシュボードにアクセスするには、状況に応じた Dashboardsメニュー(図3.6を参照)を使用します。
ツールメニュー
図3.7 - ツールメニュー
[ Tools ]メニューのオプションを使用して (図3.7を参照)、以下の機能にアクセスします。
ヘルプメニュー
図3.8 - ヘルプメニュー
[ Help ]メニューのオプションを使用して (図3.8を参照)、オンラインヘルプドキュメントにアクセスしたり、PEMのインストールに関する情報を確認したりします。
3.2 チャート、グラフ、表の制御とカスタマイズ
ダッシュボードの各グラフィックの右上隅にあるアイコンを使用して、現在のユーザーセッション用にPEMクライアントに表示されるチャート、グラフ、およびテーブルを制御およびカスタマイズします(図3.9を参照)。
図3.9 - PEMクライアントチャートコントロールアイコン
アイコンを選択してください。
 
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥c67b0aaa¥refresh.pngチャート、グラフ、またはテーブルの内容を更新します。
 
C:\ Users \ susan \ AppData \ Local \ Temp \ vmware-susan \ VMwareDnD \ 9b0fa6b9 \ download.pngチャートやグラフの画像をダウンロードしてください。
 
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥47708935¥fullscreen.pngグラフまたはグラフを全画面表示に拡大します。
 
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥47f988ae¥personalize.png現在のユーザーのチャート、グラフ、またはテーブル設定をカスタマイズします。
 
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥5573bf79¥information.pngチャート、グラフ、またはテーブルに関する情報を表示します。
PEMダッシュボードに表示されるグラフィックのカスタマイズの詳細については、PEMクライアントのオンラインヘルプを参照してください。
4 監視対象サーバーの管理
PEMを使用してサーバーを管理または監視する前に、そのサーバーをPEMに登録し、エージェントをバインドする必要があります。サーバーはリモートエージェント(別のホストに存在するエージェント)にバインドされている可能性がありますが、エージェントが同じホストに存在しない場合、インスタンスに関するすべての統計情報にアクセスすることはできません。
 
4.1 サーバを手動で登録する
PEMを使用してサーバを管理または監視するには、次の作業が必要です。
•
•
あなたは使用することができます Create - Server 、サーバーの登録情報を提供するために、ダイアログをPEMエージェントを結合し、PEMクライアントツリーコントロール内のサーバーを表示します。 [ Create - Server ]ダイアログを開くには、[ Object ]メニュー(またはサーバーグループのコンテキストメニュー)の[ Create ]オプションを選択し、[ Server…を選択しServer… (図4.1を参照)。
図4.1 - Create - Serverダイアログへのアクセス
注意してください:あなたが登録しようとしているPostgresサーバのpg_hba.confファイルが、接続を試みる前にPEMクライアントのホストからの接続を許可することを確認しなければなりません 。
図4.2 - Create - ServerダイアログのGeneralタブ
サーバーの一般的なプロパティを説明するには、[ General ]タブ(図4.2) のフィールドを使用します。
•
サーバーのわかりやすい名前を指定するには、 Nameフィールドを使用します。指定された名前は、PEM Browserツリーコントロール内のサーバーを識別します。
•
•
Postgresロール名を指定するには Teamフィールドを使用します。このロールのメンバーであるサーバー、最初にサーバーを作成したPEMユーザー、またはPEMサーバーに対するスーパーユーザー権限を持つPEMユーザーだけが、PEMにログオンしたときにこのサーバーを参照できます。このフィールドを空白のままにすると、すべてのPEMユーザーにサーバーが表示されます。
•
Background色セレクタを使用して、サーバーに格納されているデータベースオブジェクトの背後にあるPEMツリーコントロールに表示される色を選択します。
•
前 Foregroundセレクタを使用して、サーバに保存されているオブジェクトのPEMツリーコントロール内のラベルのフォント色を選択します。
•
[ now Connect 横にあるチェックボックスをオンにしますか。 SaveボタンをクリックしたときにPEMにサーバ接続を試行するように指示します。 now Connect nowか?後で接続を試みるまで、PEMクライアントが指定された接続パラメータを検証しないようにする場合は、オフにします。
•
図4.3 - 「作成 - サーバー」ダイアログの「接続」タブ
サーバーの接続詳細を指定するには、「 Connectionタブ(図4.3に示す)のフィールドを使用します。
•
[ Host name / addressフィールドに、サーバーホストのIPアドレス、または完全修飾ドメイン名を addressます。 Unixベースのシステムでは、ローカルマシン上でデフォルトのPostgreSQL Unixドメインソケットを使用するためにaddressフィールドを空白のままにするか、またはPostgreSQLソケットを含む代替パスに設定することができます。パスを入力する場合、パスは "/"で始まっていなければなりません。
•
•
Maintenance databaseフィールドを使用して、 PEMが接続する初期データベースの名前を指定します。初期データベースには、 pgAgentスキーマとadminpackオブジェクトがインストールされているとadminpackされます(どちらもオプション)。 PostgreSQL 8.1以降では、メンテナンスDBは通常postgresと呼ばれます。以前のバージョンではtemplate1がよく使用されますが、テンプレートデータベースが雑然とするのを避けるためにpostgresデータベースを作成するのが好ましいです。
•
•
指定したユーザーに関連付けられている Password を「 Passwordフィールドに入力します。
•
[ password を Save passwordか?]の横のチェックボックスをオンにし password 。後で再利用するために、パスワードを~/.pgpassファイル(Linuxの場合)または%APPDATA%\\postgresql\\pgpass.conf (Windowsの場合)に格納するようにPEMに指示します。詳細はpgpassドキュメントを参照してください。保存されたパスワードは、すべてのlibpqベースのツールに使用されます。パスワードを削除するには、サーバーから切断し、サーバーの[プロパティ]ダイアログを開いて選択を解除します。
•
「 Roleフィールドを使用して、クライアントがサーバーに接続した後に使用する特権を割り当てられている役割の名前を指定します。これにより、1つの役割として接続し、接続が確立されたときに別の役割(このフィールドで指定したもの)の許可を引き受けることができます。接続ロールは、指定されたロールのメンバーである必要があります。
図4.4 - Create - ServerダイアログのSSLタブ
SSLを設定するには、 SSLタブのフィールドを使用します(図4.4を参照)。
•
SSL modeフィールドのドロップダウンリストボックスを使用して、サーバーが使用するSSL接続の種類を選択します。 SSL暗号化の使用の詳細については、PostgreSQLのドキュメントを参照してください。
https://www.postgresql.org/docs/current/static/libpq-ssl.html
プラットフォーム固有の Fileマネージャダイアログを使用して、SSL暗号化をサポートするファイルをサーバにアップロードできます。ファイルマネージャにアクセスするには、以下の各フィールドの右側にあるアイコンをクリックします。
•
Client certificateフィールドを使用して 、クライアントSSL証明書を含むファイルを指定します。 PEMがデスクトップモードでインストールされている場合、このファイルはデフォルトの~/.postgresql/postgresql.crtファイルを置き換えます~/.postgresql/postgresql.crtがWebモードでインストールされている場合は<STORAGE_DIR>/<USERNAME>/.postgresql/postgresql.crt ~/.postgresql/postgresql.crtを置き換えます。 SSL接続が確立されていない場合、このパラメータは無視されます。
•
Client certificate使用される秘密鍵を含むファイルを指定するには、「 Client certificate keyフィールドを使用します。このファイルは、PEMがデスクトップモードでインストールされている場合はデフォルトの~/.postgresql/postgresql.keyを置き換え、PEMがWebモードでインストールされている場合は<STORAGE_DIR>/<USERNAME>/.postgresql/postgresql.key ~/.postgresql/postgresql.keyを置き換えます。 SSL接続が確立されていない場合、このパラメータは無視されます。
•
SSL証明機関を含むファイルを指定するには、[ Root certificateフィールドを使用します。このファイルはデフォルトの~/.postgresql/root.crtファイルを~/.postgresql/root.crtます。 SSL接続が確立されていない場合、このパラメータは無視されます。
•
Certificate revocation listフィールドを使用して 、SSL証明書失効リストを含むファイルを指定します。このリストは~/.postgresql/root.crlあるデフォルトのリストを置き換えます。 SSL接続が確立されていない場合、このパラメータは無視されます。
•
SSL compression? 時 Trueに設定すると、SSL接続を介して送信されたデータは圧縮されます。デフォルト値はFalse (圧縮は無効)。 SSL接続が確立されていない場合、このパラメータは無視されます。
•
図4.5 - Create - ServerダイアログのSSH Tunnelタブ
SSH Tunnelingを設定するには、 SSH Tunnelタブのフィールドを使用します(図4.5を参照)。トンネルを使用すると、クライアントが直接接続できない可能性があるネットワーク上にあるサーバーに(仲介プロキシホストを介して)データベースサーバーを接続できます。
•
指定したサーバへの接続時にPEMがSSHトンネルを使用するように指定するには、[ Use SSH tunnelingを[ Yesに設定します。
•
•
•
•
•
PEMがSSHホストへの認証にパスワードを使用するように指定するには、 [ Passwordを選択します。これがデフォルトです。
•
接続時にPEMが秘密鍵ファイルを使用するように指定するには、 [ Identity fileを選択します。
•
SSHホストが認証用の秘密鍵ファイルを期待している場合は、[ Identity fileフィールドを使用して鍵ファイルの場所を指定します。
•
SSHホストがパスワードを予期している場合は、「 Passwordフィールドを使用して Passwordを指定するか、あるいはIDファイルが使用されている場合はパスフレーズを指定します。
図4.6 - Create - ServerダイアログのAdvancedタブ
サーバの管理に使用される詳細を指定するには、[ Advanced ]タブ(図4.6)のフィールドを使用します。
•
•
使用 DB restrictionに対して使用されるSQLの制限を指定するフィールドをpg_databaseののツリーコントロールに表示されたデータベースを制限するために、テーブルを。たとえば、次のように入力できます。 'live_db', 'test_db'のみ表示するようにPEMブラウザを指示するlive_dbとtest_dbデータベースを。 ` pg_namespaceに対する制限を入力することで、データベースのプロパティダイアログからデータベースに表示されるスキーマを制限することもできます。
•
パスワードファイル(.pgpass)の場所を指定するには、[ Password fileフィールドを使用します。 .pgpassファイルを使用すると、ユーザーは接続時にパスワードを入力せずにログインできます。詳細については、Postgresのドキュメントを参照してください。
http://www.postgresql.org/docs/current/static/libpq-pgpass.html
注意:パスワードファイルの使用は、PEMがサーバへの接続にlibpq v10.0以降を使用している場合にのみサポートされます。
•
データベースサービスプロセスを制御するためのパラメータを指定するには、[ Service IDフィールドを使用します。 Enterprise Managerディレクトリに格納されているサーバーの場合は、サービスIDを入力します。 Windowsマシンでは、これはWindowsサービスの識別子です。 Linuxマシンでは、これは/etc/init.dあるサーバーの始動に使用されるinitスクリプトの名前です。たとえば、Advanced Server 10サービスの名前はedb-as-10です。ローカルサーバーの場合、設定はオペレーティングシステムによって異なります。
○
○
sudo /usr/local/pgsql/bin/pg_ctl -D /data/pgsql
•
サーバーがフェールオーバーマネージャークラスターのメンバーである場合は、PEMを使用してクラスターの状態を監視し、必要に応じてマスターノードを交換することができます。 PEMがFailover Managerを監視できるようにするには、 EFM cluster nameフィールドを使用して cluster nameを指定します。クラスタ名は、Failover Managerクラスタプロパティファイルの名前のプレフィックスです。たとえば、クラスタプロパティファイルの名前がefmです。 properties 、クラスタ名はefmです。
•
PEMを使用してFailover Managerクラスタのステータスを監視している場合は、 EFM installation pathフィールドを使用してFailover Managerバイナリファイルの場所を指定します。デフォルトでは、Failover Managerバイナリファイルは/usr/efm-2.x/binにインストールされていますxはFailover Managerのバージョンを示します。
図4.7 - Create - ServerダイアログのPEM Agentタブ
PEM Agent接続詳細を指定するには、[ PEM Agent ]タブ(図4.7)のフィールドを使用します。
•
Remote monitoring 移動しますか? PEMエージェントが監視対象サーバと同じホストに存在しないことを示すには、[ Yesスライダをクリックします。リモート監視が有効になっていると、監視対象サーバーのエージェントレベルの統計はカスタムチャートやダッシュボードで利用できなくなり、リモートサーバーは一部のPEMユーティリティ(Audit Manager、Capacity Manager、Log Manager、Postgres Expertなど)からアクセスできなくなります。チューニングウィザード)。
•
「 Bound agentラベルの右側にあるドロップダウンリストボックスを使用して、Enterprise Managerエージェントを選択します。 1人のエージェントが複数のPostgresサーバーを監視できます。
•
[ Hostフィールドに、エージェントがデータベースサーバに接続するときに使用するIPアドレスまたはソケットパスを入力します 。デフォルトでは、エージェントは[ General ]タブに表示されているホストアドレスを使用します。 Unixサーバでは、ソケットパス、例えば/ tmpを指定したいかもしれません。
•
エージェントがサーバーに接続するときに使用する Port番号を入力します。デフォルトでは、エージェントは[ Properties ]タブで定義されたポートを使用します。
•
SSL操作モードを指定するには、[ SSLフィールドのドロップダウンリストボックスを使用します。 require、prefer、allow、disable、verify-caまたはverify-fullを指定します。 SSL暗号化の使用の詳細については、PostgreSQLのドキュメントを参照してください。
http://enterprisedb.com/docs/en/10/pg/libpq-ssl.html
•
エージェントが最初に接続するデータベースの名前を指定するには、「 Databaseフィールドを使用します。
•
•
[ Passwordフィールドにエージェントがサーバーに接続するときに使用するパスワードを指定し、[パスワードのConfirmフィールドにもう一度入力してConfirm password 。パスワードを指定しない場合は、エージェントの認証を手動で設定する必要があります。たとえば、 .pgpassファイルを使用できます。
•
設定する Allow takeover ?サーバーを別のエージェントに引き継ぐことができることを指定するには、 YesスライダをYesします。この機能により、たとえば、高可用性フェイルオーバープロセスの一環としてサーバーが別のホストに移動された場合に、エージェントがデータベースサーバーの監視を担当できます。
サーバーのプロパティを表示するには、PEMクライアントツリーコントロールのサーバー名を右クリックして 、コンテキストメニューから[ Properties …]オプションを選択します。サーバーのプロパティを変更するには、[ Properties ]ダイアログを開く前にサーバーから切断しProperties 。
4.2 自動サーバ検出
モニターしたいサーバーがモニター・エージェントと同じホスト上にある場合は、 Auto Discoveryダイアログを使用して登録およびバインド処理を単純化することができます。
特定のエージェントに対して自動検出を有効にするには、 Server Auto Discoveryプローブを有効にする必要があり Server 。 Manage Probesタブにアクセスするには、PEMクライアントツリーコントロールでPEMエージェントの名前を強調表示し、 ManagementメニューからManage Probes ...を選択Manageます。 Manage Probesタブが開いたら、 Enabled ?のスライダコントロールが Enabledていることを確認します。列は Yes 設定されてい ます。
Auto を開く Discovery ダイアログ(図4.8を参照)を開き、PEMクライアントツリーコントロールでPEMエージェントの名前を強調表示して、[ Auto を選択します。 [ Management ]メニューから[ Discovery ... ]をManagementます。
図4.8 - PEM自動検出ダイアログ
とき Auto Discovery ]ダイアログボックスが表示され、 Discovered Database Serversボックスには、現在PEMエージェントによって監視されていないサーバーのリストが表示されます。サーバー名の横にあるチェックボックスをオンにすると、[ Server Connection Detailsボックスにサーバーに関する情報が表示され、エージェントの接続プロパティに[ Agent Connection Detailsボックスが表示されます。
使用 Check All隣に表示のサーバー、またはすべてのボックスを選択し、ボタンをUncheck Allサーバ名の左にあるボックスをすべて選択解除します。
Server Connection Detailsボックスのフィールドには、 PEMが監視するサーバに関する情報が表示されます。
•
[ Nameフィールドで監視対象サーバーの名前を受け入れるか変更します。指定した名前がPEMクライアントのツリーコントロールに表示されます。
•
[ Server groupドロップダウンリストボックスを使用して、PEMクライアントツリーコントロールに表示されるサーバーの下にあるサーバーグループを選択します。
•
監視対象サーバのIPアドレスを指定するには、[ Host name / addressフィールドを使用します。
•
「 Portフィールドには、サーバーによってモニターされているポートが表示されます。このフィールドは変更できません。
•
[ Service IDフィールドにサービスの名前を入力します。一部のPEM機能を有効にするには、サービス名を入力する必要があります。
•
デフォルトでは、 Maintenance databaseフィールドは選択されたサーバがpostgresメンテナンスデータベースを使うことを示します。ご使用のシステム用にMaintenance databaseフィールドの内容をカスタマイズします。
[ Agent Connection Detailsボックスのフィールドは、 PEMエージェントがサーバに接続するときに使用するプロパティを指定します。
•
[ Hostフィールドに、PEMエージェントのバインディングに使用されるIPアドレスが表示されます。
•
[ User nameフィールドに、選択したサーバに接続するときにPEMエージェントによって使用される名前が表示されます。
•
[ Passwordフィールドに、指定したユーザー名に関連付けられているパスワードが表示されます。
•
[ SSL modeフィールドのドロップダウンリストボックスを使用して 、SSL接続設定を指定します。
監視用にバインドしているサーバーの接続プロパティの指定が終了したら、[ OK ]ボタンをクリックしてサーバーを登録します。変更を保存せずに終了するには、[ Cancelをクリックします。
図4.9 - 登録されたサーバー
OKボタンをクリックすると、新しく登録されたサーバーがPEMツリーコントロールに表示され(図4.9参照)、PEMサーバーによって監視されます。
4.3 pemworkerユーティリティを使用してサーバを登録する
pemworkerユーティリティを使用して、PEMサーバによる監視用にサーバを登録したり、データベースサーバを登録解除したりできます。登録中、pemworkerユーティリティは、登録コマンドを呼び出したシステム上にあるエージェントに新しいサーバをバインドします。サーバーを登録するには:
pemworker - register - server
Windowsホストでは、次のコマンドを使用します。
pemworker 。 exe REGISTER - SERVICE
pemworkerユーティリティを呼び出すときに、コマンド文字列にコマンドラインオプションを追加します。各オプションには対応する値を続ける必要があります。
データベースサーバを登録するときは、新しいサーバの管理ユーザに関連付けられているパスワードを入力する必要があります。使用 PEM _ NEW _ SERVER _ PASSWORD対応するパスワードを提供するために、環境変数を。
PEMデータベースに変更を加える前に、接続エージェントはPEMデータベースサーバで認証されます。 pemworkerユーティリティを起動するときは、PEMサーバ管理ユーザに関連付けられているパスワードを入力する必要があります。管理パスワードを指定する方法は3つあります。あなたはできる:
•
設定 PEM_MONITORED_SERVER _ PASSWORD環境変数を。
•
•
パスワードを入力しないと、パスワード認証エラーが発生します。 PEMサーバは、サーバが正しく登録されたことを確認します。
 
4.3.1 pemworkerユーティリティを使用したサーバの登録解除
データベースサーバーの登録を解除するには、pemworkerユーティリティを使用できます。サーバを登録解除するには、pemworkerユーティリティを起動します。
Linuxホストでは、次のコマンドを使用します。
pemworker - unregister - server
Windowsホストでは、次のコマンドを使用します。
pemworker 。 exe UNREGISTER - SERVICE
pemworkerユーティリティを呼び出すときに、コマンド文字列にコマンドラインオプションを追加します。各オプションには対応する値を続ける必要があります。
pemworker ユーティリティ を起動するとき は、PEMサーバ管理ユーザに関連付けられているパスワードを入力する必要があります。管理ユーザーのパスワードを指定する方法は3つあります。あなたはできる:
•
PEM_SERVER _ PASSWORD環境変数を設定します。
•
•
パスワードを入力しないと、パスワード認証エラーが発生します。 PEMサーバは、サーバが登録解除されたことを確認します。
4.4 接続とバインドの確認
登録すると、新しいサーバがPEM Browserツリーコントロールに追加され、 Global Overview表示されます(図4.10を参照)。
図4.10 - グローバル概要ダッシュボード
最初に新しくバインドされたサーバーに接続すると、 Global Overviewダッシュボードは新しいサーバーをサーバーリストに "unknown"のステータスで表示することがあります。サーバーを認識する前に、バインドされたエージェントはサーバーを調べるためにいくつかのプローブを実行する必要があります。ネットワークの可用性によっては、完了までに数分かかる場合があります。
数分以内に、 Global Overviewダッシュボードの棒グラフにエージェントが正常に接続されたことが表示され、新しいサーバーがPostgres Server Statusリストに追加されます。
5分経っても[ Global Overviewダッシュボードに新しいサーバーが表示されない場合は、監視エージェントのログファイルを確認してエラーを確認する必要があります。ツリーコントロールでエージェントの名前を右クリックして、[ Probeを選択します。 Log コンテキストメニューのDashboardsサブメニューからのAnalysisオプション。
4.5 監視対象サーバのリモート起動と停止
PEMを使用すると、PEMクライアントを使用して管理対象サーバインスタンスを起動および停止できます。 PEMがサービスを管理できるようにサーバーを設定するには、 [ Server registration ]ダイアログを完了し 、データベースサーバーをPEMエージェントに登録します。
•
指定した Store on PEM Server上のオプションProperties ]ダイアログ。
•
[ Advanced ]タブの[ Service ID ]フィールドにサービススクリプトの名前を指定します。
○
○
○
○
○
サーバーに接続した後、ツリーコントロールでサーバー名を強調表示し、 Shutdown Management ]メニューからShutdown Queue Server StartupまたはShutdown Queue Server Shutdown (図4.11を参照) を選択して、 Server StartupまたはShutdownます。
図4.11 - 管理対象サーバーの管理メニュー
5 一般的なデータベース管理
この章では、PEMクライアントを使用して実行できる基本的な管理作業について説明します。
5.1 PEMサーバ設定の編集
PEMクライアントを使用してPEMサーバの設定パラメータをグラフィカルに管理し、機能を有効にしたりデフォルト設定を変更したりできます。 Server Configurationダイアログ(図5.1参照) を開くには 、 ManagementメニューからServer Configuration …を選択してください。
図5.1 - サーバー設定ダイアログ
パラメータ値を変更するには、パラメータ名の右側にある[ Valueフィールドに表示されている内容を編集します。変更を保存するには[ Save ]ボタンをクリックし、変更を適用せずにダイアログをCloseはClose ]ボタンをクリックしClose 。パラメータを元の値に戻すには、 Resetボタンを使用します。
5.2 PEMサーバとエージェントの起動と停止
PEMサーバは、それが存在するPostgresサーバインスタンスが起動、停止、または再起動したときに起動、停止、および再起動します。 Postgresサーバーを制御するのに使用するのと同じコマンドを使用してPEMサーバーを制御します。
PEMエージェントは、 pemagent という名前のサービスによって制御され pemagent 。
Linuxプラットフォームでは、サービススクリプトを停止および開始するコマンドはプラットフォームおよびOSのバージョンによって異なります。
Windowsオペレーティングシステムには、サーバーの状態を表示し、ポイントアンドクリックによるサーバー制御を提供するグラフィカルサービスコントローラーが含まれています。 Servicesユーティリティは、Windowsを介してアクセスすることができるControl Panel 。ユーティリティが開いたら、スクロールバーを使用してリストされたサービスをナビゲートし、サービス名をハイライトします(図5.2を参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥d3532440¥services.png
図5.2 - WindowsのサービスウィンドウのPEMサービス
使用 Stop 、 Pause 、 Start 、またはRestartサービスの状態を制御するためのボタンを。
サービスを停止すると、Postgresサーバーに接続しているユーザー(またはクライアントアプリケーション)は突然切断されます。
サービスの制御に関する詳細は、以下のEnterpriseDB Webサイトから入手可能な 『EDB Postgres Advanced Serverインストールガイド』を参照してください。
https://www.enterprisedb.com/resources/product-documentation
5.3 セキュリティー管理
PEMはあなたのPostgresロールとサーバーを管理するグラフィカルな方法を提供します。
5.3.1 ログインロール
PEMサーバに接続するときは、PEMサーバがデータを格納しているデータベースへのアクセスを許可するロールクレデンシャルを提供する必要があります。デフォルトでは、 postgresスーパーユーザアカウントが最初にサーバに接続するために使用されますが、(セキュリティと監査の両方の目的で)接続する各ユーザに対して個々のロールが作成されることが強く推奨されます。 PEMクエリツール、PEM Webインターフェイスの[ Create – Login/Group Role ]ダイアログ、またはコマンドラインクライアント(psqlなど)を使用してロールを作成できます。
使用するために Create – Login/Group Role役割を作成するには、ダイアログを、役割がPEMのツリーコントロールに存在し、そして上で右クリックするサーバーのノード拡大Login/Group Rolesコンテキストメニューにアクセスするノードを。次に、 CreateメニューからLogin/Group Role…選択します(図5.3を参照)。
図5.3 - Login Rolesノードのコンテキストメニュー
Roleを定義するには、 Create - Login / Group Roleダイアログ(図5.4を参照) のタブのフィールドを使用します 。ブラウザタブにPEMオンラインヘルプを表示するには、ダイアログの左下隅にあるヘルプ( ? )ボタンをクリックします。
新しい役割の定義が終わったら、 Saveをクリックして役割を作成しSave 。
図5.4 - ログインロールダイアログ
既存のログインロールのプロパティを変更するには、ツリーコントロールでログインロールの名前を右クリックして 、コンテキストメニューから[ Properties ] を選択します。ログインロールを削除するには、ロールの名前を右クリックして、コンテキストメニューから[ Delete/Dropを選択します。
ロールの作成と管理に関するより完全な情報は、PostgreSQLのオンラインドキュメントを参照してください。
http://www.postgresql.org/docs/10/static/sql-createrole.html
5.3.2 グループの役割
グループロールはコンテナとして機能し、システム権限(データベースの作成など)とオブジェクト権限(特定のテーブルへのデータの挿入など)を分配するために使用されます。グループロールの主な目的は、DBAにとってシステム権限とオブジェクト権限の一括管理をはるかに簡単にすることです。さまざまなログインアカウント間で特権を個別に割り当てたり変更したりするのではなく、単一の役割の特権を割り当てまたは変更してから、その役割を一度に多数のログイン役割に付与することができます。
Group Rolesを作成および管理するには、[ Group Rolesノード(PEMツリーコントロールの各登録済みサーバーの名前の下にあります)を使用します。コンテキストメニューのオプションを使用すると、新しい役割を作成したり、既存の役割のプロパティを変更したりできるダイアログにアクセスできます。ロールの作成に関する詳細は、次のサイトにあります。
http://www.postgresql.org/docs/10/static/sql-createrole.html
5.3.3 PEM事前定義済みロールを使用したPEM機能へのアクセス管理
Login / Group Roleダイアログを使用して、限定された権限を持つロールがAudit Manager、Capacity Manager、SQL ProfilerなどのPEM機能にアクセスできるようにすることができます 。 PEMの事前定義済みロールにより、PEM機能へのアクセスが許可されます。これらの役割のメンバーシップが割り当てられている役割は、関連付けられている機能にアクセスできます。
図5.5 - Membershipタブ
ユーザーを定義するときは、「 Membershipタブを使用して、新しいユーザーがメンバーになっている役割を指定します。新しいユーザーは、それがメンバーとなっている各役割に関連付けられた特権を共有します。ユーザがPEM拡張機能にアクセスするには、そのロールがpem_userロールおよびその機能へのアクセスを許可する事前定義ロールのメンバーである必要があります。 [ Rolesフィールドを使用して、ドロップダウンリストから定義済みの役割名を選択します。
「 SQLタブには、 Saveをクリックしたときにサーバーが実行するSQLコマンドが表示されSave 。
図5.6 - SQLタブ
上記の例では、Audit Managerにアクセスできるacctg _ clerk という名前のログインロールを作成します 。ロールは、いつでもサーバーに無制限に接続できます。
以下の表にリストされている機能へのアクセスを許可するために、PEM事前定義ロールを使用することができます。
5.3.4 チームロールの使用
PEMによる監視用にサーバーを登録するときに 、そのサーバーに関連付けられるチームを指定できます 。チームとは、1つ以上の監視対象サーバーへのアクセスを、制限されたグループのロールメンバーに許可または制限するために使用できるグループロールです。 PEMクライアントは、指定されたTeamを持つサーバーのみを以下のユーザーに表示します。
•
•
•
チームロールを作成するには、ロールがPEMツリーコントロール内に存在するサーバーのノードを展開し、[ Login/Group Rolesノードを右クリックしてコンテキストメニューにアクセスします。次に、[ Create ]メニューから[ Login/Group Role… ]を選択します。 [ Create - Login/Group Role ]ダイアログが開いたら、表示されたフィールドを使用してチームロールのプロパティを指定します。
5.3.5 オブジェクト権限
データベースオブジェクトにアクセス、実行、または作成する前に、ロールに十分な特権を付与する必要があります。 PEMでは 、PEMクライアントのグラフィカルインターフェイスを使用して、グループロールまたはログインアカウントにオブジェクト権限を割り当て( GRANT )、削除( REVOKE )することができます。
オブジェクト権限は、特定の各オブジェクトに対するグラフィカルオブジェクトエディタを介して管理されます。たとえば、データベーステーブルにアクセスする特権を割り当てるには、ツリーコントロールのテーブル名を右クリックして 、コンテキストメニューから[ Properties ]オプションを選択します。 Privilegesタブに表示されたオプションを使用して、テーブルに特権を割り当てます。
PEMクライアントも含まれてい Grant Wizard (を介してアクセスするTools 、一度に多くのオブジェクト権限を管理することを可能にするメニューを)。
5.4 データベースとオブジェクトの作成と管理
Postgresサーバーの各インスタンスは1つ以上のデータベースを管理します。各ユーザーは、データベースに含まれる情報にアクセスする前に、データベースに接続するための認証情報を提供する必要があります。 PEMクライアントには、データベース、およびデータベースを構成するさまざまなオブジェクト(テーブル、インデックス、ストアドプロシージャなど)をすべて作成および管理するためのダイアログがあります。
データベースを作成すると、PEMで簡単です:単に右の任意の管理対象サーバのをクリックして Databasesノードを選択しDatabase ...からCreateメニュー。データベースを定義したら、新しいデータベース内にオブジェクトを作成できます。
たとえば、新しいテーブルを作成するには 、[ Tables ]ノードを右クリックし 、[ Create ]メニューから[ Table… ]を選択します。ときに New Tableダイアログが開き、新しいテーブルの属性を指定します(図5.7を参照)。
図5.7 - PEMのダイアログを使用してデータベースオブジェクトを作成および管理します。
PEMは他のデータベースオブジェクトの作成と管理のための同様のダイアログを提供します。
•
•
•
•
•
•
•
各オブジェクトタイプはツリーコントロールに表示されます。オブジェクトの種類に対応するノードを右クリックして[ Create ]メニューにアクセスし 、新しいオブジェクトを作成するか、名前付きノードのコンテキストメニューから[ Properties ]を選択して、強調表示されたオブジェクトの管理タスクを実行します。
5.5 オンラインヘルプとドキュメント
PEMには、このツールの使用方法を支援するヘルプが組み込まれています(図5.8を参照)。 PEMのオンラインヘルプにアクセスするには、選択 Online HelpからHelpのオプションHelpメニューを。
図5.8 - PEMのオンラインヘルプ
[ Help ]メニューからもEnterpriseDB Webサイトにすばやくアクセスできます。
6 サーバー管理
以下のセクションでは、 pg_hba.confファイルの変更 、PEMサーバーの再起動、およびLinuxとWindowsでのHTTPDサービスの制御について説明します。
6.1 LinuxでのPEMサーバまたはPEMエージェントの制御
Linuxプラットフォームでは、以下を制御するサービススクリプトの名前。
•
•
•
Advanced Server 9.5以前のPEMサーバーは ppas-9. x 、ここでxはバージョン番号です。
•
•
PostgreSQLの9のPEMサーバー xがあるpostgresql-9. x 。
•
PEMエージェントは pemagentです。
サービススクリプトを使用してサービスを制御できます。
RHELまたはCentOS 6.xを使用している場合は、コマンドラインを開き、スーパーユーザー特権を引き受けて、次のように入力します。
/etc/init.d/ service _ name action
RHELまたはCentOSバージョン7.xでサービスを制御するには、コマンド行を開き、スーパーユーザー特権を想定して、次のコマンドを発行します。
systemctl service _ name action
どこで:
service_nameはサービスの名前です。
actionは、サービスによって実行されるaction指定します。以下を指定してください。
•
startサービスを開始します。
•
stopサービスを停止します。
•
restartしてサービスを停止してから開始します。
•
サービスのstatusを確認するためのstatus。
6.2 Windows上でのPEMサーバまたはPEMエージェントの制御
Windowsオペレーティングシステムには、サーバーの状態を表示し、ポイントアンドクリックによるサーバー制御を提供するグラフィカルサービスコントローラーが含まれています。以下を制御するサービスの登録名
•
•
Advanced Server上のPEMサーバホストは、 edb-as- x ,またはppas-9. x
•
PEMエージェントが Postgres Enterprise Manager - pemAgent
ここで x 、サーバーのバージョン番号を示します。
Windowsの「 Control Panelをナビゲートして 「 Servicesユーティリティを開きます。ユーティリティが開いたら、スクロールバーを使用してサービスのリストを閲覧します(図6.1参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥09bc10fe¥スクリーンショット2018-06-01 at 4.20.18 PM.png
図6.1 - Windowsのサービスウィンドウ
Stop the serviceを停止するには、[サービスの停止]オプションを使用します。サービスを停止すると、サーバーに接続しているすべてのユーザー(またはクライアントアプリケーション)が突然切断されます。
サービスの設定パラメータをリロードするようにPostgresに指示するには Pause the serviceオプションを使用してください。 [ Pause the service ]オプションは、多くの構成パラメータのユーザーセッションを中断することなくパラメータをリセットする効果的な方法です。
Start the service するには、 Start the serviceオプションを使用します。
6.3 HTTPDサーバを制御する
Linuxでは、コマンドラインを開き、次のコマンドを入力してPEM-HTTPDサービスのステータスを確認できます。
ps -ef | grep httpd
次の例のような答えでLinuxが応答した場合、 httpdは実行されていません。
user 13321 13267 0 07:37 pts/1 00:00:00 grep httpd
CentOSまたはRHEL 6.xシステムでサービスを開始するには、次のコマンドを使用します。
/etc/init.d/httpd start
CentOSまたはRHEL 7.xシステムでは、次のコマンドを使用します。
systemctl start httpd
Windowsでは、 Servicesアプレットを使用してPEM HTTPDサービスのステータスを確認できます 。サービスアプレットを開いた後、リストをスクロールしてPEM HTTPD サービスを見つけます(図6.2参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥1b3d2794¥スクリーンショット2018-06-01 at 4.18.33 PM.png
図6.2 - PEM HTTPD Windowsサービス
[ Status ]列には、サーバーの現在の状態が表示されます。 サービスが実行されていない場合は 、 Start リンクを クリックして PEM HTTPDを起動します。
6.4 pg_hba.confファイルの修正
pg_hba.confファイルのエントリはネットワークの認証と承認を制御します。 PEMサーバホスト上のpg_hba.confファイルは、PEMサーバとPEM-HTTPD、PEMエージェント、および監視対象サーバとの間の接続を許可する必要があります。
PEMサーバのインストールプロセス中に、PEMによって監視されるホストのIPアドレスと接続情報の入力を求められます。この情報は 、PEMバッキングデータベースのpg_hba.confファイルの先頭に追加されます(図6.3を参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥acc5e9f1¥seven.png
図6.3 - pg_hba.confファイル内のPEMエントリ
PEMサーバと他のコンポーネント間の接続を許可するために、 pg_hba.confファイルを手動で変更する必要があるかもしれません 。たとえば、PEM-HTTPDインストールがPEMサーバと同じホストにない場合は、PEMサーバホスト上のpg_hba.confファイルを変更して、PEM-HTTPDがサーバに接続できるようにする必要があります。
デフォルトでは、 pg_hba.confファイルはPostgresインストールの下のdataディレクトリにあります。たとえば、Advanced Server 10ホストでは、 pg_hba.confデフォルトの場所は次のとおりです。
/opt/edb/as10/data/pg_hba.conf
あなたが選んだエディタでpg_hba.confファイルを修正することができます。ファイルを変更したら、変更を有効にするためにサーバーを再起動します。
次の例は、 postgresという名前のユーザーから、 pg_hba.confファイルが存在するホスト上のpostgresデータベースへのmd5パスワード認証接続を許可するpg_hba.confエントリを示しています。接続は192.168.10.102 IPアドレスから来ています。
# TYPE DATABASE USER CIDR-ADDRESS METHOD
 
# IPv4 local connections:
host postgres postgres 192.168.10.102/32 md5
ネットワークホストのアドレス、またはネットワークアドレス範囲を指定できます。あなたがアドレスでサーバーからの接続を許可したい場合たとえば、 192.168.10.23 、 192.168.10.76と192.168.10.184 、入力CIDR-ADDRESSの192.168.10.0/24そのネットワーク内のすべてのホストからの接続を許可します:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
 
# IPv4 local connections:
host postgres all 192.168.10.0/24 md5
pg_hba.confファイルエントリのフォーマットに関する詳細は、以下のPostgreSQLコアドキュメントを参照してください。
http://www.postgresql.org/docs/10/static/auth-pg-hba-conf.html
PEMでPostgresサーバーに接続する前に、 pg _ hba 確認しなければなりません 。両方のサーバーのconfファイルで接続が許可されます(図6.4参照)。
図6.4 - Connect to Serverエラー
データベースサーバへの接続時にこのエラーが発生した場合は、 pg_hba.confファイルを修正して 、接続を許可するエントリを追加してください。
6.5 PEM認証の管理
Postgresは多くの認証方法をサポートしています。
•
•
•
•
•
•
•
•
•
PAM
Postgres(およびPEM)認証は pg_hba.conf設定ファイルによって制御されます。構成ファイル内のエントリーは、特定のデータベースに接続できるユーザー、およびそのユーザーが接続を許可される前に必要な認証のタイプを指定します。
安全なパスワード( md5 )認証接続を使用してpostgresという名前のユーザーがローカルホスト( 127.0.0.1/32 )からallデータベースに接続することを可能にするpg_hba.confファイルの典型的なエントリは次のような形式になります。
host all postgres 127.0.0.1/32 md5
システムの設定によっては、PEMエージェントがサーバへの接続に使用するユーザアカウント用のパスワードファイルを作成して、エージェントがサーバの認証要求に正しく応答できるようにする必要もあります。 1safepwdパスワードを持つ、 postgres という名前のユーザーのパスワードファイルのエントリは次の形式になります。
localhost:5432:*:postgres:1safepwd
パスワードファイルは通常 、Linuxシステムの場合は~root/.pgpass 、Windowsの場合は%APPDATA%\postgresql\pgpass.confです。パスワードファイルの設定の詳細については、以下のEnterpriseDB Webサイトを参照してください。
http://www.postgresql.org/docs/10/static/libpq-pgpass.html
Postgresでサポートされている認証方法の詳細については、以下のPostgreSQLコアドキュメントを参照してください。
http://www.postgresql.org/docs/10/static/client-authentication.html
6.6 プロキシサーバを使用するためのPEMの変更
ネットワーク構成によってPEMとEnterpriseDB Webサイト間の直接通信が妨げられている場合は、次の場合にPEMで使用するプロキシサーバーを構成できます。
•
更新 package _ catalogのインストールや更新のために利用可能なパッケージに関する情報を持つテーブル
•
•
ネットワーク上にプロキシサーバを設定したら、PEMサーバの設定を変更し、プロキシの接続プロパティを指定して、PEMにプロキシサーバを使用するように指示します。
図6.6 - PEMサーバー設定ダイアログ
Server Configurationダイアログにアクセスして Server Configurationを変更するには、PEM Webインターフェイスに接続し、 ManagementメニューからServer Configuration…を選択します。図6.6に示すように、[PEMサーバ設定]ダイアログが開きます。
パラメータ値を変更するには、パラメータを見つけて、[ Value ]列のパラメータ値を変更します 。 PEMがプロキシサーバに接続できるようにするための接続詳細を指定するには、次のPEMサーバ設定パラメータを使用します。
•
proxy _ serverパラメータを使用して、 proxy serverのIPアドレスを指定します。
•
プロキシサーバーが接続時にPEMによる認証を要求することを示すには、 proxy _ server _ authenticationパラメータに値 t 指定します 。認証が不要な場合はf指定してください。
•
PEMでパッケージリストの取得時にプロキシサーバーを使用する必要がある場合はproxy _ server _ enabledパラメーターに値 t 指定します。プロキシサーバーが構成されていない場合はfます。
•
使用する proxy _ server _ passwordに特定されたユーザのパスワードを提供するためのパラメータをproxy _ server _ username 。
•
proxy _ server _ portパラメーターで、プロキシサーバーのポート番号を指定します。
•
プロキシサーバーの設定に必要なパラメータの更新が終了したら 、ダイアログを閉じる前にダイアログの右上隅にある[ Save ]アイコンをクリックし Save 。
6.7 証明書管理
PEMサーバのバッキングデータベースのデータディレクトリに格納されているファイルには、PEMサーバが安全な接続を利用するのに役立つ情報が含まれています。
•
•
•
•
•
•
PEMサーバと一緒にインストールされるPEMエージェントは、ca_certificate.crtファイルの有効期限を監視します。証明書が期限切れになると、PEMは次のことを行います。
•
•
•
•
エージェントをアンインストールすると、そのエージェントに関連付けられている証明書が証明書失効リスト(root.crlファイルに保持されています)に追加され、証明書を使用してPEMサーバに接続できなくなります。
証明書ファイルを手動で置き換える方法の詳細については、セクション 8 を参照してください 。
7 PEMエージェント管理
以下のセクションでは、PEMエージェントの動作と管理について説明します。
7.1 PEMエージェントの権限
デフォルトでは、PEMエージェントは 、オペレーティングシステムのホストに対するroot権限およびデータベースサーバに対するスーパーユーザー権限でインストールされます。これらの特権により、PEMエージェントは、監視対象ホストおよびデータベースサーバ上でシステムの使用状況に関する制限のないプローブを呼び出し、情報を取得してPEMサーバに返すことができます。
PEMエージェントの権限が減少すると、PEM機能が低下することに注意してください。完全な機能性のために、PEMエージェントは root として動作するはずです。 PEMエージェントがデータベースサーバのサービスアカウントで実行されている場合、PEMプローブはレポートの生成に使用される統計情報に完全にはアクセスできず、機能はそのアカウントの機能に制限されます。 PEMエージェントが他の特権の低いアカウントで実行されている場合、機能はさらに制限されます。
PEMエージェントのオペレーティングシステム特権を制限した場合、PEMプローブの中には情報を返さないものがあり、次の機能が影響を受ける可能性があります。
PEMエージェントのデータベース特権を制限した場合、次のPEM機能が影響を受ける可能性があります。
プローブが不十分な特権でオペレーティングシステムに問い合わせている場合、プローブは permission deniedエラーを返す可能性があります。
プローブが不十分な権限でデータベースに問い合わせている場合、プローブは permission deniedエラーを返すか、または返されたデータをPEMチャートまたはグラフに空の値として表示することがあります。
プローブが失敗すると、プローブの名前、プローブが失敗した理由、および問題を解決するのに役立つヒントを含むエントリがログファイルに書き込まれます。
プローブログダッシュボードでサーバで発生したプローブ関連のエラーを表示したり、PEMワーカーログファイルでエラーメッセージを確認したりできます。 Linuxでは、ログファイルのデフォルトの場所は次のとおりです。
/var/log/pem/worker.log
Windowsでは、ログ情報は Event Viewerます。
7.2 エージェント設定
PEMエージェントの動作は、ユーザが設定可能な多数のパラメータとレジストリエントリによって制御されます。ストリーミングレプリケーションウィザードなどの一部のPEM機能を有効にするには、PEMエージェントのパラメータ設定を変更する必要があります。 PEMエージェント設定ファイルの値を変更したら、PEMエージェントを再起動して変更を適用する必要があります。
除いて PEM _ MAXCONNパラメータは、我々は強く変更がPEMの機能を有効にするために必要な場合を除き最初のEnterpriseDBのサポートの専門家に相談することなく、以下に記載されている設定パラメータやレジストリエントリのいずれかを変更しないことをお勧めします。
•
64ビットWindowsシステムでは、PEMレジストリエントリは HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\EnterpriseDB\\PEM\\agent
•
Linuxシステムでは、PEM設定オプションは agent 格納されています。 /opt/edb/pem/agent/etcにあるcfgファイル
On Windows, C:\Users\ user _ name \AppData\Local\Temp
ConnectionCustomSetup (on Windows)
or

connection_custom_setup (on Linux)
7.3 PEMエージェントのプロパティ
[PEMエージェントのプロパティ]ダイアログには、ダイアログを開いた元のPEMエージェントに関する情報が表示されます。ダイアログを開くには、PEMクライアントツリーコントロールでエージェント名を右クリックして 、コンテキストメニューから[ Properties ] を選択します。
図6.6 - PEMエージェントのプロパティダイアログ
PEMエージェントのプロパティダイアログのフィールドを使用して、PEMエージェントに関する情報を確認または変更します。
•
[ Descriptionフィールドに、PEMエージェントの変更可能な説明が表示されます。この説明は、PEMクライアントのツリーコントロールに表示されます。
•
グループを使用して、PEMクライアントツリーコントロールでサーバーとエージェントを整理できます。 [ Groupドロップダウンリストボックスを使用して、エージェントを表示するグループを選択してください。
•
[ Teamフィールドを使用して、エージェントによって監視されているサーバーにアクセスできる必要があるグループロールの名前を指定します。このエージェントによって監視されているサーバーは、接続されているチームメンバーのPEMクライアントツリーコントロールに表示されます。これは便利な機能です。 Teamフィールドは、真の分離を提供しないため、セキュリティ目的には使用しないでください。
•
Heartbeat intervalのフィールドは、PEMサーバーにPEMエージェントからの報告の間に経過する時間の長さを表示します。間隔を変更するには、 MinutesフィールドまたはSecondsフィールドの横にあるセレクタを使用します。
8 Replacing SSL Certificates
次の手順では、既存のPEMインストールでSSL証明書を置き換える方法について詳しく説明します。サーバを同時に新しいバージョンにアップグレードする場合は、SSL証明書を置き換える前にすべてのPEMインストーラ(最初にサーバインストーラ、次にエージェントインストーラ)を起動してください。その後:
1。
LinuxホストでPEMエージェントを停止するには、端末ウィンドウを開き、スーパーユーザー特権を引き受けて、次のコマンドを入力します。
/etc/init.d/pemagent stop
Windowsホストでは、 Servicesアプレットを使用してPEMエージェントを停止できます 。 PEMエージェントサービスはPostgres Enterprise Manager Agentという名前です。 「 Servicesダイアログでサービス名を強調表示して、「サービスをStop the service 」をクリックします。
2。
既存のSSLキーと証明書のバックアップを取ります。 SSLキーと証明書は 、PEMインストールの下の /dataディレクトリに保存されています。たとえば、Linuxシステムのデフォルトの場所は次のとおりです。
/opt/PostgreSQL/10/data
次のファイルのコピーを作成し、各ファイルに拡張子を追加して名前を一意にします。
ca_certificate.crt
ca_key.key
root.crt
root.crl
server.key
server.crt
たとえば、次のコマンド
# cp ca_certificate.crt ca_certificate_old.crt
エントリにoldという単語を追加して、 ca_certificateファイルのバックアップを作成します。
3。
使用 openssl_rsa_generate_key()を生成する機能をca_key.keyファイルを。
/opt/PostgreSQL/10/bin/psql -U postgres -d pem --no-psqlrc -t -A -c "SELECT public.openssl_rsa_generate_key(1024)" > /opt/PostgreSQL/10/data/ca_key.key
作成した後 ca_key.keyファイル、 cat変数に内容をCA_KEY生成する際に使用するためにca_certificate.crtファイルをして上の権限を変更ca_key.keyファイル。
CA_KEY=$(cat /opt/PostgreSQL/10/data/ca_key.key)
chmod 600 /opt/PostgreSQL/10/data/ca_key.key
4。
キーを使用して ca_certificate.crtファイルを生成します。簡単にするために、SQLクエリを一意の名前の一時ファイルに配置します。
echo "SELECT openssl_csr_to_crt(openssl_rsa_key_to_csr('${CA_KEY}', 'PEM','US', 'MA', 'Bedford', 'Postgres Enterprise Manager', 'support@enterprisedb.com'), NULL, '/opt/PostgreSQL/10/data/ca_key.key')" > /tmp/_random.$$
その後、変数を使用してクエリを実行し、コンテンツを ca_certificate.crtファイルに配置します。
/opt/PostgreSQL/10/bin/psql -U postgres -d pem --no-psqlrc -t -A -f /tmp/_random.$$ > /opt/PostgreSQL/10/data/ca_certificate.crt
ca_certificate.crtファイルの権限を変更し 、SQLコマンドが含まれている一時ファイルを削除します。
chmod 600 /opt/PostgreSQL/10/data/ca_certificate.crt
rm -f /tmp/_random.$$
5。
ca_certificate.crtファイルをrootとして再利用して ca_certificate.crt 。 crtファイル:
cp /opt/PostgreSQL/10/data/ca_certificate.crt /opt/PostgreSQL/10/data/root.crt
root.crtファイルの権限を変更します。
chmod 600 /opt/PostgreSQL/10/data/root.crt
6。
証明書失効リスト( root.crl )を作成するには、 openssl_rsa_generate_crl()関数を使用してください 。
/opt/PostgreSQL/10/bin/psql -U postgres -d pem --no-psqlrc -t -A -c "SELECT openssl_rsa_generate_crl('/opt/PostgreSQL/9.5/data/ca_certificate.crt', '/opt/PostgreSQL/10/data/ca_key.key')" > /opt/PostgreSQL/10/data/root.crl
root.crlファイルの権限を変更します。
chmod 600 /opt/PostgreSQL/10/data/root.crl
7。
使用 openssl_rsa_generate_key()を生成する機能をserver 。 keyファイル
/opt/PostgreSQL/10/bin/psql -U postgres -d pem --no-psqlrc -t -A -c "SELECT public.openssl_rsa_generate_key(1024)" >> /opt/PostgreSQL/10/data/server.key
作成した後 server.keyファイル、 cat変数に内容をSSL_KEY生成する際に使用するためにserver.crtファイルをして上の権限を変更server.keyファイル。
SSL_KEY=$(cat /opt/PostgreSQL/10/data/server.key)
chmod 600 /opt/PostgreSQL/10/data/server.key
8。
使用する SSL _ KEYサーバ証明書を生成します。証明書をserver保存しserver 。 crtファイル簡単にするために、SQLクエリを一意の名前の一時ファイルに配置します。
echo "SELECT openssl_csr_to_crt(openssl_rsa_key_to_csr('${SSL_KEY}', 'PEM','US', 'MA', 'Bedford', 'Postgres Enterprise Manager', 'support@enterprisedb.com'), '/opt/PostgreSQL/10/data/ca_certificate.crt', '/opt/PostgreSQL/10/data/ca_key.key')" > /tmp/_random.$$
次に、 server.crtファイルを生成します。
/opt/PostgreSQL/10/bin/psql -U postgres -d pem --no-psqlrc -t -A -f /tmp/_random.$$ >> /opt/PostgreSQL/10/data/server.crt
server.crtファイルの権限を変更して 、一時ファイルを削除します。
chmod 600 /opt/PostgreSQL/10/data/server.crt
rm -f /tmp/_random.$$
9。
/etc/init.d/postgresql-10 restart
8.1 エージェントSSL証明書の更新
PEMサーバと対話する各エージェントに対して、次のことを実行する必要があります。
•
•
•
各エージェントには、 pem 格納されている一意の識別子があります。 pemデータベース内のagentテーブル。キーファイルと証明書ファイルを、エージェントの識別子に対応するキーまたは証明書に置き換える必要があります。あなたが移動しなければならないことに注意してくださいagent.keyとagent.crt以降のコマンドは、以前に生成されたファイルを上書きします。次のキーファイルのペアを生成する前に、それぞれのPEMエージェントホスト上の場所にステップ2と3で生成されたファイルを(。
PEMエージェントのキーファイルペアを生成するには、次の手順を実行します。
1。
psqlを使用して、エージェントの数とそれに対応する識別子を見つけます。
/opt/PostgreSQL/10/bin/psql -U postgres -d pem --no-psqlrc -t -A -c "SELECT ID FROM pem.agent"
Linuxでは、/ etc PEM/agent /etc/postgres-reg.iniファイルのPEM/agentセクションに、 エージェントの識別子とキーと証明書の場所もあります。
Windowsでは、情報はレジストリに格納されています。 64ビットWindowsインストールでは、以下を確認してください。
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\EnterpriseDB\PEM\agent
32ビットWindowsインストールでは、以下を確認してください。
HKEY_LOCAL_MACHINE\SOFTWARE\EnterpriseDB\PEM\agent
2。
キーファイルを必要とするエージェントを特定し agent.key 、各エージェントに対してagent.keyを生成します 。キーを生成するには、次のコマンドを実行してファイルに出力をキャプチャします。
/opt/PostgreSQL/10/bin/psql -U postgres -d pem --no-psqlrc -t -A -c "SELECT openssl_rsa_generate_key(1024)" > agent.key
agent.keyファイルの権限を変更します。
chmod 600 agent.key
3。
/opt/PostgreSQL/10/bin/psql -U postgres -d pem --no-psqlrc -t -A -c "SELECT openssl_csr_to_crt(openssl_rsa_key_to_csr('$(cat agent.key)', 'agent $ID ', 'US', 'MA', 'Bedford', 'Postgres Enterprise Manager', 'support@enterprisedb.com'), '/opt/PostgreSQL/10/data/ca_certificate.crt', '/opt/PostgreSQL/10/data/ca_key.key')" > agent.crt
どこ $ID エージェントのエージェント番号です(psqlコマンドラインを介して取得されます)。
agent.crtファイルの権限を変更します。
chmod 600 agent.crt
4。
Linuxでは、次のコマンドでサービスを再起動します。
/etc/init.d/pemagent start
Windowsホストでは、 Servicesアプレットを使用してPEMエージェントを起動できます 。 PEMエージェントサービスはPostgres Enterprise Manager Agentという名前です。 「 Servicesダイアログでサービス名を強調表示して、「サービスをStart the service 」をクリックします。