はじめに
みなさん、こんにちは。
Kompiraエバンジェリストの冨です。
本記事は「運用自動化プラットフォーム Kompira Enterprise」で、既存の作業手順をジョブフロー言語で記述して実行するまでの手順を解説します。
※インストールがまだの方は以前の記事を参照ください。
システム運用自動化プラットフォーム"Kompira Enterprise"のインストール手順
https://qiita.com/tomiyoichi/items/ef454c918e57ece81591
「ジョブフロー」とは?
Kompira Enterpriseでサーバー機やネットワーク機器の操作を行う手順を記載したプログラムです。いわゆる”バッチ処理”をイメージしていただいても良いかと思います。
Kompira Enterpriseでは、専用のジョブフロー言語を用いてジョブフローを記載していきます。
ジョブフローの作成
ログイン後の画面で、名称にジョブフローの名前、型を「ジョブフロー」を選んで、真ん中の+ボタンをクリックします。
ジョブフローの編集画面に遷移します。この「ソース」の枠にジョブフロー言語で処理を記載し、「保存」ボタンをクリックします。
処理記載の基本
大きく3つのルールがあります。
- リモート機器のコマンドは ["コマンド文字列"] のように、[ ] で囲う。
- kompiraの標準関数は[ ]で囲わず、そのまま記載する。
- 上記1, 2で記載した処理は、矢印(主に -> )で結ぶ
1. リモートコマンドは[ ] で囲う
例えば、ファイル一覧を取得したい場合は、次のように書きます。
["ls -l"] # Linux機の場合
["dir"] # Windows機の場合
2. Kompira標準関数は直接書く
文字をコンソールに表示する関数print()の場合には、次のように書きます。
print("Hello, world")
3. 処理間を矢印で結ぶ
原則として、リモートコマンドの[] や標準関数などの処理は、矢印 "->" で繋いでいきます。この際に改行をいれても構いません。
["ls -l"]
-> print($RESULT)
-> sleep(5)
上記の例の2行目の"$RESULT"は直前のリモート処理[ ] の標準出力が格納されている特別な変数です。このため、上記の例はリモートサーバーでlsコマンドでファイル一覧を取得し、それをKompiraコンソールに表示した後、5秒間処理を止めるといった流れになります。
このようにして、上から下に順にコマンドを実行してお終いとするような作業手順書の場合は、指定されたコマンドをひたすら
["..."] -> ["..."] -> ["..."] -> ["..."]
のように書いていけば、スクリプトは完成です。
ジョブフローの実行
一連の処理をジョブフロー言語で「ソース」欄に書き終えた後は、保存ボタンをクリックします。
そして左上の「実行」ボタンをクリックすると、記載された処理を実行していきます。
コンソールへの出力がある場合には、実行画面のコンソール枠に表示されます。
このようにして、作業手順書をジョブフロー言語に記載していきます。本記事では一直線にひたすら処理をつないでいますが、もちろん条件分岐や繰り返し処理を記載する構文もありますので、詳細はマニュアルなどをご参照ください。
Kompira Enterpriseの製品情報
https://www.kompira.jp/
サーバーやネットワーク機器などの運用を自動化するための連携処理基盤ソフトウェアです。
運用手順書の操作作業の自動化、監視ツールやメールなどをトリガーにした保守作業の自動実行など、独自のKompiraジョブフロー言語を用いたスクリプトを用意する事で、個々の機器やワークフローにきめ細かく対応する事が可能です。