コンフィグレーションガイド Vol.1
高機能スクリプトとは,本装置のコンフィグレーションやオペレーションを,装置内でプログラミングできるようにする機能です。本機能は,次のような用途に適用できます。
- オペレーションの自動化
例えば,システムメッセージの出力を契機として,コマンドを自動で実行できます。
- 運用機能のカスタマイズ
例えば,ユーザが作成したシステムメッセージを出力できます。
高機能スクリプトを構成する主要機能,およびそれぞれの関連性を次の図に示します。
図17-1 高機能スクリプトを構成する主要機能
- <この項の構成>
- (1) スクリプト言語実行機能
- (2) スクリプトアクション機能
- (3) イベント監視機能
- (4) アプレット機能
- (5) 高機能スクリプトの使用方法
(1) スクリプト言語実行機能
スクリプトは,本装置のコンフィグレーションやオペレーションの手順をプログラミングしたものです。スクリプト言語実行機能とは,作成したスクリプトを実行する機能です。
なお,本装置では,スクリプト言語にPythonを使用します。Pythonは次に示す特徴を持つ言語です。
- 可読性が高い
コードブロックをインデントでそろえるなど,記述方法を統一することで,高い可読性を持ちます。
- デバッグやプロトタイピングが容易
Pythonで作成したスクリプトはインタプリタ方式で1行ずつ実行できるため,デバッグやプロトタイピングが容易です。
- ライブラリ提供機能の再利用が容易
Pythonでは,メール送信や本装置の管理機能など,よく使用する機能をまとめてライブラリという形で提供します。ライブラリで提供される機能は,スクリプトからライブラリを参照するだけで実行できます。これを利用することで,手軽にオペレーションをカスタマイズできます。
(2) スクリプトアクション機能
スクリプトアクション機能とは,本装置へのコマンド実行などのアクションをスクリプトから実行する機能です。次に示すようなアクションがあります。
- Python本体とともに配布される標準ライブラリを使用した,メール送信やファイルアクセスなど利便性の高い多数のアクション
- 本装置固有の拡張ライブラリを使用した,コマンド実行やシステムメッセージ出力などのアクション
- ユーザが作成したライブラリを使用した,独自のアクション
このうち,本装置固有の拡張ライブラリで実行できるスクリプトアクションを次の表に示します。
表17-1 本装置固有の拡張ライブラリのスクリプトアクション一覧
アクション 説明 コマンド実行 スクリプトで指定したコマンドを実行します。 システムメッセージ出力 指定した任意の文字列をシステムメッセージとして出力します。
(3) イベント監視機能
イベント監視機能とは,装置やネットワークの状態などを監視する機能です。監視対象の状態変化(イベント)を契機として,次に示すスクリプトやアプレットに通知します。通知先は,監視イベントの登録方法によって異なります。
- 実行中のスクリプトにイベントを通知
監視イベントの登録と検出には,本装置が提供する拡張ライブラリを使用します。
- アプレットにイベントを通知
監視イベントの登録には,アプレット機能が提供するコンフィグレーションを使用します。
監視イベントの一覧を次の表に示します。
表17-2 監視イベントの一覧
監視イベント 説明 システムメッセージ監視 出力されたシステムメッセージを監視します。 タイマ監視 タイマを使用して,決められた時間を監視します。
タイマでは,次の2種類の形式で時間を指定できます。
- 時間間隔を指定(intervalタイマ)
- 時刻を指定(cronタイマ)
(4) アプレット機能
アプレット機能とは,イベント監視機能と連携して,イベント発生を契機として事前に登録したアクションを実行する機能です。
監視イベントおよびアクションは,コンフィグレーションで登録します。なお,サポートしているアクションは,スクリプトファイルの起動(イベント起動スクリプト)だけです。
(5) 高機能スクリプトの使用方法
高機能スクリプトを使用する場合,まず本装置のコンフィグレーションやオペレーションをスクリプトとして作成します。このとき,スクリプトアクション機能,イベント監視機能,およびアプレット機能を自由に組み合わせて作成できます。
作成したスクリプトをスクリプト言語実行機能で実行すると,スクリプトに記載した各処理が実行されます。このように,高機能スクリプトを使用すると,本装置のコンフィグレーションやオペレーションをプログラミングして実行できるようになります。
All Rights Reserved, Copyright(C), 2014, 2019, ALAXALA Networks, Corp.