# glogger.conf

## Name

glogger.conf -- GLogger 設定ファイル

## DESCRIPTION

glogger.conf ファイルは、glogger プログラムの設定ファイルです。 なお、設定内容を変更した場合は、glogger を再起動する必要があります。

glogger は、設定ファイルとして、/etc/glogger/glogger.conf を読み込みます。 -config オプションで設定ファイルを指定すると、それが優先されます。

glogger の設定ファイルは、以下の構造になっています。

* 設定ファイルは単一ファイルとする。

* 各設定項目は、設定名とその値を半角スペース一つ以上で区切り、それぞれ各行に記述する。

* 区切り以外の半角スペース、タブは無視する。

* 各行の '#' 以降はコメントとする。

* 各行は 1024 文字までとする。

* ブロックは 'ブロック名 {' 行ではじまり、'}' 行で終了する。

* ブロック内には、そのブロックに記述が許可されている、設定項目とブロックを記述できる。

* ファイルの先頭からブロックになっていない部分を global default ブロックと呼ぶ。

* global default ブロック以降に、requests ブロックを複数記述できる。

* nodes ブロックは requests ブロック内に一つ記述できる。

* mib ブロックは nodes ブロックの後に記述し、requests ブロック内に複数記述できる。

* oids ブロックは mib ブロック内に一つ記述できる。

* ブロック内にブロックがある場合は、 ブロックを定義する前に行った設定項目を、 以降ネストしたブロック内の設定項目として引き継ぎ、 そのブロック内に同じ 設定名がある場合は、 そのブロック内では、その設定項目が優先される。

* 未定義の設定名、設定値、記述表現で記述した場合、エラーとなる。

* 1度も記述されなかった設定項目には、デフォルト値が適用される。 しかし、デフォルト値が存在しない設定項目もある。

glogger の設定ファイルは、以下のような構造で記述します。

interval [interval-spec]
maxfilesize [maxfilesize-spec]
defaultdir [defaultdir-spec]
overwrite [overwrite-spec]
fsync_interval [fsync_interval-spec]
label [label-spec]
path [path-spec]
community [community-spec]
requests {
interval [interval-spec]
path [path-spec]
community [community-spec]
nodes {
[node-spec]
....
}
mib {
interval [interval-spec]
path [path-spec]
oids {
[oid-spec]
....
}
}
mib...
}
requests...

....は、その上に記述した [?-spec] がいくつ続いても良いです。 mib... や requests... は、それぞれのブロックがいくつ続いても良いです。 [?-spec] には、それぞれ以下の数字や文字列を指定できます。

[interval-spec] には小数値を指定します。対象の測定間隔となります。 ただし、現バージョンでは 0.1 秒未満は切捨てられます。 (ex. interval 0.1, デフォルト値は 10.0)

[maxfilesize-spec] には出力ファイルの最大サイズを KB単位 の整数値で指定します。指定したサイズを超えてから、内部動作タイミングのキ リの良いところでファイルを切り替えます。この場合、path 設定でのファイル 名生成ルールでファイルは切り替わりません。-mmap モード動作時は、ここで指 定したファイルサイズを超えたところで終了します。0(デフォルト値) を指定し、 さらにファイル名生成ルールでも時刻を入れない場合は、停止されるまで ファイルへ出力しつづけます。 (ex. 約 1MBの場合 → maxfilesize 1024, デフォルト値は 0)

[defaultdir-spec] には基準となる出力先ディレクトリの 絶対パスを指定します。 path 項で %G を記述したときに置換される値となります。 global default 部分のみで指定できます。 (ex. defaultdir /home/glogger, デフォルト値は /var/log/glogger)

[label-spec] には任意の文字列を指定します。 計測テスト名や、クラスタ名などを付けて使うことを想定しています。 path 項で %L を記述した場合に置換される文字列となります。 (ex. label test01, デフォルト値は glogger)

[overwrite-spec] には出力ファイルの上書き許可文字列 on または enable を指定します。 on または enable を記述すると、GLogger の起動時、または、ファイル切り替え時に、 すでに同じ名前のファイルが存在している場合に上書きします (以前のデータは削除されます)。 (ex. overwrite enable, デフォルトは上書きしない)

[fsync_interval-spec] には fsync() する間隔の秒数、または on または enable を 指定します。 GLogger は出力時に毎回 fflush() しますが、指定した間隔(秒)を超えたタイミングで fsync() もするようになります。 on または enable を指定した場合は、内部動作インターバル(設定ファイルの記述によって異なる) ごとに、毎回 fsync() します。 また、内部動作インターバルが、ここで指定した秒数よりも大きい間隔の場合、毎回 fsync() します。 デフォルトでは一切 fsync() しません。 (ex. fsync_interval 5, デフォルトは fsync() しない)

