

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 della configurazione di monitoraggio per monitorare l'operatore Spark Kubernetes e i job Spark
<a name="spark-operator-monitoring-configuration"></a>

La configurazione di monitoraggio consente di configurare facilmente l'archiviazione dei log dell'applicazione Spark e dei log degli operatori su Amazon S3 o su. Amazon CloudWatch Puoi sceglierne uno o entrambi. In questo modo viene aggiunto un sidecar log Agent ai pod Spark Operator, Driver ed Executor e successivamente inoltra i log di questi componenti ai sink configurati.

## Prerequisiti
<a name="spark-operator-monitoring-configuration-prereqs"></a>

Prima di configurare il monitoraggio, assicurati di completare le seguenti attività di configurazione:

1. (Facoltativo) Se in precedenza hai installato una versione precedente dell'operatore Spark, elimina il *SparkApplicationScheduledSparkApplication/CRD*.

   ```
   kubectl delete crd scheduledsparkapplications.sparkoperator.k8s.io
   kubectl delete crd sparkapplications.sparkoperator.k8s.io
   ```

1. Crea un ruolo di operator/job esecuzione in IAM se non ne hai già uno.

1. Esegui il comando seguente per aggiornare la politica di fiducia del ruolo di operator/job esecuzione che hai appena creato:

   ```
   aws emr-containers update-role-trust-policy \ 
   --cluster-name {{cluster}} \
   --namespace {{namespace}} \
   --role-name {{iam_role_name_for_operator/job_execution_role}}
   ```

1. Modifica la policy di fiducia dei ruoli IAM del tuo ruolo di operator/job esecuzione nel modo seguente:

   ```
   {
       "Effect": "Allow",
       "Principal": {
           "Federated": "${OIDC-provider}"
       },
       "Action": "sts:AssumeRoleWithWebIdentity",
       "Condition": {
           "StringLike": {
               "OIDC_PROVIDER:sub": "system:serviceaccount:${Namespace}:emr-containers-sa-*"
           }
       }
   }
   ```

1. Crea una policy di *MonitoringConfiguration* in IAM con le seguenti autorizzazioni:

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "logs:DescribeLogStreams",
           "logs:CreateLogStream",
           "logs:CreateLogGroup",
           "logs:PutLogEvents"
         ],
         "Resource": [
           "arn:aws:logs:*:*:log-group:{{log_group_name}}",
           "arn:aws:logs:*:*:log-group:{{log_group_name}}:*"
         ],
         "Sid": "AllowLOGSDescribelogstreams"
       },
       {
         "Effect": "Allow",
         "Action": [
           "logs:DescribeLogGroups"
         ],
         "Resource": [
           "*"
         ],
         "Sid": "AllowLOGSDescribeloggroups"
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:GetObject",
           "s3:ListBucket"
         ],
         "Resource": [
           "arn:aws:s3:::{{bucket_name}}",
           "arn:aws:s3:::{{bucket_name}}/*"
         ],
         "Sid": "AllowS3Putobject"
       }
     ]
   }
   ```

------

1. Allega la politica di cui sopra al tuo ruolo di esecuzione operator/job .