Pengumpulan data inventaris - AWS Systems Manager

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Pengumpulan data inventaris

Setelah mengonfigurasi node terkelola untukAWS Systems Manager Inventaris, Anda dapat melihat jumlah agregat data inventaris. Misalnya, anggap saja Anda mengonfigurasi puluhan atau ratusan node terkelola untuk mengumpulkan jenisAWS:Application inventaris. Dengan menggunakan informasi di bagian ini, Anda dapat melihat jumlah pasti dari berapa banyak node yang dikonfigurasi untuk mengumpulkan data ini.

Anda juga dapat melihat detail inventaris tertentu dengan mengumpulkan jenis data. Misalnya, jenis inventaris AWS:InstanceInformation mengumpulkan informasi platform sistem operasi dengan jenis data Platform. Dengan mengumpulkan data pada jenisPlatform data, Anda dapat dengan cepat melihat berapa banyak node yang menjalankan Windows, berapa banyak yang menjalankan Linux, dan berapa banyak yang berjalanmacOS.

Prosedur di bagian ini menjelaskan cara melihat jumlah agregat dari data inventaris dengan menggunakan AWS Command Line Interface (AWS CLI). Anda juga dapat melihat jumlah agregat yang dikonfigurasi sebelumnya di konsol AWS Systems Manager pada halaman Inventaris. Dasbor yang dikonfigurasi sebelumnya ini disebut Wawasan Inventaris dan menawarkan remediasi satu klik untuk masalah konfigurasi inventaris Anda.

Perhatikan detail penting mengenai jumlah pengumpulan data inventaris berikut:

  • Jika Anda mengakhiri node terkelola yang dikonfigurasi untuk mengumpulkan data inventaris, Systems Manager mempertahankan data inventaris selama 30 hari lalu menghapusnya. Untuk menjalankan node, sistem menghapus data inventaris yang berusia lebih dari 30 hari. Jika Anda harus menyimpan data inventaris lebih dari 30 hari, Anda dapat menggunakan AWS Config untuk mencatat riwayat atau secara berkala mengkueri dan mengunggah data ke bucket Amazon Simple Storage Service (Amazon S3).

  • Jika node terlebih dahulu dikonfigurasi untuk melaporkan jenis data inventaris tertentuAWS:Network, dan nantinya Anda mengubah konfigurasi agar berhenti mengumpulkan jenis tersebut, jumlah pengumpulan akan tetap menunjukkanAWS:Network data sampai node dihentikan dan 30 hari telah berlalu.

Untuk informasi tentang cara mengonfigurasi dan mengumpulkan data inventaris dengan cepat dari semua node di tertentuAkun AWS (dan setiap node di future yang mungkin dibuat di akun tersebut), lihatPengonfigurasian pengumpulan dengan menggunakan konsol.

Pengumpulan data inventaris untuk melihat jumlah node yang mengumpulkan jenis data tertentu

Anda dapat menggunakan operasiAWS Systems Manager GetInventoryAPI untuk melihat jumlah agregat dari node yang mengumpulkan satu atau beberapa jenis inventaris dan jenis data. Misalnya, jenisAWS:InstanceInformation inventaris memungkinkan Anda untuk melihat agregat sistem operasi dengan menggunakan operasi GetInventory API dengan jenisAWS:InstanceInformation.PlatformType data. Berikut adalah contohAWS CLI perintah dan outputnya.

aws ssm get-inventory --aggregators "Expression=AWS:InstanceInformation.PlatformType"

Sistem mengembalikan informasi seperti berikut ini.

{
   "Entities":[
      {
         "Data":{
            "AWS:InstanceInformation":{
               "Content":[
                  {
                     "Count":"7",
                     "PlatformType":"windows"
                  },
                  {
                     "Count":"5",
                     "PlatformType":"linux"
                  }
               ]
            }
         }
      }
   ]
}
Memulai

Tentukan jenis inventaris dan jenis data yang Anda ingin lihat jumlahnya. Anda dapat melihat daftar jenis inventaris dan jenis data yang mendukung pengumpulan dengan menjalankan perintah berikut diAWS CLI.

aws ssm get-inventory-schema --aggregator

