Home IT関連 Linux Hinemosでのジョブ実行

Hinemosでのジョブ実行

0

システムの運用管理を行う際、運行管理や保守管理者が以下のような業務に時間を取られることが発生している場合があります。
・定期的なバックアップ、再起動、ファイル転送等
・不定期に発生するメンテナンス作業
・端末等の構築作業

上記のような決まった作業を自動化するのが「ジョブ」となります。一度作業をスクリプトにて登録さえすればジョブにより作業を自動化することが可能となり、作業ミスを削減し業務の効率化を実現可能です。


しかしながら単一の作業であれば、Windows環境ではタスクスケジューラ、Linux環境ではcronで自動化を実現可能ですが、cronやタスクスケジューラとジョブの違いはHinemosマネージャが管理下のリポジトリすべてに同一作業を行わせたり、複数台に対して順次実行させる。

また異常終了時や指定時間経過後の未完時の処理を設定可能である等、管理対象に対して連携した処理を行うことが可能であり、実行結果を監視機能で閲覧可能というメリットがあります。

Hinemosのジョブ管理でできること

  • 複数ジョブの順次実行
  • 複数リポジトリに対する処理をジョブネットとして実行
  • GUIによる実行状況の確認
  • 実行中のジョブの停止、中断、再開
  • カレンダに登録したスケジュールでのジョブの実行
  • ジョブ実行を48時間まで管理可能(30時にジョブの実行など)
  • ジョブの終了結果による分岐、複数ジョブの終了待機
  • ログインユーザ毎のジョブの参加可否の制御
  • 実行予定ジョブの一覧表示
  • ジョブの開始遅れ、終了未完の監視
  • ジョブの重複可否指定による同時実行数の制限
  • ジョブ管理機能と監視機能の連携(監視機能によるサービスの異常検知、ログ出力検知に連動)

Hinemosの導入方法

以下の記事に導入方法を記載しているため、参考に導入してください。Centos7の構築からHinemosの監視設定まで各記事に記載していますので、Hinemosを導入する場合は参考にされてみてください。監視対象機器への設定の場合はエージェントのみの導入で問題ありません。(Hinemosマネージャは構築済みの場合。)

ジョブの構成要素について

ジョブの構成要素としてはジョブユニット、ジョブネット、コマンドジョブの3つからなり、これらのジョブを実行スケジュール、イベント起動等でコントロールする。

  • ジョブユニット:ジョブ階層の最上位要素を指します。コマンドジョブやジョブネットを作成する際は、必ずジョブユニットを作成してから、その要素としてコマンドジョブやジョブネットを登録する必要がある。
  • ジョブネット:いくつかのコマンドジョブ・ジョブネットをひとまとめにして扱うことのできる要素です。複数のジョブを順次実行などが可能です。
  • コマンドジョブ:最小の実行単位です。ノード上で実行するコマンドやシェルスクリプトを指定します。

ジョブユニットの作成

まず最上位要素のジョブユニットを作成していきます。

1.ジョブ設定パースペクティブを開く。

2.ジョブユニットの作成

スコープツリーの配下にある「マネージャ」を右クリックし、「ジョブユニットの作成」ボタンを押下。

3.ジョブユニット必要項目入力

ジョブ[ジョブユニットの作成・変更]ダイアログでは、入力必須項目の背景色はピンク色で表示されます。以下のように、「ジョブID」と「ジョブ名」を指定して「OK」ボタンを押下。

  • ジョブID:個々のジョブユニット、ジョブネット、コマンドジョブを識別するため付与する文字列。システム内で一意。
  • ジョブ名:ジョブIDと同様、ジョブに対して付与する文字列。任意に設定することができるため、運用者が見て理解しやすい文字列を設定。

ジョブネットの作成

1.ジョブネットの作成

スコープツリーの配下にある「テスト用ジョブユニット」を右クリックし、「ジョブネットの作成」ボタンを押下。

2.ジョブネットの必要項目入力

ジョブ[ジョブネットの作成・変更]ダイアログでは、「ジョブID」と「ジョブ名」を指定して「OK」ボタンを押下。

コマンドジョブの作成

1.コマンドジョブの作成

