Puppet Enterprise 2017.2

Puppet Enterpriseは、いくつかのソフトウェアコンポーネント、設定ファイル、データベース、サービスとユーザ、ログファイルをインストールします。 これらの保存場所を知っておくと、Puppet Enterpriseインフラのトラブルシューティングや管理が必要になったときに便利です。

インストールされるソフトウェアコンポーネント

Puppet Enterpriseは、いくつかのソフトウェアコンポーネントと依存関係をインストールします。

PEの機能コンポーネントは、puppet-agentとパッケージされたものと、サーバー側にパッケージされたもの(こちらもpuppet-agentを含みます)に区別されています。

PE 2017.2には、以下の主要なソフトウェアコンポーネントが含まれます。

Agentコンポーネント(すべてのノード)

PEバージョン Puppet Agent Puppet Facter Hiera MCollective Ruby OpenSSL
2017.2.1 1.10.1 4.10.1 3.6.4 3.3.1 2.10.4 2.1.9 1.0.2k

サーバーコンポーネント

PEバージョン Puppetサーバー PuppetDB r10k Razorサーバー Razor Libs PostgreSQL Java ActiveMQ Nginx
2017.2.1 2.7.2 4.4.0 2.5.4 1.6.0 2017.1.3 2017.2.9 2017.2.1 2017.2.5 2017.2.1

注: Puppet Enterpriseは、「システム要件」に記載されたその他の依存関係もインストールします。

インストールされるバイナリ、モジュール、プラグイン

Puppet Enterpriseは、通常処理とツールおよびサービスとの相互作用を目的に、いくつかのバイナリ、モジュール、プラグインをインストールします。

Puppet Enterpriseはツールおよびサービスとの相互作用を目的に、実行可能なバイナリをインストールします。

*nixノードでは、すべてのPuppet Enterpriseソフトウェアが、/opt/puppetlabsにインストールされます。

Windowsノードでは、すべてのPEソフトウェアが、 標準32ビットアプリケーションディレクトリの「Puppet Enterprise」サブディレクトリにインストールされます。

*nix上の実行可能バイナリは、/opt/puppetlabs/bin/opt/puppetlabs/sbinにあります。

すべてのユーザが主要なPuppetツールを使えるよう、インストーラによって、facterpuppetpe-manr10khiera、およびmcoバイナリのシンボリックリンクが/usr/local/binに自動的に作成されます。 シンボリックリンクは、/usr/local/binが書き込み可能な場合にのみ作成されます。

AIXおよびSolaris 10/11をお使いの場合は、デフォルトパスに/usr/local/binを追加する必要があります。

Mac OS X agentを実行している場合、agentのカタログを適用してPuppetが正常に実行されるまで、シンボリックリンクは作成されません。

Puppet EnterpriseがインストールされているPostgreSQLサーバー、PuppetDB、Rubyパッケージと通信するコンポーネントなど、上記以外のPuppet Enterpriseコンポーネントが提供するバイナリのシンボリックリンクは作成されません。

バイナリの有効化とシンボリックリンクの無効化については、以下を参照してください。

モジュールとプラグイン

Puppet Enterpriseは通常処理のために、いくつかのモジュールおよびプラグインをインストールします。

  • PEに含まれるPuppetモジュールは、Puppet masterサーバーの/opt/puppetlabs/puppet/modulesにインストールされます。このディレクトリにあるものに変更を加えたり、独自のモジュールを追加したりしないでください。独自のモジュールは、代わりに/etc/puppetlabs/code/environments/<environment>/modulesにインストールしてください。
  • MCollectiveプラグインは、*nixでは/opt/puppetlabs/mcollective/plugins/、Windowsでは<COMMON_APPDATA>\PuppetLabs\mcollective\etc\plugins\mcollectiveにインストールされます。新しいプラグインをPE agentノードに追加する場合は、このマニュアルの「アクションの追加」ページの説明に従い、Puppetから配布してください

インストールされる設定ファイル

Puppet Enterpriseは設定ファイルをインストールします。設定ファイルの編集が必要になる場合もあります。

*nixノードでは、Puppet Enterpriseの構成ファイルはすべて/etc/puppetlabs/puppetに置かれます。

Windowsノードでは、Puppet Enterpriseの構成ファイルはすべて<COMMON_APPDATA>\PuppetLabsに置かれます。 このフォルダの場所は、Windowsのバージョンによって異なります。2008および2012では、デフォルトの場所はC:\ProgramData\PuppetLabs\puppet\etcです。

Puppetのconfdirは、puppetサブディレクトリにあります。 このディレクトリには、puppet.confファイル、auth.conf、SSLディレクトリが含まれます。

インストールされるツール

