Sampler — это утилита для визуализации вывода консольных команд на экран с визуализацией и оповещением. Очень прост в использовании и настройке (с помощью простого файла YAML).
Можно попробовать любой динамический процесс прямо с терминала — наблюдать за изменениями в базе данных, отслеживать сообщения MQ в полете, запускать сценарий развертывания и получать уведомление, когда это будет сделано.
Если есть способ получить метрику с помощью командной строки, то ее можно мгновенно визуализировать с помощью Sampler.
Установка sampler в MacOS
Для начала, нужно поставить HOMEBREW:
А потом выполняем установку:
$ brew install sampler
Или:
$ sudo curl -Lo /usr/local/bin/sampler https://github.com/sqshq/sampler/releases/download/v1.1.0/sampler-1.1.0-darwin-amd64 && sudo chmod +x /usr/local/bin/sampler
Использование будет ниже.
Установка sampler в Linux
Установка выглядит:
$ sudo wget https://github.com/sqshq/sampler/releases/download/v1.1.0/sampler-1.1.0-linux-amd64 -O /usr/local/bin/sampler && sudo chmod +x /usr/local/bin/sampler
Для проигрывания звука, нужно поставить libasound2-dev пакет, например для Debian/Ubuntu:
$ sudo apt install libasound2-dev
Для Fedora:
$ sudo dnf install golang-github-sqshq-sampler
Перейдем к использованию.
Использования sampler в Unix/Linux
Вы указываете команды CLI-шки, Sampler выполнит и выведет на экран.
Использование Sampler — это, по сути, трехэтапный процесс:
- Определите команды в командной строки через конфигурационный YAML файл.
- Запустите утилиту, например: sampler -c config.yml
- Настройка размера и расположение компонентов в пользовательском интерфейсе.
Конфиг выглядит:
theme: dark # default = dark ; light supports also.
variables:
sshconnection: ssh USER@HOST
mysql_connection: mysql -u root -s --database mysql --skip-column-names
textboxes:
- title: Docker containers stats
sample: docker stats --no-stream --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemPerc}}\t{{.MemUsage}}\t{{.NetIO}}\t{{.BlockIO}}\t{{.PIDs}}"
- title: SSH
pty: true
init: $sshconnection
sample: top
- title: Java application uptime
multistep-init:
- java -javaagent:/Users/captain/jmx_prometheus_javaagent-0.14.1.jar=8080
- open localhost:8080 # or local PID
- bean java.lang:type=Runtime
sample: get Uptime
transform: echo $sample | tr -dc '0-9' | awk '{printf "%.1f min", $1/1000/60}'
sparklines:
- title: CPU usage
sample: ps -A -o %cpu | awk '{s+=$1} END {print s}'
- title: MySQL (random number example)
pty: true
init: $mysql_connection
sample: select rand();
Простой запуск:
$ sampler -c sampler.yaml
Идея прикольная! Использовать можно, но пока практичности не нашел. Оставил чтобы можно было ознакомиться в случае чего.
Вот и все, статья «Установка sampler в Unix/Linux» завершена.