Hinemos ver.6.1 応用編② RunBook Automationで運用を自動化してみよう

作成日 2018/10/23

はじめに

本シリーズについて

本シリーズは、Hinemos ver.6.1 入門編でHinemosの基本的な使い方を学んでいただいた方を対象に、Hinemosの発展的な利用方法について記載しています。

本シリーズのドキュメント通りに進めていただくことで、より実践的なHinemosの使い方を学んでいただける内容になっています。

「応用編② RunBook Automationで運用を自動化してみよう」では、Hinemos ver.6.0で追加されたRBA(Runbook Automation)の手順と確認方法について記載しています。

 

前提

本ドキュメントで利用する環境は、Hinemos ver.6.1 入門編②入門編③で構築した環境を前提としています。

注意事項

本ドキュメントに登場するHinemos本体のバージョン番号(6.1.*)はご利用のバージョンに適宜読み替えてください。

免責事項

本ソフトウェアの使用・本ドキュメントに従った操作により生じたいかなる損害に対しても、 弊社は一切の責任を負いません。

システム構成と基本セットアップ

Hinemos ver.6.1 入門編②で設定した監視設定(リソース監視)を利用します。監視の概要と設定方法については、入門編②の「I.リソース監視」をご参照ください。また、作成したノードとスコープについては、入門編①で作成した環境をそのまま利用しますので、用語、または作成方法がわからない場合は、入門編①の「II.管理対象の登録」と「III.スコープの作成」をご確認ください。

HinemosでNet-SNMPの運用を自動化しよう

入門編③では、基本的なジョブ(コマンドジョブ)の設定と実行方法について解説しました。本記事では、Linuxマシンに対してリソース監視や、プロセス監視を利用するために必要な、Net-SNMPの稼働状態を監視し、問題があった場合は再起動を行うという運用を、ジョブ機能で自動化してみましょう。

 

RunBook Automationとは?

RBA(Runbook Automation)とは、日々の定型的な運用業務を自動化し、運用業務の属人化解消や、運用ポリシーの統一を図るための機能です。Hinemosでは、このRBAをジョブ機能で実現します。

 

ユースケース

たとえば、下図のようにオペレーターが①DBの稼働状況を確認し、②問題があった場合にDBサーバから情報取得をして良いか運用責任者に承認依頼、③承認されたらDB情報を取得し、④DB再起動してよいか承認依頼、⑤承認されたらDBを再起動する、という定型的な業務フローがあったとします。Hinemsoのジョブ機能を利用することで、特に作りこみをする必要なく、①~⑤の業務はすべて自動化することができます。

 

 

RunBook Automationの設定

本記事では、下図のように①Net-SNMPの状況を確認し、稼働していなった場合は、②運用責任者にNet-SNMPを再起動してよいか承認依頼を送信します。承認された場合は、③Net-SNMPを再起動するという3つの流れを行うジョブネットを作成します。

 

 

設定手順

まずは、RBAを実現するためのジョブユニットを作成しましょう。ジョブユニット、ジョブネットなどの用語がわからない場合は、入門編③の「本記事で構築するジョブについて」をご参照ください。

 

1. Hinemosクライアントを起動し、「ジョブ設定」パースペクティブを開きます。

 

 

↓クリックすると画像が拡大されます↓

 

 

2. スコープツリーの配下にある「マネージャ」を選択した状態で、ジョブ設定[一覧]ビューの右上にある「ジョブネット作成」ボタンを
  クリックし、出現したダイアログに下図のように入力します。

 

 

↓クリックすると画像が拡大されます↓

 

 

 

3. スコープツリーから先ほど作成した「RBA用ジョブユニット」を選択した状態で、「ジョブネットの作成」ボタンをクリックします。

 

 

↓クリックすると画像が拡大されます↓

 

 

4. ジョブ[ジョブネットの作成・変更]ダイアログでは、「ジョブID」と「ジョブ名」を下図の通りに指定して「OK」ボタンをクリック

  します。

 