[path-spec] には出力ファイルの絶対パスファイル名を指定する文字列を指定 します。以下の置換ルールが適用できます。また、内部動作のキリの良いタイ ミングで、このルールと現在の時刻からファイル名を生成し、それまで出力して いたファイル名と比較します。時刻を置換するルールを使用した場合、 時刻から生成されたファイル名に変更があった場合は、その新しいファイルに 切り替え、そこへ出力します。設定ファイルの maxfilesize や、 起動時オプション引数で、ファイルサイズ制限を行った場合は、時刻を使った ファイル名置換ルールを使わず、ファイルサイズ制限でファイルを切り替えます。 また、ディレクトリは自動的に作成しません。

%G defaultdir のディレクトリ絶対パス
%L ラベル(クラスタ名、実験名など)
%n nodes で指定された FQDN
%N nodes で指定されたニックネーム
%o mibs で指定された OID名
%O mibs で指定された OIDニックネーム

時刻に関する置換には、GLogger を起動した時、またはファイルが切り替わる時の 時刻の値が利用されます。

%t 年月日時分秒ミリ秒
(ex. 20031231235959000)
%c マイクロ秒 (000000..999999)
%s ミリ秒 (000..999)
%S 秒 (00..59)
%M 分 (00..59)
%h 時 (00..23)
%d 月内通算日数 (01..31)
%j 年内通算日数 (001..366)
%m 月 (01..12)
%y 年 (1970...)

(ex. path %G/%H/%O/%y%m%h.glg, デフォルト値は %G/%L_%y%m%d%h%M.glg)

[community-spec] にはコミュニティストリングを指定します。 (ex. community private, デフォルト値は public)

[node-spec] には「ホスト名 ニックネーム」の組を各行に記述します。 ニックネームが無ければ、%H は %h と同等となります。 nodes ブロック内に、複数行記述できます。最大数は未定義です。 ホスト名には、単純ホスト名、IP アドレス、[?-?] による連番数字指定が 利用できます。 連番数字指定 [?-?] の ? には 0 以上の整数(10進 or 16進)(16進の場合は 0x で始まる文字列)を指定します。左に始点、右に終点の数を指定します。始 点より終点のほうが大きい数でなければなりません。5桁まで指定できます。 始点で 0 を付加して桁合わせをすることができます。終点の値に近付くにし たがって、始点で指定した桁数よりも大きくなる場合は、始点の桁を超えて展 開します。また、終点に先頭からいくつか 0 を付加しても、始点より多く指 定したり、少なく指定しても、始点であわせた桁になります。

例えば、
[1-9] は 1 から 9 の 9個に展開されます。
[0x1-0x10] は 1 から f と 10 の 16個に展開されます。
[000-20] は 000 から 020 の 21個に展開されます。

ニックネームに $1, $2... として指定すると、[?-?]部を指定した順番に置換 されます。 例えば、abc[01-02]-[03-04].cdef.com abc$1-$2 と指定すると、ニックネームは abc01-03, abc01-04, abc02-03, abc02-04 の 4個に展開されます。 展開される順番は未定義です。

| 注意
| 対応する $1, $2...を指定しなくてもエラーとなりません。 しかし [?-?]部の個数より多く $部を指定するとエラーとなります。

ex.
gfm[01-80].apgrid.org gfm$1
gfmgw[01-10].apgrid.org gfmgw$1
localhost
172.19.2.[0-255] private$1
a[0x00-0xff]-[000-100].b.com abc$2-$1
デフォルト値は無し。

[oids-spec] には「OID名 ニックネーム」の組を各行に記述します。 ニックネームは省略できません。 oids ブロック内に、複数行記述できます。 指定できる OID の数は、一つの計測対象ノードに対して、1度の SNMP 要求 に入る個数まで指定できます。

ex.
# 最近 1分のロードアベレージ
enterprises.ucdavis.laTable.laEntry.laLoad.1 loadavg
# 2番目のネットワークインターフェースの TX
interfaces.ifTable.ifEntry.ifOutOctets.2 eth0-out
# 2番目のネットワークインターフェースの RX
interfaces.ifTable.ifEntry.ifInOctets.2 eth0-in
# 1番目のパーティション(snmpd.confで設定した順)の使用量
enterprises.ucdavis.dskTable.dskEntry.dskUsed.1 used
# 1番目のパーティション(snmpd.confで設定した順)の空き容量
enterprises.ucdavis.dskTable.dskEntry.dskAvail.1 available
デフォルト値は無し。

## SEE ALSO

glogger(8)