キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
994
閲覧回数
0
いいね!
0
コメント
Yuichi Ito
Level 1
Level 1

Nexus には Scheduler と呼ばれる機能があります。

この機能は Unix における cron と似たものであり、特定のコマンドを定期的に発行するといったことが可能です。

本コンテンツでは「機器の監視目的で定期的にCPUの使用状況を記録する」というシナリオのもとでNexusのScheduler機能を解説いたします。

今回は説明を簡単にするために bootflash のファイルに対してログを上書きしていくという方法で記録をとります。

本番環境で同様の手法を取られる場合は bootflash の容量に注意してください。

 

  • 対象製品

 

Nexus 7000 の全バージョンで利用可能です。

本ドキュメントでは Nexus 7000 version 6.1(2) を利用して確認しております。

 

 

  • Scheduler 機能を有効化する

 

Nexus において Scheduler 機能はデフォルトで無効になっています。

有効化するには以下のコマンドを発行する必要があります。

SWITCH# conf t

SWITCH(config)# feature scheduler

 

  • Scheduler の Job を定義する

 

スケジューラを走らせるには「どのような処理」を「どのようなタイミング」で動かすか決める必要があります。

タイミングの設定の際に「定義した処理」を登録する必要があるため、先に処理の定義を行います。

これは job の定義で行います。

job 名を決めたあとで、発行するコマンドを一行ずつ入力していきます。

 

以下の例では

- 現在時刻を出力

- コマンド名を echo でファイルに出力

- コマンドの実行結果をファイルに出力

- echo で空行をファイルに出力

をしております。

 

SWITCH(config)# scheduler job name TEST_JOB

SWITCH(config-job)# show clock >> bootflash:TEST.log

SWITCH(config-job)# echo "#show processes cpu history" >> bootflash:TEST.log

SWITCH(config-job)# show processes cpu history >> bootflash:TEST.log

SWITCH(config-job)# echo >> bootflash:TEST.log

SWITCH(config-job)# echo "#show processes cpu sort" >> bootflash:TEST.log

SWITCH(config-job)# show processes cpu sort >> bootflash:TEST.log

SWITCH(config-job)# echo >> bootflash:TEST.log

SWITCH(config-job)# exit

 

  • Scheduler の Schedule を定義する

 

処理を定義したので、次にそれをどのようなルールで動かすかを定義します。

これは schedule の定義で行います。

まず schedule の名の定義を行い、そこで実行するジョブ名を選択し、次にどのような間隔で取るかを記載しています。

scheduler の時間の設定の詳細についてはドキュメントの最後に記載する弊社CCOをご参照ください。

ここでは1分ごとに、先に定義した job TEST_JOB を走らせるという設定を行っております。

 

SWITCH(config)# scheduler schedule name TEST_SCHEDULE

SWITCH(config-schedule)# job name TEST_JOB

SWITCH(config-schedule)# time start now repeat 1

Schedule starts from Wed Jan 22 14:11:50 2014

SWITCH(config-schedule)# exit

 

  • 確認

 

以上で設定は終了しました。

ファイルを確認してみます。

 

SWITCH(config)# show file bootflash:TEST.log

14:17:01.764 JST Wed Jan 22 2014

#show processes cpu history

 

      1 1   11 11 2  11  1112    1   1           11  1 51    2 

    472776576371151695276141846651867394464445865165705635755168

100                                                            

90                                                            

80                                                            

70                                                            

60                                                    #       

50                                                    #       

40                                                    #       

30                         #                          #       

20     #   #     #  #      #                     #    #     # 

10  ######################## #########  #   ###################

    0....5....1....1....2....2....3....3....4....4....5....5....

              0    5    0    5    0    5    0    5    0    5   

 

               CPU% per second (last 60 seconds)

                      # = average CPU%

 

<省略>

 

#show processes cpu sort

 

PID    Runtime(ms)  Invoked   uSecs  1Sec    Process

-----  -----------  --------  -----  ------  -----------

    1         7335    105991     69    0.0%  init

    2            3       303     12    0.0%  kthreadd

    3          360     44487      8    0.0%  migration/0

    4        58694  10996251      5    0.0%  ksoftirqd/0

    5        16583     71851    230    0.0%  watchdog/0

 

<省略>

 

14:18:03.915 JST Wed Jan 22 2014

#show processes cpu history

 

    2     1    131  2  11  11 1   11  111         1 1    11    1

    157598656473568514584552346566007733144557679617266968297974

100                                                            

90                                                            

80                                                            

70                                                            

60                                                            

50                                                            

40             #                                              

30             #                                              

20 #     #     ##  #  #      #                          #     

10 ######### ####### ####### ###########  #####################

    0....5....1....1....2....2....3....3....4....4....5....5....

              0    5    0    5    0    5    0    5    0    5   

 

               CPU% per second (last 60 seconds)

                      # = average CPU%

 

<省略>

 

 

上記より、ほぼ1分間隔で

- show process cpu history

- show process cpu process

が取得できていることがわかります。

 

schedule の設定、及び実行状況は以下のコマンドで取得可能です。

 

SWITCH(config)# show scheduler config

config terminal

  feature scheduler

  scheduler logfile size 1024

end

 

 

config terminal

scheduler job name TEST_JOB

show clock >> bootflash:TEST.log

echo "#show processes cpu history" >> bootflash:TEST.log

show processes cpu history >> bootflash:TEST.log

echo >> bootflash:TEST.log

echo "#show processes cpu sort" >> bootflash:TEST.log

show processes cpu sort >> bootflash:TEST.log

echo >> bootflash:TEST.log

 

end

 

config terminal

  scheduler schedule name TEST_SCHEDULE

    time start 2014:01:22:14:11 repeat 1

    job name TEST_JOB

end

SWITCH(config)# show scheduler schedule

Schedule Name       : TEST_SCHEDULE

-----------------------------------

User Name           : admin

Schedule Type       : Run every 0 Days 0 Hrs 1 Mins

Start Time          : Wed Jan 22 14:11:50 2014

Last Execution Time : Wed Jan 22 14:58:28 2014

Last Completion Time: Wed Jan 22 14:58:30 2014

Execution count     : 46

-----------------------------------------------

     Job Name            Last Execution Status

-----------------------------------------------

TEST_JOB                          Success (0)

==============================================================================

 

本設定を応用して「設定ファイルを定期的にFTPサーバに保存する」といったことや「経路情報が変更されていないか確認する」といったことも実現できます。

定期的に実行する処理がある場合は是非、ご活用を検討してください。

なお、最新の Nexus での定期的な処理であれば、 scheduler 機能ではなく Python をバックグラウンドで実行することでも実現可能です。

 

Scheduler の詳しい設定方法につきましては以下のドキュメントが参考になります。

 

Cisco Nexus 7000 Series NX-OS System Management Configuration Guide, Release 5.x

Configuring the Scheduler

http://www.cisco.com/en/US/docs/switches/datacenter/sw/5_x/nx-os/system_management/configuration/guide/sm_8scheduler.html

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします