Для запуска необходим docker-compose
.
Чтобы подготовить кластер, запустите следующие команды.
docker-compose build --no-cache && docker-compose pull
Для установки jsonnet
необходим go
(Linux) или brew
(Mac).
go install github.com/google/go-jsonnet/cmd/jsonnet@latest
brew install jsonnet
Исполняемые файлы, установленные go, доступны по следующему пути.
$(go env GOPATH)/bin
Чтобы добавить их в общий PATH, воспользуйтесь следующей командой.
echo export PATH="$(go env GOPATH)/bin:$PATH" >>$HOME/.profile
source $HOME/.profile
Убедитесь, что jsonnet
установлен и функционирует.
jsonnet --version
Чтобы сгенерировать json, исполните следующую команду.
jsonnet ./jsonnet/script_1.jsonnet
Чтобы поместить результат работы в файл, исполните следующую команду.
jsonnet ./jsonnet/script_1.jsonnet -o result.json
Команды для запуска остальных скриптов.
jsonnet ./jsonnet/script_2.jsonnet
jsonnet ./jsonnet/script_3.jsonnet
jsonnet ./jsonnet/script_4.jsonnet
Для установки jb
(jsonnet bundler) необходим go
(Linux) или brew
(Mac).
go install github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb@latest
brew install jsonnet-bundler
Убедитесь, что jb
установлен и функционирует.
jb --version
Для установки зависимостей исполните следующую команду.
jb install
Чтобы запустить кластер, исполните следующую команду.
docker-compose up -d
Чтобы проверить статус кластера, исполните следующую команду.
docker-compose ps
Проект представляет собой простое приложение на Python, генерирующее метрики, а также полный мониторинговый стек.
После запуска Grafana будет доступна в браузере по адресу localhost:3000
.
Чтобы сгенерировать пустой дашборд, исполните следующую команду.
jsonnet -J ./vendor ./grafonnet/1/dashboard.jsonnet -o dashboard.json
Чтобы сгенерировать дашборд с шаблоном панели, исполните следующую команду.
jsonnet -J ./vendor ./grafonnet/2/dashboard.jsonnet -o dashboard.json
Чтобы сгенерировать дашборд с шаблоном панели и изменённой визуализацией, исполните следующую команду.
jsonnet -J ./vendor ./grafonnet/3/dashboard.jsonnet -o dashboard.json
Чтобы сгенерировать дашборд с запросом к Prometheus, исполните следующую команду.
jsonnet -J ./vendor ./grafonnet/4/dashboard.jsonnet -o dashboard.json
Параметры импорта
Prometheus
:Prometheus
Чтобы сгенерировать дашборд с конфигурируемыми переменными, исполните следующую команду.
jsonnet -J ./vendor ./grafonnet/5/dashboard.jsonnet -o dashboard.json
Параметры импорта
Prometheus
:Prometheus
job
:app
Чтобы сгенерировать дашборд с двумя панелями и новыми переменными, исполните следующую команду.
jsonnet -J ./vendor ./grafonnet/6/dashboard.jsonnet -o dashboard.json
Параметры импорта
Prometheus
:Prometheus
job
:app
rate_time_range
:2m
Чтобы сгенерировать дашборд с использованием функций, исполните следующую команду.
jsonnet -J ./vendor ./grafonnet/7/dashboard.jsonnet -o dashboard.json
Параметры импорта
Prometheus
:Prometheus
job
:app
rate_time_range
:2m
Чтобы сгенерировать дашборд для Prometheus, исполните следующую команду.
jsonnet -J ./vendor ./grafonnet/8/dashboard_prometheus.jsonnet -o dashboard.json
Параметры импорта
Prometheus
:Prometheus
job
:app
rate_time_range
:2m
Чтобы сгенерировать дашборд для InfluxDB, исполните следующую команду.
jsonnet -J ./vendor ./grafonnet/8/dashboard_influxdb.jsonnet -o dashboard.json
Параметры импорта
InfluxDB
:influxdb
measurement
:app_http