[PYTHON] [blackbird-td-agent] Surveillance de td-agent

Ce plug utilise le [monitor_agent] de td-agent (http://docs.fluentd.org/ja/articles/monitoring#) Surveillez le tampon de td-agent.

Préparation préalable

Préparons monitor_agent avant d'installer blackbird-td-agent.

Fluentd monitor_agent

monitor_agent est un plugin fluentd qui vous permet d'obtenir l'état du tampon via HTTP. Puisqu'il est installé par défaut, il n'est pas nécessaire d'installer un nouveau gem.

<source>
  type monitor_agent
  bind 0.0.0.0
  port 24220
</source>

Si vous écrivez config comme ci-dessus et redémarrez fluentd, monitor_agent sera activé. Le point de terminaison de monitor_agent est http: // localhost: 24220 / api / plugins.json. Si vous accédez à cette URL, vous pouvez obtenir la taille en octets du tampon et la longueur de la file d'attente du tampon, et le plugin blackbird-td-agent analyse cette valeur et obtient la valeur.

Architecture

En raison des caractéristiques de monitor_agent, s'il y a plusieurs plug-ins de sortie, il y aura plusieurs sorties json. J'ai donc décidé d'utiliser l'élément de découverte de niveau brut de zabbix pour augmenter ou diminuer dynamiquement les éléments.

S'il s'agit d'un plugin de type sortie et que buffer_queue_length existe dans json, l'élément cible sera développé vers l'hôte lié au modèle zabbix. Le nom de l'élément est affecté à plugin_id. (plugin_id reçoit un plugin unique pour chaque plugin, et json au format {" plugin_id ":" object: XXXXXXXXXX "} est affiché.)

Zabbix Template

Items(Normal)

Vous pouvez obtenir les éléments suivants comme des éléments normaux

Law Level Discovery Items(Dynamic)

Les éléments qui changent dynamiquement avec la découverte de niveau de droit sont les suivants

Triggers

Les éléments suivants sont implémentés en tant que déclencheur

Graphs

Chaque valeur de est un seul graphique.


Lorsque fluentd est mis en file d'attente et qu'il est dangereux, ou lorsque la destination est erronée et qu'elle ne peut pas être envoyée, il devient un moniteur combiné avec la surveillance d'autres hôtes OU middleware, ou la surveillance des journaux est le seul moyen de détecter retry_count en premier lieu. J'ai l'impression que c'est subtilement difficile à surveiller, ou parce que c'est difficile, j'ai tendance à ne pas aimer ça plus tard. Vous pouvez surveiller fluentd lui-même avec monitor_agent.

Recommended Posts

[blackbird-td-agent] Surveillance de td-agent
Surveillance des journaux