- 運用
- ジョブ管理
- 自動化
作成日 | 2024/05/28 |
---|---|
更新日 | 2024/05/28 |
はじめに
運用管理では、多数のサーバで複雑なフローを持つジョブが実行されます。OS標準のジョブ管理機能としてcrontabやタスクスケジューラが存在しますが、これらは単一サーバを対象としたシンプルなものであり、運用管理には機能不足です。このため、運用管理では、 運用管理に適したジョブ管理製品を導入することが一般的です。 本記事では、これから運用管理を始める人のために、Hinemosを使った運用自動化の始め方についてやさしく解説します。
デモ動画
本記事の内容を動画でも解説しております。特にジョブ機能については実機を用いてデモを行っており、Hinemosの操作の簡単さをご理解いただけるかと思います。ぜひ動画でもご確認ください。
Hinemos機能概要
Hinemosには「収集・蓄積」「監視・性能」「自動化」の3大機能、そしてそれらを支える共通基本機能があります。これらの機能はワンパッケージにまとまっており、互いに連携することで「統合運用管理」を実現します。 本記事では、3大機能のうちの1つである「自動化」、そしてそれが参照する共通基本機能の中の「リポジトリ機能」「カレンダ機能」についてご紹介します。

ジョブ機能
ジョブ機能とは、複数のサーバにまたがる処理フローを統合的に管理する機能を指します。
Hinemosのジョブ機能は、次の3つの機能で成り立っています。
- - ジョブ定義を作成、管理する機能
- - ジョブを自動実行する契機を管理する機能
- - ジョブセッション(ジョブの実行履歴、およびそのときのジョブ定義のスナップショット)を表示、管理する機能

Hinemosのジョブ機能でWebアプリケーション停止作業を自動化してみよう
システム運用でよくある作業として、Webアプリケーションの停止が挙げられます。この作業をHinemosのジョブ機能を用いて自動化してみましょう。
【Webアプリケーション停止処理の内容】
- - 平日の15時10分にWebアプリケーションを停止する
- - サーバ停止はWebサーバ→APサーバ→DBサーバの順番で行う
- - WebサーバとDBサーバは複数台あり、それぞれのサーバに対して同じ停止コマンドを実行する

