ファイル名
mpatarule_XXXXX.ini
XXXXX:ログ識別名を表します。
標準で登録されている正規化ルール定義ファイルは以下のとおりです。
正規化ルール定義ファイル名 | 対象監査ログ |
---|---|
mpatarule_EventLogApplication.ini | Windowsイベントログ(アプリケーション) |
mpatarule_EventLogSecurity.ini | Windowsイベントログ(セキュリティ) |
mpatarule_EventLogSystem.ini | Windowsイベントログ(システム) |
mpatarule_EventLogDNSServer.ini | Windowsイベントログ(DNS Server) |
mpatarule_EventLogDirectoryService.ini | Windowsイベントログ(Directory Service) |
mpatarule_EventLogFileRepService.ini | Windowsイベントログ(ファイル複製サービス) |
mpatarule_EventLogDFSReplication.ini | Windowsイベントログ(DFS レプリケーション) |
mpatarule_EventLogHardwareEvents.ini | Windowsイベントログ(ハードウェアイベント) |
mpatarule_EventLogForwardedEvents.ini | Windowsイベントログ(転送されたイベント) |
mpatarule_EventLogHVCfgAdmin.ini | Microsoft-Windows-Hyper-V-Config-Admin |
mpatarule_EventLogHVCfgOpe.ini | Microsoft-Windows-Hyper-V-Config-Operational |
mpatarule_EventLogHVHAAdmin.ini | Microsoft-Windows-Hyper-V-High-Availability-Admin |
mpatarule_EventLogHVHyAdmin.ini | Microsoft-Windows-Hyper-V-Hypervisor-Admin |
mpatarule_EventLogHVHyOpe.ini | Microsoft-Windows-Hyper-V-Hypervisor-Operational |
mpatarule_EventLogHVIMSAdmin.ini | Microsoft-Windows-Hyper-V-Image-Management-Service-Admin |
mpatarule_EventLogHVIMSOpe.ini | Microsoft-Windows-Hyper-V-Image-Management-Service-Operational |
mpatarule_EventLogHVIntAdmin.ini | Microsoft-Windows-Hyper-V-Integration-Admin |
mpatarule_EventLogHVNetAdmin.ini | Microsoft-Windows-Hyper-V-Network-Admin |
mpatarule_EventLogHVNetOpe.ini | Microsoft-Windows-Hyper-V-Network-Operational |
mpatarule_EventLogHVSNAdmin.ini | Microsoft-Windows-Hyper-V-SynthNic-Admin |
mpatarule_EventLogHVSSAdmin.ini | Microsoft-Windows-Hyper-V-SynthStor-Admin |
mpatarule_EventLogHVSSOpe.ini | Microsoft-Windows-Hyper-V-SynthStor-Operational |
mpatarule_EventLogHVVMMSAdmin.ini | Microsoft-Windows-Hyper-V-VMMS-Admin |
mpatarule_EventLogHVWAdmin.ini | Microsoft-Windows-Hyper-V-Worker-Admin |
mpatarule_EventLogHVSFAdmin.ini | Microsoft-Windows-Hyper-V-SynthFc-Admin |
mpatarule_EventLogHVVIDAdmin.ini | Microsoft-Windows-Hyper-V-VID-Admin |
mpatarule_EventLogHVVMMSNet.ini | Microsoft-Windows-Hyper-V-VMMS-Networking |
mpatarule_EventLogHVVMMSOpe.ini | Microsoft-Windows-Hyper-V-VMMS-Operational |
mpatarule_EventLogHVVMMSSto.ini | Microsoft-Windows-Hyper-V-VMMS-Storage |
mpatarule_SolarisSyslog.ini | UNIXシステムログ(Solaris) |
mpatarule_SolarisSuLog.ini | Solaris suログ |
mpatarule_SolarisLoginLog.ini | Solarisログインログ |
mpatarule_LinuxSyslog.ini | UNIXシステムログ(Linux) |
mpatarule_HPUXSyslog.ini | HP-UXシステムログ |
mpatarule_HPUXSuLog.ini | HP-UX suログ |
mpatarule_AIXSyslog.ini | AIXシステムログ |
mpatarule_AIXSuLog.ini | AIX suログ |
mpatarule_IISNCSALog.ini | IISログ(NCSA共通ログファイル形式) |
mpatarule_IISLog.ini | IISログ(Microsoft IISログファイル形式) |
mpatarule_IISW3CLog.ini | IISログ(W3C拡張形式) |
mpatarule_ApacheAccessLog.ini | Apacheアクセスログ(NCSA形式) |
mpatarule_ApacheErrorLog.ini | Apacheエラーログ |
mpatarule_CMGRCmdRevLog.ini | Systemwalker Centric Managerリモートコマンド検索ログ |
mpatarule_DTK.ini | Systemwalker Desktop Keeperクライアント操作ログ |
mpatarule_CMGROpLog.ini | Systemwalkerコンソール監査ログ |
mpatarule_CMGRSvacLog.ini | サーバアクセス制御の監査ログ |
mpatarule_NREventLog.ini | ETERNUS NR1000F seriesイベントログ |
mpatarule_OMGRLog.ini | Systemwalker Operation Managerの監査ログ |
使用用途
本ファイルは、監査ログの正規化(各種ログ形式の統一)用の変換規則定義ファイルです。
運用管理サーバ上に格納されています。
mpatarulectl(正規化ルール管理コマンド)を実行するときにオプションで指定するファイルです。
格納場所
Windows | Systemwalkerインストールディレクトリ\MPWALKER.DM\mpata\etc\rule |
Solaris | /etc/opt/FJSVmpata/etc/rule |
ファイル形式
[Filter] Pattern=テキスト一致パターン PositionParam=区切り文字,文字列順番,格納変数名,抽出元 PositionParam=区切り文字,文字列順番,格納変数名,抽出元 : [Filter] Pattern=テキスト一致パターン CsvParam=文字列順番,格納変数名,抽出元 CsvParam=文字列順番,格納変数名,抽出元 : [Filter] Pattern=テキスト一致パターン TitleParam=左見出し,右見出し,文字列順番,格納変数名,抽出元 TitleParam=左見出し,右見出し,文字列順番,格納変数名,抽出元 : [Filter] Pattern=テキスト一致パターン SetParam=格納文字列,格納変数名 SetParam=格納文字列,格納変数名
OSの文字コードで記述します。
セミコロン(;)で始まる行はコメント行として取り扱います。
「Pattern=」の右側は、改行直前までのすべての文字を「テキスト一致パターン」として扱います。したがって、イコール記号(=)の右に空白を空けたり全体をダブルクォーテーションで囲った場合、空白やダブルクォーテーション記号も定義文字列の一部となります。
「Pattern=」以外の「キー名=」の形式では、イコール記号(=)の右側は、カンマ(,)から次のカンマ、または改行直前までのすべての文字を定義文字列として扱います。したがって、カンマの前後に空白を空けたりパラメタをダブルクォーテーションで囲った場合、空白やダブルクォーテーション記号も定義文字列の一部となります。
ただし、以下の文字の並びは特別な解釈をします。
文字の並び | 意味 |
---|---|
\, | パラメタ間の区切りではなく1文字のカンマ記号として解釈します。定義する文字列がカンマ記号を含んでいる場合に使用します。 |
\t | TAB文字として解釈します。定義する文字列がTAB記号を含んでいる場合に使用します。 |
\\ | 1文字の円記号として解釈します。定義する文字列が円記号を含んでいる場合に使用します。 |
各Filterセクション内には、Patternキーの定義を1行(省略できません)と、PositionParamキー、CsvParamキー、TitleParamキー、SetParamキーの定義をそれぞれ任意の行数記述することができます。
ログテキストが複数のテキスト一致パターンに一致する場合、最初に一致したパターンによって正規化が行われます。
1つのイベントが複数行のログテキストから構成される場合、日時のある行(日時行と呼びます)から次に出現した日時行の前行(日時行がない場合はファイル終端)までを1つのログテキストとして扱います。
複数行のログテキストをパターン一致させる場合、行の区切り文字として「\n」を使用します。
ログテキスト中に含まれる改行文字は、半角空白に置き換えて出力します。
パラメタ
セクション名 | キー名 | キーの説明 | 項 | 内容 | 最大長 | 最大値 | 必 | 値 | 省略値 | 備考 |
---|---|---|---|---|---|---|---|---|---|---|
Filter | Pattern | そのセクションの定義によって正規化を行うためのログテキストの条件を正規表現で定義します。各ログテキストは、この正規表現に最初に一致したセクションの定義を使用して正規化が行われます。正規表現で「.*」を多用すると性能劣化の原因となる場合があります。1つのPatternキーでの「.*」の記述は可能な限り5つ以内にしてください。 | テ | ログテキストとの一致確認を行う正規表現文字列を記述します。 | 2048 | - | ○ | 文 | - | (注1) |
Filter | PositionParam | ログテキストを半角空白など任意の文字で区切られた複数の項目からなるデータとして解釈し、先頭からn番目の項目を抽出して正規化項目に設定します。 | 区 | ログテキスト中の文字列を区切る文字を半角1文字で指定します。 | 1 | - | ○ | 文 | 空文字を定義した場合、同一セクション内の前の行で定義した区切り文字が使用されます。同一セクション内で区切り文字が1度も定義されていない場合は、半角空白を区切り文字とします。 |
|
Filter | PositionParam | 文 | 区切り文字による抽出文字列の順番(1以上)です。 | - | 999 | ○ | 数 | - |
| |
Filter | PositionParam | 格 | 抽出文字列を格納する変数名です。 | 17 | - | ○ | 文 | - |
| |
Filter | PositionParam | 抽 | 文字列の抽出元とする変数名です。 | 17 | - | - | 文 | 正規化元のログテキスト | (注2) | |
Filter | CsvParam | ログテキストをCSV形式として解釈し、先頭からn番目の項目を抽出して正規化項目に設定します。 | 文 | カンマによる抽出文字列の順番(1以上)です。「n-」とハイフンを付加した場合、n番目以降の文字列を抽出します。 | - | 999 | ○ | 数 | - |
|
Filter | CsvParam | 格 | 抽出文字列を格納する変数名 | 17 | - | ○ | 文 | - |
| |
Filter | CsvParam | 抽 | 文字列の抽出元とする変数名 | 17 | - | - | 文 | 正規化元のログテキスト | (注2) | |
Filter | TitleParam | ログテキスト中から2つの文字列を検索し、それらにはさまれた文字列を抽出して正規化項目に設定します。 | 左 | 見出しによる抽出文字列の左側の見出しです。 | 1024 | - | ○ | 文 | 空文字を定義した場合、テキストの先頭から抽出を行います。 |
|
Filter | TitleParam | 右 | 抽出文字列の右側の見出しです。 (注3) | 1024 | - | ○ | 文 | 空文字を定義した場合、テキストの末尾まで抽出を行います。 |
| |
Filter | TitleParam | 文 | 見出しによる抽出文字列の順番です。(1以上) | - | 999 | ○ | 数 | - |
| |
Filter | TitleParam | 格 | 抽出文字列を格納する変数名です。 | 17 | - | ○ | 文 | - |
| |
Filter | TitleParam | 抽 | 文字列の抽出元とする変数名 | 17 | - | - | 文 | 正規化元のログテキスト | (注2) | |
Filter | SetParam | 正規化項目へ設定する文字列を直接定義します。 | 格 | 正規化項目へ格納する文字列を直接指定します。 | 1024 | - | ○ | 文 | - |
|
Filter | SetParam | 格 | 格納文字列を格納する変数名です。 | 17 | - | ○ | 文 | - |
|
○:必須定義項目を表します。
正規表現に使用できる文字の詳細については、“Systemwalker Centric Manager 使用手引書 監視機能編”の“正規表現の設定例”を参照してください。
抽出元の定義はログテキストからの文字列の抽出を2段階以上に分けて行う場合に使用します。1段階目では本パラメタを省略してログテキストからの抽出を行い、その抽出結果を格納した変数名を2段階目以降の抽出で本パラメタに定義します。このとき、1段階目と2段階目以降の抽出定義は同一セクション内である必要があります。
なお、抽出元を省略する場合は、前のパラメタとの区切り文字(カンマ)も省略してください。
実際に記述するときには、ダブルクォーテーション「"」で囲む必要はありません。
格納変数名は以下の項目だけ指定可能です。
変数名 | 項目名 | 複数指定 | 説明 |
---|---|---|---|
OperationLocation | 操作場所 | × | 操作を行ったホスト名(運用管理クライアント名など)です。 |
OperationIpAddr | 操作IPアドレス | × | 操作を行ったホストのIPアドレスです。 |
ExecutionIpAddr | 実行IPアドレス | ○(16) | 要求された操作を実際に実行するホストのIPアドレスです。 |
Operator | 操作者 | × | 操作を行ったユーザ名です。 |
OperationTarget | 操作対象 | ○(16) | 操作対象となるノードやアプリケーションなどを表す名称(業務サーバ名など)です。 |
OperationType | 操作種別 | × | 操作した内容を分類するための種別です。 |
OperationDetail | 操作内容 | × | 何を行ったかの内容(実行したコマンド行やメッセージテキスト)です。 |
ExecutionResult | 実行結果 | × | 実行結果です。 |
Component | コンポーネント | × | 操作対象のコンポーネント名です。 |
AdditionalInfo | 追加情報 | ○(16) | 操作エラーの詳細情報、操作を追跡するためのID(セッションID相当)、影響範囲などです。 |
Severity | 深刻度 | × | 深刻度です。 |
ExtensionType* | 拡張種別* (注) | × | ログ種別ごとの固有項目です。 |
ExtensionValue* | 拡張値* (注) | ○(16) | |
Temporary | - | × | 一時格納用の変数です。 |
○:複数指定できます。
×:複数指定できません。
注)
ExtensionType(拡張種別)とExtensionValue(拡張値)の*の箇所は1~20までの数字です。これらは対で定義します。
ExtensionType1, ExtensionType2,..., ExtensionType20
ExtensionValue1, ExtensionValue2,..., ExtensionValue20
変数Temporaryは正規化項目ではなく、ログテキストからの文字列の抽出を2段階以上に分けて行う際に、抽出元として使用するための一時格納用の変数です。
例)
以下のログテキストから「usr1」を操作者として抽出する場合
ログテキスト
"aaa:bbb:","ccc","SysGrp:usr1:1101","ddd"
抽出方法
テキスト全体をCSV解釈して3番目の項目を抽出し、さらに抽出した文字列を「:」区切りで解釈して2番目の項目を抽出します。
ルール定義
CsvParam=3,Temporary
PositionParam=:,2,Operator,Temporary
設定可能な格納変数に値を設定しなかった場合、正規化ログの該当項目はアンダースコア(_)になります。また、正規化ルール定義で設定できない正規化項目には以下の情報を元に自動で設定されます。
項目名 | 設定元情報 |
---|---|
日時 | 正規化元ログテキスト中の日時情報 |
日付 | |
時刻 | |
時間帯 | |
曜日 | |
実行ホスト | 正規化元監査ログファイルのファイル名の中に埋め込まれているサーバ名 |
ログテキスト | 正規化元ログテキスト |
ログ種別 | 正規化元監査ログファイルのファイル名の中に埋め込まれているログ識別名 |
各変数に設定可能な文字列の最大長は32Kバイトです。抽出文字列が最大長を超える場合、32Kバイト以降は切り捨てられます。
1つのログテキストで、複数指定可能な同一項目に複数の値が設定された場合、値どうしはセミコロンで区切られて格納されます。また複数指定できない項目に対して同一項目に複数の値が設定された場合は、最後に設定した値だけが有効になります。
以下に例を示します。
複数指定可能な項目の場合
SetParam=OperationTarget,A
SetParam=OperationTarget,B
SetParam=OperationTarget,C
とした場合、OperationTargetに格納される値は、A;B;C です。
複数指定不可能な項目の場合
SetParam=Operator,A
SetParam=Operator,B
SetParam=Operator,C
とした場合、Operatorに格納される値は、C です。
CsvParamキーで文字列を抽出する場合、区切り文字はカンマです。ただし、「"」の括りを優先するなど、一般のCSV形式と同等の考慮を行います。これに対し、PositionParamキーで区切り文字を指定した場合、文字列を抽出するときには区切り文字で機械的に文字列を抽出します。PositionParamキーの区切り文字にカンマを指定して文字列を抽出した場合と、CsvParamキーで文字列を抽出した場合の違いは以下のとおりです。
PositionParamキーの文字列抽出例(区切り文字:カンマ)
項 | ログテキスト | 第1文字列 | 第2文字列 | 第3文字列 | 第4文字列 |
---|---|---|---|---|---|
1 | AAA,"CCC,DDD",FFF | AAA | "CCC | DDD" | FFF |
2 | AAA,BBB"CCC",FFF | AAA | BBB"CCC" | FFF |
|
3 | AAA,BBB"CCC,DDD",FFF | AAA | BBB"CCC | DDD" | FFF |
4 | AAA,"DDD"EEE,FFF | AAA | "DDD"EEE | FFF |
|
5 | AAA,"CCC,DDD"EEE,FFF | AAA | "CCC | DDD"EEE | FFF |
6 | AAA,BBB"CCC,DDD"EEE,FFF | AAA | BBB"CCC | DDD"EEE | FFF |
CsvParamキーの文字列抽出例
項 | ログテキスト | 第1文字列 | 第2文字列 | 第3文字列 | 第4文字列 |
---|---|---|---|---|---|
1 | AAA,"CCC,DDD",FFF | AAA | CCC,DDD | FFF |
|
2 | AAA,BBB"CCC",FFF | AAA | BBB"CCC" | FFF |
|
3 | AAA,BBB"CCC,DDD",FFF | AAA | BBB"CCC | DDD" | FFF |
4 | AAA,"DDD"EEE,FFF | AAA | DDDEEE | FFF |
|
5 | AAA,"CCC,DDD"EEE,FFF | AAA | CCC,DDDEEE | FFF |
|
6 | AAA,BBB"CCC,DDD"EEE,FFF | AAA | BBB"CCC | DDD"EEE | FFF |
参照
使用例
定義例によって正規化するログテキストの例)
2007/01/30 13:23:21 User(guestuser) login;WindowsPC1 2007/01/30 13:23:21,Backup,Disk-full error
定義例)
[Filter] Pattern=^..../../.. ..:..:.. User\(.*\) login; (注) TitleParam=User(,),1,Operator PositionParam=;,2,OperationLocation [Filter] Pattern=^..../../.. ..:..:.., CsvParam=2,OperationDetail SetParam=IT Center,AdditionalInfo
注)
User\(.*\) login の部分は、「(」と「*\」の間に「.」(ピリオド)があります。
上記ログテキストを定義例によって正規化した結果(定義の意味)は以下のとおりです。
1行目のログは1つ目のセクションにヒットし、以下の項目が設定されます。
操作者 : guestuser ("User("と")"で囲まれた文字列を抽出します。)
操作場所: WindowsPC1 (セミコロン区切りで2つ目の項目を抽出します。)
2行目のログは2つ目のセクションにヒットし、以下の項目が設定されます。
操作内容: Backup (CSV解釈で2つ目の項目を抽出します。)
追加情報: IT Center (設定文字列の直接定義します。)