ダイナミック ロガー

前提条件

ダイナミック ロギングを使用する前に、スイッチに次のものが存在することを確認します。

  • libmtxlogmgr*.so ライブラリが /opt/mtx/lib/ にインストールされていること。libmtxlogmgr*.so ライブラリは、mtx_infra RPM の一部です。

  • mtx.conf ファイルが /etc/ にあること。

    [mtxlogger]
    config=/opt/mtx/conf/mtxlogger.cfg
  • mtxlogger.cfg ファイルが /opt/mtx/conf/ にあること。

参照先

コンフィギュレーション ファイルの構造は次のとおりです。

<config name="nxos-device-mgmt">
  <container name="mgmtConf">
    <container name="logging">
      <leaf name="enabled" type="boolean" default="false"></leaf>
      <leaf name="allActive" type="boolean" default="false"></leaf>
      <container name="format">
        <leaf name="content" type="string" default="$DATETIME$ $COMPONENTID$ $TYPE$: $MSG$"></leaf>
	    <container name="componentID">
            <leaf name="enabled" type="boolean" default="true"></leaf>         
	    </container>	
	    <container name="dateTime">
            <leaf name="enabled" type="boolean" default="true"></leaf>         
            <leaf name="format" type="string" default="%y%m%d.%H%M%S"></leaf>
	    </container>	
	    <container name="fcn">
            <leaf name="enabled" type="boolean" default="true"></leaf>         
            <leaf name="format" type="string" default="$CLASS$::$FCNNAME$($ARGS$)@$LINE$"></leaf>
	    </container>	
      </container>
      <container name="dest">
        <container name="console">
          <leaf name="enabled" type="boolean" default="false"></leaf>         
        </container>
        <container name="file">
          <leaf name="enabled" type="boolean" default="false"></leaf>  
          <leaf name="name" type="string" default="mtx-internal.log"></leaf>
          <leaf name="location" type="string" default="./mtxlogs"></leaf>
	   <leaf name="mbytes-rollover" type="uint32" default="10"></leaf>
	   <leaf name="hours-rollover" type="uint32" default="24"></leaf>
	   <leaf name="startup-rollover" type="boolean" default="false"></leaf>
          <leaf name="max-rollover-files" type="uint32" default="10"></leaf>
        </container>
      </container>
      <list name="logitems" key="id">
        <listitem>
        	<leaf name="id" type="string"></leaf>
		 <leaf name="active" type="boolean" default="true"></leaf>
        </listitem>
      </list>
    </container>
  </container>
</config>   

タグは、ログフィルタを定義します。<list> <componentID>

次の表では、コンテナとそのリーフの一部について説明します。

表 1. コンテナとリーフの説明

コンテナ

コンテナの説明

含まれるコンテナ

含まれるリーフと説明

logging

すべてのロギング データ タイプが含まれます。

形式

dest

ファイル

(注)  

 

リストタグ「logitems」も含まれます

enabled:ロギングがオンかオフかを決定するブール値。デフォルトはオフです。

allActive:ロギング用に定義されたすべてのロギング項目をアクティブにするブール値。デフォルトはオフ

形式

ログ メッセージの形式情報を格納します。

componentID

dateTime

type

fcn

content:ログメッセージに含まれるデータ型をリストする文字列。内容:

  • $DATETIME$:ログメッセージに日付または時刻を含める

  • $COMPONENTID$:ログメッセージにコンポーネント名を含めます。

  • $TYPE$:メッセージタイプ(""、INFO、WARNING、ERROR)を含みます。

  • $SRCFILE$:ソースファイルの名前を含みます。

  • $SRCLINE$:ソースファイルの行番号を含める

  • $FCNINFO$ ソースファイルから class::関数名を含めます。

  • $MSG$:実際のログ メッセージ テキストを含めます。

componentID

ログが記録されたコンポーネントの名前です。

該当なし

enabled:ログメッセージにコンポーネント ID を含めるかどうかを決定するブール値。デフォルトは「true」です。"false" の値は、ログメッセージに "" 文字列を返します。

dateTime

ログメッセージの日付または時刻

該当なし

enabled:ログメッセージに日付または時刻の情報を含めるかどうかのブール値。デフォルトはイネーブルです。

format:ログメッセージに含める値の文字列。%y%m%d.%H%M%Sの形式。

dest

宛先ロガーの構成設定を保持します。

console:宛先コンソール。許可されるのは 1 つだけです。

file:接続先ファイルです。複数ファイルが許可されます。

該当なし

コンソール

宛先コンソール

該当なし

enabled:コンソールのロギングが有効かどうかを決定するブール値。デフォルトは「false」です。

ファイル

宛先ファイルの設定を決定します。

該当なし

