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à.
Utilizzo di inventari personalizzati
Puoi assegnare metadati ai tuoi nodi mediante la creazione di un Inventory (Inventario) AWS Systems Manager personalizzato. Ad esempio, supponiamo che tu gestisca un numero elevato di server nel tuo data center e che i server siano stati configurati come nodi gestiti da Systems Manager. Attualmente, le informazioni relative alla posizione del rack dei server vengono archiviate in un foglio di calcolo. Con l'inventario personalizzato, puoi specificare la posizione del rack di ciascun nodo come metadati del nodo. Quando raccogli l'inventario con Systems Manager, i metadati vengono raccolti con altri metadati di inventario. Puoi poi trasferire tutti i metadati di inventario in un bucket Amazon S3 centralizzato utilizzando Resource Data Sync ed eseguendo una query sui dati.
Nota
Systems Manager supporta un massimo di 20 tipi di inventario personalizzati per Account AWS.
Per assegnare un inventario personalizzato a un nodo, è possibile utilizzare l'operazione API PutInventory di Systems Manager, come descritto in Assegnazione di metadati di inventario personalizzati a un nodo gestito. In alternativa, puoi creare e caricare nel nodo un file JSON dell'inventario personalizzato. Questa sezione descrive come creare il file JSON.
Il file JSON di esempio seguente con inventario personalizzato specifica le informazioni rack relative a un server on-premise. Questo esempio specifica un tipo di dati di inventario personalizzato ("TypeName": "Custom:RackInformation"
), con più voci in Content
che descrivono i dati.
{ "SchemaVersion": "1.0", "TypeName": "Custom:RackInformation", "Content": { "Location": "US-EAST-02.CMH.RACK1", "InstalledTime": "2016-01-01T01:01:01Z", "vendor": "DELL", "Zone" : "BJS12", "TimeZone": "UTC-8" } }
Puoi anche specificare voci distinte nella sezione Content
, come mostrato nell'esempio seguente.
{ "SchemaVersion": "1.0", "TypeName": "Custom:PuppetModuleInfo", "Content": [{ "Name": "puppetlabs/aws", "Version": "1.0" }, { "Name": "puppetlabs/dsc", "Version": "2.0" } ] }
Lo schema JSON per l'inventario personalizzato richiede le sezioni SchemaVersion
, TypeName
e Content
, in cui puoi definire le informazioni.
{ "SchemaVersion": "
user_defined
", "TypeName": "Custom:user_defined
", "Content": { "user_defined_attribute1
": "user_defined_value1
", "user_defined_attribute2
": "user_defined_value2
", "user_defined_attribute3
": "user_defined_value3
", "user_defined_attribute4
": "user_defined_value4
" } }
Il valore di TypeName
è limitato a 100 caratteri. Inoltre, il valore di TypeName
deve iniziare con la parola Custom
in maiuscolo. Ad esempio Custom:PuppetModuleInfo
. Pertanto, i seguenti esempi costituirebbero un'eccezione: CUSTOM:PuppetModuleInfo
, custom:PuppetModuleInfo
.
La sezione Content
include attributi e dati
. Questi elementi non prevedono alcuna distinzione tra maiuscole e minuscole. Tuttavia, se definisci un attributo (ad esempio: "Vendor
": "DELL"), sarà necessario fare riferimento a tale attributo in modo coerente nei tuoi file dell'inventario personalizzato. Se specifichi "Vendor
": "DELL" (utilizzando la maiuscola "V" in vendor
) in un file e quindi specifichi "vendor
": "DELL" (utilizzando la minuscola "v" in vendor
) in un altro file, il sistema restituisce un errore.
Nota
È necessario salvare il file con estensione .json
e l'inventario definito deve essere costituito solo da valori stringa.
Dopo aver creato il file, devi salvarlo nel nodo. La tabella riportata di seguito mostra il percorso in cui devono essere archiviati i file JSON dell'inventario personalizzato nel nodo.
Sistema operativo | Path |
---|---|
Linux |
/var/lib/amazon/ssm/ |
macOS |
|
Windows |
%SystemDrive%\ProgramData\Amazon\SSM\InstanceData\ |
Per un esempio di come utilizzare l'inventario personalizzato, consulta Get Disk Utilization of Your Fleet Using EC2 Systems Manager Custom Inventory Types
Eliminazione di un inventario personalizzato
Puoi utilizzare l'operazione API DeleteInventory per eliminare un tipo di inventario personalizzato nonché i dati a esso associati. Puoi richiamare il comando delete-inventory tramite AWS Command Line Interface (AWS CLI) per eliminare tutti i dati di un tipo di inventario. Puoi richiamare il comando delete-inventory tramite SchemaDeleteOption
per eliminare un tipo di inventario personalizzato.
Nota
Il tipo di inventario viene chiamato anche schema di inventario.
Il parametro SchemaDeleteOption
include le seguenti opzioni:
-
DeleteSchema: questa opzione elimina il tipo di inventario personalizzato specificato e tutti i dati a esso associati. Puoi ricreare lo schema in un secondo momento, se lo desideri.
-
DisableSchema: se selezioni questa opzione, il sistema disattiva la versione corrente, elimina tutti i dati e ignora tutti i nuovi dati se la versione è inferiore o uguale a quella disattivata. Puoi abilitare questo tipo di inventario nuovamente richiamando l'operazione PutInventory per una versione superiore a quella disattivata.
Per eliminare o disattivare l'inventario personalizzato tramite AWS CLI
Se non lo hai ancora fatto, installa e configura AWS Command Line Interface (AWS CLI).
Per informazioni, consulta la pagina Installazione o aggiornamento della versione più recente di AWS CLI.
-
Eseguire questo comando per utilizzare l'opzione
dry-run
per vedere quali dati verranno eliminati dal sistema. Questo comando non elimina alcun dato.aws ssm delete-inventory --type-name "Custom:
custom_type_name
" --dry-runIl sistema restituisce informazioni simili alle seguenti.
{ "DeletionSummary":{ "RemainingCount":3, "SummaryItems":[ { "Count":2, "RemainingCount":2, "Version":"1.0" }, { "Count":1, "RemainingCount":1, "Version":"2.0" } ], "TotalCount":3 }, "TypeName":"Custom:
custom_type_name
" }Per informazioni su come comprendere il riepilogo di eliminazione dell'inventario, consultare Comprendere il riepilogo di eliminazione dell'inventario.
-
Eseguire questo comando per eliminare tutti i dati di un tipo di inventario personalizzato.
aws ssm delete-inventory --type-name "Custom:
custom_type_name
"Nota
L'output di questo comando non mostra l'avanzamento dell'eliminazione. Per questo motivo, TotalCount e RemainingCount restano invariati, dato che il sistema non ha ancora effettuato eliminazioni. È possibile utilizzare il comando describe-inventory-deletions per visualizzare l'avanzamento dell'eliminazione, come descritto più avanti in questo argomento.
Il sistema restituisce informazioni simili alle seguenti.
{ "DeletionId":"
system_generated_deletion_ID
", "DeletionSummary":{ "RemainingCount":3, "SummaryItems":[ { "Count":2, "RemainingCount":2, "Version":"1.0" }, { "Count":1, "RemainingCount":1, "Version":"2.0" } ], "TotalCount":3 }, "TypeName":"custom_type_name
" }Il sistema elimina dal servizio Inventory di Systems Manager tutti i dati del tipo di inventario personalizzato specificato.
-
Esegui il comando seguente. Il comando esegue le operazioni seguenti per la versione corrente del tipo di inventario: disattiva la versione corrente, elimina tutti i dati e ignora tutti i nuovi dati se la versione è inferiore o uguale a quella disattivata.
aws ssm delete-inventory --type-name "Custom:
custom_type_name
" --schema-delete-option "DisableSchema"Il sistema restituisce informazioni simili alle seguenti.
{ "DeletionId":"
system_generated_deletion_ID
", "DeletionSummary":{ "RemainingCount":3, "SummaryItems":[ { "Count":2, "RemainingCount":2, "Version":"1.0" }, { "Count":1, "RemainingCount":1, "Version":"2.0" } ], "TotalCount":3 }, "TypeName":"Custom:custom_type_name
" }È possibile visualizzare un tipo di inventario disattivato utilizzando il comando seguente.
aws ssm get-inventory-schema --type-name Custom:
custom_type_name
-
Eseguire questo comando per eliminare un tipo di inventario.
aws ssm delete-inventory --type-name "Custom:
custom_type_name
" --schema-delete-option "DeleteSchema"Il sistema elimina lo schema e tutti i dati del tipo di inventario personalizzato specificato.
Il sistema restituisce informazioni simili alle seguenti.
{ "DeletionId":"
system_generated_deletion_ID
", "DeletionSummary":{ "RemainingCount":3, "SummaryItems":[ { "Count":2, "RemainingCount":2, "Version":"1.0" }, { "Count":1, "RemainingCount":1, "Version":"2.0" } ], "TotalCount":3 }, "TypeName":"Custom:custom_type_name
" }
Visualizzazione dello stato dell'eliminazione
Puoi verificare lo stato di un'operazione di eliminazione utilizzando il comando describe-inventory-deletions
AWS CLI. Puoi specificare un ID di eliminazione per visualizzare lo stato di una determinata operazione di eliminazione. In alternativa, puoi omettere l'ID di eliminazione per visualizzare un elenco di tutte le eliminazioni eseguite negli ultimi 30 giorni.
-
Eseguire questo comando per visualizzare lo stato di un'operazione di eliminazione. Il sistema restituisce l'ID di eliminazione nel riepilogo delete-inventory.
aws ssm describe-inventory-deletions --deletion-id
system_generated_deletion_ID
Il sistema restituisce lo stato più recente. L'operazione di eliminazione potrebbe non essere ancora completata. Il sistema restituisce informazioni simili alle seguenti.
{"InventoryDeletions": [ {"DeletionId": "
system_generated_deletion_ID
", "DeletionStartTime": 1521744844, "DeletionSummary": {"RemainingCount": 1, "SummaryItems": [ {"Count": 1, "RemainingCount": 1, "Version": "1.0"} ], "TotalCount": 1}, "LastStatus": "InProgress", "LastStatusMessage": "The Delete is in progress", "LastStatusUpdateTime": 1521744844, "TypeName": "Custom:custom_type_name
"} ] }Se l'operazione di eliminazione viene completata correttamente,
LastStatusMessage
indica "Deletion is successful".{"InventoryDeletions": [ {"DeletionId": "
system_generated_deletion_ID
", "DeletionStartTime": 1521744844, "DeletionSummary": {"RemainingCount": 0, "SummaryItems": [ {"Count": 1, "RemainingCount": 0, "Version": "1.0"} ], "TotalCount": 1}, "LastStatus": "Complete", "LastStatusMessage": "Deletion is successful", "LastStatusUpdateTime": 1521745253, "TypeName": "Custom:custom_type_name
"} ] } -
Eseguire questo comando per visualizzare un elenco di tutte le eliminazioni effettuate negli ultimi 30 giorni.
aws ssm describe-inventory-deletions --max-results
a number
{"InventoryDeletions": [ {"DeletionId": "
system_generated_deletion_ID
", "DeletionStartTime": 1521682552, "DeletionSummary": {"RemainingCount": 0, "SummaryItems": [ {"Count": 1, "RemainingCount": 0, "Version": "1.0"} ], "TotalCount": 1}, "LastStatus": "Complete", "LastStatusMessage": "Deletion is successful", "LastStatusUpdateTime": 1521682852, "TypeName": "Custom:custom_type_name
"}, {"DeletionId": "system_generated_deletion_ID
", "DeletionStartTime": 1521744844, "DeletionSummary": {"RemainingCount": 0, "SummaryItems": [ {"Count": 1, "RemainingCount": 0, "Version": "1.0"} ], "TotalCount": 1}, "LastStatus": "Complete", "LastStatusMessage": "Deletion is successful", "LastStatusUpdateTime": 1521745253, "TypeName": "Custom:custom_type_name
"}, {"DeletionId": "system_generated_deletion_ID
", "DeletionStartTime": 1521680145, "DeletionSummary": {"RemainingCount": 0, "SummaryItems": [ {"Count": 1, "RemainingCount": 0, "Version": "1.0"} ], "TotalCount": 1}, "LastStatus": "Complete", "LastStatusMessage": "Deletion is successful", "LastStatusUpdateTime": 1521680471, "TypeName": "Custom:custom_type_name
"} ], "NextToken": "next-token"
Comprendere il riepilogo di eliminazione dell'inventario
Per poter comprendere i contenuti del riepilogo di eliminazione dell'inventario, prendi in considerazione l'esempio seguente. Un utente assegna l'inventario Custom:RackSpace a tre nodi. Gli elementi di inventario 1 e 2 utilizzano il tipo personalizzato versione 1.0 ("SchemaVersion":"1.0"). L'elemento di inventario 3 utilizza il tipo personalizzato versione 2.0 ("SchemaVersion":"2.0").
Inventario personalizzato RackSpace 1
{ "CaptureTime":"2018-02-19T10:48:55Z", "TypeName":"CustomType:RackSpace", "InstanceId":"i-1234567890", "SchemaVersion":"1.0" "Content":[ {
content of custom type omitted
} ] }
Inventario personalizzato RackSpace 2
{ "CaptureTime":"2018-02-19T10:48:55Z", "TypeName":"CustomType:RackSpace", "InstanceId":"i-1234567891", "SchemaVersion":"1.0" "Content":[ {
content of custom type omitted
} ] }
Inventario personalizzato RackSpace 3
{ "CaptureTime":"2018-02-19T10:48:55Z", "TypeName":"CustomType:RackSpace", "InstanceId":"i-1234567892", "SchemaVersion":"2.0" "Content":[ {
content of custom type omitted
} ] }
L'utente esegue il comando seguente per visualizzare in anteprima i dati che saranno eliminati.
aws ssm delete-inventory --type-name "Custom:RackSpace" --dry-run
Il sistema restituisce informazioni simili alle seguenti.
{ "DeletionId":"1111-2222-333-444-66666", "DeletionSummary":{ "RemainingCount":3, "TotalCount":3, TotalCount and RemainingCount are the number of items that would be deleted if this was not a dry run. These numbers are the same because the system didn't delete anything. "SummaryItems":[ { "Count":2, The system found two items that use SchemaVersion 1.0. Neither item was deleted. "RemainingCount":2, "Version":"1.0" }, { "Count":1, The system found one item that uses SchemaVersion 1.0. This item was not deleted. "RemainingCount":1, "Version":"2.0" } ], }, "TypeName":"Custom:RackSpace" }
L'utente esegue il comando seguente per eliminare l'inventario Custom:RackSpace.
Nota
L'output di questo comando non mostra l'avanzamento dell'eliminazione. Per questo motivo, TotalCount
e RemainingCount
restano invariati, dato che il sistema non ha ancora effettuato eliminazioni. Puoi utilizzare il comando describe-inventory-deletions
per visualizzare l'avanzamento dell'eliminazione.
aws ssm delete-inventory --type-name "Custom:RackSpace"
Il sistema restituisce informazioni simili alle seguenti.
{ "DeletionId":"1111-2222-333-444-7777777", "DeletionSummary":{ "RemainingCount":3, There are three items to delete "SummaryItems":[ { "Count":2, The system found two items that use SchemaVersion 1.0. "RemainingCount":2, "Version":"1.0" }, { "Count":1, The system found one item that uses SchemaVersion 2.0. "RemainingCount":1, "Version":"2.0" } ], "TotalCount":3 }, "TypeName":"RackSpace" }
Visualizzazione delle operazioni di eliminazione dell'inventario in Eventbridge
Puoi configurare Amazon EventBridge per creare un evento ogni volta che un utente elimina un inventario personalizzato. EventBridge offre tre tipi di eventi per le operazioni di eliminazione degli inventari personalizzati:
-
Operazione di eliminazione per un'istanza: indica se l'inventario personalizzato per un determinato nodo gestito è stato eliminato o meno.
-
Riepilogo dell'operazione di eliminazione: un riepilogo dell'operazione di eliminazione.
-
Avviso per il tipo di inventario personalizzato disattivato: un evento di avviso generato se un utente chiama l'operazione API PutInventory per una versione di un tipo di inventario personalizzato disattivata in precedenza.
Di seguito sono riportati gli esempi di ciascun evento:
Operazione di eliminazione per un'istanza
{ "version":"0", "id":"998c9cde-56c0-b38b-707f-0411b3ff9d11", "detail-type":"Inventory Resource State Change", "source":"aws.ssm", "account":"478678815555", "time":"2018-05-24T22:24:34Z", "region":"us-east-1", "resources":[ "arn:aws:ssm:us-east-1:478678815555:managed-instance/i-0a5feb270fc3f0b97" ], "detail":{ "action-status":"succeeded", "action":"delete", "resource-type":"managed-instance", "resource-id":"i-0a5feb270fc3f0b97", "action-reason":"", "type-name":"Custom:MyInfo" } }
Riepilogo dell'operazione di eliminazione
{ "version":"0", "id":"83898300-f576-5181-7a67-fb3e45e4fad4", "detail-type":"Inventory Resource State Change", "source":"aws.ssm", "account":"478678815555", "time":"2018-05-24T22:28:25Z", "region":"us-east-1", "resources":[ ], "detail":{ "action-status":"succeeded", "action":"delete-summary", "resource-type":"managed-instance", "resource-id":"", "action-reason":"The delete for type name Custom:MyInfo was completed. The deletion summary is: {\"totalCount\":2,\"remainingCount\":0,\"summaryItems\":[{\"version\":\"1.0\",\"count\":2,\"remainingCount\":0}]}", "type-name":"Custom:MyInfo" } }
Avviso per il tipo di inventario personalizzato disattivato
{ "version":"0", "id":"49c1855c-9c57-b5d7-8518-b64aeeef5e4a", "detail-type":"Inventory Resource State Change", "source":"aws.ssm", "account":"478678815555", "time":"2018-05-24T22:46:58Z", "region":"us-east-1", "resources":[ "arn:aws:ssm:us-east-1:478678815555:managed-instance/i-0ee2d86a2cfc371f6" ], "detail":{ "action-status":"failed", "action":"put", "resource-type":"managed-instance", "resource-id":"i-0ee2d86a2cfc371f6", "action-reason":"The inventory item with type name Custom:MyInfo was sent with a disabled schema version 1.0. You must send a version greater than 1.0", "type-name":"Custom:MyInfo" } }
Utilizza la procedura seguente per creare una regola Eventbridge per le operazioni di eliminazione di inventari personalizzati. Questa procedura illustra come creare una regola che invia notifiche per le operazioni di eliminazione di inventari personalizzati a un argomento Amazon SNS. Prima di iniziare, verifica di avere un argomento Amazon SNS o creane uno nuovo. Per ulteriori informazioni, consulta Nozioni di base nella Guida per gli sviluppatori di Amazon Simple Notification Service.
Per configurare Eventbridge per le operazioni di eliminazione di un inventario
Apri la console Amazon EventBridge all'indirizzo https://console.aws.amazon.com/events/
. -
Nel pannello di navigazione, scegli Regole.
-
Scegli Create rule (Crea regola).
-
Inserire un nome e una descrizione per la regola.
Una regola non può avere lo stesso nome di un'altra regola nella stessa regione e sullo stesso router di eventi.
-
Per Select event bus (Seleziona bus di eventi), scegli il bus di eventi che desideri associare a questa regola. Se desideri che questa regola risponda ad eventi corrispondenti provenienti dal tuo Account AWS, seleziona default event bus (Bus di eventi predefiniti). Quando un Servizio AWS nell'account emette un evento, passa sempre al bus di eventi predefinito dell'account.
-
Per Rule type (Tipo di regola), scegli Rule with an event pattern (Regola con un modello di eventi).
-
Seleziona Next (Successivo).
-
Per Event source (Origine evento), scegli AWS events or EventBridge partner events (Eventi o eventi di partner EventBridge).
-
Nella sezione Modello di eventi, scegli Modulo di modello di eventi.
-
Per Origine evento, scegli Servizi AWS.
-
Per AWS, scegli Systems Manager.
-
Per Event type (Tipo di evento), scegliere Inventory (Inventario).
-
Per Specific detail type(s) (Tipi di dettagli specifici), scegli Inventory Resource State Change (Modifica dello stato della risorsa inventario).
-
Seleziona Next (Successivo).
-
Per Target types (Tipi di destinazione), scegli AWS service (Servizio ).
-
Per Select a target (Seleziona una destinazione), scegli SNS topic (Argomento SNS), quindi scegli l'argomento dall'elenco Topic (Argomento).
-
Nella sezione Additional settings (Impostazioni aggiuntive), per Configure target input (Configura l'input di destinazione), verifica che Matched event (Evento abbinato) sia selezionato.
-
Seleziona Next (Successivo).
-
(Facoltativo) Inserire uno o più tag per la regola. Per ulteriori informazioni, consulta Assegnazione di tag alle Your Amazon EventBridge Resources nella Guida per l'utente di Amazon EventBridge.
-
Seleziona Next (Successivo).
-
Rivedi i dettagli della regola e scegli Create rule (Crea regola).