スコープツリーの配下にある「テスト用ジョブネット」を右クリックし、「コマンドジョブの作成」ボタンを押下。

2.コマンドジョブの必要項目入力

ジョブ[コマンドジョブの作成・変更]ダイアログでは、入力必須項目は背景色がピンク色で表示されます。先程と同様に、「ジョブID」と「ジョブ名」を指定。さらに「コマンド」タブを開き、「スコープ」と「起動コマンド」、「実行ユーザ」を指定します。今回は”shutdown -h 0″のコマンドのため、rootユーザとして設定しています。

3.通知設定

「通知先の指定」タブを開き、通知方法を指定します。ここでは、通知方法としてデフォルトの通知設定である「EVENT_FOR_POLLING」を選択して、「OK」ボタンを押下します。

4.ジョブの登録

作成したジョブユニットとジョブネットをHinemosの内部DBに登録するため、ジョブ設定[一覧]ビューの右上にある「登録」ボタンを押下。
一度登録したジョブを変更する場合は一度「編集モード」とした後に再度「登録」という手順で変更を行います。Hinemosではこの「編集モード」により、複数ユーザから同一のジョブユニット配下の設定を同時に書き換えられないようになっています。

ジョブの実行方法について

上記まででジョブの作成は完了しましたので、実際に実行し、確認を行います。今回は即時実行の方法とスケジュールからの実行方法について説明します。

ジョブの即時実行方法

1.ジョブの実行

スコープツリーの配下にある「テスト用ジョブユニット」を右クリックし、「実行」ボタンを押下。

2.「実行」ボタンを押下。

※テスト実行
ジョブの即時実行ダイアログでテスト実行の設定を行うことが可能。テスト実行の各チェックボックスにチェックを入れると、大本のジョブの設定変更を行わずにチェックを入れた条件に応じてジョブの動作を変更可能。

ジョブ実行結果確認

1.ジョブ履歴画面表示

ジョブの実行結果を確認するには、ジョブ履歴パースペクティブを開きます。
また今回はシャットダウン処理であったため、以下のようにHyper-V環境にてCentOS7がシャットダウンされていることを確認した。

2.ジョブ履歴の確認

ジョブ履歴[一覧]ビューでジョブの実行結果(実行中であれば現在の実行状態)を確認可能。ジョブ履歴[一覧]ビューで対象を選択するとジョブ履歴[ジョブ詳細]ビューにそのジョブの詳細が表示。また、ジョブ履歴[ジョブ詳細]ビューで対象を選択するとジョブ履歴[ノード詳細]ビューに実行したジョブのノード単位の結果が表示。以下のようにジョブが正常終了していることが確認可能である。

ジョブのスケジュールからの実行

Hinemosでジョブに設定する「スケジュール」とは、ジョブの動作条件のことであり、「毎日16:00」と設定することで、時刻を契機として、ジョブを起動できます。
今回は毎日*:40に起動するように設定します。

1.スケジュールを作成

スケジュールはジョブ設定パースペクティブのジョブ[実行契機]ビューの右上にある「スケジュール作成」ボタンから作成します。

2.スケジュールの内容登録

実行契機ID、実行契機名、ジョブID、スケジュール設定を指定します。
今回は毎日*:40にシャットダウンする設定としました。

  • 実行契機ID:個々の実行契機を識別するため付与する文字列。システム内で一意。
  • 実行契機名:実行契機 IDと同様、各実行契機に付与する文字列。任意に設定することができるため、運用者が見て理解しやすい文字列を設定。
  • ジョブID:実行するジョブユニット、ジョブネット、コマンドジョブを指定。
  • スケジュール設定:どの程度の間隔でジョブを実行するかを指定。

ジョブ実行結果確認

スケジュール実行したジョブの実行結果についても即時実行した時と同様に、ジョブ[履歴]ビューから確認可能です。スケジュール実行したジョブは「実行契機種別」が「スケジュール」となります。

最後に

本記事にてタスクスケジューラやcronにてよく行われている自動化についてより複雑な実行が可能なジョブを紹介した。運用保守においてかなり使える機能となるため、利用をおすすめする。

NO COMMENTS

LEAVE A REPLY

コメントを入力してください!
ここに名前を入力してください

モバイルバージョンを終了