EDB Postgres™Enterprise Manager
スタートガイド
バージョン7.5
 
2018年10月22日

 
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ガイドで提供されているオンラインヘルプを参照してください。
このドキュメントでは、 PostgresをPostgreSQLまたはEDB Postgres Advanced Serverデータベースのいずれかに使用しています。
1.1 新機能
Postgres Enterprise Manager 7.5には以下の機能が追加されています。
サポートされている機能の詳細については 、次のEnterpriseDB Webサイトから入手可能な「EDB Postgres Enterprise Manager EDB Ark管理ガイド」 を参照してください
https://www.enterprisedb.com/resources/product-documentation
1.2 このガイドで使用される表記規則
このマニュアルでは、さまざまなコマンド、文、プログラム、例などの意味と使用法を明確にするために、特定の表記規則が使用されています。このセクションでは、これらの規則の概要を説明します。
以下の説明では、 用語は、言語キーワード、ユーザ提供値、リテラルなどの任意の単語または単語群を指す。用語の正確な意味は、それが使用される文脈に依存する。
イタリック体のフォントで は、通常、最初に定義された文章に新しい用語が導入されています。
Fixed-width (mono-spaced) font は、 SQL コマンド、例で使用されている特定のテーブルとカラム名、プログラミング言語キーワード など、文字通り与えなければならない用語に使用され ます 。たとえば、 SELECT * FROM emp;
イタリック固定幅フォント は、ユーザーが実際の使用で値を置き換える必要がある用語に使用されます。たとえば、 DELETE FROM table_name ;
角括弧[]は、囲まれた用語の1つまたはいずれかが置換されている可能性があることを示します。たとえば、 [ a | b ] 、「 a 」または「 b 」のいずれかを選択するか、またはどちらも選択しないことを意味します。
中括弧{}は、囲まれた選択肢のうちの1つを指定する必要があることを示します。たとえば、 { a | b } 、 " a "または " b "のうちの1つを指定する必要があることを意味します。
楕円形...とは、進行中の用語を繰り返すことができることを意味します。たとえば、 [ a | b ] ...は、あなたがシーケンス「 baaba 」を持っているかもしれないことを意味します。
2 Postgres Enterprise Manager - 概要
Postgres Enterprise Manager (PEM)は、PostgreSQLおよびEnterpriseDB Advanced Serverデータベースサーバの管理、監視、チューニングにおけるデータベース管理者、システムアーキテクト、およびパフォーマンスアナリストを支援するために設計されたエンタープライズ管理ツールです。 PEMは、1つのコンソールから少数のサーバーから数百のサーバーにいたるまでのあらゆる場所を管理および監視するように設計されており、データベースのあらゆる面を完全かつリモートで制御できます。
2.1 Postgres Enterprise Managerはなぜですか?
PEMは、他のPostgreSQL管理ツールにはない多くの利点を提供します:
管理とMasseデザイン 。 PEMはエンタープライズデータベース管理向けに設計されており、地理的境界を越えて多数のサーバーの管理に取り組むために構築されています。グローバルダッシュボードでは、すべてのサーバーのアップ/ダウン/パフォーマンス状況を一目で把握することができます。
分散アーキテクチャ 。 PEMは、オペレーティングシステムプラットフォームに関係なく、統計情報を収集し、マシン上でリモート操作を実行できるように設計されています。
グラフィカルな管理 。データベース管理のすべての側面は、グラフィカルインタフェースを介してPEMクライアントで実行できます。サーバーの起動とシャットダウン、構成管理、ストレージとセキュリティの制御、オブジェクトの作成、パフォーマンス管理などは、単一のコンソールから処理できます。
完全なSQL IDE 。 PEMには、アドホックSQLクエリ、ストアドプロシージャ/関数開発、グラフィカルデバッガを提供する堅牢なSQL統合開発環境(IDE)が含まれています。
エンタープライズパフォーマンス監視 。 PEMは、管理対象のすべてのデータベースサーバーに対してエンタープライズクラスのパフォーマンス監視を提供します。軽量で効率的なエージェントは、各データベースサーバのオペレーションと各マシンの基本オペレーティングシステムのすべての側面を監視し、インターフェイス内の簡単にナビゲートされたパフォーマンスページに詳細な統計情報を戻します。
予防的なアラート管理 。 PEMは、24時間監視されている各キーメトリック(メモリ、ストレージなど)のパフォーマンスしきい値を作成する機能を備えています。しきい値違反が発生すると、問題の性質を伝える集中ダッシュボードにアラートが送信され、状況がサーバーの全体的なパフォーマンスを危険にさらすのを防ぐために必要なアクションが発生します。
容量計画の簡素化 。すべての主要なパフォーマンス関連の統計は、自動的に収集され、指定された期間、PEMのリポジトリに保持されます。キャパシティ・マネージャー・ユーティリティーを使用すると、さまざまな統計を選択して時間の経過とともにトレンド分析を実行し、負荷のピーク時、ストレージ消費の傾向などを理解することができます。このツールの予測メカニズムにより、将来的にリソース使用量を予測し、それに応じて計画/予算を立てることができます。
監査マネージャー。 Audit 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 Webインターフェイスを使用すると、選択したブラウザでサーバーに接続し、Postgresサーバーを管理および監視できます。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥c9521322¥pem-architecture.png
図2.1 - Postgres Enterprise Manageの 一般的なアーキテクチャ
2.3 サポートされているバージョンとプラットフォーム
PEMサーバおよびエージェントは、Advanced ServerまたはPostgreSQLバッキングデータベース(バージョン9.3以降)を使用します。 PEMは、Advanced ServerおよびPostgreSQLデータベースのバージョン9.3以降を管理および監視できます。
PEMサーバーとエージェントは、次の環境でサポートされています。
64ビットLinux:
64ビットWindows:
PEMエージェントは、RHEL / CentOS 7.xをPEMサーバーホストとして使用するLinux ppc64leでもサポートされています。
RHEL 6.xおよび7.xでは、PEMエージェントのRPMパッケージを使用できます。
PEMクライアントは、次のブラウザでサポートされています。
SQLプロファイラは、PostgreSQLバージョン9.3以降のAdvanced ServerおよびEnterpriseDBディストリビューションでサポートされています。
2.4 PEMのインストール - 概要
PEMのインストールの詳細については、PEMインストールガイドを参照してください。
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)が開きます。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥123f7412¥Screen Shot 2018-06-12 at 9.12.10 AM.png
図3.1 - PEMのログインページ。
Postgres Enterprise Manager Loginウィンドウのフィールドを使用して、PEMサーバで自分自身を認証します。
Usernameフィールドにpemデータベースユーザーの名前を入力します。最初のユーザー接続の場合、これはPEMサーバーをインストールするときに指定された名前になります。
資格情報を入力したら、[ Login ]をクリックしてPEMに接続します。
PEM Webインターフェイスが開き、 Global Overview Dashboard 表示され Dashboard (図3.2を参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥e50e7901¥Screen Shot 2018-08-24 at 10.50.04 AM.png
図3.2 - クライアントに表示されるグローバル概要ダッシュボード
[ Browserペインには、各サーバー上にあるデータベースオブジェクトに関する情報にアクセスするためのツリーコントロールが表示されます。ツリーコントロールが展開され、PEMサーバーによって監視されるサーバーとオブジェクトの階層ビューが表示されます。
PEMのメニューバーには、データベースサーバーとそのサーバー上のオブジェクトを管理するために使用できるコマンドと機能にアクセスできます。オプションが無効の場合:
3.1 PEMツールバー
PEM Webインターフェイスの上部にあるコンテキストメニューは、環境をカスタマイズし、PEMのエンタープライズ管理機能にアクセスできるようにします。
ファイルメニュー
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥9f23e817¥Screen Shot 2018-06-13 at 12.04.17 PM.png
図3.3 - ファイルメニュー
使用する Fileメニューを次のオプションにアクセスします(図3.3を参照)。
オブジェクトメニュー
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥d057724c¥Screen Shot 2018-06-13 at 12.04.37 PM.png
図3.4 - オブジェクトメニュー
Objectメニュー(図3.4を参照)コンテキスト依存です。 [ Object ]メニューを使用して、次のオプションにアクセスします。
管理メニュー
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥d05c7251¥Screen Shot 2018-06-13 at 12.04.54 PM.png
図3.5 - 管理メニュー
使用する Management以下のPEMにアクセスします(図3.5を参照)メニューを用意しています:
ダッシュボードメニュー
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥d2dd75da¥Screen Shot 2018-06-13 at 12.05.14 PM.png
図3.6 - [ダッシュボード]メニュー
状況依存 Dashboardsメニュー(図3.6参照)を使用して、ダッシュボードにアクセスします。
ツールメニュー
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥d0df73f5¥Screen Shot 2018-06-13 at 12.05.33 PM.png
図3.7 - ツールメニュー
Toolsメニュー(図3.7参照) のオプションを使用して 、次の機能にアクセスします。
ヘルプメニュー
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥9d22ee3c¥Screen Shot 2018-06-13 at 12.05.51 PM.png
図3.8 - [ヘルプ]メニュー
オンラインヘルプ文書にアクセスしたり、PEMのインストールに関する情報を確認するには、[ Help ]メニューのオプションを使用します (図3.8を参照)。
3.2 チャート、グラフ、テーブルの制御とカスタマイズ
ダッシュボード上の各グラフィックスの右上隅にあるアイコンを使用して、現在のユーザセッションのPEMクライアントに表示されているチャート、グラフ、およびテーブルを制御およびカスタマイズします(図3.9を参照)。
C:\ Users \ susan \ Desktop \ chart.png
図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 Create - Serverダイアログを使用して、サーバーの登録情報を提供し、PEMエージェントをバインドし、サーバーをPEMクライアント・ツリー制御で表示することができます。 Create - Serverダイアログを開くには、 Objectメニュー(またはサーバー・グループのコンテキスト・メニュー)のCreateオプションをナビゲートし、 Server…を選択しServer… (図4.1を参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥8fabd9ce¥Screen Shot 2018-06-13 at 12.07.46 PM.png
図4.1 - 「サーバーの作成」ダイアログへのアクセス。
注意:登録しようとしているPostgresサーバのpg_hba.confファイルが、接続を試みる前にPEMクライアントのホストからの接続を許可していることを確認する必要があります。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥c05642ae¥connect_general.png
図4.2 - [Create - Server]ダイアログの[General]タブ
[ General ]タブ(図4.2に示す) のフィールドを使用して 、サーバーの一般的なプロパティを記述します。
Nameフィールドを使用して 、サーバーのユーザーフレンドリーな名前を指定します。指定された名前は、PEM Browserツリーコントロール内のサーバーを識別します。
Teamフィールドを使用して 、Postgresのロール名を指定します。このロールのメンバーであるPEMユーザー、最初にサーバーを作成したユーザー、またはPEMサーバーにスーパーユーザー権限を持つユーザーのみが、PEMにログオンするときにこのサーバーを表示します。このフィールドを空白のままにすると、すべてのPEMユーザーにサーバーが表示されます。
Background色セレクタを使用して、サーバーに保存されているデータベースオブジェクトの背後にあるPEMツリーコントロールに表示される色を選択します。
Foregroundカラーセレクタを使用して、サーバーに格納されているオブジェクトのPEMツリーコントロール内のラベルのフォント色を選択します。
隣にあるチェックボックスをオン Connect now ? [ Save ]ボタンをクリックしたときにPEMにサーバー接続を試みるよう指示します。 now Connect nowか? PEMクライアントが後で接続を試行するまで指定された接続パラメータを検証しないようにする場合は、チェックをはずします。
[ Commentsフィールドにサーバーに関するメモを入力します
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥d05672ef¥connect_connection.png
図4.3 - [Create - Server]ダイアログの[Connection]タブ
[ Connection ]タブ(図4.3を参照)のフィールドを使用して、サーバーの接続の詳細を指定します。
[ Host name / addressフィールドに、サーバーホストのIPアドレス、または完全修飾ドメイン名を addressます。 Unixベースのシステムでは、アドレスフィールドはブランクのままにして、ローカルマシン上のデフォルトのPostgreSQL Unixドメインソケットを使用するか、PostgreSQLソケットを含む代替パスに設定することができます。パスを入力する場合、パスは「/」で始まらなければなりません。
[ Maintenance databaseフィールドを使用して、 PEMが接続する初期データベースの名前を指定しますpgAgentスキーマとadminpackオブジェクトがインストールされていることが必要です(どちらもオプションです)。 PostgreSQL 8.1以降では、メンテナンスDBは通常postgresと呼ばれます。以前のバージョンではtemplate1が頻繁に使用されていましたが、テンプレートデータベースの混乱を避けるためにpostgresデータベースを作成するほうが好きです。
[ password Save password 横にあるチェックボックスをオンにし password~/.pgpassファイル(Linuxの場合)または%APPDATA%\\postgresql\\pgpass.conf (Windowsの場合)にパスワードを保存して後で再利用するようPEMに指示します。詳細は、 pgpassドキュメントを参照してください。格納されたパスワードは、すべてのlibpqベースのツールに使用されます。パスワードを削除するには、サーバーから切断して、サーバーの[プロパティ]ダイアログを開き、選択を解除します。
Roleフィールドを使用して、クライアントがサーバーに接続した後に使用する権限を割り当てられているロールの名前を指定します。これにより、1つの役割として接続し、接続が確立されたとき(この項目で指定した役割)の別の役割の権限を引き受けることができます。接続するロールは、指定されたロールのメンバーでなければなりません。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥d05672ce¥connect_connection_ssl.png
図4.4 - [Create - Server]ダイアログの[SSL]タブ
[ SSL ]タブ(図4.4参照) のフィールドを使用して SSLを設定します。
[ SSL modeフィールドのドロップダウンリストボックスを使用して、サーバーが使用するSSL接続のタイプを選択します。 SSL暗号化の使用の詳細については、次のPostgreSQLのマニュアルを参照してください。
https://www.postgresql.org/docs/current/static/libpq-ssl.html
プラットフォーム固有の Fileマネージャダイアログを使用して、SSL暗号化をサポートするファイルをサーバーにアップロードできます。ファイルマネージャにアクセスするには、次の各フィールドの右側にあるアイコンをクリックします。
Client certificateフィールドを使用して 、クライアントSSL証明書を含むファイルを指定します。このファイルは、PEMがデスクトップモードでインストールされている場合はデフォルトの~/.postgresql/postgresql.crtファイルを置き換え、PEMがWebモードでインストールされている場合は<STORAGE_DIR>/<USERNAME>/.postgresql/postgresql.crt ~/.postgresql/postgresql.crtファイルを置き換えます。 SSL接続が確立されていない場合、このパラメーターは無視されます。
Client certificate keyフィールドを使用して、クライアント証明書に使用される秘密鍵を含むファイルを指定します。このファイルは、PEMがデスクトップモードでインストールされている場合はデフォルトの~/.postgresql/postgresql.key 、Webモードでインストールされている場合は<STORAGE_DIR>/<USERNAME>/.postgresql/postgresql.key ~/.postgresql/postgresql.keyを置き換えます。 SSL接続が確立されていない場合、このパラメーターは無視されます。
Root certificateフィールドを使用して 、SSL認証局を含むファイルを指定します。このファイルは、デフォルトの~/.postgresql/root.crtファイルを~/.postgresql/root.crtます。 SSL接続が確立されていない場合、このパラメーターは無視されます。
[ Certificate revocation listフィールドを使用して 、SSL証明書失効リストを含むファイルを指定します。このリストは~/.postgresql/root.crlあるデフォルトのリストに~/.postgresql/root.crlます。 SSL接続が確立されていない場合、このパラメーターは無視されます。
SSL compression? 場合は SSL compression?Trueに設定されていると、SSL接続を介して送信されたデータは圧縮されます。デフォルト値はFalse (圧縮は無効です)。 SSL接続が確立されていない場合、このパラメーターは無視されます。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥53d6f645¥connect_ssh_tunnel.png
図4.5 - [Create - Server]ダイアログの[SSH Tunnel]タブ
SSHトンネリングを設定するには、「 SSH Tunnelタブのフィールドを使用します(図4.5を参照)。トンネルを使用して、クライアントが直接接続できないネットワーク上にあるサーバーに(中継プロキシホストを介して)データベースサーバーを接続できます。
Use SSH tunnelingYes設定 Useと、指定したサーバーに接続するときにPEMがSSHトンネルを使用するように指定できます。
[ Tunnel portフィールドにSSHホストのポート(クライアント接続が転送される port )を portます。
PEMがSSHホストへの認証にパスワードを使用するように指定するには、 [ Password選択します。これがデフォルトです。
接続時にPEMが秘密鍵ファイルを使用するように指定するには、 [ Identity file選択します。
SSHホストが認証用に秘密鍵ファイルを要求している場合は、 Identity fileフィールドを使用して鍵ファイルの場所を指定します。
SSHホストが Passwordを要求している場合は、 Passwordフィールドを使用して Passwordを指定するか、IDファイルが使用されている場合はパスフレーズを使用します。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥51def055¥connect_advanced.png
図4.6 - [Create - Server]ダイアログの[Advanced]タブ
Advancedタブ(図4.6に示す)のフィールドを使用して、サーバーの管理に使用する詳細を指定します。
使用 DB restrictionに対して使用されるSQLの制限を指定するフィールドをpg_databaseののツリーコントロールに表示されたデータベースを制限するために、テーブルを。たとえば、 'live_db', 'test_db'live_dbと、 test_dbデータベースとtest_dbデータベースのみが表示されます。 ` pg_namespace 'に対する制限を入力することで、データベースのプロパティダイアログからデータベースに表示されるスキーマを制限することもできます。
[ Password fileフィールドを使用して 、パスワードファイル(.pgpass)の場所を指定します。 .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です。ローカルサーバーの場合、設定はオペレーティングシステムによって異なります。
o
o
sudo /usr/local/pgsql/bin/pg_ctl -D /data/pgsql
サーバーがフェイルオーバーマネージャークラスターのメンバーである場合は、PEMを使用してクラスターのヘルスをモニターし、必要に応じてマスターノードを交換することができます。 PEMがフェールオーバーマネージャーを監視できるようにするには、 EFM cluster nameフィールドを使用して cluster nameを指定します。クラスタ名は、フェイルオーバーマネージャーのクラスタープロパティーファイルの名前のプレフィックスです。たとえば、クラスター・プロパティー・ファイルの名前がefmproperties 、クラスタ名があるefm
PEMを使用してフェイルオーバーマネージャークラスターの状況をモニターする場合は、 EFM installation pathフィールドを使用して 、フェイルオーバーマネージャーのバイナリーファイルの場所を指定します。デフォルトでは、フェイルオーバーマネージャーのバイナリーファイルは/usr/efm-2.x/binにインストールされ/usr/efm-2.x/bin 。ここで、 xはフェイルオーバーマネージャーのバージョンを示します。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥1c296da3¥connect_pem_agent.png
図4.7 - [Create - Server]ダイアログの[PEM Agent]タブ
[ PEM Agent ]タブ(図4.7)のフィールドを使用して、 PEM Agent接続の詳細を指定します。
Remote monitoring 移動しますか?スライダを[ Yesして、PEMエージェントが監視対象サーバーと同じホストに存在しないことを示します。リモート監視が有効な場合、監視対象サーバのエージェントレベルの統計情報はカスタムチャートやダッシュボードでは利用できず、一部のPEMユーティリティ(Audit Manager、Capacity Manager、Log Manager、Postgres Expertなど)ではリモートサーバにアクセスできません。チューニングウィザード)。
Bound agentラベルの右側にあるドロップダウン・リスト・ボックスを使用して、Enterprise Managerエージェントを選択します。あるエージェントが複数の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ファイルを使用できます。
takeover Allow 設定しますか?スライダを[ Yesして、サーバが別のエージェントに引き継がれるように指定します。この機能により、たとえば、サーバーが高可用性フェールオーバープロセスの一部として別のホストに移動された場合など、エージェントがデータベースサーバーの監視を担当することができます。
サーバーのプロパティを表示するには、PEMクライアントツリーコントロールでサーバー名を右クリックし 、コンテキストメニューから[ Properties ...]オプションを選択します。サーバーのプロパティを変更するには、[ Properties ]ダイアログを開く前にサーバーから切断しProperties
4.2 自動サーバー検出
監視するサーバーが監視エージェントと同じホスト上にある場合は、 Auto Discoveryダイアログを使用して 、登録およびバインド処理を簡素化できます。
特定のエージェントの自動検出を有効にするには、 Server Auto Discoveryプローブを有効にする必要があり ServerManage Probesタブにアクセスするには、PEMクライアントツリーコントロールでPEMエージェントの名前を強調表示し、 ManagementメニューからManage Probes ...を選択Manageます。ときにManage Probesタブが開き、 スライダコントロールすることを確認してEnabled ?列が Yes 設定されている
Auto を開くには Discovery ダイアログ(図4.8を参照)、PEMクライアントツリーコントロール内のPEMエージェントの名前を強調表示し、 Auto を選択します Managementメニューから Discovery ...を選択します。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥0705559b¥Screen Shot 2017-11-28 at 11.55.26 AM.png
図4.8 - PEM Auto Discoveryダイアログ。
[ Auto Discovery ]ダイアログボックスが開いたら、 [ Discovered Database Serversボックスに、PEMエージェントによって現在監視されていないサーバーの一覧が表示されます。サーバー名の横にあるチェックボックスをオンにすると、[ Server Connection Detailsボックスにサーバーに関する情報が表示され、エージェントの接続プロパティには[ Agent Connection Detailsボックスが表示されます。
[ All Check ]ボタンを使用して 、表示されているすべてのサーバーの横にあるボックスを選択するか、 Uncheck AllUncheckにする]を使用して 、サーバー名の左側にあるすべてのボックスの選択を解除します。
[ Server Connection Detailsボックスのフィールドには、 PEMが監視するサーバーに関する情報が表示されます。
[ Nameフィールドで、監視対象サーバーの名前を受け入れるか変更します。指定された名前がPEMクライアントのツリーコントロールに表示されます。
[ Server groupドロップダウンリストボックスを使用して、サーバーがPEMクライアントツリーコントロールに表示されるサーバーグループを選択します。
[ Host name / addressフィールドを使用して 、監視対象サーバーのIPアドレスを指定します。
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をクリックします。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥1ea962ab¥Screen Shot 2018-06-13 at 1.05.20 PM.png
図4.9 - 登録されたサーバー
OKボタンをクリックすると、新しく登録されたサーバがPEMツリーコントロール(図4.9参照)に表示され、PEMサーバによって監視されます。
4.3 pemworkerユーティリティを使用したサーバーの登録
pemworkerユーティリティを使用して、PEMサーバーによる監視用のサーバーの登録、またはデータベースサーバーの登録解除を行うことができます。登録時に、pemworkerユーティリティーは、新規サーバーを、登録コマンドを呼び出したシステム上にあるエージェントにバインドします。サーバーを登録するには:
pemworker - register - server
Windowsホストでは、次のコマンドを使用します。
pemworkerexe REGISTER - SERVICE
pemworkerユーティリティを呼び出すときにコマンドラインオプションをコマンド文字列に追加します。各オプションの後には対応する値を指定する必要があります。
データベースサーバーを登録するときは、新しいサーバーに管理ユーザーに関連付けられたパスワードを提供する必要があります。使用 PEM _ NEW _ SERVER _ PASSWORD対応するパスワードを提供するために、環境変数を。
PEMデータベースに変更が加えられる前に、接続エージェントはPEMデータベースサーバーで認証されます。 pemworkerユーティリティーを呼び出すときは、PEMサーバー管理ユーザーに関連付けられたパスワードを提供する必要があります。管理パスワードを指定する方法は3つあります。あなたはできる:
設定 PEM_MONITORED_SERVER _ PASSWORD環境変数を。
のエントリを作成します。 pgpassファイル。
パスワードを入力しないと、パスワード認証エラーが発生します。 PEMサーバーは、サーバーが正しく登録されたことを確認します。
 
4.3.1 pemworkerユーティリティを使用したサーバーの登録解除
pemworkerユーティリティを使用して、データベースサーバの登録を解除することができます。サーバの登録を解除するには、pemworkerユーティリティを呼び出します。
Linuxホストでは、次のコマンドを使用します。
pemworker - unregister - server
Windowsホストでは、次のコマンドを使用します。
pemworkerexe UNREGISTER - SERVICE
pemworkerユーティリティを呼び出すときにコマンドラインオプションをコマンド文字列に追加します。各オプションの後には対応する値を指定する必要があります。
pemworker ユーティリティー を呼び出すとき は、PEMサーバー管理ユーザーに関連付けられたパスワードを提供する必要があります。管理ユーザーのパスワードを指定する方法は3つあります。あなたはできる:
設定 PEM_SERVER _ PASSWORD環境変数を。
のエントリを作成します。 pgpassファイル。
パスワードを入力しないと、パスワード認証エラーが発生します。 PEMサーバーは、サーバーが登録解除されたことを確認します。
4.4 接続とバインディングの確認
登録されると、新しいサーバがPEM Browserツリーコントロールに追加され、 Global Overview表示されます(図4.10を参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥5fc3e1f5¥Screen Shot 2018-06-12 at 9.47.26 AM.png
図4.10 - グローバル概要ダッシュボード
最初に新しくバインドされたサーバーに接続するとき、 Global Overviewダッシュボードは、サーバーリストにステータスが「不明」の新しいサーバーを表示することがあります。サーバを認識する前に、バインドされたエージェントはサーバを調べるために多数のプローブを実行しなければならず、ネットワークの可用性に応じて完了までに数分かかることがあります。
数分以内に、 Global Overviewダッシュボードの棒グラフに、エージェントが正常に接続され、新しいサーバーがPostgres Server Statusリストに含まれていることが表示されServer
5分後に Global Overviewダッシュボードに新しいサーバーが一覧表示されない場合は、監視エージェントのログファイルを確認してエラーを確認する必要があります。ツリーコントロールでエージェントの名前を右クリックし、[ Probeを選択します Log コンテキストメニューの[ Dashboards ]サブメニューから[ Analysis ]オプションを選択します。
4.5 監視対象サーバのリモート起動と停止
PEMを使用すると、管理されたサーバーインスタンスをPEMクライアントで起動およびシャットダウンできます。 PEMがサービスを管理できるようにサーバーを構成するには、 Server registrationダイアログを完了し 、データベースサーバーをPEMエージェントに登録し、次の操作を行います。
指定した Store on PEM Server上のオプションProperties ]ダイアログ。
[ Advanced ]タブの[ Service ID ]フィールドにサービススクリプトの名前を指定します。
o
o
o
o
o
サーバーに接続したら、ツリーコントロールでサーバー名を強調表示し、 Shutdown Management ]メニューからShutdown Queue Server StartupまたはShutdown Queue Server Shutdown (図4.11) を選択して Server StartupまたはShutdownます。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥0e1701c5¥Screen Shot 2017-04-17 at 11.21.14 AM.png
図4.11 - 管理対象サーバの管理メニュー
5 一般的なデータベース管理
この章では、PEMクライアントで実行できる基本的な管理タスクについて説明します。
5.1 PEMサーバー構成の編集
PEMクライアントを使用して、PEMサーバの設定パラメータをグラフィカルに管理して、機能を有効にしたり、デフォルト設定を変更することができます。 Server Configurationダイアログ(図5.1参照) を開くにはManagementメニューからServer Configuration ...を選択します。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥8a2c9d9c¥Screen Shot 2017-11-28 at 12.40.58 PM.png
図5.1 - 「サーバー構成」ダイアログ。
パラメータ値を変更するには、パラメータ名の右側にある[ Valueフィールドに表示される内容を編集します。 [ Save ]ボタンをクリックして変更を保存するか、[ 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サービス
使用 StopPauseStart 、またはRestartサービスの状態を制御するためのボタンを。
Postgresサーバーに接続されているユーザー(またはクライアントアプリケーション)は、サービスを停止すると突然切断されることに注意してください。
サービスの制御の詳細については、以下のEnterpriseDB Webサイトから入手可能なEDB Postgres Advanced Server Installation Guideを参照してください。
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を参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥ba72d383¥Screen Shot 2018-08-27 at 10.54.18 AM.png
図5.3 - ログインロールノードのコンテキストメニュー
Create - Login / Group Roleダイアログ(図5.4参照) のタブのフィールドを使用して、 Roleを定義します。ブラウザタブにPEMオンラインヘルプを表示するには、ダイアログの左下隅にあるヘルプ( ? )ボタンをクリックします。
新しいロールの定義が終了したら、[ Save ]をクリックしてロールを作成しSave
C:\ Users \ susan \ Desktop \ Screen Shot 2017-11-29 at 1.48.27 PM.png
図5.4 - ログインロールダイアログ
既存のログインロールのプロパティを変更するには、ツリーコントロールでログインロールの名前を右クリックし 、コンテキストメニューから[ Properties ] を選択します。ログインロールを削除するには、ロールの名前を右クリックし、コンテキストメニューから[ Delete/Dropを選択します。
ロールの作成と管理の詳細については、PostgreSQLのオンラインマニュアルを参照してください。
http://www.postgresql.org/docs/10/static/sql-createrole.html
5.3.2 グループの役割
グループの役割はコンテナとして機能し、システム特権(データベースの作成など)とオブジェクト権限(特定のテーブルにデータを挿入するなど)を分配するために使用できます。グループの役割の主な目的は、DBAにとってシステム権限とオブジェクト権限の一括管理をはるかに容易にすることです。複数の異なるログインアカウント間で特権を個別に割り当てるか変更するのではなく、1つのロールに対して特権を割り当てたり変更したりすることができます。
Group Rolesを作成および管理するには、PEMツリーコントロールで登録されている各サーバの名前の下にある[ Group Rolesノードを使用します。コンテキストメニューのオプションを使用すると、新しい役割を作成したり、既存の役割のプロパティを変更したりするためのダイアログにアクセスできます。ロールの作成に関する詳細は、以下を参照してください。
http://www.postgresql.org/docs/10/static/sql-createrole.html
5.3.3 PEMの定義済みロールを使用したPEM機能へのアクセスの管理
[ Login / Group Role ]ダイアログボックスを使用して、限定された権限を持つロールが監査マネージャ、キャパシティマネージャ、SQLプロファイラなどのPEM機能にアクセスできるようにすることができます 。 PEMの事前定義されたロールにより、PEM機能にアクセスできます。これらのロールのメンバシップに割り当てられたロールは、関連するフィーチャにアクセスできます。
C:\ Users \ susan \ Desktop \ pem_roles_membership.png
図5.5 - [メンバーシップ]タブ
ユーザーを定義するときは、 [ Membership ]タブを使用して、新しいユーザーがメンバーであるロールを指定します。新しいユーザーは、メンバーである各ロールに関連付けられた権限を共有します。ユーザがPEM拡張機能にアクセスできるようにするには、そのロールがpem_userロールのメンバーであり、そのロールへのアクセスを許可する事前定義されたロールである必要があります。 「 Rolesフィールドを使用して、事前定義されたロール名をドロップダウン・リストから選択します。
SQLタブには、 Saveをクリックしたときにサーバーが実行するSQLコマンドが表示されSave
C:\ Users \ susan \ Desktop \ pem_roles_membership_example.png
図5.6 - [SQL]タブ
上記の例は、名前のログインロールを作成 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ではデータベースを簡単に Createます。 管理対象サーバーの「 Databasesノードを右クリックし 、「 Createメニューから「 Database ...」を選択するだけです。データベースを定義したら、新しいデータベース内にオブジェクトを作成できます。
たとえば、新しいテーブルを作成するには 、[ Tables ]ノードを右クリックし 、[ Create ]メニューから[ Table… ]を選択します。いつ [ New Table ]ダイアログボックスが開き、新しいテーブルの属性を指定します(図5.7を参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥0e070999¥table_general.png
図5.7 - PEMのダイアログを使用してデータベースオブジェクトを作成および管理する。
PEMは、他のデータベースオブジェクトの作成と管理に関する同様のダイアログを提供します。
各オブジェクトタイプはツリーコントロールに表示されます。オブジェクト・タイプに対応するノードを右クリックして「 Createメニューにアクセスし 、新規オブジェクトを作成するか、名前付きノードのコンテキスト・メニューから「 Propertiesを選択して、強調表示されたオブジェクトの管理タスクを実行します。
5.5 オンラインヘルプとドキュメント
PEMには、ツールの使用を支援するビルトインヘルプが含まれています(図5.8参照)。 PEMのオンラインヘルプにアクセスするには、選択 Online HelpからHelpのオプションHelpメニューを。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥e78c7eaf¥Screen Shot 2018-08-27 at 10.29.31 AM.png
図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. xxはバージョン番号です。
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を確認するためのステータス。
6.2 WindowsでのPEMサーバーまたはPEMエージェントの制御
Windowsオペレーティング・システムには、サーバー状況を表示するグラフィカル・サービス・コントローラーが含まれており、ポイント・アンド・クリック・サーバー制御が提供されています。制御するサービスの登録名:
PEMエージェントは Postgres Enterprise Manager - pemAgent
ここで x 、サーバーのバージョン番号を示します。
Windowsの Control PanelナビゲートしてServicesユーティリティを開きます。ユーティリティが開いたら、スクロールバーを使用してサービスの一覧を参照します(図6.1参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥09bc10fe¥Screen Shot 2018-06-01 at 4.20.18 PM.png
図6.1 - [Windowsサービス]ウィンドウ
Stop the serviceを停止するには、[サービスを停止]オプションを使用します。サーバーに接続されているユーザー(またはクライアントアプリケーション)は、サービスを停止すると突然切断されます。
Pause the service Pause the serviceオプションを使用して、 Postgresがサービスの設定パラメータをリロードするよう指示します。 [ 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 、リストをスクロールしてPEM HTTPD サービスを探します(図6.2参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥1b3d2794¥Screen Shot 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エントリ
また、 pg_hba.confファイルを手動で変更して 、PEMサーバーと他のコンポーネントとの間の接続を許可する必要があります。たとえば、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ファイルを変更することができます。ファイルを変更した後、変更を有効にするためにサーバーを再起動します。
以下の実施例は pg_hba.conf可能にするエントリmd5ユーザー名前からパスワード認証された接続postgresに、 postgresどのホスト上のデータベース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.23192.168.10.76192.168.10.184 、入力CIDR-ADDRESS192.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参照)。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥9ebbe4cf¥Screen Shot 2017-03-22 at 10.25.26 AM.png
図6.4 - Connect to Serverエラー。
データベースサーバーに接続するときにこのエラーが発生した場合は、接続を許可するエントリを追加し pg_hba.confファイルを変更します。
6.5 PEM認証の管理
Postgresはいくつかの認証方法をサポートしています:
PAM
Postgres(とPEM)認証は、 pg_hba.conf設定ファイルによって制御されます。構成ファイル内のエントリは、特定のデータベースに接続できるユーザーと、そのユーザーが接続を許可される前に必要な認証のタイプを指定します。
postgresという名前のユーザーが、secure password( md5 )認証接続を使用してローカルホスト( 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%APPDATA%\postgresql\pgpass.conf (Windowsでは)です。パスワードファイルの設定の詳細については、次の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とWebサイトの間の直接通信が妨げられる場合は、次の場合にPEMで使用するようにプロキシサーバーを構成できます。
更新 package _ catalogのインストールや更新のために利用可能なパッケージに関する情報を持つテーブル
ネットワーク上にプロキシサーバを設定したら、PEMサーバの設定を変更し、プロキシの接続プロパティを指定し、プロキシサーバを使用するようにPEMに指示します。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥9386b0eb¥Screen Shot 2017-03-22 at 9.42.12 AM.png
図6.6 - 「PEMサーバー構成」ダイアログ。
Server Configurationダイアログにアクセスして Server Configurationを変更するには、PEM Webインターフェースに接続し、「 Managementメニューから「 Server Configuration…を選択します。図6.6に示すように、PEM Server Configurationダイアログが開きます。
パラメーター値を変更するには、パラメーターを見つけて、「 Valueでパラメーター値を変更します 。次のPEMサーバ設定パラメータを使用して、PEMがプロキシサーバに接続できる接続の詳細を指定します。
proxy_serverパラメータを使用して、 proxy serverのIPアドレスを指定します。
値を指定 tproxy _ server _ authenticationプロキシサーバが接続時に認証するようにPEMを必要とするであろうことを示すためのパラメータを、認証が不要な場合はf指定します。
パッケージリストを取得するときにプロキシサーバーを使用する必要がある場合はproxy _ server _ enabledパラメータ t 値を指定し 、プロキシサーバーが設定されていない場合はfます。
proxy _ server _ usernameパラメータで指定されたユーザに関連付けられたpassword指定するには、 proxy _ server _ passwordパラメータを使用します。
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 格納されますcfgファイル( /opt/edb/pem/agent/etc
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 ] を選択します。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥ca5554b2¥pem_agent_properties.png
図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.crtcrtファイル:
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。
使用 openssl_rsa_generate_crl()証明書失効リスト(作成する機能をroot.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()を生成する機能をserverkeyファイル。
/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ファイルを作成した後server.crtファイルの生成時に使用する変数SSL_KEY内容をcatし、 server.keyファイルの特権を変更します。
SSL_KEY=$(cat /opt/PostgreSQL/10/data/server.key)
chmod 600 /opt/PostgreSQL/10/data/server.key
8。
使用する SSL _ KEYサーバ証明書を生成します。証明書をserver保存しservercrtファイル。簡単にするために、一意の名前を持つ一時ファイルに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 格納されている固有の識別子があります。 agentテーブルをpemデータベースにpemます。鍵と証明書ファイルを、エージェントの識別子に対応する鍵または証明書で置き換える必要があります。あなたが移動しなければならないことに注意してくださいagent.keyagent.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 /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 /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 ', '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 」をクリックします。