mrtglib - クラウドでオンライン

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド mrtglib です。

プログラム:

NAME


MRTG_lib.pm - MRTG およびサポート スクリプト用のライブラリ

SYNOPSIS


MRTG_lib を使用します。
私の ($configfile, @target_names, %globalcfg, %targetcfg);
readcfg($configfile, \@target_names, \%globalcfg, \%targetcfg);
私 (@parsed_targets);
cfgcheck(\@target_names, \%globalcfg, \%targetcfg, \@parsed_targets);

DESCRIPTION


MRTG_lib は、Multi Router Traffic Grapher である MRTG の一部です。 MRTGから分離された
他のプログラムが同じ構成ファイルを簡単に使用できるようにします。 MRTG_lib の主要部分は、
config ファイルのパーサーですが、他にもいくつかの機能があります。

$MRTG_lib::OS
OSの種類:WIN、UNIX、VMS

$MRTG_lib::SL
Slash 現在のOSで。

$MRTG_lib::PS
PATH 変数のパス区切り

"readcfg"
"readcfg($file, \@targets, \%globalcfg, \%targetcfg [, $prefix, \%extrules])"

構成ファイルを読み取り、解析して、いくつかの配列とハッシュを埋めます。 必須
引数は次のとおりです: 設定ファイルの名前、埋められる配列への参照
ターゲット名のリスト、グローバル構成のハッシュリファレンス、
ターゲット構成。

構成ファイルの構文は次のとおりです。

グローバルオプション: 値
ターゲットオプション[ターゲット名]: 値
aprefix*extglobal: 値
aprefix*exttarget[target2]: 値

例えば

作業ディレクトリ: /var/stat/mrtg
ターゲット[ルーター1]: 2:public@router1.local.net
14all*列: 2

グローバル構成ハッシュの構造は

$globalcfg{configoption} = '値'

ターゲット構成ハッシュの構造は

$targetcfg{configoption}{targetname} = '値'

MRTG 設定構文の詳細については、MRTG リファレンスを参照してください。

「readcfg」は、構成ファイルの構文を拡張するために XNUMX つの追加の引数を取ることができます。 これ
プログラムがその設定を mrtg 設定ファイルに入れることを許可します。 五番目
引数は拡張子の接頭辞で、XNUMX 番目の引数は
これらの拡張設定のチェックルール。 たとえば、プレフィックスが「14all」の場合、「readcfg」は
「14all*」で始まる構成行、つまり次のようなすべての行を確認します

14all*列: 2
14all*graphsize[ターゲット 3]: 500 200

%extrules のルールに対して。 このハッシュの形式は次のとおりです。

$extrules{option} = [sub{$_[0] =~ m/^\d+$/}, sub{"$_[0] のエラー メッセージ"}]
すなわち
$extrules{option}[0] -> テスト式
$extrules{option}[1] -> テストが失敗した場合のエラー メッセージ

配列の最初の部分は、オプションの値をテストするための perl 式です。 の
test は、変数「$arg」でこの値にアクセスできます。 配列の XNUMX 番目の部分は
テストが失敗したときに表示されるエラー メッセージ。 失敗した値は、次のように統合できます。
変数「$arg」を使用します。

「readcfg」呼び出しで指定されたものとは異なるプレフィックスを持つ構成設定は、
チェックされていませんが、挿入されています %globalcfg%targetcfg. プレフィックス設定はそのまま
構成ハッシュのプレフィックス:

$targetcfg{'14all*graphsize'}{'target3'} = '500 200'

「cfgチェック」
"cfgcheck(\@target_names, \%globalcfg, \%targetcfg, \@parsed_targets)"

「readcfg」で読み込んだ構成を確認します。 構成内の値をチェックします
構文エラーおよび/または意味エラー。 一部のオプションのデフォルトを設定します。 解析します
「target[...]」オプションを指定し、配列 @parsed_targets を mrtg 関数の準備ができている状態で埋めます。

