

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à.

# Gestione dello stato dell'indice in Amazon OpenSearch Service
<a name="ism"></a>

Index State Management (ISM) in Amazon OpenSearch Service ti consente di definire politiche di gestione personalizzate che automatizzano le attività di routine e le applicano a indici e modelli di indice. Non è più necessario configurare e gestire processi esterni per eseguire le operazioni di indice.

Una policy contiene uno stato predefinito e un elenco di stati fra cui l'indice può transitare. All'interno di ciascuno stato, puoi definire un elenco di operazioni da eseguire e di condizioni che attivano queste transizioni. Un tipico caso d'uso è quello di eliminare periodicamente i vecchi indici dopo un certo periodo di tempo. Ad esempio, puoi definire una policy che sposta l'indice nello stato `read_only` dopo 30 giorni e successivamente lo elimina dopo 90 giorni.

Dopo aver collegato una policy a un indice, ISM crea un processo che viene eseguito ogni 5-8 minuti (o 30-48 minuti per i cluster precedenti alla versione 1.3) per eseguire le operazioni di policy, controllare le condizioni e passare l'indice in stati diversi. Il tempo di base per l'esecuzione di questo processo è ogni 5 minuti, più viene aggiunto un jitter casuale tra lo 0 e il 60% per evitare che le attività arrivino da tutti gli indici contemporaneamente. ISM non esegue processi se lo stato del cluster è rosso.

ISM richiede Elasticsearch OpenSearch 6.8 o versione successiva.

**Nota**  
Questa documentazione fornisce una breve panoramica di ISM e diverse politiche di esempio. Spiega inoltre in che modo ISM per i domini Amazon OpenSearch Service differisce da ISM sui cluster OpenSearch autogestiti. Per la documentazione completa di ISM, incluso un riferimento completo ai parametri, le descrizioni di ogni impostazione e un riferimento all'API, consulta [Index State Management nella](https://docs.opensearch.org/latest/im-plugin/ism/index/) documentazione. OpenSearch 