PEでは、ソフトウェアの主要コンポーネントを使いやすくするために、いくつかのツールセットがインストールされます。

ツールには以下のものがあります。

  • Puppetツールpuppet masterpuppet cert.といったPuppetの基本機能をコントロールするツール。詳細についてはツールセクション を参照してください。
  • PEクライアントツール — pe-client-toolsパッケージには、Puppet masterまたはワークステーションからPuppet Enterpriseサービスへのアクセス機能を拡張するCLIツールセットが含まれています。パッケージに含まれるツールは以下のとおりです。
    • Puppetオーケストレータ — Puppetオーケストレータは、Puppetアプリケーションオーケストレーションサービスのインタフェースを提供するインタラクティブなコマンドラインツールのセットです。また、環境レベルで変更を適用する機能も提供します。これらのツールには、puppet jobおよびpuppet appなどがあります。詳細についてはPuppetオーケストレータ文書を参照してください。また、コードマネージャ文書も参照してください。
    • Puppet Access — Puppet Enterpriseユーザが、特定のPEコマンドラインツールやAPIエンドポイントへのアクセスを認証するためのトークンを作成することができます。詳細についてはトークンを用いた認証に関する文書を参照してください。
    • コードマネージャCLIpuppet-codeコマンドラインを使えば、コマンドラインでコードマネージャを実行し、環境をデプロイすることができます。
    • PuppetDB CLI — これは、クエリの構築やエクスポートの処理などでPuppetDBを使用するためのツールです。詳細については「PuppetDB CLIを参照してください。
  • MCollectiveツール — 多数のノードで同時アクションを実行するためのツール。これらのツールはMCollectiveフレームワークをもとに構築されており、mcoコマンドでアクセスできます。詳細についてはPE MCollective文書を参照してください。
  • モジュールツール — モジュールツールは、Puppetモジュールの利用および作成に用いられるツールで、設定およびデプロイタスクの自動化のためにユーザが記述したPuppetコードをまとめた再利用可能なツールです。Puppet Forgeでは、詳細を確認し、モジュールを利用することができます。
  • コンソール — コンソールはPuppet EnterpriseのWeb UIです。ノード上のリソースの閲覧および編集、レポートおよびアクティビティグラフの閲覧などのためのツールを提供しています。詳細についてはPEマニュアルのコンソールセクションを参照してください。

インストールされるデータベース

Puppet Enterpriseはいくつかのデフォルトデータベースをインストールします。そのすべてで、バックエンドデータベースとしてPostgreSQLが使用されます。

PE PostgreSQLデータベースには、以下のデータベースが含まれます。

データベース 説明
pe-activity 誰が、何を、いつ実施したかを含めた、分類子からのアクティビティデータ
pe-classifier 分類データ、すべてのノードグループ情報
pe-puppetdb エクスポートしたリソース、カタログ、facts、レポートなどのPuppetDBのデータ
pe-rbac ユーザー、許可、AD/LDAP情報などのRBACデータ
pe-orchestrator ジョブ実行の詳細(ユーザー、ノード、実行結果)などのオーケストレータデータ

PostgreSQLのネイティブツールを使って、データベースのエクスポートとインポートを実行します。 最低でも、リモートシステムへのバックアップまたは会社のポリシーで規定された方法でのバックアップを毎晩実施することを推奨します。

インストールされるサービス、ユーザ、グループアカウント

Puppet Enterpriseは、Puppet Enterpriseに含まれるソフトウェアと対話するために、いくつかのサービス、ユーザ、グループのアカウントをインストールします。

インストールされるサービス

Puppet Enterpriseは、通常処理での相互作用に使用されるいくつかのサービスをインストールします。

サービス 定義
pe-activemq ActiveMQメッセージサーバー。agentノードでMCollectiveサーバーにメッセージを受け渡します。Puppet masterコンポーネントのあるサーバーで稼働します。
pe-console-services Puppet Enterprise Webコンソールを管理し、サービスを提供します。
pe-puppetserver Puppet masterサーバー。Puppet masterコンポーネントを管理します。
pe-nginx Nginx。Puppet Enterprise Webコンソールのリバースプロキシとして機能します。
mcollective MCollectiveデーモン。メッセージをリッスンし、アクションを起こします。すべての agentノードで稼働します。
puppet (ELおよびDebianベースのプラットフォーム) — Puppet agentデーモン。すべてのagentノードで稼働します。
pe-puppetdb, pe-postgresql データベースコンポーネントを管理し、サービスを提供するデーモン。PostgreSQLをインストールおよび管理する場合のみ、pe-postgresqlが作成される点に注意してください。
pxp-agent Puppet agent PXPプロセスを実行します。
pe-orchestration-services Puppetオーケストレーションプロセスを実行します。

