<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">

<refentry id='glogger.conf.5'>

<refentryinfo><date>18 Sep 2003</date></refentryinfo>

<refmeta>
<refentrytitle>glogger.conf</refentrytitle>
<manvolnum>5</manvolnum>
<refmiscinfo>Gfarm</refmiscinfo>
</refmeta>

<refnamediv id='name'>
<refname>glogger.conf</refname>
<refpurpose>GLogger 設定ファイル</refpurpose>
</refnamediv>

<!-- body begins here -->

<refsect1 id='description'><title>DESCRIPTION</title>
<para>
glogger.conf ファイルは、glogger プログラムの設定ファイルです。

なお、設定内容を変更した場合は、glogger を再起動する必要があります。
</para>

<para>
glogger は、設定ファイルとして、/etc/glogger/glogger.conf を読み込みます。
-config オプションで設定ファイルを指定すると、それが優先されます。
</para>
<para>
glogger の設定ファイルは、以下の構造になっています。
</para>

<para>* 設定ファイルは単一ファイルとする。</para>
<para>* 各設定項目は、設定名とその値を半角スペース一つ以上で区切り、それぞれ各行に記述する。</para>
<para>* 区切り以外の半角スペース、タブは無視する。</para>
<para>* 各行の '#' 以降はコメントとする。</para>
<para>* 各行は 1024 文字までとする。</para>
<para>* ブロックは 'ブロック名 {' 行ではじまり、'}' 行で終了する。</para>
<para>* ブロック内には、そのブロックに記述が許可されている、設定項目とブロックを記述できる。</para>
<para>* ファイルの先頭からブロックになっていない部分を global default ブロックと呼ぶ。</para>
<para>* global default ブロック以降に、requests ブロックを複数記述できる。</para>
<para>* nodes ブロックは requests ブロック内に一つ記述できる。</para>
<para>* mib ブロックは nodes ブロックの後に記述し、requests ブロック内に複数記述できる。</para>
<para>* oids ブロックは mib ブロック内に一つ記述できる。</para>
<para>* ブロック内にブロックがある場合は、
ブロックを定義する前に行った設定項目を、
以降ネストしたブロック内の設定項目として引き継ぎ、
そのブロック内に同じ 設定名がある場合は、
そのブロック内では、その設定項目が優先される。</para>
<para>* 未定義の設定名、設定値、記述表現で記述した場合、エラーとなる。</para>
<para>* 1度も記述されなかった設定項目には、デフォルト値が適用される。
しかし、デフォルト値が存在しない設定項目もある。</para>

<para>glogger の設定ファイルは、以下のような構造で記述します。</para>
<literallayout>
 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...
</literallayout>

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

<para>
[interval-spec] には小数値を指定します。対象の測定間隔となります。
ただし、現バージョンでは 0.1 秒未満は切捨てられます。
(ex. interval 0.1, デフォルト値は 10.0)
</para>
<para>
[maxfilesize-spec] には出力ファイルの最大サイズを KB単位
の整数値で指定します。指定したサイズを超えてから、内部動作タイミングのキ
リの良いところでファイルを切り替えます。この場合、path 設定でのファイル
名生成ルールでファイルは切り替わりません。-mmap モード動作時は、ここで指
定したファイルサイズを超えたところで終了します。0(デフォルト値) を指定し、
さらにファイル名生成ルールでも時刻を入れない場合は、停止されるまで
ファイルへ出力しつづけます。
(ex. 約 1MBの場合 → maxfilesize 1024, デフォルト値は 0)
</para>
<para>
[defaultdir-spec] には基準となる出力先ディレクトリの
絶対パスを指定します。
path 項で %G を記述したときに置換される値となります。
global default 部分のみで指定できます。
(ex. defaultdir /home/glogger, デフォルト値は /var/log/glogger)
</para>
<para>
[label-spec] には任意の文字列を指定します。
計測テスト名や、クラスタ名などを付けて使うことを想定しています。
path 項で %L を記述した場合に置換される文字列となります。
(ex. label test01, デフォルト値は glogger)
</para>
<para>
[overwrite-spec] には出力ファイルの上書き許可文字列 on または enable を指定します。
 on または enable を記述すると、GLogger の起動時、または、ファイル切り替え時に、
