Shibata(44)42しばたです。インスタンスにインストールされているソフトウェアとそのバージョンを一覧表示する」記事が公開されました。Agentの機能で対象となるEC2インスタンスにインストールされているアプリケーション情報を収集しています。ここで単純に「インストールされているアプリケーション」と記載しましたが、実際には各OSにおけるアプリケーションのインストール方法およびその検出方法は千差万別です。Agentがどの様な「アプリケーション」を検出対象としているか調べてみました。ドキュメントの記載まずはドキュメントを当たってみます。ユーザーガイドを調べてみると、インベントリ管理で設定可能なデータ型インベントリを設定して、次のメタデータのタイプを収集できます。アプリケーション名、発行元、バージョンなど。収集対象にしているか記載されているものを見つけることはできませんでした。AgentはGitHubでソースが公開されています。aws/amazon-ssm-agent「ドキュメントが無ければソースを読めば良いじゃない」ということでソースを読んでみました。本記事では現在の最新バージョンであるVer.2.3.539.0を対象としています。Managerインベントリに関わる機能はaws:softwareInventoryプラグインが担っています。aws:softwareInventoryソースそしてこのソースの配下にあるgatherers/applicationがアプリケーション情報を収集する機能となっています。gatherers/applicationWindowsにおけるアプリケーション情報Windowsでのアプリケーション情報収集の実装はdataProvider_windows.goに記述されています。・・・(後略)・・・*/とある様に、レジストリ、HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\配下にある情報を読んでアプリケーション情報を取得しています。このレジストリキーはMSIインストーラーなどによってインストールされた場合に追加される領域で「プログラムと機能(プログラムの追加と削除)」で表示される情報の大元となっています。Windowsの詳しい方あれば"ごく普通"だと思っていただけるでしょう。Linuxにおけるアプリケーション情報Linuxでのアプリケーション情報収集の実装はdataProvider_unix.goに記述されています。dataProvider_unix.goこちらの実装ではアプリケーション情報をrpmまたはdpkg(dpkg-query)から取得しています。最初にdpkg-queryでアプリケーション情報の取得を試み、dpkgがインストールされていないなどのエラーとなった場合rpmを使う実装となっています。-qaを内部で発行しています。ソースとしては以下のあたりの記述となります。Coreのアプリケーションを各インスタンスに以下の様にインストールしてみます。Managerインベントリに乗らないはずです。Managerの各種設定は最初に紹介した記事の通り行います。2019でのセットアップざっくりこんな感じです。本筋ではないので細かい説明は端折ります。2でのセットアップざっくりこんな感じです。こちらも本筋ではないので細かい説明は端折ります。詳細ビューからざっくりpowershsllの名を持つアプリケーションを検索してみます。packageid結果はこの通りStableバージョンのPowerShellのみ収集されており、Preview版は収集されませんでした。余談ちなみに、Previewバージョンをインストーラーからインストールすると下図の様にちゃんと収集対象となります。(Previewバージョンをインストーラーからインストールした場合)最後にざっとこんな感じです。Managerインベントリは、Windowsでは「プログラムと機能」に表示される情報を収集するLinuxではdpkg-queryまたはrpmコマンドからアプリケーション情報を収集することがわかりました。Managerインベントリをより有効に活用できると思います。441,709札幌で働くPowerShellおじさんです。Management)だったりもしています。283267件のシェア(すこし話題の記事)Ansible使いの人はちょっと見逃せない。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。カフェ店長のオカノです。今日はオフィスに用があるので、通勤ラッシュを避けて出社しました。この子は新メンバーのさめくんです。在宅勤務が推奨されているのでオフィスが閑散としており、すこしさみしそうです。使いたいときの注意点を書きました。本が出ていたので読んでみたところよかったので紹介させていただきます。