

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 dati di allocazione dei costi suddivisi con Amazon Managed Service for Prometheus
<a name="split-cost-allocation-data-resource-amp"></a>

La suddivisione dei dati sui costi per Amazon EKS richiede la raccolta e l'archiviazione dei parametri dai cluster, incluso l'utilizzo di memoria e CPU. A questo scopo è possibile utilizzare Amazon Managed Service for Prometheus.

Una volta che hai scelto di dividere i dati di allocazione dei costi e il tuo spazio di lavoro Amazon Managed Service for Prometheus inizia a ricevere le due metriche richieste (`container_cpu_usage_seconds_total`e`container_memory_working_set_bytes`), i dati di allocazione dei costi suddivisi riconoscono le metriche e le utilizzano automaticamente.

**Nota**  
Le due metriche richieste (`container_cpu_usage_seconds_total`e`container_memory_working_set_bytes`) sono presenti nella configurazione scrape predefinita di Prometheus e nella configurazione predefinita fornita con un raccoglitore gestito. AWS Tuttavia, se personalizzi queste configurazioni, non rietichettate, modificate o rimuovete le seguenti etichette dalle metriche and:, e. `container_cpu_usage_seconds_total` `container_memory_working_set_bytes` `name` `namespace` `pod` Se rietichettate, modificate o rimuovete queste etichette, ciò può influire sull'acquisizione delle metriche.

Puoi utilizzare Amazon Managed Service for Prometheus per raccogliere i parametri EKS da un singolo account di utilizzo, in un'unica regione. L'area di lavoro Amazon Managed Service for Prometheus deve trovarsi in quell'account e in quella regione. È necessaria un'istanza di Amazon Managed Service for Prometheus per ogni account di utilizzo e regione per cui desideri monitorare i costi. Puoi raccogliere metriche per più cluster nell'area di lavoro Amazon Managed Service for Prometheus, purché si trovino nello stesso account di utilizzo e nella stessa regione.

Le seguenti sezioni descrivono come inviare le metriche corrette dal tuo cluster EKS all'area di lavoro Amazon Managed Service for Prometheus.

## Prerequisiti
<a name="prerequisites-prometheus"></a>

