SMFのXML、自分用メモ ※ 以下「ようだ」とか「かな?」とかは未確認項目。記載と現実が異なった場合は現実が正しい。 FMRIは「svc:/ジャンル/サブジャンル/.../サービス:インスタンス」という形式であるようだ。 service : 「httpを喋るもの全部」みたいなカテゴリ。 instance : 「Port80を聞いているApache」とか「Port8080を聞いているtomcat」とかの、 個々のdaemon。 「http:default」は、httpを喋るインスタンスが1つしか無いなら有り。 ただし現実には複数のものが動き得るので「http:apache」などとして、 インスタンスも明記する。 「smtp:sendmail」「smtp:postfix」みたいな感じ。 「」の「enabled」は、どうやら 「import直後にenabledにするかdisableにするか」(要するに「初期値」)を 決めるようだ。 1つのxmlで複数のservice/instanceを定義することが可能であるようだが、現実として ややこしいのでinstance単位でxmlを分ける、、、のが一般的なようだ。 dependency / dependent : インスタンスの依存関係の記載。 dependency : 俺はこいつが動いてからでないと動かない。 dependent : 俺はこいつが動く前に動く(こいつは俺が動かないと動かない)。 name : 単なる「名称」のようだ。ラベルっぽい。 インスタンスがdependencyに引っかかって落ちた(上がらない)時に 「こいつの所為だ」と判別するため、、、のようだ。 とすると、、、インスタンス内でuniqueでありさえすればいいのかな? grouping : 4カテゴリに分かれる。 require_all : このグループは全部を満たさないと動かない。 require_any : どれかが動けばいい。 optional_all : 無くてもいいけど、あるなら依存する、、、ようだ。 もしかしたら「単なるメモ」なのかもしれない、、、。 exclusive_all : どれもが動いていない状態でないと動かない。 restart_on : これも4カテゴリ。 refresh < restart < error < none の順で、「依存先の状態変化」の 発生時に自分を止める(条件が戻ったら自分を再起動することから来て いるのかな?)かどうかの「堅牢性」を定義する。 refresh : 依存先がrefreshされただけでも自分に影響する。 restart : 依存先がrefreshされただけでは何も起きないが、restart されたら自分に影響する。 error : 依存先がエラーで止まらない限り自分は動き続ける。 none : 依存先に何が起きようとも自分には影響しない。 type : dependencyのタイプ。現状2種類しかないようだ。DTDでは何でもよさそうに 思える、、、。 service : こいつが動いてるか否か、、、のようだ。 path : ファイルやディレクトリのpathを書く、、、ようだ。存在チェック かなあ、、、。