enabled:宛先が有効かどうかを決定するブール値。デフォルトは「false」です。

name:宛先ログファイルの文字列。デフォルトは「mtx-internal.log」

location:宛先ファイルパスの文字列。デフォルトは「./mtxlogs」です。

mbytes-rollover:システムが最も古いデータを上書きする前のログファイルの長さを決定する uint32。デフォルトは 10 M バイトです。

hours-rollover:時間単位のログファイルの長さを決定する uint32。デフォルトは 24 時間です。

startup-rollover:エージェントの起動時または再起動時にログファイルをロールオーバーするかどうかを決定するブール値。デフォルト値は「false」です。

max-rollover-files:ロールオーバー ファイルの最大数を決定する uint32。 max-rollover-files の値を超えると、最も古いファイルが削除されます。デフォルト値は 10 です。

次に、デフォルトでインストールされている設定を含む設定ファイルを示します。
<config name="nxos-device-mgmt">
  <container name="mgmtConf">
    <container name="logging">
      <leaf name="enabled" type="boolean" default="false">true</leaf>
      <leaf name="allActive" type="boolean" default="false">false</leaf>
      <container name="format">
        <leaf name="content" type="string" default="$DATETIME$ $COMPONENTID$ $TYPE$: $MSG$">$DATETIME$ $COMPONENTID$ $TYPE$ $SRCFILE$ @ $SRCLINE$ $FCNINFO$:$MSG$</leaf>
	    <container name="componentID">
            <leaf name="enabled" type="boolean" default="true"></leaf>         
	    </container>	
	    <container name="dateTime">
            <leaf name="enabled" type="boolean" default="true"></leaf>         
            <leaf name="format" type="string" default="%y%m%d.%H%M%S"></leaf>
	    </container>	
	    <container name="fcn">
            <leaf name="enabled" type="boolean" default="true"></leaf>         
            <leaf name="format" type="string" default="$CLASS$::$FCNNAME$($ARGS$)@$LINE$"></leaf>
	    </container>	
      </container>
      <container name="dest">
        <container name="console">
          <leaf name="enabled" type="boolean" default="false">true</leaf>         
        </container>
        <container name="file">
          <leaf name="enabled" type="boolean" default="false">true</leaf>  
          <leaf name="name" type="string" default="mtx-internal.log"></leaf>
          <leaf name="location" type="string" default="./mtxlogs">/volatile</leaf>
	   <leaf name="mbytes-rollover" type="uint32" default="10">50</leaf>
	   <leaf name="hours-rollover" type="uint32" default="24">24</leaf>
	   <leaf name="startup-rollover" type="boolean" default="false">true</leaf>
          <leaf name="max-rollover-files" type="uint32" default="10">10</leaf>
        </container>
      </container>
      <list name="logitems" key="id">
        <listitem>
        	<leaf name="id" type="string">*</leaf>
		 <leaf name="active" type="boolean" default="false">false</leaf>
        </listitem>
        <listitem>
        	<leaf name="id" type="string">SYSTEM</leaf>
		 <leaf name="active" type="boolean" default="true">true</leaf>
        </listitem>
        <listitem>
        	<leaf name="id" type="string">LIBUTILS</leaf>
		 <leaf name="active" type="boolean" default="true">true</leaf>
        </listitem>
        <listitem>
        	<leaf name="id" type="string">MTX-API</leaf>
		 <leaf name="active" type="boolean" default="true">true</leaf>
        </listitem>
        <listitem>
        	<leaf name="id" type="string">Model-*</leaf>
		 <leaf name="active" type="boolean" default="true">true</leaf>
        </listitem>
        <listitem>
        	<leaf name="id" type="string">Model-Cisco-NX-OS-device</leaf>
		 <leaf name="active" type="boolean" default="true">false</leaf>
        </listitem>
        <listitem>
        	<leaf name="id" type="string">Model-openconfig-bgp</leaf>
		 <leaf name="active" type="boolean" default="true">false</leaf>
        </listitem>
        <listitem>
        	<leaf name="id" type="string">INST-MTX-API</leaf>
		 <leaf name="active" type="boolean" default="true">false</leaf>
        </listitem>
        <listitem>
        	<leaf name="id" type="string">INST-ADAPTER-NC</leaf>
		 <leaf name="active" type="boolean" default="true">false</leaf>
        </listitem>
        <listitem>
        	<leaf name="id" type="string">INST-ADAPTER-RC</leaf>
		 <leaf name="active" type="boolean" default="true">false</leaf>
        </listitem>
        <listitem>
        	<leaf name="id" type="string">INST-ADAPTER-GRPC</leaf>
		 <leaf name="active" type="boolean" default="true">false</leaf>
        </listitem>
      </list>
    </container>
  </container>
</config>