最初の XNUMX つの引数は「readcfg」と同じです。 XNUMX 番目の引数は
解析されたターゲット定義で埋められる配列参照。

「cfgcheck」はターゲット設定の値を変換します オプション、例えば

options[router1]: ビット、growright

ハッシュに:

$targetcfg{'option'}{'bits'}{'router1'} = 1
$targetcfg{'option'}{'growright'}{'router1'} = 1

これは「readcfg」では行われないため、「cfgcheck」を使用しない場合は、
スカラー変数 $targetcfg{'option'}{'router1'} (MRTG ではオプションを分離することができます
スペースまたは「,」))。

「ensureSL」
「ensureSL(\$パス名)」

次のことを確認します パス名 ダブル パス セパレータを含まず、パスで終わる
セパレーター。 $MRTG_lib::SL をパス区切りとして使用します。これは、状況に応じて / または \ になります
OS。

"log2rrd"
"log2rrd ($router,\%globalcfg,\%targetcfg)"

ログ ファイルを rrd 形式に変換します。 rrdtool が必要です。

"datestr"
"datestr(時間)"

適切にフォーマットされた日付文字列として、引数で指定された時間を返します。 引数
UNIX 時間形式 (1970 年 1 月 1 日からの秒数) でなければなりません。

「タイムスタンプ」
「タイムスタンプ()」

現在の時刻を表す文字列を返します。

"setup_loghandlers"
"setup_loghandlers(ファイル名)"

__DIE__ および __WARN__ のシグナルハンドラをインストールして、エラーを指定されたものにします
行き先。 ファイル名が 'eventlog' の場合、mrtg は Windows イベント ロガーにログを記録します。

"expistr"
「expistr(時間)」

HTTP Expire-Headers に適した形式の引数で指定された時間を返します。

"create_pid"
"create_pid()"

mrtg デーモンの pid ファイルを作成します。

"demonize_me"
"demonize_me()"

実行中のプログラムをバックグラウンドに置き、端末から切り離します。

「ポピュレートキャッシュ」
"populatecache(\%confcache, $host, $reread, $snmpoptshash)"

SNMP 変数を読み取ります ifDescr, ipAdEntIfIndex, ifPhysAddress, ifName host
値を格納します %confcache 次のように:

$confcache{$host}{'Descr'}{ifDescr}{oid} = (ifDescr または 'Dup')
$confcache{$host}{'IP'}{ipAdEntIfIndex}{oid} = (ipAdEntIfIndex または 'Dup')
$confcache{$host}{'Eth'}{ifPhysAddress}{oid} = (ifPhysAddress または 'Dup')
$confcache{$host}{'Name'}{ifName}{oid} = (ifName または 'Dup')
$confcache{$host}{'Type'}{ifType}{oid} = (ifType または 'Dup')

値が複数回取得された場合、値 (= の右側) は「Dup」です。
取得した値

「readconfcache」
「私の $confcache = readconfcache($file)」

ファイルから confcache をプリロードします。

「confcache からの読み取り」
"writeconfcache($confcache,$file)"

現在の confcache をファイルに保存します。

「writeconfcache」
"writeconfcache($confcache,$file)"

現在の confcache をファイルに保存します。

「ストアインキャッシュ」
"storeincache($confcache,$host,$method,$key,$value)"

「readfromcache」
"readfromcache($confcache,$host,$method,$key)"

「キャッシュからクリア」
"clearfromcache($confcache,$host)"

"デバッグ"
「デバッグ($タイプ、$メッセージ)」

を印刷します メッセージ タイプのデバッグが有効になっている場合は STDERR で type. デバッグタイプは
次の場合に有効 type 配列 @main::DEBUG にあります。

作者


ライナー・バウィダマンRainer.Bawidamann@rz.uni-ulm.de>

(このマンページ)

onworks.net サービスを使用してオンラインで mrtglib を使用する



最新のLinuxおよびWindowsオンラインプログラム