[PYTHON] [blackbird-kinesis-stream] Surveillance d'AWS KinesisStream

Ce Plug-in obtient les métriques CloudWatch pour Kinesis Stream.

What Metrics does this plugin get?

La colonne Nom de la métrique est MetricName.Statistics, qui est le nom de la métrique. Comment le prendre (Somme ou Moy). L'unité est une unité (octets, ms, etc.).

Metric Name Unit Detail
PutRecord.Bytes Bytes Nombre d'octets d'éléments dans le flux
PutRecord.Latency milliseconds Latence lors de la mise en Stream(Temps de réponse de l'API PutRecord)
PutRecord.Success Count Nombre d'API PutRecord réussies
GetRecords.Bytes Bytes Nombre d'octets récupérés du flux
GetRecords.IteratorAgeMilliseconds milliseconds -
GetRecords.Latency milliseconds Latence lors de la récupération du flux(Temps de réponse de l'API GetRecords)
GetRecords.Success Count Nombre de succès de l'API GetRecords

Zabbix Template

Items

Cet élément correspond aux métriques CloudWatch ci-dessus calculées par seconde.

Triggers

//トリガーの作成はここだけの話超苦労しました。

En raison des caractéristiques de Kinesis Stream (contrairement à Queue, les données ne disparaissent pas même si elles sont récupérées), la taille de l'ensemble du Stream n'a pas beaucoup de sens, donc si la différence entre PutRecord et GetRecords est trop petite (ou trop grande) par rapport à la fois précédente, elle se déclenchera. J'ai essayé de l'augmenter, mais en raison des caractéristiques que le côté consommateur acquiert à la fois avec GerRecords, cela vacille un peu. Par conséquent, quand je l'ai présenté pour la première fois, je le surveillais honnêtement (au stade expérimental, je ne volais que vers mon téléphone portable, donc j'étais fou).

Par conséquent, au lieu d'une simple surveillance des différences, soustrayez la valeur moyenne de 3 fois (en courte durée) de la valeur moyenne de 10 fois (en longue portée) (le nombre de fois à moyenne est un exemple). Je l'ai changé pour qu'une alerte soit lancée lorsque la différence dépasse 25%.

Vous pouvez maintenant égaliser les valeurs des volets et voir la différence moyenne. Ce n'est que lorsque le débit vers le Stream (ou le débit prélevé) augmente ou diminue considérablement, vous pouvez reconnaître que "Oh, il s'est passé quelque chose".

Bien sûr, en fonction des caractéristiques de l'application, il peut être nécessaire d'allonger ou de raccourcir la valeur moyenne de ces longue portée et courte portée, j'ai donc défini la portée et le seuil dans MACRO respectivement.

Est le déclencheur. Vous pouvez spécifier respectivement des seuils d'informations, moyens et élevés, afin de modifier l'intégration du chat, des e-mails et des notifications.

Graphs

La surveillance des différences au-dessus de la moyenne est difficile à comprendre avec des mots, mais elle devrait être très facile à comprendre dans les graphiques.

Graphique des valeurs brutes de GetRecords.Bytes

スクリーンショット_2014-12-11_2_06_20.png

C'est assez irrégulier. Si vous surveillez cela avec une simple différence par rapport à la comparaison précédente, vous recevrez de nombreuses alertes.

Graphe de différence moyenne GetRecords.Bytes

スクリーンショット_2014-12-11_2_07_15.png

C'est un graphique lissé, mais je pense qu'il semble assez calme. Si vous le regardez avec une durée légèrement plus longue et que vous le comparez au temps de pointe de l'application, il semble que le débit sera comme ça.

Comme un autre graphique

il y a.

How to Install

J'ai téléchargé le RPM à endroit habituel, donc cette procédure Créez un fichier référentiel à partir de //qiita.com/JumpeiArashi/items/849281083b6c7888f25d#case-of-using-yum),

yum install blackbird-kinesis-stream --enablerepo=blackbird

Veuillez le faire.

Le pip sera bientôt mis à jour alors veuillez patienter un peu plus longtemps > <

N'y a-t-il pas de surveillance pour chaque fragment ??

Dans CloudWatch, vous pouvez obtenir une métrique pour chaque fragment, donc je veux vraiment l'implémenter (je sais où dépend la clé), mais tant que la logique de l'application n'est pas fausse, le flux de différence seul est `` quelque chose qui se passe. Je pense qu'il est possible de le remarquer.

Cependant, à l'avenir, nous prévoyons de surveiller chaque fragment.

finalement

Je pense que le Throuput de Put s'est beaucoup amélioré depuis que l'API Put Records a été implémentée l'autre jour, mais comme il n'est pas encore implémenté du côté du plugin, j'aimerais l'obtenir dès que possible et l'ajouter au modèle Zabbix.

Recommended Posts

[blackbird-kinesis-stream] Surveillance d'AWS KinesisStream
[blackbird-dynamodb] Surveillance d'AWS DynamoDB
[blackbird-rds] Surveillance d'AWS RDS
[blackbird-sqs] Surveillance d'AWS SQS
[blackbird-elb] Surveillance d'AWS ElasticLoadBalancing
[blackbird-elasticache] Surveillance d'AWS ElastiCache (redis)
[blackbird-aws-service-limits] Surveillance des limites de service AWS
Exécutez et consultez AWS Kinesis Firehose