↓クリックすると画像が拡大されます↓

 

 

 

 

 

監視ジョブの作成

監視ジョブは、システムやアプリケーションに出力されたログや、監視対象ノードのステータスを監視するジョブです。コマンドを設定する代わりに、あらかじめ登録された監視設定を指定することにより、監視対象のノードに対して監視結果を一度のみ取得することができます。

 

1. 作成したジョブネット(RBA用ジョブネット)を選択した状態で、ジョブ設定[一覧]ビューの右上にある「監視ジョブの作成」ボタンをクリックします。

 

 

 

↓クリックすると画像が拡大されます↓

 

 

2. ジョブ[監視ジョブの作成・変更]ダイアログでは、必須入力項目は背景色がピンク色で表示されます。下図の通り、「ジョブID」と「ジョブ名」を設定します。また、「監視」タブの「スコープ」と「監視設定」を下図の通り設定し、「OK」ボタンをクリックします。※入門編②を実施しないと、「監視設定」に「RESOURCE_TEST_CPU」は表示されません。

 

 

↓クリックすると画像が拡大されます↓

 

 

 

Tips監視ジョブについて

◆監視ジョブは、あらかじめ作成した監視設定を利用して、ジョブ[監視ジョブの作成・変更]ダイアログで指定したスコープに対して監視を「Hinemosマネージャ」が一回だけ実行します。この時、利用する監視設定で設定されている監視対象スコープや通知は無視されます。また、監視ジョブの対象には、Hinemosエージェントが必要な監視を除いて、Hinemosエージェントがインストールされている必要はありません。

 

Hinemosエージェントが必要な監視:Hinemosエージェント監視、ログファイル監視、カスタム監視、Windowsイベント監視、パケットキャプチャ監視、バイナリファイル監視

 

 

承認ジョブの作成

承認ジョブは、人の判断が必要な手続きを自動化するためのジョブです。承認ジョブを実行すると、設定時に指定したユーザーに対して、承認依頼のメールを送信します※1。承認者は、承認パースペクティブから、承認ジョブ以降のジョブを実行して良いか「承認/却下」を判断します。承認者の「承認/却下」で別々のジョブフローを実行することができます。

 

1. 作成したジョブネット(RBA用ジョブユニット)を選択した状態で、ジョブ設定[一覧]ビューの右上にある「承認ジョブの作成」ボタンをクリックします。

 

 

↓クリックすると画像が拡大されます↓

 

 

2. ジョブ[承認ジョブの作成・変更]ダイアログでは、必須入力項目は背景色がピンク色で表示されます。「ジョブID」、「ジョブ名」を設定します。

 

 

↓クリックすると画像が拡大されます↓

 

 

3. 「待ち条件」タブで「追加」ボタンをクリックし、「待ち条件」ダイアログで「名前」「ジョブID」「値」を設定し、「OK」をクリックして「待ち条件」ダイアログを閉じます。また、「条件を満たさなければ終了する」、終了状態、終了値を設定します。

 

 

↓クリックすると画像が拡大されます↓

 

 

4. 「承認」タブで承認依頼文、承認依頼メール件名を設定し、「OK」をクリックします。

 

 

↓クリックすると画像が拡大されます↓

 

 

Tips
※1今回はHinemosマネージャにSMTPの設定をしていないのでメールは送信されませんが、設定をすると、「承認依頼メール本文」に記載されている内容がメール本文に記入されて送信されます。承認依頼メールが送信されるユーザのメールアドレスは、アカウント機能で設定します。

 

 

コマンドジョブの作成

 

最後に、入門編③でも扱ったコマンドジョブの作成を行います。コマンドジョブの詳細については、入門編③をご参照ください。

1. 作成したジョブユニット(RBA用ジョブユニット)を選択した状態で、ジョブ設定[一覧]ビューの右上にある「承認ジョブの作成」ボタンをクリックします。

 

 

↓クリックすると画像が拡大されます↓

 

 

2. ジョブ[コマンドジョブの作成・変更]ダイアログでは、「ジョブID」、「ジョブ名」を設定します。

 

 

