Je veux surveiller les problèmes de stabilité de mon cluster Amazon OpenSearch Service. Comment puis-je surveiller efficacement mon cluster ?
Résolution
Important : Différentes versions d'Elasticsearch utilisent différents pools de threads pour traiter les appels à l'API _index.
- Les versions 1.5 et 2.3 d'Elasticsearch utilisent le pool de threads d'index.
- Les versions 5.x, 6.0 et 6.2 d'Elasticsearch utilisent le groupe de threads en bloc. (Actuellement, la console OpenSearch Service n'inclut pas de graphique pour le groupe de threads en bloc.)
- La version 6.3 d'Elasticsearch et les versions ultérieures utilisent le groupe de threads d'écriture.
Pour contrôler l'état de votre cluster OpenSearch Service, définissez les alarmes Amazon CloudWatch recommandées ainsi que les alarmes de métrique de cluster OpenSearch Service suivantes :
- MasterReachableFromNode
- KibanaHealthyNodes
- DiskQueueDepth
- ThreadpoolIndexQueue
- ThreadpoolSearchQueue
Vous pouvez configurer vos alarmes de métrique OpenSearch Service comme suit :
MasterReachableFromNode:
Statistic = Maximum
Value = ‘=0’
Frequency = 1 period
Period = 1 minute
Issue: Leader node is down.
KibanaHealthyNodes:
Statistic = Average
Value = ‘=0’
Frequency = 1 period
Period = 1 minute
Issue: Indicates that the kibana index is unhealthy.
DiskQueueDepth:
Statistic = Average
Value = ‘>=100'
Frequency = 1 period
Period = 5 minutes
Issue: Disk Queue Depth is the number of I/O requests that are queued at a time against the storage. This could indicate a surge in requests or Amazon EBS throttling, resulting in increased latency.
ThreadpoolIndexQueue and ThreadpoolSearchQueue:
Statistic = Maximum
Value = ‘>=20’
Frequency = 1 period
Period = 1 minute
Issue: Indicates that there are requests getting queued up, which can be rejected. To verify the request status, check the CPU Utilization and Threadpool Index or Search rejects.
Suivez les étapes suivantes pour configurer une alarme Amazon CloudWatch pour votre cluster OpenSearch Service :
1. Ouvrez la console Amazon CloudWatch.
2. Accédez à l'onglet Alarme.
3. Sélectionnez Créer une alarme.
4. Choisissez Sélectionner une métrique.
5. Choisissez ES pour votre métrique.
6. Sélectionnez Métriques par domaine et Métriques par client.
7. Sélectionnez une métrique, puis choisissez Suivant.
8. Configurez les paramètres suivants pour votre alarme Amazon CloudWatch :
Statistic = Maximum
Period to 1 minute
Threshold type = Static
Alarm condition = Greater than or equal to
Threshold value = 1
9. Choisissez l'onglet Configuration supplémentaire.
10. Mettez à jour les paramètres de configuration suivants :
Datapoints to alarm = Frequency stated above
Missing data treatment = Treat missing data as ignore (maintain the alarm state)
11. Sélectionnez Suivant.
12. Choisissez l'action désirée pour votre alarme, puis cliquez sur Suivant.
13. Définissez un nom pour votre alarme, puis choisissez Suivant.
14. Sélectionnez Create Alarm (Créer une alarme).
Remarque : lorsque l'alarme se déclenche pour les éléments CPUUtilization ou JVMMemoryPressure, vérifiez vos métriques Amazon CloudWatch pour voir s'il y a un pic qui coïncide avec les demandes entrantes. Surveillez en particulier ces métriques Amazon CloudWatch : IndexingRate, SearchRate et OpenSearchRequests.
Informations connexes
ClusterBlockException
Utilisation des alarmes Amazon CloudWatch