AnsibleでのWindows ServerへのOpsRampエージェントインストール
この記事はOpsRamp Advent Calendar 2021の12月16日の記事です。 このブログでOpsRampを扱うのは初めてです。ありがたいことにOpsRampさんから検証用ライセンスを支援いただきましたので環境を作りながらAdvent Calendarにも1日参加させていただきました。 私は現在Youtubeで企業でよくあるWindows/M365環境を構築してみるというシリーズを作成しています。AnsibleをつかってHyper-VでInfrastructure as Codeを実現していますので、コードによって自動的に生成されたVMが自動的にOpsRampから監視されるように構成してみたいと思います。 OpsRampのエージェントをAnsibleから管理する方法に関しては下記の記事に記載がありますので、この内容に沿って試してみます。 https://docs.opsramp.com/platform-features/agents/managing-agents-ansible/ 上記ドキュメントでは主にLinuxに関しての言及がなされています。ですが、私が今検証を進めている環境は今のところWindows Serverおよびそのうえで動いているWSL環境しか存在していません。Windows Server + WSLをAnsible環境として利用しつつ、Windows Serverを管理することができるのかどうか、ドキュメントの枠を超えて試してみたいと思います。 OpsRamp環境の初期セットアップ~手動でのエージェントインストール Ansibleでの検証に先立って、そもそものOpsRamp環境の初期セットアップを行い、試しに1台手動でエージェントを導入してみます。下記ドキュメントを参考にしながら作業を行いました。 https://jpdemopod2.docs.opsramp.com/ 管理ポータルにアクセスし…。 パスワードを変更し…。 Windows用のインストーラーをダウンロードし…。 インストーラーはネットワーク上の共有フォルダに配置しました。 監視対象には、ネットワーク上の共有フォルダから直接管理者として実行してエージェントをインストールしました。 「Undefined Resource」として見えてくることが確認できました。 モニターテンプレートを割り当てました。 Upの状態として認識されることを確認しました。 テスト的に監視対象を停止し、Downと検知されるところまで確認しました。 これで本当に基本的な部分のみですが、動作が確認できましたので、Ansibleを使ったエージェントインストールに進んでいきます。 Ansibleを使ったWindows ServerへのOpsRampエージェントインストール 管理者権限で実行すればエージェントがインストールされ、OpsRampからの監視を始めることのできるEXEファイルはOpsRampが用意してくれているわけですから単純にこのEXEファイルを実行させてインストールさせればよさそうです。 これを実現するにはwin_packageモジュールを利用すればよさそうです。 https://docs.ansible.com/ansible/latest/collections/ansible/windows/win_package_module.html パスとしては共有フォルダへのUNCパスもサポートしているので都合が良いです。 インストール済みかどうかの判定にはProduct_IDを利用するということですので、インストール済みのVMにてProduct_IDを確認します。 コンピューター\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall{5DD30F80-C9BD-429B-89CA-03C0578C77B4} 結果的に「5DD30F80-C9BD-429B-89CA-03C0578C77B4」がProduct_IDであるとわかりました。 - n a m w e i : n p P _ a r O p t o p a h d s c = u R k " c a a \ t m g \ _ p e \ I エ : \ d ー n = ジ e " ェ s 5 ン t D ト e D イ d 3 ン h 0 ス y F ト p 8 ー e 0 ル r - v C \ 9 \ B S D h - a 4 r 2 e 9 \ B \ - O 8 p 9 s C R A a - m 0 p 3 \ C \ 0 O 5 p 7 s 8 R C a 7 m 7 p B A 4 g " e n t - d e m o 0 0 1 . e x e " これをPlaybookに追加追記します。 ...