**Importante**  
Non puoi più utilizzare modelli di indice per applicare policy ISM agli indici appena creati. È possibile continuare a gestire automaticamente gli indici appena creati con il [campo del modello ISM](https://opensearch.org/docs/latest/im-plugin/ism/policies/#sample-policy-with-ism-template-for-auto-rollover). Questo aggiornamento introduce una modifica sostanziale che influisce sui CloudFormation modelli esistenti che utilizzano questa impostazione. 

## Creazione di una policy ISM
<a name="ism-start"></a>

**Per iniziare a utilizzare la gestione degli stati degli indici**

1. Apri la console Amazon OpenSearch Service a [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. Seleziona il dominio per cui creare una policy ISM.

1. Dalla dashboard del dominio, vai all'URL delle OpenSearch dashboard e accedi con il nome utente e la password principali. L'URL segue il seguente formato:

   ```
   domain-endpoint/_dashboards/
   ```

1. Apri il pannello di navigazione a sinistra all'interno di OpenSearch Dashboards e scegli **Gestione degli indici**, quindi **Crea** politica. 

1. Utilizza il plug-in [editor visivo](https://opensearch.org/docs/latest/im-plugin/ism/index/#visual-editor) o [editor JSON](https://opensearch.org/docs/latest/im-plugin/ism/index/#json-editor) per creare policy. Consigliamo di utilizzare l'editor visivo in quanto offre un modo più strutturato per definire le policy. Per assistenza nella creazione di policy, consulta le [policy di esempio](#ism-example) qui sotto.

1. Dopo aver creato una policy, puoi collegarla a uno o più indici:

   ```
   POST _plugins/_ism/add/my-index
   {
     "policy_id": "my-policy-id"
   }
   ```
**Nota**  
Se il tuo dominio sta eseguendo una versione legacy di Elasticsearch, usa `_opendistro`invece di `_plugins`.

   In alternativa, seleziona l'indice in OpenSearch Dashboard e scegli **Applica** politica.

## Policy di esempio
<a name="ism-example"></a>

Le policy di esempio riportate di seguito illustrano come automatizzare i casi d'uso comuni di ISM.

### Archiviazione ad accesso frequente, a caldo, a freddo
<a name="ism-example-cold"></a>

Questa policy di esempio sposta un indice dalla memorizzazione a caldo a [UltraWarm](ultrawarm.md), e infine, a [conservazione a freddo](cold-storage.md). Quindi, elimina l'indice.

L'indice si trova inizialmente nello stato `hot`. Dopo dieci giorni, ISM lo sposta allo stato `warm`. 80 giorni dopo, quando l'indice ha 90 giorni, lo sposta nello stato `cold`. Dopo un anno, il servizio invia una notifica ad una stanza Amazon Chime indicante che l'indice sta per essere eliminato, quindi lo elimina definitivamente. 

Tenere presente che gli indici a freddo richiedono l'operazione `cold_delete` piuttosto che la normale operazione `delete`. Inoltre, per gestire gli indici a freddo con ISM nei dati è necessario un `timestamp_field` esplicito.

```
{
  "policy": {
    "description": "Demonstrate a hot-warm-cold-delete workflow.",
    "default_state": "hot",
    "schema_version": 1,
    "states": [{
        "name": "hot",
        "actions": [],
        "transitions": [{
          "state_name": "warm",
          "conditions": {
            "min_index_age": "10d"
          }
        }]
      },
      {
        "name": "warm",
        "actions": [{
          "warm_migration": {},
          "retry": {
            "count": 5,
            "delay": "1h"
          }
        }],
        "transitions": [{
          "state_name": "cold",
          "conditions": {
            "min_index_age": "90d"
          }
        }]
      },
      {
        "name": "cold",
        "actions": [{
            "cold_migration": {
              "timestamp_field": "<your timestamp field>"
            }
          }
        ],
        "transitions": [{
          "state_name": "delete",
          "conditions": {
             "min_index_age": "365d"
          }
        }]
      },
      {
        "name": "delete",
        "actions": [{
          "notification": {
            "destination": {
              "chime": {
                "url": "<URL>"
              }
            },
            "message_template": {
              "source": "The index {{ctx.index}} is being deleted."
            }
          }
        },
        {
          "cold_delete": {}
        }]
      }
    ]
  }
}
```

### Riduzione del numero di repliche
<a name="ism-example-replica"></a>

Questa seconda policy di esempio riduce il numero di repliche a zero dopo sette giorni per risparmiare spazio su disco e quindi elimina l'indice dopo 21 giorni. Questa policy presuppone che l'indice non sia critico e che non riceva più richieste di scrittura; la presenza di repliche zero comporta un rischio di perdita di dati.

```
{
  "policy": {
    "description": "Changes replica count and deletes.",
    "schema_version": 1,
    "default_state": "current",
    "states": [{
        "name": "current",
        "actions": [],
        "transitions": [{
          "state_name": "old",
          "conditions": {
            "min_index_age": "7d"
          }
        }]
      },
      {
        "name": "old",
        "actions": [{
          "replica_count": {
            "number_of_replicas": 0
          }
        }],
        "transitions": [{
          "state_name": "delete",
          "conditions": {
            "min_index_age": "21d"
          }
        }]
      },
      {
        "name": "delete",
        "actions": [{
          "delete": {}
        }],
        "transitions": []
      }
    ]
  }
}
```

### Acquisizione di uno snapshot dell'indice
<a name="ism-example-snapshot"></a>

Questa policy di esempio utilizza l'operazione `[snapshot](https://docs.opensearch.org/latest/im-plugin/ism/policies/#snapshot)` per acquisire uno snapshot di un indice non appena contiene almeno un documento. `repository` è il nome del repository di snapshot manuali registrato in Amazon S3. `snapshot` è il nome dello snapshot. Per i prerequisiti di snapshot e i passaggi per registrare un repository, consultare [Creazione di istantanee dell'indice in Amazon Service OpenSearch](managedomains-snapshots.md).

```
{
  "policy": {
    "description": "Takes an index snapshot.",
    "schema_version": 1,
    "default_state": "empty",
    "states": [{
        "name": "empty",
        "actions": [],
        "transitions": [{
          "state_name": "occupied",
          "conditions": {
            "min_doc_count": 1
          }
        }]
      },
      {
        "name": "occupied",
        "actions": [{
          "snapshot": {
            "repository": "<my-repository>",
            "snapshot": "<my-snapshot>"
            }
          }],
          "transitions": []
      }
    ]
  }
}
```

## Modelli ISM
<a name="ism-template"></a>

È possibile configurare un campo `ism_template` in una policy in modo che quando si crea un indice corrispondente allo schema del modello, la policy viene automaticamente associata a tale indice. In questo esempio, qualsiasi indice creato con un nome che inizia con "log" viene automaticamente abbinata alla policy ISM `my-policy-id`:

```
PUT _plugins/_ism/policies/my-policy-id
{
  "policy": {
    "description": "Example policy.",
    "default_state": "...",
    "states": [...],
    "ism_template": {
      "index_patterns": ["log*"],
      "priority": 100
    }
  }
}
```

Per un esempio più dettagliato, consultare [Policy di esempio con modello ISM per il rollover automatico](https://opensearch.org/docs/latest/im-plugin/ism/policies/#sample-policy-with-ism-template-for-auto-rollover).

## Differenze
<a name="ism-diff"></a>

Rispetto a OpenSearch Elasticsearch, ISM per Amazon OpenSearch Service presenta diverse differenze. 

### Operazioni ISM
<a name="alerting-diff-op"></a>
+ OpenSearch Il servizio supporta tre operazioni ISM uniche, `warm_migration``cold_migration`, e: `cold_delete`
  + Se il dominio è [UltraWarm](ultrawarm.md)abilitato, l'`warm_migration`azione trasferisce l'indice alla memorizzazione a caldo.
  + Se il tuo dominio ha l'[archiviazione a freddo](cold-storage.md) abilitata, l'operazione `cold_migration` transita l'indice all'archiviazione a freddo e l'operazione `cold_delete` elimina l'indice dall'archiviazione a freddo.

  Anche se una di queste operazioni non viene completata all'interno del [periodo di timeout impostato](https://docs.opensearch.org/latest/im-plugin/ism/policies/#actions), la migrazione o la cancellazione degli indici continua. L'impostazione di [error\$1notification](https://opensearch.org/docs/latest/im-plugin/ism/policies/#error-notifications) per una delle operazioni precedenti ti informerà che l'operazione non è riuscita se non è stata completata entro il periodo di timeout, ma la notifica è solo per tuo riferimento. L'effettiva operazione non ha alcun timeout intrinseco e continua a essere eseguita fino a quando riesce o non riesce. 
+ Se il tuo dominio esegue OpenSearch Elasticsearch 7.4 o versione successiva, OpenSearch Service supporta ISM e operazioni. `open` `close`
+ Se il tuo dominio esegue Elasticsearch 7.7 OpenSearch o versione successiva, OpenSearch Service supporta l'operazione ISM. `snapshot`

### Operazioni ISM di archiviazione a freddo
<a name="ism-cold-storage"></a>

Per gli indici freddi, è necessario specificare un `?type=_cold` parametro quando si utilizza il seguente ISM: APIs
+ [Aggiungi policy](https://opensearch.org/docs/latest/im-plugin/ism/api/#add-policy)
+ [Rimuovi policy](https://opensearch.org/docs/latest/im-plugin/ism/api/#remove-policy-from-index)
+ [Aggiorna policy](https://opensearch.org/docs/latest/im-plugin/ism/api/#update-policy)
+ [Riprova indice non riuscito](https://opensearch.org/docs/latest/im-plugin/ism/api/#retry-failed-index)
+ [Spiega indice](https://opensearch.org/docs/latest/im-plugin/ism/api/#explain-index)

Questi indici APIs per gli indici freddi presentano le seguenti differenze aggiuntive:
+ Gli operatori con caratteri jolly non sono supportati tranne quando li si utilizza alla fine. Ad esempio, `_plugins/_ism/<add, remove, change_policy, retry, explain>/logstash-*` è supportato ma `_plugins/_ism/<add, remove, change_policy, retry, explain>/iad-*-prod` non lo è.
+ Non sono supportati più schemi e nomi di indici. Ad esempio, `_plugins/_ism/<add, remove, change_policy, retry, explain>/app-logs` è supportato ma `_plugins/_ism/<add, remove, change_policy, retry, explain>/app-logs,sample-data` non lo è.

### Impostazioni ISM
<a name="ism-diff-settings"></a>

OpenSearch ed Elasticsearch consentono di modificare tutte le impostazioni ISM disponibili utilizzando l'API. `_cluster/settings` Su Amazon OpenSearch Service, puoi modificare solo le seguenti [impostazioni ISM](https://opensearch.org/docs/latest/im-plugin/ism/settings/):
+ **Impostazioni a livello di cluster:**
  + `plugins.index_state_management.enabled`
  + `plugins.index_state_management.history.enabled`
+ **Impostazioni a livello di indice:**
  + `plugins.index_state_management.rollover_alias`

   

# Tutorial: Automazione dei processi di Index State Management
<a name="ism-tutorial"></a>

Questo tutorial dimostra come implementare una policy PPL che automatizza le attività di routine di gestione degli indici e applicarle agli indici e ai modelli di indice.

[Index State Management (ISM)](ism.md) in Amazon OpenSearch Service ti consente di automatizzare le attività ricorrenti di gestione degli indici, in modo da evitare l'uso di strumenti aggiuntivi per gestire i cicli di vita degli indici. Puoi creare una policy che automatizzi queste operazioni in base all'età, alle dimensioni dell'indice e ad altre condizioni, il tutto dall'interno del tuo dominio Amazon OpenSearch Service.

OpenSearch Il servizio supporta tre livelli di archiviazione: lo stato «caldo» predefinito per la scrittura attiva e l'analisi a bassa latenza, UltraWarm per dati di sola lettura fino a tre petabyte e la conservazione a freddo per l'archiviazione illimitata a lungo termine.

Questo tutorial presenta un esempio di caso d'uso della gestione dei dati di serie temporali negli indici giornalieri. In questo tutorial, imposti un criterio che acquisisce un'istantanea automatica di ogni indice allegato dopo 24 ore. Quindi migra l'indice dallo stato caldo predefinito allo UltraWarm storage dopo due giorni, allo storage a freddo dopo 30 giorni e infine elimina l'indice dopo 60 giorni.

## Prerequisiti
<a name="ism-tutorialprerequisites"></a>
+ Il dominio OpenSearch di servizio deve eseguire Elasticsearch versione 6.8 o successiva.
+ Il dominio deve avere una conservazione a [freddo [UltraWarm](ultrawarm.md)](cold-storage.md)abilitata.
+ Devi [registrare un repository di snapshot manuali](managedomains-snapshot-registerdirectory.md) per il tuo dominio. 
+ Il tuo ruolo utente richiede autorizzazioni sufficienti per accedere alla console OpenSearch di servizio. Se necessario, convalida e [configura l'accesso ai domini](ac.md).

## Fase 1: Configura la policy PPL
<a name="ism-tutorial-policy"></a>

Innanzitutto, configura una politica ISM nei OpenSearch dashboard.

1. Dalla dashboard del dominio nella console di OpenSearch servizio, accedi all'URL delle OpenSearch dashboard e accedi con il nome utente e la password principali. L'URL segue il seguente formato: `domain-endpoint/_dashboards/`.

1. In OpenSearch Dashboard, scegli **Aggiungi dati di esempio** e aggiungi uno o più indici di esempio al tuo dominio.

1. Aprire il pannello di navigazione sinistro e scegliere **Gestione indici**, quindi scegliere **Crea policy**.

1. Assegnare un nome alla policy `ism-policy-example`.

1. Sostituisci la policy predefinita con la seguente policy:

   ```
   {
     "policy": {
       "description": "Move indexes between storage tiers",
       "default_state": "hot",
       "states": [
         {
           "name": "hot",
           "actions": [],
           "transitions": [
             {
               "state_name": "snapshot",
               "conditions": {
                 "min_index_age": "24h"
               }
             }
           ]
         },
         {
           "name": "snapshot",
           "actions": [
             {
               "retry": {
                 "count": 5,
                 "backoff": "exponential",
                 "delay": "30m"
               },
               "snapshot": {
                 "repository": "snapshot-repo",
                 "snapshot": "ism-snapshot"
               }
             }
           ],
           "transitions": [
             {
               "state_name": "warm",
               "conditions": {
                 "min_index_age": "2d"
               }
             }
           ]
         },
         {
           "name": "warm",
           "actions": [
             {
               "retry": {
                 "count": 5,
                 "backoff": "exponential",
                 "delay": "1h"
               },
               "warm_migration": {}
             }
           ],
           "transitions": [
             {
               "state_name": "cold",
               "conditions": {
                 "min_index_age": "30d"
               }
             }
           ]
         },
         {
           "name": "cold",
           "actions": [
             {
               "retry": {
                 "count": 5,
                 "backoff": "exponential",
                 "delay": "1h"
               },
               "cold_migration": {
                 "start_time": null,
                 "end_time": null,
                 "timestamp_field": "@timestamp",
                 "ignore": "none"
               }
             }
           ],
           "transitions": [
             {
               "state_name": "delete",
               "conditions": {
                 "min_index_age": "60d"
               }
             }
           ]
         },
         {
           "name": "delete",
           "actions": [
             {
               "cold_delete": {}
             }
           ],
           "transitions": []
         }
       ],
       "ism_template": [
         {
           "index_patterns": [
             "index-*"
           ],
           "priority": 100
         }
       ]
     }
   }
   ```
**Nota**  
Il campo `ism_template` automaticamente il criterio a qualsiasi indice appena creato che corrisponde a uno dei `index_patterns` specificati. In questo caso, tutti gli indici che iniziano per `index-`. È possibile modificare questo campo in modo che corrisponda a un formato di indice nel proprio ambiente. Per ulteriori informazioni sui modelli, consulta i [modelli ISM](ism.md#ism-template). 

1. Nella sezione `snapshot` della policy, sostituire `snapshot-repo` con il nome del [repository degli snapshot](managedomains-snapshot-registerdirectory.md) che hai registrato per il tuo dominio. Facoltativamente, è anche possibile sostituire `ism-snapshot`, che sarà il nome dello snapshot al momento della creazione.

1. Scegli **Create** (Crea). La policy dell'indice è ora visibile nella pagina **Policy di gestione dello stato**.

## Fase 2: collega la policy a uno o più indici.
<a name="ism-tutorial-attach"></a>

Dopo aver creato la policy, puoi collegarla a uno o più indici nel cluster.

1. Passa alla scheda **Indici ad accesso frequente** e cerca `opensearch_dashboards_sample`, che elenca tutti gli indici di esempio aggiunti nella fase 1.

1. Seleziona tutti gli indici e scegli **Applica politica, quindi scegli la **ism-policy-example**politica** che hai appena creato.

1. Scegli **Applica**.

È possibile monitorare gli indici mentre si spostano attraverso i vari stati della pagina degli **Indici gestiti dalle policy**.