Go to main content
Oracle® Solaris 11.3 での Puppet を使用した構成管理の実行

印刷ビューの終了

更新: 2016 年 7 月
 
 

Facter を使用したシステムに関する情報の収集

システムに関する情報を収集するには、Facter ユーティリティーを使用します。これらの情報は Puppet マスターに送信されたあと、各ノードに適用されるべき構成の変更を指定するカタログをコンパイルするために Puppet のリソースプロバイダによって使用されます。

カタログではまた、各リソースのあるべき状態を指定することもできます。これらの定義に基づいて、各システムは必要に応じて独自の構成を適用できます。カタログがシステムに適用されたあと、エージェントはレポートを生成し、そのレポートを Puppet マスターに送信します。このレポートには、ターゲットノード上で現在どのリソースが管理されているかに関する情報のほか、望ましい状態を実現するためにそのノードに加えられたすべての変更が含まれています。Puppet の動作のしくみを参照してください。

特定のノードで使用可能なすべてのファクトを一覧表示するには、次のコマンドを入力します。

# facter -p
architecture => i86pc
facterversion => 2.1.0
hardwareisa => i386
hardwaremodel => i86pc
hostname => myhost
id => root
interfaces => lo0,net0
ipaddress => 10.0.0.15
ipaddress6 => ::
ipaddress_lo0 => 127.0.0.1
ipaddress_net0 => 10.0.0.5
ipaddress_net1 => 10.0.1.5
...
uptime => 0:22 hours
uptime_days => 0
uptime_hours => 0
uptime_seconds => 1320
virtual => virtualbox

または、特定のノード (たとえば、hostname) の個々のファクトを次のように表示できます。

# facter hostname
myhost

システムに関するファクトの収集は、特定のシステム上で適用できる構成のタイプを決定するために役立ちます。たとえば、特定のファイルにプラットフォーム固有の内容を設定するファイルリソースを宣言できます。

次の例では、osfamily ファクトを使用してファイル内でプラットフォームを宣言しています。

$file_contents = $osfamily ? {
  'solaris' => "Hello Oracle Solaris",
  'redhat' => "Hello RHEL",
}

file { '/custom-file.txt':
  ensure => 'present',
  content => $file_contents,
}

前の例では、osfamily ファクトを使用して新しい $file_contents 変数が作成され、条件付きチェックが提供されました。そのあと、プラットフォームに応じて、このファイルに別の内容を割り当てます。

詳細は、https://docs.puppet.com/facter/ を参照してください。