Почему плагин exec не использует метрику в притоке - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь контролировать все **system metric and running services** на моей машине.Для этого я использовал инструменты с открытым исходным кодом **collectd, influxdb, grafana**

Collectd будет собирать все показатели системы и работающие службы с машины.и я использую effxdb в качестве базы данных. Метрики и службы, собранные в collectd, будут помещены в effxdb и графану для визуализации .

Теперь я пытаюсь отслеживать все службы, работающие на компьютере. Так что я использовал плагин collectd exec .

Моя конечная цель состоит в том, чтобы отправить все запущенные сервисы на мою машину:

[developer@slave1-collectd ~]$ systemctl list-units --type service --state=running
UNIT                       LOAD   ACTIVE SUB     DESCRIPTION
amazon-ssm-agent.service   loaded active running amazon-ssm-agent
auditd.service             loaded active running Security Auditing Service
chronyd.service            loaded active running NTP client/server
collectd.service           loaded active running Collectd statistics daemon
crond.service              loaded active running Command Scheduler
dbus.service               loaded active running D-Bus System Message Bus
getty@tty1.service         loaded active running Getty on tty1
gssproxy.service           loaded active running GSSAPI Proxy Daemon
httpd.service              loaded active running The Apache HTTP Server
network.service            loaded active running LSB: Bring up/down networking
polkit.service             loaded active running Authorization Manager
postfix.service            loaded active running Postfix Mail Transport Agent
rpcbind.service            loaded active running RPC bind service
rsyslog.service            loaded active running System Logging Service
serial-getty@ttyS0.service loaded active running Serial Getty on ttyS0
sshd.service               loaded active running OpenSSH server daemon
systemd-journald.service   loaded active running Journal Service
systemd-logind.service     loaded active running Login Service
systemd-udevd.service      loaded active running udev Kernel Device Manager
tuned.service              loaded active running Dynamic System Tuning Daemon

Я хочу отправить весь запущенный процесснаряду с их именем и статусом модуля, такими как sshd, kafka, tsdb, collectd, grafana (все эти сервисы systemctl, которые я хочу отслеживать на панели инструментов Grafana)

В плагине exec я могу написать свой собственный код для отправкивсе системные сервисы для моего притока.Я застрял в пользовательском коде в изложении путвала.Мой пользовательский код:

#!/bin/bash

HOSTNAME="${COLLECTD_HOSTNAME:-`hostname -f`}"
INTERVAL="${COLLECTD_INTERVAL:-10}"
PORT=6379
while sleep "$INTERVAL"
do
b=$(systemctl list-units --type service --all | awk 'BEGIN{print "Service State Status"};$4 ~ /^running$/{print $1,$2,$4}' | column -t )

echo "PUTVAL $HOSTNAME/vs_processes/if_octets  interval=$INTERVAL N:$b"
done

Мой конфигурационный файл collectd

<Plugin exec>
  Exec developer "/etc/redis1.sh"
<Plugin>

Подскажите, пожалуйста, что мне дать эхо "PUTVAL $HOSTNAME/vs_processes/if_octets interval=$INTERVAL N:$b" custom code

...