Ce plug utilise le [monitor_agent] de td-agent (http://docs.fluentd.org/ja/articles/monitoring#) Surveillez le tampon de td-agent.
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.
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é.)
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
longueur de la file d'attente courante ÷ buffer_queue_limit
spécifiée dans config.buffer_total_queued_size
de http: // MONITOR_AGENT_HOST: 24420 / api / plugins.json
buffer_queue_length
de http: // MONITOR_AGENT_HOST: 24420 / api / plugins.json
retry_count
de http: // MONITOR_AGENT_HOST: 24420 / api / plugins.json
Triggers
Les éléments suivants sont implémentés en tant que déclencheur
retry_count
est plus d'un certain nombre de foisGraphs
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.