Aggregazione dei dati di inventario - AWS Systems Manager

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Aggregazione dei dati di inventario

Dopo aver configurato i nodi gestiti per AWS Systems Manager Inventory, puoi visualizzare i conteggi aggregati dei dati di inventario. Ad esempio, supponi di aver configurato decine o centinaia di nodi gestiti per raccogliere il tipo di inventario AWS:Application. Utilizzando le informazioni contenute in questa sezione, puoi visualizzare il numero esatto di nodi configurati per raccogliere questi dati.

Puoi anche visualizzare dettagli di Inventory specifici aggregando un tipo di dati. Ad esempio, il tipo di inventario AWS:InstanceInformation raccoglie informazioni sulla piattaforma del sistema operativo con il tipo di dati Platform. Aggregando i dati nel tipo di dati Platform, puoi visualizzare rapidamente quanti nodi eseguono Windows, quante eseguono Linux e quante eseguono macOS.

Le procedure in questa sezione descrivono come visualizzare i conteggi aggregati dei dati di inventario utilizzando AWS Command Line Interface ()AWS CLI. Puoi anche visualizzare i conteggi aggregati preconfigurati nella AWS Systems Manager console nella pagina Inventario. Questi pannelli di controllo preconfigurati sono denominati informazioni di inventario e offrono sistemi di correzione con un solo clic per i problemi di configurazione di Inventory.

Nota i seguenti dettagli importanti relativi ai conteggi di aggregazione dei dati di Inventory:

  • Se si chiude un nodo gestito per la raccolta dei dati di inventario, Systems Manager conserva i dati di inventario per 30 giorni, quindi li elimina. Per i nodi in esecuzione, il sistema elimina i dati di inventario con più di 30 giorni. Se devi archiviare i dati di inventario per più di 30 giorni, puoi utilizzarli AWS Config per registrare la cronologia o interrogare e caricare periodicamente i dati su un bucket Amazon Simple Storage Service (Amazon S3).

  • Se un nodo è stato configurato in precedenza per riportare un determinato tipo di dati di Inventory, ad esempio AWS:Network, e in seguito decidi di modificare la configurazione per interrompere la raccolta di quel tipo di dati, i conteggi di aggregazione mostreranno ancora i dati AWS:Network finché il nodo non verrà terminato e non saranno passati 30 giorni.

Per informazioni su come configurare e raccogliere rapidamente i dati di inventario da tutti i nodi di uno specifico Account AWS (e da eventuali nodi futuri che potrebbero essere creati in quell'account), consultaInventario di tutti i nodi gestiti nel tuo account Account AWS.

Aggregazione dei dati di inventario per visualizzare il numero di nodi che raccolgono specifici tipi di dati

È possibile utilizzare l' AWS Systems Manager GetInventoryAPIoperazione per visualizzare i conteggi aggregati dei nodi che raccolgono uno o più tipi di inventario e tipi di dati. Ad esempio, il tipo di AWS:InstanceInformation inventario consente di visualizzare un aggregato di sistemi operativi utilizzando l' GetInventory APIoperazione con il tipo di AWS:InstanceInformation.PlatformType dati. Di seguito è riportato un esempio di comando e output AWS CLI :

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

Il sistema restituisce informazioni simili alle seguenti.

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

Determina i tipi di Inventory e i tipi di dati di cui desideri visualizzare i conteggi. Puoi visualizzare un elenco dei tipi di inventario e dei tipi di dati che supportano l'aggregazione eseguendo questo comando in AWS CLI.

aws ssm get-inventory-schema --aggregator

Il comando restituisce un JSON elenco di tipi di inventario e tipi di dati che supportano l'aggregazione. Il TypeNamecampo mostra i tipi di inventario supportati. Il campo Name (Nome) mostra ogni tipo di dati. Ad esempio, nell'elenco seguente, il tipo di Inventory AWS:Application include tipi di dati per Name e Version.

{
    "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"
                }
            ]
        }
    ]
}

Puoi aggregare i dati per tutti i tipi di Inventory elencati creando un comando che utilizzi la sintassi seguente:

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

Ecco alcuni esempi.

Esempio 1

Questo esempio aggrega il conteggio dei ruoli Windows utilizzati dai tuoi nodi.

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

