OpsRamp スクリプトによる自動化

# 概要

OpsRampでは監視エージェントをインストールした機器に対してスクリプトを実行させることができます。スクリプトはスケジュール実行したり、オンデマンドで実行させることができます。

既存のスクリプトをそのまま利用する事も可能です。



# 対応言語

下記3つに対応しています

* powershell
* python
* shell



# 設定方法

### Scriptカテゴリ作成

スクリプトを作成する前準備として、カテゴリーを作成する必要があります。
システム毎やOS別でカテゴリを作成しておくと分かりやすいと思います。

"Automation" > "Scripts" をクリックします

| ![2021-1115-081605.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333529/cfebc351-c90f-5268-3b13-98ed47797157.jpeg) |
| :-- |


画面左下の"Add category"をクリックします

| ![2021-1115-081827.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333529/d1747ab0-cdc6-3b23-0c75-4e2ad17c3314.jpeg) |
| :-- |


カテゴリー名を入力して"保存"をクリックします

| ![2021-1115-081851.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333529/7a632c53-f087-2367-725d-a42e33197fae.jpeg) |
| :-- |


カテゴリーが作成されました
※更新ボタンを押すと表示されます

| ![2021-1115-081906.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333529/6fc5ac59-ed73-8265-db8a-8f5a438c6a77.jpeg) |
| :-- |




### Scriptの作成

次にスクリプトを作成していきます。"Add Script"をクリックします

| ![2021-1115-081949.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333529/76e0a10e-5b03-0b85-2866-3ef93cd8de72.jpeg) |
| :-- |


今回はCentOSが対象なので、プラットフォームでLinuxにチェックを入れ、実行タイプでSHELLを選択します。
コマンド/ファイル名で指定したファイルが対象機器に作成されます。
スクリプト欄に内容を記載します。（既存スクリプトを張り付けるだけでok）

| ![2021-1115-083447.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333529/305ff20c-e38b-3ee7-c71e-d0b21e3e9cb0.jpeg) |
| :-- |


スクリプト実行後の状態確認をするためパラメータを指定する事ができます。（今回は何も設定しない）
"保存"をクリックしてスクリプトを保存します。

| ![2021-1115-083543.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333529/e0c86b33-1b70-8a4c-a8e5-8700f3261644.jpeg) |
| :-- |





### Scriptの実行

今回はスケジュール登録せずに1回だけ実行してみます。

作成したスクリプトを対象機器に割り当てるため、"Apply Script to Devices"をクリックします

| ![2021-1115-083624.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333529/7821e405-cb8f-40aa-7787-f8e4ce33367f.jpeg) |
| :-- |



対象機器を選択して"今すぐ実行"をクリックします。
※"Default user"を選択しておくとrootで実行されます

| ![2021-1115-083658.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333529/d6194de6-1e39-bd64-24f5-f920d7d49760.jpeg) |
| :-- |


"OK"をクリックします

| ![2021-1115-083754.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333529/c848a6c6-3ad2-1d6f-c928-2a240c9f4fa9.jpeg) |
| :-- |





# 結果確認

### ログ確認

"ログの表示"をクリックします

| ![2021-1115-083811.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333529/f945abca-8c38-824d-073d-e7f1f26c95f6.jpeg) |
| :-- |


"＋"ボタンをクリックします

| ![2021-1115-083829.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333529/56e63904-00e7-5cca-92ce-acf1810efec0.jpeg) |
| :-- |


スクリプトを実行した際の標準出力が記録されています

| ![2021-1115-083850.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333529/d3f0f2e8-f73b-049a-9a01-5c40833f01eb.jpeg) |
| :-- |




### Scriptの実体はどこにあるか？

OpsRampでスクリプトを作成して対象機器へ割り当てると、"/opt/opsramp/agent/lib/libexec"にShellスクリプトが作成されます。
※Windowsでも同様の動作をします
![2021-1115-084319.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333529/c82901d4-40a7-e58c-eecf-49163ed0128b.jpeg)


ファイルの中身もOpsRampで記載した内容と同じです。
![2021-1115-084342.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333529/9431bdf9-9299-82e7-0b09-4dd6fa120dc3.jpeg) 



最近はAnsibleを使った自動化に取り組むケースが多いと思いますが、導入ハードルが高いようでなかなか進みませんよね。
OpsRampなら既存のスクリプトが利用できて手軽に運用自動化が進められると思います。


おわり。