[PYTHON] [blackbird-rds] Surveillance d'AWS RDS

blackbird RDS plugin

Le code source est ici

Ce plug-in obtient une belle métrique RDS de CloudWatch. Pour être honnête, je ne peux pas nier la sensation de porter plug-in MySQL, mais vous pouvez obtenir le contenu comme un résumé.

You Can Get Following Metrics

Ensuite, à partir de ce que vous pouvez obtenir avec ce plug-in immédiatement.

CloudWatch Metric Statistics Detail
BinLog Disk Usage Average Espace disque utilisé par binlog(bytes)
CPU Utilization Average l'utilisation du processeur(%)
Database Connections Average Nombre de connexions au DB actuel
Disk Queue Depth Average Accumulé dans la file d'attente(Non traité)I/Nombre de processus O
FreeStorageSpace Average Espace disque libre(bytes)
Feeable Memory Average Capacité mémoire disponible(bytes) //Je l'utilise beaucoup avec InnodbBufferPool, donc peu importe qu'il soit petit.
NetworkReceiveThroughput Average Trafic réseau entrant sur le serveur RDS
NetworkTransmitThroughput Average Trafic réseau sortant du serveur RDS
ReplicaLag Average Délai de réplication esclave, soi-disant secondes derrière le maître(seconds)
SwapUsage Average Quantité d'échange de la mémoire(bytes)
ReadIOPS Average Lire les IOPS(S'il est provisionné, il s'arrêtera exactement à ce nombre)
WriteIOPS Average Écrire des IOPS(S'il est provisionné, il s'arrêtera exactement à ce nombre)
ReadLatency Average Latence de lecture(L'unité est la ms)
WriteLatency Average Latence d'écriture(L'unité est la ms)
ReadThroughput Average Débit de lecture, combien d'octets lus par seconde
WriteThroughput Average Débit d'écriture, combien d'octets ont été écrits par seconde

Je pensais que c'était écrit, mais cela ressemble vraiment à un résumé de «SHOW GLOBAL STATUS» ou «SHOW ENGINE INNODB STATUS». C'est dommage que je ne puisse pas obtenir QueryPerSecond ou Innodb Cache Hit Rate (c'est un plug-in MySQL).

Zabbix Template

Items

Étant donné que la métrique ci-dessus seule était difficile à surveiller, j'ai fait de mon mieux du côté de l'élément de calcul et du plugin afin d'obtenir les valeurs suivantes.

Item Name Outline Detail
Total Memory Size Calculer la taille totale de la mémoire à partir du mappage entre le type d'instance et la mémoire
Used Memory Size Total Memory Size - Freeable MemoryCalculé par
Percent of Memory Available Espace mémoire libre%
Total Disk Size Calculé à partir du mappage entre le type d'instance et la capacité du disque
Used Disk Size Total Disk Size - Free Storage SpaceCalculé par
Percent of Disk Available Espace disque libre%

// Honnêtement, Amazon, je voulais que vous ayez une API qui puisse obtenir le mappage entre le type d'instance et le CPU, la mémoire, le disque ...

Triggers

Jusqu'à présent, c'est le seul, mais honnêtement, compte tenu du Innodb Buffer Pool, cela n'a pas de sens d'en faire une alerte, n'est-ce pas à propos du retard de Slave? Tout le monde, j'aimerais avoir un autre déclencheur comme celui-ci. Je veux que tu me dises!

Graphs

Disk Usage

スクリーンショット_2014-12-05_23_26_25.png

Memory Usage

スクリーンショット_2014-12-05_23_26_46.png

Database Connections

Omis car il s'agit d'un graphique à barres ordinaire

NetworkTraffic

スクリーンショット_2014-12-05_23_26_57.png

CPU Utilization

Ry pour un graphique à barres ordinaire

Disk I/O Latency

スクリーンショット_2014-12-05_23_27_13.png

Disk I/O Queue Depth

Ry pour un graphique à barres ordinaire

Disk I/O Throughput

Parce qu'il est très similaire au graphique de la profondeur de la file d'attente d'E / S disque, ry

IOPS

Parce qu'il est très similaire au graphique de la profondeur de la file d'attente d'E / S disque, ry

Replica Lag (Seconds Behind Master)

Ry pour un graphique à barres ordinaire

Cela ressemble à un modèle Zabbix. Si vous alignez cela sur l'écran, vous pouvez voir en un coup d'œil quel RDS est occupé (au fait, je le surveille de cette façon).

How to Install

Case of pip

pip install blackbird-rds

c'est tout.

Case of yum

Veuillez vous reporter à ici pour le référentiel RPM de blackbird.

yum install blackbird-rds --enablerepo=blackbird

Configuration Your blackbird

#Étant donné que le nom de la section est utilisé en interne pour le nom du thread, tout va bien, mais il est plus sûr de ne pas le porter.
[ANYTHING_OK]
#L'intervalle d'acquisition et la valeur minimale sont de 60 secondes, et même s'ils sont réglés sur 1 seconde, ils seront de 60 secondes.
interval = 60

#Région AWS
region_name = ap-northeast-1

#Crédit AWS
aws_access_key_id = YOUR_AWS_ACCESS_KEY_ID
aws_secret_access_key = YOUR_AWS_SECRET_ACESS_KEY

#Il s'agit du nom de base de données donné lors de la création de l'instance RDS.
db_instance_identifier = YOUR_RDS_INSTANCE_NAME

#Nom d'hôte sur le serveur zabbix. N'oubliez pas de le faire en premier.
hostname = prod-dbidm01
module = rds

#Cette valeur est vide par défaut. Cependant, si vous souhaitez économiser de l'argent en réduisant le nombre d'appels d'API dans CloudWatch, écrivez-les séparés par des virgules comme suit. Ensuite, la métrique spécifiée ne sera pas acquise.
ignore_metrics = ReplicaLag,BinLogDiskUsage

Recommended Posts

[blackbird-rds] Surveillance d'AWS RDS
[blackbird-dynamodb] Surveillance d'AWS DynamoDB
[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
[blackbird-kinesis-stream] Surveillance d'AWS KinesisStream
Gérez vos données avec AWS RDS
Surveillance active des appareils AWS IoT
Écraser les données dans RDS avec AWS Glue