Инструмент командной строки для https://monibot.io — простой мониторинг серверов и приложений.
Moni — это инструмент командной строки для взаимодействия с REST API Monibot. Он используется для
Запрос сторожевых таймеров от Monibot
Отправка контрольных сигналов сторожевого таймера в Monibot
Опросные машины от Monibot
Отправьте образцы использования ресурсов компьютера (ЦП/Память/Диск/Часы/Сеть) в Monibot.
Отправлять машинные тексты (выходные данные команд) в Monibot
Запрос показателей из Monibot
Отправка значений метрик в Monibot
Он работает на Linux/amd64 и написан на Go, см. https://go.dev/.
Загрузите готовый двоичный файл linux/amd64 отсюда: https://github.com/cvilsmeier/moni/releases/latest.
Если вы не хотите загружать готовый двоичный файл, вы можете установить moni из командной строки.
$ go install github.com/cvilsmeier/moni@latest
Если вы не хотите загружать готовый двоичный файл, вы можете собрать moni из командной строки.
$ git clone https://github.com/cvilsmeier/moni $ cd moni/ $ CGO_ENABLED=0 go build $ ./moni help
$ moni help Moni - A command line tool for https://monibot.io Usage moni [flags] command Flags -url Monibot URL, default is "https://monibot.io". You can set this also via environment variable MONIBOT_URL. -apiKey Monibot API Key, default is "". You can set this also via environment variable MONIBOT_API_KEY (recommended). You can find your API Key in your profile on https://monibot.io. Note: For security, we recommend that you specify the API Key via MONIBOT_API_KEY, and not via -apiKey flag. The flag will show up in 'ps aux' outputs and can be eavesdropped. -trials Max. Send trials, default is 12. You can set this also via environment variable MONIBOT_TRIALS. -delay Delay between trials, default is 5s. You can set this also via environment variable MONIBOT_DELAY. -v Verbose output, default is false. You can set this also via environment variable MONIBOT_VERBOSE ('true' or 'false'). Commands ping Ping the Monibot API. If an error occurs, moni will print that error. It it succeeds, moni will print nothing. watchdogs List heartbeat watchdogs. watchdog <watchdogId> Get heartbeat watchdog by id. heartbeat <watchdogId> [interval] Send a heartbeat. If interval is not specified, moni sends one heartbeat and exits. If interval is specified, moni will stay in the background and send heartbeats in that interval. Min. interval is 5m. machines List machines. machine <machineId> Get machine by id. sample <machineId> <interval> Send resource usage (load/cpu/mem/disk) samples for machine. Moni consults various files (/proc/loadavg, /proc/cpuinfo, etc.) and commands (/usr/bin/free, /usr/bin/df, etc.) to calculate resource usage. Therefore it currently supports linux only. Moni will stay in background and keep sampling in specified interval. Min. interval is 5m. text <machineId> <filename> Send filename as text for machine. Filename can contain arbitrary text, e.g. arbitrary command outputs. It's used for information only, no logic is associated with texts. Moni will send the file as text and then exit. If an error occurs, moni will print an error message. Otherwise moni will print nothing. Max. filesize is 204800 bytes. metrics List metrics. metric <metricId> Get and print metric info. inc <metricId> <value> Increment a counter metric. Value must be a non-negative 64-bit integer value. set <metricId> <value> Set a gauge metric value. Value must be a non-negative 64-bit integer value. values <metricId> <values> Send histogram metric values. Values is a comma-separated list of 'value:count' pairs. Each value is a non-negative 64-bit integer value, each count is an integer value greater or equal to 1. If count is 1, the ':count' part is optional, so values '13:1,14:1' and '13,14' are sematically equal. A specific value may occur multiple times, its counts will then be added together, so values '13:2,13:2' and '13:4' are sematically equal. config Show config values. version Show moni program version. sdk-version Show the monibot-go SDK version moni was built with. help Show this help page. Exit Codes 0 ok 1 error 2 wrong user input
команда «beat» переименована в «heartbeat»
документация по команде обновления значений
команда добавления значений для отправки значений метрик гистограммы
добавить текстовую команду для отправки машинного текста
критическое изменение: установите минимальный интервал сторожевого таймера 5 м.
Критическое изменение: установите минимальный интервал выборки машины 5 м.
изменить имена команд и обработку интервалов
добавить выборку чтения/записи диска
добавить выборку сетевого приема/отправки
первая версия