こんにちは。ES/1 Shelty担当の牛嶋です。
今回は、3.3.0でリリースされた監視対象の一括登録機能について紹介します。
機能概要
3.3.0にて、データ収集対象(システム・クラスター・Agent導入設定)の登録を REST API および コマンドライン(sheltycmd)で行う機能が追加されました。
これまでUI画面上で1つずつ行っていた登録作業を、APIやコマンドで一括実行できるため、特に大規模環境や自動化が求められる環境で導入・構築作業が大幅に効率化されます。
これまでの課題
-
-
ES/1 Sheltyへの監視対象の登録は、管理画面(UI)から1件ずつ手作業で行う必要がありました。
-
そのため、以下のようなご指摘をいただくことがありました。
-
監視対象のノード数が数十〜数百台規模になると、登録作業だけで大きな工数が発生
-
監視対象の増減・変更が多い環境では、手作業での対応が追いつかない
-
自社の構築自動化パイプラインにES/1 Sheltyの設定登録を組み込めない
-
-
新機能の紹介
-
3.3.0では、監視対象の一括登録について2つの手段を提供します。
-
①設定操作 REST API
JSON形式のデータをHTTPリクエストで送信することで、以下の設定操作が可能です。
-
-
操作対象
|
取得
|
追加・更新
|
削除
|
システム
|
◎
|
◎
|
◎
|
クラスター
|
◎
|
◎
|
◎
|
ローカルAgent導入設定
|
◎
|
◎
|
◎
|
リモートAgent導入設定
|
◎
|
◎
|
◎
|
-
dryRun=true パラメータで事前シミュレーションが可能(実データを変更せずに動作確認)
-
IDだけでなく名前指定でもアクセス可能(例:システム名・クラスター名での指定)
②コマンドラインツール sheltycmd
-
REST APIをコマンドラインから簡単に利用できる専用ツールです。curlコマンドやJSON作成に慣れていなくても、直感的なオプション指定で操作できます。
-
==================================================================
# システムの追加
sheltycmd system add --name "ONLINE"
# クラスターの追加(ホスト名のワイルドカード指定も可能)
sheltycmd cluster add --system-name "ONLINE" --name "Web" --matches "web*"
# Java Agentの追加
sheltycmd agent add --system-name "ONLINE" --cluster-name "Web" \
--type javaAp --instanceKey "myapp" --instanceDisp "MyApp"
==================================================================
-
Linux版・Windows版を提供(Shelty Managerからダウンロード可能)
-
環境変数による接続先・APIキーの設定に対応し、バッチ処理やスクリプトへの組み込みが容易
-
--dry-run オプションで安全に事前確認可能
想定されるユースケース
ケース1:大量ノードへの初期導入
Web-AP-DBおよびAPやDBのインスタンスの構成セットが数百~数千以上の大規模で存在する環境では、CSVやExcel等で管理している台帳情報をもとにスクリプトを作成し、sheltycmdで一括登録することで、導入作業を大幅に短縮できます。
ケース2:環境構築の自動化パイプラインへの組み込み
クラウド上でサーバの構築が自動化されている場合、その構築プロセスの中にsheltycmdの実行を組み込むことで、環境構築と同時にES/1 Sheltyへの監視対象登録も自動で完了します。
ケース3:検証環境の構成複製
本番環境をベースにして検証環境を構築する際など、既存設定をGETで取得し、パラメータを変更してPUTすることで、設定の複製・横展開が効率的に行えます。
sheltycmd(コマンドラインツール)のはじめ方
-
1. sheltycmdをダウンロード
Shelty Managerの /download/ パスからOS別のツールを取得
-
-
2. 接続先を設定
環境変数 SHELTYCMD_HOST と SHELTYCMD_API_KEY を設定
-
-
3. dryRunで動作確認
--dry-run を付けて登録コマンドを実行し、結果をプレビュー
-
-
4. 本番実行
問題なければ --dry-run を外して実行
NC(Node Controller)の一括導入機能との組み合わせ
本機能はShelty Managerへの監視対象登録作業ですが、既存機能にて監視対象サーバへのNC(Node Controller)の一括導入にも対応しています。
Linux:コマンドラインでの複数サーバへのリモートバッチインストール
Windows :Active Directoryを使用した一括配布
今回拡張された本機能を既存のAgentモジュールの一斉配布機能と組み合わせて使うことにより、大規模環境においての導入から設定登録までの一連の作業を大幅に効率化することができます。
Step 1: リモートバッチインストール/AD配布でNC(Node Controller)を一斉導入
Step 2: API/sheltycmdでシステム・クラスター・Agent導入設定を一括登録
適用方法
-
バージョンアップにて自動適用
本機能は 3.3.0へのバージョンアップで自動的に使用可能となります。
機能使用のための登録作業などは不要です。
最後に
大規模環境への導入や設定変更で課題となっていた手作業での登録工数を、API/CLIによる自動化で解消します。コマンドラインでの実行によって既存の運用自動化の仕組みとの連携も容易です。
詳細については、ES/1 Shelty マニュアルの以下部分をご覧ください。
・「設定・運用編」の「Web API活用ガイド」→「設定操作Web API 」
・「設定・運用編」の「CLI活用ガイド」
今後もES/1 Shelty では、現場の課題やご要望をもとに機能改善と拡充を進めてまいります。
ご質問がございましたらお気軽に弊社の担当SEまでご連絡ください。
本文中に記載されている製品名、サービス名は、各社の登録商標または商標です。