↓クリックすると画像が拡大されます↓

 

 

3. 「待ち条件」タブでは、「追加」ボタンをクリックし、「待ち条件」ダイアログで「名前」「ジョブID」「値」を設定し、「OK」を  クリックして「待ち条件」ダイアログを閉じます。また、「条件を満たさなければ終了する」、終了状態、終了値を設定します。

 

 

↓クリックすると画像が拡大されます↓

 

 

4. 「コマンド」タブで「スコープ」「起動コマンド」を指定します。

 

 

↓クリックすると画像が拡大されます↓

 

 

Runbook Automationの実行

それでは、ここから実際に設定したRBAを行うジョブネットの実行を行ってみましょう。まず初めに、管理対象ノードで動作するNet-SNMPを終了させ、ここまで設定したジョブネットを実行することで、Net-SNMPを再起動することができるか確認してみましょう。

 

1.管理対象ノードにログインし、以下のコマンドを実行しNet-SNMPを停止させます。

        [root] #service snmpd stop

 

2.ジョブ設定パースペクティブを開き、ジョブ設定[一覧]ビューから、先ほど作成した「RBA用ジョブユニット」を選択し、実行ボタンをクリックします。

 

 

↓クリックすると画像が拡大されます↓

 

 

3.以下のようなダイアログが表示されるので、実行をクリックします。

 

 

↓クリックすると画像が拡大されます↓

 

 

4.ジョブ履歴パースペクティブを開き、ジョブ履歴[一覧]ビューから、実行したジョブユニット(ジョブID:rba_jobunit)を選択します。

 

 

↓クリックすると画像が拡大されます↓

 

 

5.ジョブ履歴[ジョブ詳細]ビューに、以下のように実行中のジョブユニットの詳細が表示されます。

 

 

↓クリックすると画像が拡大されます↓

 

 

6.更新ボタンをクリックすると、ジョブの実行状態が更新されます。以下のように、最初に実行された「RBA用監視ジョブ」が異常状態で終了し、次に「RBA用承認ジョブ」が実行中になっているのが確認できます。「RBA用監視ジョブ」が異常終了しているので、「管理者ノード_01」ではNet-SNMPが実行されていないことが確認できます。

 

 

↓クリックすると画像が拡大されます↓

 

 

7.現在承認ジョブが実行されているので、承認ジョブが送信する承認依頼を確認しましょう。パースペクティブメニューから「承認」を選択し、承認パースペクティブを開きます。

 

 

↓クリックすると画像が拡大されます↓

 

 

8.承認パースペクティブを開くと、以下のように承認依頼が1件表示されています。

 

 

↓クリックすると画像が拡大されます↓

 

 

9.承認依頼をダブルクリックすると、以下のようなダイアログが表示されます。今回は承認依頼を承認したいため、「承認」ボタンをクリックします。

 

 

↓クリックすると画像が拡大されます↓

 

 

10.再度ジョブ履歴パースペクティブを開き、承認依頼を承認したことで、実行中のジョブユニットが正常に終了していることを確認しましょう。

 

 

↓クリックすると画像が拡大されます↓

 

 

11.管理対象ノードにログインし、以下のコマンドを実行します。Net-SNMPが実行されていることを確認しましょう。

        [root] # service snmpd status
        

 

 

最後に

Hinemos ver.6.1 応用編②では、Hinemos ver.6.0で追加されたRBA(Runbook Automation)の手順と確認方法についてご紹介しました。本編を通して、Hinemos ver.6.0で追加されたジョブ機能を利用したRBAの設定方法と実行結果の確認方法を学んでいただけたと思います。次回以降もより実践的なHinemosの使い方を紹介していきます。

 

Hinemosのスタートアップ情報関連

Hinemos ver.4.1の[実践]入門の本が販売中です。内容はHinemos ver.4.1ですが、Hinemosをより詳しく知りたい方には、お勧めの一冊です。

Hinemos統合管理[実践]入門

 

お問い合わせ