Webアプリケーション停止処理の自動化で使用するHinemosの機能は下記の5つです。
各機能についての利用方法と作成方法をご紹介します。
- スコープ
- 複数の管理対象ノードをグループ化する
- コマンドジョブ
- 管理対象ノード上でコマンドを実行する
- 待ち条件
- 各ジョブの順序関係を定義する
- 実行契機
- 様々なイベントを契機にジョブを自動実行する
- カレンダ機能
- 柔軟なスケジュール設定を実現する
-
スコープ:
複数の管理対象ノードをグループ化するHinemosでは個々の対象機器を利用用途でグループ化できます。このグループをスコープと呼びます。他のジョブ管理製品では1ジョブ1ノードに制限されている場合があり、複数ノードを対象としたジョブ設定が行いにくいことがあります。Hinemosではこのスコープを使用することで、複数ノードを対象としたジョブ設定を簡潔に行えます。
これから作成するWebアプリケーション停止ジョブでは、WebサーバとDBサーバは複数台あります。Webサーバ群とDBサーバ群をスコープ化することで、スコープ内の全てのノードに対して停止コマンドを一括で実行するジョブを簡潔に定義できます。
-
コマンドジョブ:
管理対象ノード上でコマンドを実行するコマンドジョブは、管理対象ノード上で任意のLinuxコマンドやWindowsコマンド、スクリプトなどを実行するジョブです。単に管理対象ノード上のコマンドを実行するだけでなく、Hinemosマネージャで一元管理されているスクリプトを管理対象ノード上に配布して実行する「スクリプト配布」、実行するコマンドに変数を埋め込む「ジョブ変数」など様々な制御ができます。これらの細やかな制御もHinemosクライアントからGUI上で簡単に設定できます。
今回作成するWebアプリケーション停止ジョブでは、Webサーバ、APサーバ、DBサーバそれぞれを停止する3つのコマンドジョブを作成します。今回はあくまでデモなのでsleepコマンドとechoコマンドをサーバ停止コマンドとして使用します。実行対象サーバには、それぞれのサーバ群に対応した単一のノード、またはスコープを指定します。
-
待ち条件:
各ジョブの順序関係を定義するHinemosで順序性のあるジョブを設定する場合は待ち条件を使用します。待ち条件はその名の通り「設定された条件を満たすまでジョブの実行を待機する」効果を持ちます。このため、待ち条件は「次に実行したいジョブ」に設定します。
今回作成するWebアプリケーション停止ジョブでは以下の待ち条件を設定します。
- ●APサーバ停止コマンドジョブに
- 「Webサーバ停止コマンドジョブが正常終了した場合」の待ち条件を設定
- ●DBサーバ停止コマンドジョブに
- 「APサーバ停止コマンドジョブが正常終了した場合」の待ち条件を設定
複雑な待ち条件も可能
Hinemosでは、複雑な順序性をもつジョブの作成も簡単にできます。例えば、「ジョブAまたは(OR条件)ジョブBが終了」かつ(AND条件)「ジョブCかつ(AND条件)ジョブDが終了」したらジョブEが動作するといった複雑なOR/AND条件の組み合わせが可能です。
-
実行契機:
様々なイベントを契機にジョブを自動実行するここまででWebアプリケーションを停止するジョブが完成しました。しかし、まだ運用管理者が手動でジョブを実行する必要があり、完全な自動化とは言えません。Hinemosは様々なイベントを契機にジョブを自動実行する実行契機を用意しており、これを用いて完全な自動化を設定してみましょう。
今回作成したWebアプリケーション停止ジョブが、毎日 15時10分に実行されるようにします。時刻を契機にジョブを実行するには、「スケジュール実行(定期実行)」を使用します。「スケジュール実行(定期実行)」では、毎時/毎日/毎週/一定期間といった定時のスケジュール設定を行えます。
細かくジョブを実行するタイミングを制御する方法
運用業務では、ジョブを日付や曜日、時間によっては実行させたくないケースが出てきます。このような、スケジュールによってジョブの実行を制御する機能として「カレンダ機能」があります。カレンダ機能については、「カレンダ機能:柔軟なスケジュール設定を実現する」をご参照ください。
-
カレンダ機能:
柔軟なスケジュール設定を実現する運用業務では「毎月第3月曜日のみジョブを稼働する」「システムのメンテナンス日はジョブを非稼働とする」といった細かい条件でジョブを稼働/非稼働にするケースがあります。このような複雑な条件であってもHinemosのカレンダ機能を使用することで簡潔に設定が可能です。
今回作成した実行契機は、毎日15時10分にWebアプリケーション停止ジョブを実行します。この実行契機に「平日のみ稼働日としたカレンダ」を紐づけることにより、平日の15時10分にWebアプリケーション停止ジョブを実行するように設定できます。
お問い合わせ
Hinemosで簡単に運用自動化ができることをご理解いただけたと思います。
Hinemosにご興味のある方は、ぜひお問い合わせ下さい。
まとめ
本記事ではHinemosで簡単にITシステムの運用自動化をする方法について、次の点を紹介しました。
- ●Hinemosのジョブ機能は、複数のサーバをまたがる処理を一元管理できる
- →ジョブ機能
- ●対象機器を利用用途でグループ化することができる
- →スコープ
- ●複雑なフローを作成することができる
- →待ち条件
- ●様々なイベントを契機にジョブを実行することで、完全にジョブの実行を自動化できる
- →実行契機
- ●柔軟なスケジュールでジョブを実行できる
- →カレンダ機能
ぜひ、ITシステムの運用自動化にはHinemosの導入をご検討ください。