すでに同じ名前のファイルが存在している場合に上書きします
(以前のデータは削除されます)。
(ex. overwrite  enable, デフォルトは上書きしない)
</para>
<para>
[fsync_interval-spec] には fsync() する間隔の秒数、または on または enable を
指定します。
GLogger は出力時に毎回 fflush() しますが、指定した間隔(秒)を超えたタイミングで
fsync() もするようになります。
on または enable を指定した場合は、内部動作インターバル(設定ファイルの記述によって異なる)
ごとに、毎回 fsync() します。
また、内部動作インターバルが、ここで指定した秒数よりも大きい間隔の場合、毎回 fsync()
します。
デフォルトでは一切 fsync() しません。
(ex. fsync_interval  5,  デフォルトは fsync() しない)
</para>
<para>
[path-spec] には出力ファイルの絶対パスファイル名を指定する文字列を指定
します。以下の置換ルールが適用できます。また、内部動作のキリの良いタイ
ミングで、このルールと現在の時刻からファイル名を生成し、それまで出力して
いたファイル名と比較します。時刻を置換するルールを使用した場合、
時刻から生成されたファイル名に変更があった場合は、その新しいファイルに
切り替え、そこへ出力します。設定ファイルの maxfilesize や、
起動時オプション引数で、ファイルサイズ制限を行った場合は、時刻を使った
ファイル名置換ルールを使わず、ファイルサイズ制限でファイルを切り替えます。
また、ディレクトリは自動的に作成しません。
<literallayout>
%G  defaultdir のディレクトリ絶対パス
%L  ラベル(クラスタ名、実験名など)
%n  nodes で指定された FQDN
%N  nodes で指定されたニックネーム
%o  mibs で指定された OID名
%O  mibs で指定された OIDニックネーム
</literallayout>
時刻に関する置換には、GLogger を起動した時、またはファイルが切り替わる時の
時刻の値が利用されます。
<literallayout>
%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...)
</literallayout>
(ex. path %G/%H/%O/%y%m%h.glg, デフォルト値は %G/%L_%y%m%d%h%M.glg)
</para>
<para>
[community-spec] にはコミュニティストリングを指定します。
(ex. community  private, デフォルト値は public)
</para>
<para>
[node-spec] には「ホスト名 ニックネーム」の組を各行に記述します。
ニックネームが無ければ、%H は %h と同等となります。
nodes ブロック内に、複数行記述できます。最大数は未定義です。
ホスト名には、単純ホスト名、IP アドレス、[?-?] による連番数字指定が
利用できます。

連番数字指定 [?-?] の ? には 0 以上の整数(10進 or 16進)(16進の場合は 
0x で始まる文字列)を指定します。左に始点、右に終点の数を指定します。始
点より終点のほうが大きい数でなければなりません。5桁まで指定できます。
始点で 0 を付加して桁合わせをすることができます。終点の値に近付くにし
たがって、始点で指定した桁数よりも大きくなる場合は、始点の桁を超えて展
開します。また、終点に先頭からいくつか 0 を付加しても、始点より多く指
定したり、少なく指定しても、始点であわせた桁になります。
<literallayout>
例えば、
[1-9] は 1 から  9 の 9個に展開されます。
[0x1-0x10] は 1 から f と 10 の 16個に展開されます。
[000-20] は 000 から 020 の 21個に展開されます。

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

<warning><title>注意</title>
<para>対応する $1, $2...を指定しなくてもエラーとなりません。
しかし [?-?]部の個数より多く $部を指定するとエラーとなります。
</para>
</warning>
<literallayout>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
デフォルト値は無し。
</literallayout>
</para>
<para>
[oids-spec] には「OID名  ニックネーム」の組を各行に記述します。
ニックネームは省略できません。
oids ブロック内に、複数行記述できます。
指定できる OID の数は、一つの計測対象ノードに対して、1度の SNMP 要求
に入る個数まで指定できます。
<literallayout>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
  デフォルト値は無し。
</literallayout>
</para>
</refsect1>


<refsect1 id='see-also'><title>SEE ALSO</title>
<para>
  <citerefentry><refentrytitle>glogger</refentrytitle><manvolnum>8</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>