インストールされるユーザアカウント

Puppet Enterpriseはいくつかのユーザアカウントを作成します。

ユーザ 定義
peadmin MCollective関連のアクションを実行可能な管理用アカウント。ログインシェルでの使用が意図されている唯一のPuppet Enterpriseユーザアカウントです。このユーザの詳細については&このマニュアルの「アクションの起動」のページを参照してください。このユーザは、Puppet masterコンポーネントのあるサーバーに存在します。
pe-puppet pe-puppetserverにより引き起こされるPuppet masterプロセスを実行するシステムユーザ。
pe-webserver Nginx (pe-nginx)を実行するシステムユーザ。
pe-activemq MCollectiveで使用されるActiveMQメッセージバスを実行するシステムユーザ。
pe-puppetdb データベースへのrootアクセス権を持つシステムユーザ。
pe-postgres pe-postgreSQLインスタンスへのアクセス権を持つシステムユーザ。このユーザはPostgreSQLをインストールおよび管理する場合のみ作成される点に注意してください。
pe-console-services コンソールプロセスを実行するシステムユーザ。
pe-orchestration-services Puppetオーケストレーションプロセスを実行するシステムユーザ。

インストールされるグループアカウント

Puppet Enterpriseはいくつかのグループアカウントを作成します。

グループ 定義
peadmin MCollective関連アクションを起こすことのできる管理用グループ。
pe-puppet pe-puppetserverにより引き起こされるPuppet masterプロセスを実行するシステムグループ。
pe-webserver Nginx (pe-nginx)を実行するシステムグループ。
pe-activemq MCollectiveにより用いられるActiveMQメッセージバスを実行するシステムグループ。
pe-puppetdb データベースへのrootアクセス権を持つシステムグループ。
pe-postgres pe-postgreSQLインスタンスへのアクセス権を持つシステムグループ。このグループはPostgreSQLをインストールおよび管理する場合のみ作成される点に注意してください。
pe-console-services コンソールプロセスを実行するシステムグループ。
pe-orchestration-services Puppetオーケストレーションプロセスを実行するシステムグループ。

インストールされるログファイル

Puppet Enterpriseにより配信されるソフトウェアは、以下のログファイルを生成します。これらのログファイルは、コンプライアンスの目的で保管したり、トラブルシューティングに使用したりできます。

Puppet masterログ

Puppet masterには以下のログがあります。

  • /var/log/puppetlabs/puppetserver/puppetserver.log:Puppet masterアプリケーションのアクティビティが記録されます。複雑なエラーや廃止予定の機能に関する警告などが含まれます。
  • /var/log/puppetlabs/puppetserver/puppetserver-daemon.log:重大なエラーやクラッシュレポートが記録されています。
  • /var/log/puppetlabs/puppetserver/pcp-broker.log: コンパイルmaster上のPCPブローカのためのログファイルです。
  • /var/log/puppetlabs/puppetserver/code-manager-access.log
  • /var/log/puppetlabs/puppetserver/file-sync-access.log
  • /var/log/puppetlabs/puppetserver/masterhttp.log
  • /var/log/puppetlabs/puppetserver/puppetserver-access.log
  • /var/log/puppetlabs/puppetserver/puppetserver.log
  • /var/log/puppetlabs/puppetserver/puppetserver-status.log

Puppet agentログ

Puppet agentログの場所は、agentのオペレーティングシステムによって異なります。

*nixノードでは、Puppet agentサービスのアクティビティは syslogサービスに記録されます。 メッセージを保存する場所をsyslog設定で指定できますが、デフォルトの保存場所は、Linuxでは/var/log/messages、Mac OS Xでは/var/log/system.log、Solarisでは/var/adm/messagesです。

Windowsノードでは、Puppet agentサービスのアクティビティはWindows Event Logに記録されます。 Event Viewerをブラウズしてログを表示することができます。 (Control Panel > System and Security > Administrative Tools > Event Viewer)

ActiveMQログ

ActiveMQには以下のログがあります。

  • /var/log/puppetlabs/activemq/wrapper.log
  • /var/log/puppetlabs/activemq/activemq.log
  • /var/log/puppetlabs/activemq/data/audit.log

MCollectiveログ

MCollectiveには以下のログがあります。

  • /var/log/puppetlabs/mcollective.log:すべてのノードにインストールされるMCollectiveサービスにより維持されます。
  • /var/log/puppetlabs/mcollective-audit.log:MCollectiveがインストールされているすべてのノードに存在します。ノードを呼び出したクライアントに関する情報を含め、ノードで実行されたすべてのMCollectiveアクションを記録します。

