Enterprise 技術情報 Enterprise Technical information
Kompiraの機能 テーブル内の情報を選択して処理を実行する
「複数サーバーに対してコマンドを実行する」ではテーブルに登録した全ての機器に対する一括処理を行う方法をご紹介いたしましたが、特定機器に対して処理を行う場合は一体どうすれば良いでしょうか。
機器の数が限られている場合は「ジョブフローを実行するフォームを作成する」に記載の「オブジェクトを指定させる場合」の手順にてフォームからテーブル内の機器を選べるようにしても良いですが、数が増えるとセレクトボックスが長くなり、対象機器が見つかりにくくなってしまいます。
こういったケースにおいて有用な機能として、今回の記事ではテーブルの関連オブジェクト機能を活用し、選択した機器を対象にジョブフローを実行する方法をご紹介します。
環境情報 本稿は、以下の環境で検証しています。
テーブルの作成 まずは機器情報を格納するためのテーブル「サーバー一覧」を作成します。Kompira上で機器情報を取り扱うためのオブジェクトとしてノード情報型が用意されておりますので、テーブルのオブジェクト型には「ノード情報」を指定します。 テーブルを作成したら、処理対象となる機器情報を追加してください。
上記の例では「サーバー一覧」テーブルに「server1 ~ server3」の3台のサーバーを登録しています。
以降の説明はこの3台のサーバーが登録された仮定にて行います。
ジョブフローの作成
本記事ではサンプルの題材として、機器情報に登録されたホスト名・IPアドレスを表示するジョブを作成します。
下記の内容で、新規ジョブフローを作成してみましょう。
上記の例では、実行結果は次の様になります。
関連オブジェクトの追加
ここまでの手順でテーブル・ジョブフローの用意が出来ましたので、実際に関連オブジェクトの設定をしてみましょう。
設定するにはテーブルの編集画面を開き、「関連オブジェクト」の欄のプルダウンから先ほど作成したジョブフローを選択し、「保存」をクリックします。
(本記事ではジョブ名を「関連ジョブ」としております)
設定保存後、テーブル内の機器情報を選択し、「その他」→「ジョブフローの実行」 をクリックします。
実行対象オブジェクトの確認画面が開きますので、「実行」をクリックします。
以上の手順によりジョブフローが実行され、ジョブフローの動作確認時と同様の内容が表示されます。
応用例
本記事の内容を利用すると、機器に対するオペレーションをテーブル上から簡単に実行することが可能となります。
例えば、テーブル上で選択した機器に対してパッケージアップデートを実施できるようにするには、次のようなジョブフローを関連オブジェクトとして登録します。
(Red Hat系のOS向けの例となります)
環境情報 本稿は、以下の環境で検証しています。
項目 | バージョン |
OS | CentOS Linux release 7.7.1908 |
Kompira | ver.1.5.5.post7 |
テーブルの作成 まずは機器情報を格納するためのテーブル「サーバー一覧」を作成します。Kompira上で機器情報を取り扱うためのオブジェクトとしてノード情報型が用意されておりますので、テーブルのオブジェクト型には「ノード情報」を指定します。 テーブルを作成したら、処理対象となる機器情報を追加してください。

| servers | # ノード情報型のオブジェクト配列を受け取る {for sv in servers | print(sv.hostname, sv.ipaddr) # ノード情報型のフィールド値を表示 }ジョブフローが作成できたら、パラメータ「servers」に機器情報を配列で渡し、動作確認をしてみましょう。 機器情報の配列は、例えば [./サーバー一覧/server1, ./サーバー一覧/server2] のように記載します。






| servers | {for sv in servers | [ __node__ = sv , __sudo__ = true] -> ["yum -y update"] }
スタートガイド
Kompiraジョブフローの基礎
ジョブフローの簡単な例
Kompiraの機能
-
- フィールド修飾子でフィールドの入力内容に制約を設ける
- Kompiraでの文字列のパターンマッチング
- Kompira上でWikiページを作成する
- スケジューラを使って定期的にジョブを実行する
- ジョブフローを実行するフォームを作成する
- テーブル内の情報を選択して処理を実行する
- ジョブフローに権限設定をする
- ジョブフロー画面の各種設定
- Pythonで記述された処理をKompiraから呼び出す
- Kompiraオブジェクトのプロパティ,メソッド,フィールドを扱う
- Windowsでリモートスクリプトを実行する(その1)
- Windowsでリモートスクリプトを実行する(その2)
- Kompira上のデータをバックアップする(その1)
- Kompira上のデータをバックアップする(その2)
- Kompira上のデータをバックアップする(その3)
外部との連携
-
- Prometheusからの通知をKompiraで受信する
- Kompira cloud Pigeonを利用した通知電話の利用
- ネットワーク機器へのコマンド投入
- KompiraからWindowsGUIアプリケーションを操作する (1/2)
- メールを送信する
- メール受信をトリガーにしてジョブフローを実行する
- アラートメールをフィルタリングして転送する
- チャネルを利用して外部システムからデータを受信する
- Webページから内容を取得する
- Redmineへ新規チケットを登録する
- Redmineでのチケット作成をKompiraに通知する
- Kompira REST APIを利用して外部からジョブフローを実行する
- Kompira REST APIを利用して外部からオブジェクト情報を取得する
- KompiraからSlackに通知する
- Slackでの投稿をKompiraに通知する
- KompiraからTwilioで電話をかける
- Zabbixからの通知をKompiraで受信する
- syslogをKompiraで受信する
- snmptrapをKompiraで受信する
- KompiraでExcelファイルの読み書きをする
- KompiraでGoogle SpreadSheetの読み書きをする
- Active Directoryから情報を取得する
- Active Directoryにユーザーを登録する