Perintah menampilkan daftar JSON dari jenis inventaris dan jenis data yang mendukung pengumpulan. TypeNameBidang menunjukkan jenis inventaris yang didukung. Sedangkan bidang Nama menunjukkan setiap jenis data. Misalnya, dalam daftar berikut, jenisAWS:Application inventaris mencakup jenis data untukName danVersion.

{
    "Schemas": [
        {
            "TypeName": "AWS:Application",
            "Version": "1.1",
            "DisplayName": "Application",
            "Attributes": [
                {
                    "DataType": "STRING",
                    "Name": "Name"
                },
                {
                    "DataType": "STRING",
                    "Name": "Version"
                }
            ]
        },
        {
            "TypeName": "AWS:InstanceInformation",
            "Version": "1.0",
            "DisplayName": "Platform",
            "Attributes": [
                {
                    "DataType": "STRING",
                    "Name": "PlatformName"
                },
                {
                    "DataType": "STRING",
                    "Name": "PlatformType"
                },
                {
                    "DataType": "STRING",
                    "Name": "PlatformVersion"
                }
            ]
        },
        {
            "TypeName": "AWS:ResourceGroup",
            "Version": "1.0",
            "DisplayName": "ResourceGroup",
            "Attributes": [
                {
                    "DataType": "STRING",
                    "Name": "Name"
                }
            ]
        },
        {
            "TypeName": "AWS:Service",
            "Version": "1.0",
            "DisplayName": "Service",
            "Attributes": [
                {
                    "DataType": "STRING",
                    "Name": "Name"
                },
                {
                    "DataType": "STRING",
                    "Name": "DisplayName"
                },
                {
                    "DataType": "STRING",
                    "Name": "ServiceType"
                },
                {
                    "DataType": "STRING",
                    "Name": "Status"
                },
                {
                    "DataType": "STRING",
                    "Name": "StartType"
                }
            ]
        },
        {
            "TypeName": "AWS:WindowsRole",
            "Version": "1.0",
            "DisplayName": "WindowsRole",
            "Attributes": [
                {
                    "DataType": "STRING",
                    "Name": "Name"
                },
                {
                    "DataType": "STRING",
                    "Name": "DisplayName"
                },
                {
                    "DataType": "STRING",
                    "Name": "FeatureType"
                },
                {
                    "DataType": "STRING",
                    "Name": "Installed"
                }
            ]
        }
    ]
}

Anda dapat mengumpulkan data untuk jenis inventaris apa pun yang terdaftar dengan membuat perintah yang menggunakan sintaks berikut.

aws ssm get-inventory --aggregators "Expression=InventoryType.DataType"

Berikut ini adalah beberapa contoh.

Contoh 1

Contoh ini mengumpulkan jumlah peran Windows yang digunakan oleh node Anda.

aws ssm get-inventory --aggregators "Expression=AWS:WindowsRole.Name"

Contoh 2

Contoh ini mengumpulkan jumlah aplikasi yang diinstal pada node Anda.

aws ssm get-inventory --aggregators "Expression=AWS:Application.Name"
Penggabungan beberapa agregator

Anda juga dapat menggabungkan beberapa jenis inventaris dan jenis data dalam satu perintah untuk membantu Anda memahami data dengan lebih baik. Berikut ini adalah beberapa contoh.

Contoh 1

Contoh ini mengumpulkan jumlah jenis sistem operasi yang digunakan oleh node Anda. Ia juga menampilkan nama tertentu dari sistem operasi.

aws ssm get-inventory --aggregators '[{"Expression": "AWS:InstanceInformation.PlatformType", "Aggregators":[{"Expression": "AWS:InstanceInformation.PlatformName"}]}]'

Contoh 2

Contoh ini mengumpulkan jumlah aplikasi yang berjalan pada node Anda dan versi tertentu dari setiap aplikasi.

aws ssm get-inventory --aggregators '[{"Expression": "AWS:Application.Name", "Aggregators":[{"Expression": "AWS:Application.Version"}]}]'

Jika mau, Anda dapat membuat ekspresi pengumpulan dengan satu atau beberapa jenis inventaris dan jenis data dalam file JSON dan memanggil file dari AWS CLI. JSON dalam file harus menggunakan sintaks berikut.