コンソールおよびpe-console-servicesのログ

コンソールおよびpe-console-servicesには以下のログがあります。

  • /var/log/puppetlabs/nginx/error.log:nginxに関するエラーが含まれます。ほかのファイルに記録されていないコンソールエラーは、このログで見つかります。Puppetのコンソールに問題がある場合は、このログが役に立ちます。
  • /var/log/puppetlabs/nginx/access.log
  • /var/log/puppetlabs/console-services.log
  • /var/log/puppetlabs/console-services-access.log
  • /var/log/puppetlabs/console-services/console-services-api-access.log
  • /var/log/puppetlabs/console-services-daemon.log:重大なエラーやクラッシュレポートがここで見つかります。

インストーラログ

Puppetインストーラには以下のログがあります。

  • /var/log/puppetlabs/installer/http.log:インストーラに送られたWeb要求が含まれます。Webベースのインストールを実施したマシンにのみ存在します。
  • /var/log/puppetlabs/installer/installer-<timestamp>.log:インストール中に実行された操作と発生したエラーが含まれます。
  • /var/log/puppetlabs/installer/install_log.lastrun.<hostname>.log:直近のインストーラの実行内容が含まれます。

Puppet Enterpriseデータベースログ

Puppet Enterpriseには以下のデータベース用ログがあります。

  • /var/log/puppetlabs/puppetdb/puppetdb-access.log
  • /var/log/puppetlabs/puppetdb/puppetdb-status.log
  • /var/log/puppetlabs/puppetdb/puppetdb.log
  • /var/log/puppetlabs/postgresql/pgstartup.log
  • /var/log/puppetlabs/postgresql/postgresql-Fri.log
  • /var/log/puppetlabs/postgresql/postgresql-Mon.log
  • /var/log/puppetlabs/postgresql/postgresql-Sat.log
  • /var/log/puppetlabs/postgresql/postgresql-Sun.log
  • /var/log/puppetlabs/postgresql/postgresql-Thu.log
  • /var/log/puppetlabs/postgresql/postgresql-Tue.log
  • /var/log/puppetlabs/postgresql/postgresql-Wed.log

pe-orchestration-servicesログ

Puppet Enterpriseには、pe-orchestration-servicesおよび関連コンポーネント用に以下のログがあります。

  • /var/log/puppetlabs/orchestration-services.log
  • /var/log/puppetlabs/orchestration-services-access.log
  • /var/log/puppetlabs/orchestration-services-status.log
  • /var/log/puppetlabs/orchestration-services-daemon.log:重大なエラーやクラッシュレポートがここで見つかります。
  • /var/log/puppetlabs/orchestration-services/pcp-broker.log: the log file for PCP brokers on the master of masters (MoM).
  • /var/log/puppetlabs/orchestration-services/pcp-broker-access.log
  • /var/log/puppetlabs/pxp-agent/pxp-agent.log (*nixの場合)またはC:/ProgramData/PuppetLabs/pxp-agent/var/log/pxp-agent.log (Windowsの場合):PXP agentログファイルが含まれます。

インストールされる証明書

Puppet Enterpriseはインストール中、agentとサービスを認証するために多数のSSL証明書を生成します。

これらの証明書は、/etc/puppetlabs/puppet/ssl/certsにあります。

証明書 定義
<PUPPET MASTER CERTNAME> インストール中に生成されます。モノリシックインストールでは、この証明書はPuppetDBとPuppet Enterprise Webコンソールによって使用されます。これは、Puppet master上で実行されるagentのcertnameと同じ値です。モノリシックインストールでは、Puppet Enterprise Webコンソール上のagentとPuppetDBのcertnameは同じです。デフォルトのモノリシックインストールまたは分割インストールでは、これがPuppet CA証明書にもなります。
<PE CONSOLE CERTNAME> 分割インストールの場合のみ生成されるPuppet Enterprise Webコンソールの証明書。これは、Puppet Enterprise Webコンソールで実行されるagentのcertnameと同じ値です。
<PUPPETDB CERTNAME> 分割インストールの場合のみ生成されるPuppetDBの証明書。これは、PuppetDBで実行されるagentのcertnameと同じ値です。
pe-internal-mcollective-servers Puppet masterで作成される共通の証明書で、すべてのagentノードで共有されます。
pe-internal-peadmin-mcollective-client Puppet masterのpeadminアカウントの証明書。
pe-internal-puppet-console-mcollective-client Puppet Enterprise WebコンソールのMCollective証明書。

Puppet masterまたはコンソール(例:pe-orchestration-servicespe-console-services)で実行されるサービスを認証するには、Puppet agent証明書を使用します。


関連リンク

Back to top