Esempio 2

Questo esempio aggrega il conteggio delle applicazioni installate nei tuoi nodi.

aws ssm get-inventory --aggregators "Expression=AWS:Application.Name"
Combinazione di più aggregatori

È possibile anche combinare più tipi di Inventory e tipi di dati in un unico comando per aiutarti a comprendere meglio i dati. Ecco alcuni esempi.

Esempio 1

Questo esempio aggrega il conteggio dei sistemi operativi utilizzati dai tuoi nodi. Restituisce inoltre il nome specifico dei sistemi operativi.

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

Esempio 2

Questo esempio aggrega il conteggio delle applicazioni in esecuzione sui tuoi nodi e la versione specifica di ciascuna applicazione.

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

Se preferisci, puoi creare un'espressione di aggregazione con uno o più tipi di inventario e tipi di dati in un JSON file e richiamare il file da. AWS CLI Il JSON file deve utilizzare la seguente sintassi.

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

Devi salvare il file con l'estensione .json.

Di seguito è riportato un esempio che utilizza più tipi di Inventory e tipi di dati.

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

Utilizza il comando seguente per richiamare il file tramite AWS CLI.

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

Il comando restituisce informazioni simili alle seguenti.

{"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"}
 ]
}

Aggregazione dei dati di inventario con i gruppi per vedere i nodi configurate o non configurate per raccogliere un tipo di inventario

I gruppi in Inventory di Systems Manager ti consentono di vedere rapidamente il numero di nodi gestiti che sono o meno configurati per raccogliere uno o più tipi di Inventory. Con i gruppi, devi specificare uno o più tipi di Inventory nonché un filtro che utilizzi l'operatore exists.

Ad esempio, supponi di disporre di quattro nodi gestiti, configurati per raccogliere i seguenti tipi di Inventory:

  • Nodo 1: AWS:Application

  • Nodo 2: AWS:File

  • Nodo 3: AWS:Application, AWS:File

  • Nodo 4: AWS:Network

È possibile eseguire il comando seguente da AWS CLI per vedere quanti nodi sono configurati per raccogliere entrambi AWS:Application i AWS:File inventory tipi. La risposta restituisce anche il numero di nodi non configurati per raccogliere questi tipi di Inventory.

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

La risposta del comando mostra che è configurata un solo nodo gestito per raccogliere entrambi i tipi di Inventory, AWS:Application e AWS:File.

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

I gruppi non restituiscono il conteggio dei tipi di dati. Inoltre, non puoi approfondire i risultati per vedere i IDs nodi che sono o non sono configurati per raccogliere il tipo di inventario.

Se preferisci, puoi creare un'espressione di aggregazione con uno o più tipi di inventario in un JSON file e richiamare il file da. AWS CLI Il JSON file deve utilizzare la seguente sintassi:

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

Devi salvare il file con l'estensione .json.

Utilizza il comando seguente per richiamare il file tramite AWS CLI.

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

I seguenti esempi illustrano come aggregare dati di Inventory per vedere quali nodi gestiti sono o meno configurati per raccogliere i tipi di Inventory specificati. Questi esempi utilizzano AWS CLI. Ogni esempio include un comando completo con filtri, eseguibile dalla riga di comando, e un file di esempio input.json, nel caso tu preferisca inserire le informazioni in un file.

Esempio 1

Questo esempio aggrega il conteggio dei nodi configurate o meno per raccogliere il tipo di Inventory AWS:Application oppure AWS:File.

Utilizza il comando seguente da AWS CLI.

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

Se preferisci utilizzare un file, copia e incolla il seguente esempio in un file e salvalo come input.json.

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

Utilizza il comando seguente da AWS CLI.

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

Il comando restituisce informazioni simili alle seguenti.

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

Esempio 2

Questo esempio aggrega il conteggio dei nodi configurati o meno per raccogliere i tipi di inventario AWS:Application, AWS:File e AWS:Network.

Utilizza il comando seguente da 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}]}]'

Se preferisci utilizzare un file, copia e incolla il seguente esempio in un file e salvalo come 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" } ] } ] } ] }

Utilizza il comando seguente da AWS CLI.

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

Il comando restituisce informazioni simili alle seguenti.

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