運用・管理 / トリガー
トリガー機能は、決められた時刻や特定のイベントが発生したときに、任意のスクリプトを自動実行する機能です。この機能を利用すれば、時間帯によって設定内容を変えたり、再起動時にメールで管理者に通知したりすることができます。トリガーには次の種類があります。
| CPUトリガー | CPUの使用率がしきい値を越えたときに起動される |
| インターフェーストリガー | インターフェースのリンクステータスが変化したときに起動される |
| メモリートリガー | メモリーの使用率がしきい値を越えたときに起動される |
| 定期実行トリガー | 一定の間隔(たとえば1時間ごと)で繰り返し起動される |
| Pingポーリングトリガー | Pingポーリングの監視対象機器への到達性が喪失または回復したときに起動される |
| 再起動トリガー | システム起動(再起動)時に起動される |
| スタックディセーブルマスタートリガー | VCSグループの構成メンバーがディセーブルマスター(Disabled Master:全スイッチポートを無効にしている一時的なマスター状態)になったときに起動される |
| スタックマスターフェイルトリガー | VCSグループのマスター切り替えが発生したときに起動される |
| スタックメンバートリガー | VCSグループの構成メンバーが変化(参加・離脱)したときに起動される |
| スタックリンクトリガー | スタックポートのリンクステータスが変化したときに起動される |
| 定時トリガー | 決められた時刻に起動される |
| AMFノードトリガー | AMFネットワークにAMFノードが参加、離脱したときに起動する |
| ログメッセージトリガー | 指定した文字列(正規表現)を含むnoticesレベル以上のログメッセージが出力されたときに起動される |
| リンク監視プローブトリガー | 監視中の回線の状態判定が変化したときに起動される |
| 環境センサートリガー | 環境センサーの状態変化、またはセンサーのしきい値を超えたときに起動される |
| メインPSEトリガー | PoE電源の電力使用量が最大供給電力を超えたとき、またはPoE電源の電力使用量が供給可能電力内に戻ったときに起動される |
| PSEポートトリガー | ポートの電力使用量が出力電力上限値を超えたとき、または再び出力電力上限内に戻ったときに起動される |
各トリガーには複数のスクリプトを関連付けることができます。また、トリガーの実行回数に制限を設けることも可能です(たとえば、5回実行されたらトリガーを無効にするなど)。
基本設定
トリガーを作成するには、triggerコマンドで番号を割り当て、各種typeコマンドで種類を指定し、scriptコマンドで自動実行するスクリプトファイルを指定します。以下、トリガーの種類ごとに例を示します。- CPU使用率が80%を超えたら、flash:/cpuwarn.scpを実行するCPUトリガー「1」を作成。これにはtype cpuコマンドを使います。
awplus(config)# trigger 1 awplus(config-trigger)# type cpu 80 up awplus(config-trigger)# script 1 flash:/cpuwarn.scp
- スイッチポート1.0.1がリンクダウンしたら、flash:/linkdown.scpを実行するモジュールトリガー「2」を作成。これにはtype interfaceコマンドを使います。
awplus(config)# trigger 2 awplus(config-trigger)# type interface port1.0.1 down awplus(config-trigger)# script 1 flash:/linkdown.scp
- メモリー使用率が70%を超えたら、flash:/memwarn.scpを実行するメモリートリガー「3」を作成。これにはtype memoryコマンドを使います。
awplus(config)# trigger 3 awplus(config-trigger)# type memory 70 up awplus(config-trigger)# script 1 flash:/memwarn.scp
- 3時間に一回flash:/patrol.scpを実行する定期実行トリガー「4」を作成。これにはtype periodicコマンドを使います。
awplus(config)# trigger 4 awplus(config-trigger)# type periodic 180 awplus(config-trigger)# script 1 flash:/patrol.scp
- Pingポーリング設定「1」の監視対象機器への到達性が失われたらflash:/pingdown.scpを実行するPingポーリングトリガー「5」を作成。これにはtype ping-pollコマンドを使います。
awplus(config)# trigger 5 awplus(config-trigger)# type ping-poll 1 down awplus(config-trigger)# script 1 flash:/pingdown.scp
- システム再起動後にflash:/rebooted.scpを実行する再起動トリガー「6」を作成。これにはtype rebootコマンドを使います。
awplus(config)# trigger 6 awplus(config-trigger)# type reboot awplus(config-trigger)# script 1 flash:/rebooted.scp
- VCSグループのマスター切り替えが発生したときにflash:/stkfail.scpを実行するスタックマスターフェイルトリガー「7」を作成。これにはtype stack master-failコマンドを使います。
awplus(config)# trigger 7 awplus(config-trigger)# type stack master-fail awplus(config-trigger)# script 1 flash:/stkfail.scp
- VCSグループに新規メンバーが参加したときにflash:/stkjoin.scpを実行するスタックメンバートリガー「8」を作成。これにはtype stack memberコマンドを使います。
awplus(config)# trigger 8 awplus(config-trigger)# type stack member join awplus(config-trigger)# script 1 flash:/stkjoin.scp
- スタックポートがリンクアップしたときにflash:/stklnkup.scpを実行するスタックリンクトリガー「9」を作成。これにはtype stack linkコマンドを使います。
awplus(config)# trigger 9 awplus(config-trigger)# type stack link up awplus(config-trigger)# script 1 flash:/stklnkup.scp
- 毎日夜11時にflash:/nightgrd.scpを実行する定時トリガー「10」を作成。これにはtype timeコマンドを使います。
awplus(config)# trigger 10 awplus(config-trigger)# type time 23:00 awplus(config-trigger)# script 1 flash:/nightgrd.scp
- AMFネットワークに新規ノードが参加したときにflash:/amf.scpを実行するAMFノードトリガー「12」を作成。これにはtype atmf nodeコマンドを使います。
awplus(config)# trigger 12 awplus(config-trigger)# type atmf node join awplus(config-trigger)# script 1 flash:/amf.scp
- メッセージ本文に
port数値.数値.数値 now forのパターンにマッチする文字列を含む notices レベル以上のログメッセージが出力されたときに flash:/portforw.scp を起動するログメッセージトリガー「14」を作成。これにはtype logコマンドを使います。
awplus(config)# trigger 14 awplus(config-trigger)# type log port\\d+\\.\\d+\\.\\d+ now for awplus(config-trigger)# script 1 flash:/portforw.scp
このトリガーを起動するログメッセージの例。
プログラム名とプロセスIDを表す XXXX[xxxx]: の後からが本文となり、緑色の部分がパターンにマッチします。
2017 Oct 10 15:47:20 user.notice awplus XXXX[xxxx]: XXXX port1.0.3 now forwarding, propagating TC to other ports
- リンク監視プローブ PROBE1 とリンク性能プロファイル PROF1 によって監視している回線の状況判定が「good」に変化したときに flash:/good.scp を起動するリンク監視プローブトリガー「15」を作成。これにはtype linkmon-probeコマンドを使います。
awplus(config)# trigger 15 awplus(config-trigger)# type linkmon-probe PROBE1 PROF1 good awplus(config-trigger)# script 1 flash:/good.scp
- 環境センサーが「true」に変化したときに flash:/true.scp を起動する環境センサートリガー「17」を作成。これにはtype env-sensorコマンドを使います。
awplus(config)# trigger 17 awplus(config-trigger)# type env-sensor node 1 resource 2 sensor 1 state true
- PoE電源の電力使用量が最大供給電力を超えたときに flash:/mnpseup.scp を起動するメインPSEトリガー「18」を作成。これにはtype main-pseコマンドを使います。
awplus(config)# trigger 18 awplus(config-trigger)# type main-pse up awplus(config-trigger)# script flash:/mnpseup.scp
- ポート1.0.1の電力使用量が出力電力上限値を超えたときに flash:/pseport.scp を起動するPSEポートトリガー「19」を作成。これにはtype pse-portコマンドを使います。
awplus(config)# trigger 19 awplus(config-trigger)# type pse-port port1.0.1 up awplus(config-trigger)# script flash:/pseport.scp
テストなどのため、トリガーを手動で起動するにはtrigger activateコマンドを使います。
awplus# trigger activate 1
トリガーにスクリプトを追加するには、scriptコマンドを使います。たとえば、トリガー「2」の2番目のスクリプトとしてflash:/2nd.scpを追加するには、次のようにします。
awplus(config)# trigger 2 awplus(config-trigger)# script 2 flash:/2nd.scp
scriptコマンドでは、複数のスクリプトを一度に指定することもできます。たとえば、前述のトリガー「2」に対し、3番目のスクリプトとしてflash:/3rd.scpを、4番目のスクリプトとしてflash:/4th.scpを追加するには次のようにします。
awplus(config)# trigger 2 awplus(config-trigger)# script 3 flash:/3rd.scp 4 flash:/4th.scp
トリガーからスクリプトを削除するには、scriptコマンドをno形式で実行します。たとえば、トリガー「2」から3番目のスクリプトを削除するには、次のようにします。
awplus(config)# trigger 2 awplus(config-trigger)# no script 3
トリガーを削除するには、triggerコマンドをno形式で実行します。
awplus(config)# no trigger 2
トリガーの情報を確認するには、show triggerコマンドを使います。