Come prerequisiti per l'utilizzo di Amazon Managed Service for Prometheus con dati di allocazione dei costi suddivisi:
+ È necessario abilitare i dati di suddivisione dei costi nella console AWS Billing and Cost Management. Per i dettagli, consulta [Abilitazione dei dati di allocazione suddivisa dei costi](https://docs.aws.amazon.com/cur/latest/userguide/enabling-split-cost-allocation-data.html). L'attivazione della suddivisione dei dati di allocazione dei costi crea un ruolo collegato al servizio in ogni account di utilizzo per interrogare Amazon Managed Service for Prometheus per le metriche del cluster Amazon EKS in quell'account. [Per ulteriori informazioni, consulta i ruoli per i dati di allocazione dei costi suddivisi. Service-linked ](https://docs.aws.amazon.com/cost-management/latest/userguide/split-cost-allocation-data-SLR.html)
+ È necessario un cluster EKS per il quale si desidera tenere traccia dei dati di allocazione dei costi suddivisi. Può trattarsi di un cluster esistente oppure puoi crearne uno nuovo. Per ulteriori informazioni, consulta [Creare un cluster Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html) nella *Guida per l'utente di Amazon EKS*.
**Nota**  
Avrai bisogno di `EKS cluster ARN``security group IDs`, e almeno due `subnet IDs` (in diverse zone di disponibilità) da utilizzare nelle fasi successive.  
(opzionale) Imposta la modalità di autenticazione del cluster EKS su una delle due `API` opzioni`API_AND_CONFIG_MAP`.
+ È necessaria un'istanza di Amazon Managed Service for Prometheus nello stesso account e nella stessa regione del cluster EKS. Se non ne hai già uno, puoi crearne uno. Per ulteriori informazioni sulla creazione di un'istanza di Amazon Managed Service for Prometheus, [consulta Create a workspace](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-onboard-create-workspace.html) nella *Amazon Managed* Service for Prometheus User Guide.
**Nota**  
Ti servirà per utilizzarlo nei passaggi successivi. `Amazon Managed Service for Prometheus workspace ARN`

## Inoltro dei parametri EKS ad Amazon Managed Service for Prometheus
<a name="forward-eks-metrics-prometheus"></a>

Una volta che hai un cluster EKS e un'istanza Amazon Managed Service for Prometheus, puoi inoltrare i parametri dal cluster all'istanza. Puoi inviare i parametri in due modi.
+ [Opzione 1: utilizza un raccoglitore AWS gestito.](https://docs.aws.amazon.com/cur/latest/userguide/split-cost-allocation-data-resource-amp.html#use-managed-collector) Questo è il modo più semplice per inviare metriche da un cluster EKS ad Amazon Managed Service for Prometheus. Tuttavia, ha il limite di acquisire solo le metriche ogni 30 secondi al massimo.
+ [Opzione 2: crea il tuo agente Prometheus.](https://docs.aws.amazon.com/cur/latest/userguide/split-cost-allocation-data-resource-amp.html#create-prometheus-agent) In questo caso, hai un maggiore controllo sulla configurazione dello scraping, ma devi gestire l'agente dopo averlo creato.

### Opzione 1: utilizzo di un AWS raccoglitore gestito
<a name="use-managed-collector"></a>

L'utilizzo di un collettore AWS gestito (uno *scraper*) è il modo più semplice per inviare metriche da un cluster EKS a un'istanza di Amazon Managed Service for Prometheus. La procedura seguente illustra la creazione di un raccoglitore gestito. AWS Per informazioni più dettagliate, consulta [AWS Managed Collector nella Guida](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector.html) per l'utente di *Amazon Managed Service for Prometheus*.

**Nota**  
AWS i raccoglitori gestiti hanno un intervallo minimo di raschiamento di 30 secondi. Se avete dei pod di breve durata, vi consigliamo di impostare l'intervallo del raschietto su 15 secondi. Per utilizzare un intervallo di 15 secondi con lo scraper, usa l'opzione 2 per [creare il tuo agente Prometheus](https://docs.aws.amazon.com/cur/latest/userguide/split-cost-allocation-data-resource-amp.html#create-prometheus-agent).

Esistono tre passaggi per creare un raccoglitore gestito: AWS 

1. Crea una configurazione dello scraper.

1. Crea lo scraper.

1. Configura il tuo cluster EKS per consentire allo scraper di accedere alle metriche.

*Passaggio 1: creare una configurazione dello scraper*

Per creare uno scraper, è necessario disporre di una configurazione scraper. È possibile utilizzare una configurazione predefinita o crearne una personalizzata. Di seguito sono riportati tre modi per ottenere una configurazione dello scraper:
+ Ottieni la configurazione predefinita utilizzando la AWS CLI, chiamando:

  ```
  aws amp get-default-scraper-configuration
  ```
+ Crea la tua configurazione. Per i dettagli, consulta le istruzioni di [configurazione di Scraper](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-configuration) nella Guida per l'utente di *Amazon Managed Service for Prometheus*.
+ Copia la configurazione di esempio fornita nelle stesse istruzioni di [configurazione di Scraper](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-configuration) nella Guida per l'utente di *Amazon Managed Service for Prometheus*.

Ad esempio, puoi modificare la configurazione dello scraper, modificare l'intervallo di scrape o filtrare le metriche che vengono eliminate.

Per filtrare le metriche che vengono eliminate in modo da includere solo le due necessarie per suddividere i dati di allocazione dei costi, utilizza la seguente configurazione dello scraper:

```
global:
   scrape_interval: 30s
   #external_labels:
     #clusterArn: <REPLACE_ME>
scrape_configs:
  - job_name: kubernetes-nodes-cadvisor
    scrape_interval: 30s
    scrape_timeout: 10s
    scheme: https
    authorization:
      type: Bearer
      credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
    kubernetes_sd_configs:
    - role: node
    relabel_configs:
    - regex: (.+)
      replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
      source_labels:
      - __meta_kubernetes_node_name
      target_label: __metrics_path__
    - replacement: kubernetes.default.svc:443
      target_label: __address__
    metric_relabel_configs:
    - source_labels: [__name__]
      regex: 'container_cpu_usage_seconds_total|container_memory_working_set_bytes'
      action: keep
```

*Una volta ottenuta la configurazione dello scraper, è necessario codificarla in base64 per utilizzarla nel passaggio 2.* La configurazione è un file YAML di testo. Per codificare il file, utilizza un sito Web come. [https://www.base64encode.org/](https://www.base64encode.org/)

*Passaggio 2: creare lo scraper*

Ora che hai un file di configurazione, devi creare il tuo scraper. Crea uno scraper utilizzando il seguente comando AWS CLI, in base alle variabili descritte nella sezione dei prerequisiti. È necessario utilizzare le informazioni del cluster EKS per i {{<SUBNET-ID>}} campi, and {{<EKS-CLUSTER-ARN>}}{{<SG-SECURITY-GROUP-ID>}}, sostituirle {{<BASE64-CONFIGURATION-BLOB>}} con la configurazione dello scraper creata nel passaggio precedente e sostituirle {{<AMP\_WORKSPACE\_ARN>}} con l'ARN dell'area di lavoro Amazon Managed Service for Prometheus.

```
aws amp create-scraper \ 
--source eksConfiguration="{clusterArn={{<EKS-CLUSTER-ARN>}},securityGroupIds=[{{<SG-SECURITY-GROUP-ID>}}],subnetIds=[{{<SUBNET-ID>}}]}" \ 
--scrape-configuration configurationBlob={{<BASE64-CONFIGURATION-BLOB>}} \ 
--destination ampConfiguration={workspaceArn="{{<AMP_WORKSPACE_ARN>}}"}
```

*Annota `scraperId` ciò che viene restituito per l'uso nel passaggio 3.*

*Passaggio 3: configura il cluster EKS per consentire allo scraper di accedere alle metriche*

Se la modalità di autenticazione del cluster EKS è impostata su una delle due `API` `API_AND_CONFIG_MAP` opzioni, lo scraper disporrà automaticamente della politica di accesso interna al cluster corretta e gli scraper avranno accesso al cluster. Non sono necessarie ulteriori configurazioni e i parametri dovrebbero essere trasferiti ad Amazon Managed Service for Prometheus.

Se la modalità di autenticazione del cluster EKS non è impostata su `API` o`API_AND_CONFIG_MAP`, sarà necessario configurare manualmente il cluster per consentire allo scraper di accedere alle metriche tramite un comando e. ClusterRole ClusterRoleBinding Per informazioni su come abilitare queste autorizzazioni, consulta [Configurazione manuale di un cluster EKS per l'accesso allo scraper nella Guida per](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-eks-setup) l'utente di *Amazon Managed Service for Prometheus*.

Una volta che lo scraper è attivo, verifica che entrambe le metriche (`container_cpu_usage_seconds_total`e`container_memory_working_set_bytes`) vengano inviate al tuo spazio di lavoro Amazon Managed Service for Prometheus.

```
awscurl --service="aps" --region="<REGION>" "https://aps-workspaces.<REGION>.amazonaws.com/workspaces/<WorkSpace_ID>/api/v1/label/__name__/values"
```

Output:

```
{
"status": "success",
"data": [
"container_cpu_usage_seconds_total",
"container_memory_working_set_bytes",
"scrape_duration_seconds",
"scrape_samples_post_metric_relabeling",
"scrape_samples_scraped",
"scrape_series_added",
"up"
]
}
```

### Opzione 2: creare il proprio agente Prometheus
<a name="create-prometheus-agent"></a>

Se non puoi utilizzare il AWS managed collector o hai già un server Prometheus personale, puoi usare la tua istanza Prometheus come agente per acquisire metriche dal tuo cluster EKS e inviarle ad Amazon Managed Service for Prometheus.

*Per istruzioni dettagliate su come utilizzare la tua istanza Prometheus come agente, consulta Using a Prometheus istance as [a collector nella Amazon Managed Service for Prometheus User Guide](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-ingest-with-prometheus.html).*

Di seguito è riportato un esempio di configurazione di scrape di Prometheus che include l'intervallo di scrape del server Prometheus e le metriche dei container necessarie per suddividere i dati di allocazione dei costi. Se si dispone di pod di breve durata, si consiglia di ridurre l'intervallo di scrape predefinito del server Prometheus da 30 secondi a 15 secondi. Si noti che ciò può comportare un elevato utilizzo della memoria del server Prometheus.

```
global:
   scrape_interval: 30s
   #external_labels:
     #clusterArn: <REPLACE_ME>
scrape_configs:
  - job_name: kubernetes-nodes-cadvisor
    scrape_interval: 30s
    scrape_timeout: 10s
    scheme: https
    authorization:
      type: Bearer
      credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
    kubernetes_sd_configs:
    - role: node
    relabel_configs:
    - regex: (.+)
      replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
      source_labels:
      - __meta_kubernetes_node_name
      target_label: __metrics_path__
    - replacement: kubernetes.default.svc:443
      target_label: __address__
    metric_relabel_configs:
    - source_labels: [__name__]
      regex: 'container_cpu_usage_seconds_total|container_memory_working_set_bytes'
      action: keep
```

Se hai seguito [Configurare l'ingestione da un nuovo server Prometheus utilizzando Helm nella](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-onboard-ingest-metrics-new-Prometheus.html) Guida per l'utente di Amazon *Managed Service for Prometheus*, puoi aggiornare la configurazione dello scrape.

**Per aggiornare la configurazione dello scrape**

1. Modifica `my_prometheus_values_yaml` dalla guida e includi la configurazione di scrape di esempio nel blocco. `server`

1. Esegui il comando seguente, utilizzando `prometheus-chart-name` e `prometheus-namespace` dalla *Amazon Managed Service for Prometheus* User Guide.

```
helm upgrade prometheus-chart-name prometheus-community/prometheus -n prometheus-namespace -f my_prometheus_values_yaml
```

[Per saperne di più `scrape_interval` o su come utilizzare uno scrape\_interval non globale, fai riferimento alla configurazione dello scrape di Prometheus.](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config)

In alternativa, puoi utilizzare AWS Distro for OpenTelemetry collector che dispone di un Prometheus Receiver, un Prometheus Remote Write Exporter e AWS l'estensione di autenticazione Sigv4 per ottenere l'accesso remoto in scrittura ad Amazon Managed Service for Prometheus.

**Nota**  
Una volta configurato il tuo agente Prometheus, a AWS differenza di Managed Collector, hai la responsabilità di mantenere l'agente aggiornato e pronto a raccogliere le metriche.

## Stima dei costi di Amazon Managed Service for Prometheus
<a name="estimate-prometheus-costs"></a>

Puoi utilizzare AWS Pricing Calculator per stimare il costo dell'utilizzo di Amazon Managed Service for Prometheus per i dati di allocazione dei costi suddivisi.

**Per configurare Amazon Managed Service for Prometheus per il tuo preventivo**

1. [Apri il calcolatore AWS dei prezzi su \#/. https://calculator.aws/](https://calculator.aws/#/)

1. Scegliere **Create estimate (Crea stima)**.

1. **Nella pagina **Aggiungi servizio**, inserisci **Amazon Managed Service for Prometheus** nel campo di ricerca, quindi scegli Configura.**

1. Nel campo **Descrizione**, inserisci una descrizione per il preventivo.

1. Scegliere una **Region (Regione)**.

1. Seleziona **Calcola il costo utilizzando i dettagli dell'infrastruttura**. Questa opzione consente di stimare i costi di acquisizione, archiviazione e interrogazione dei campioni in base alla configurazione dell'infrastruttura attuale o proposta.

1. Per **Numero di istanze EC2**, inserisci il numero totale di istanze EC2 in tutti i cluster per l'intera famiglia di fatturazione consolidata (inclusi tutti gli account e le regioni). Se lo utilizzi AWS Fargate, utilizza il numero di attività Fargate come proxy per il conteggio delle istanze EC2.

1. I dati suddivisi sull'allocazione dei costi richiedono due metriche: e. `container_cpu_usage_seconds_total` `container_memory_working_set_bytes` Per le **metriche di Prometheus** per istanze EC2, inserisci 2.

1. I dati suddivisi sull'allocazione dei costi suggeriscono un intervallo di scraping di 15 secondi. Per **Intervallo di raccolta delle metriche (in secondi**), immettere 15. Se hai utilizzato un intervallo diverso (ad esempio 30 secondi), sostituiscilo con l'intervallo che hai impostato.

1. I dati suddivisi sull'allocazione dei costi non impongono requisiti specifici per gli altri parametri, quindi inserite i valori appropriati per il resto dei parametri di input in base ai requisiti aziendali.

1. Scegli **Salva e aggiungi servizio**.