[ { "Expression": "string", "Aggregators": [ { "Expression": "string" } ] } ]

Anda harus menyimpan file dengan ekstensi file. json.

Berikut adalah contoh yang menggunakan beberapa jenis inventaris dan jenis data.

[ { "Expression": "AWS:Application.Name", "Aggregators": [ { "Expression": "AWS:Application.Version", "Aggregators": [ { "Expression": "AWS:InstanceInformation.PlatformType" } ] } ] } ]

Gunakan perintah berikut untuk memanggil file dari AWS CLI.

aws ssm get-inventory --aggregators file://file_name.json

Perintah tersebut mengembalikan informasi seperti berikut.

{"Entities": 
 [
   {"Data": 
     {"AWS:Application": 
       {"Content": 
         [
           {"Count": "3", 
            "PlatformType": "linux", 
            "Version": "2.6.5", 
            "Name": "audit-libs"}, 
           {"Count": "2", 
            "PlatformType": "windows", 
            "Version": "2.6.5", 
            "Name": "audit-libs"}, 
           {"Count": "4", 
            "PlatformType": "windows", 
            "Version": "6.2.8", 
            "Name": "microsoft office"}, 
           {"Count": "2", 
            "PlatformType": "windows", 
            "Version": "2.6.5", 
            "Name": "chrome"}, 
           {"Count": "1", 
            "PlatformType": "linux", 
            "Version": "2.6.5", 
            "Name": "chrome"}, 
           {"Count": "2", 
            "PlatformType": "linux", 
            "Version": "6.3", 
            "Name": "authconfig"}
         ]
       }
     }, 
    "ResourceType": "ManagedInstance"}
 ]
}

Pengumpulan data inventaris dengan grup untuk melihat node mana yang dikonfigurasi dan yang tidak dikonfigurasi untuk mengumpulkan jenis inventaris

Grup di Inventaris Systems Manager memungkinkan Anda dengan cepat melihat jumlah node terkelola yang dikonfigurasi dan yang tidak dikonfigurasi untuk mengumpulkan satu atau beberapa jenis inventaris. Dengan grup, Anda menentukan satu atau beberapa jenis inventaris dan filter yang menggunakan operator exists.

Misalnya, anggap saja Anda memiliki empat node terkelola yang dikonfigurasi untuk mengumpulkan jenis inventaris berikut:

  • Simpul 1:AWS:Application

  • Simpul 2:AWS:File

  • Simpul 3:AWS:Application,AWS:File

  • Simpul 4:AWS:Network

Anda dapat menjalankan perintah berikut dariAWS CLI untuk melihat berapa banyak node dikonfigurasi untuk mengumpulkan keduaAWS:Application danAWS:File inventory jenis. Tanggapan juga menampilkan jumlah dari berapa banyak node yang tidak dikonfigurasi untuk mengumpulkan kedua jenis inventaris ini.

aws ssm get-inventory --aggregators 'Groups=[{Name=ApplicationAndFile,Filters=[{Key=TypeName,Values=[AWS:Application],Type=Exists},{Key=TypeName,Values=[AWS:File],Type=Exists}]}]'

Tanggapan perintah menunjukkan bahwa hanya ada satu node terkelola yang dikonfigurasi untuk mengumpulkan jenisAWS:File inventarisAWS:Application dan inventaris.

{
   "Entities":[
      {
         "Data":{
            "ApplicationAndFile":{
               "Content":[
                  {
                     "notMatchingCount":"3"
                  },
                  {
                     "matchingCount":"1"
                  }
               ]
            }
         }
      }
   ]
}
catatan

Grup tidak menampilkan jumlah jenis data. Juga, Anda tidak dapat menguraikan hasil untuk melihat ID node yang dikonfigurasi atau yang tidak dikonfigurasi untuk mengumpulkan jenis inventaris.

Jika mau, Anda dapat membuat ekspresi pengumpulan dengan satu atau beberapa jenis inventaris dalam file JSON dan memanggil file dari AWS CLI. JSON dalam file harus menggunakan sintaks berikut:

{ "Aggregators":[ { "Groups":[ { "Name":"Name", "Filters":[ { "Key":"TypeName", "Values":[ "Inventory_type" ], "Type":"Exists" }, { "Key":"TypeName", "Values":[ "Inventory_type" ], "Type":"Exists" } ] } ] } ] }

Anda harus menyimpan file dengan ekstensi file. json.

Gunakan perintah berikut untuk memanggil file dari AWS CLI.

aws ssm get-inventory --cli-input-json file://file_name.json
Contoh tambahan

Contoh berikut menunjukkan cara mengumpulkan data inventaris untuk melihat node terkelola yang dikonfigurasi dan yang tidak dikonfigurasi untuk mengumpulkan jenis inventaris tertentu. Contoh-contoh ini menggunakan AWS CLI. Setiap contoh mencakup perintah lengkap dengan filter yang dapat Anda jalankan dari baris perintah dan sampel file input.json jika Anda lebih memilih untuk memasukkan informasi dalam file.

Contoh 1

Contoh ini mengumpulkan jumlah node yang dikonfigurasi dan yang tidak dikonfigurasi untuk mengumpulkan jenis inventarisAWS:Application atau jenisAWS:File inventaris.

Jalankan perintah berikut dari AWS CLI.

aws ssm get-inventory --aggregators 'Groups=[{Name=ApplicationORFile,Filters=[{Key=TypeName,Values=[AWS:Application, AWS:File],Type=Exists}]}]'

Jika Anda lebih memilih untuk menggunakan file, salin dan tempelkan sampel berikut ke dalam file dan simpan sebagai input.json.

{ "Aggregators":[ { "Groups":[ { "Name":"ApplicationORFile", "Filters":[ { "Key":"TypeName", "Values":[ "AWS:Application", "AWS:File" ], "Type":"Exists" } ] } ] } ] }

Jalankan perintah berikut dari AWS CLI.

aws ssm get-inventory --cli-input-json file://input.json

Perintah tersebut mengembalikan informasi seperti berikut.

{
   "Entities":[
      {
         "Data":{
            "ApplicationORFile":{
               "Content":[
                  {
                     "notMatchingCount":"1"
                  },
                  {
                     "matchingCount":"3"
                  }
               ]
            }
         }
      }
   ]
}

Contoh 2

Contoh ini mengumpulkan jumlah node yang dikonfigurasi dan yang tidak dikonfigurasi untuk mengumpulkan jenisAWS:Network inventarisAWS:ApplicationAWS:File, dan inventaris.

Jalankan perintah berikut dari AWS CLI.

aws ssm get-inventory --aggregators 'Groups=[{Name=Application,Filters=[{Key=TypeName,Values=[AWS:Application],Type=Exists}]}, {Name=File,Filters=[{Key=TypeName,Values=[AWS:File],Type=Exists}]}, {Name=Network,Filters=[{Key=TypeName,Values=[AWS:Network],Type=Exists}]}]'

Jika Anda lebih memilih untuk menggunakan file, salin dan tempelkan sampel berikut ke dalam file dan simpan sebagai input.json.

{ "Aggregators":[ { "Groups":[ { "Name":"Application", "Filters":[ { "Key":"TypeName", "Values":[ "AWS:Application" ], "Type":"Exists" } ] }, { "Name":"File", "Filters":[ { "Key":"TypeName", "Values":[ "AWS:File" ], "Type":"Exists" } ] }, { "Name":"Network", "Filters":[ { "Key":"TypeName", "Values":[ "AWS:Network" ], "Type":"Exists" } ] } ] } ] }

Jalankan perintah berikut dari AWS CLI.

aws ssm get-inventory --cli-input-json file://input.json

Perintah tersebut mengembalikan informasi seperti berikut.

{
   "Entities":[
      {
         "Data":{
            "Application":{
               "Content":[
                  {
                     "notMatchingCount":"2"
                  },
                  {
                     "matchingCount":"2"
                  }
               ]
            },
            "File":{
               "Content":[
                  {
                     "notMatchingCount":"2"
                  },
                  {
                     "matchingCount":"2"
                  }
               ]
            },
            "Network":{
               "Content":[
                  {
                     "notMatchingCount":"3"
                  },
                  {
                     "matchingCount":"1"
                  }
               ]
            }
         }
      }
   ]
}