Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
12
Добавлен:
20.04.2024
Размер:
17.2 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

ПРОЕКТ PROMETHEUS

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Проект Prometheus (prometheus.io) стартовал в 2012 году как система мониторинга для музыкальной социальной сети SoundCloud. Дело в том, что под используемую в SoundCloud архитектуру микросерверов не совсем подходили традиционные системы мониторинга сервисов и хостов. Со временем Prometheus зарекомендовал себя как одно из лучших решений для подобных случаев.

Сегодня это базовая система в таких проектах, как Docker и Boxever. Представляет собой организованный набор инструментов, предлагающий метрики для хранения, агрегации, визуализации и оповещения. В большинстве традиционных систем агенты периодически отправляют данные на центральный сервер. В Prometheus децентрализованная самоуправляемая (self-managed) архитектура, когда легко можно контролировать сотни серверов с одного места, при этом отдельные команды могут использовать свои независимые серверы мониторинга.

Основу Prometheus составляет prometheus server, работающий автономно

исохраняющий все данные локально. Сервисы обнаруживаются автоматически, при помощи поиска и статических установок, подготовленных разработчиками. Такой подход очень упрощает развертывание. Для контроля одной системы не нужно разворачивать распределенную систему мониторинга, фактически достаточно установить сервер, и система мониторинга уже работает. Все данные представлены в виде временных рядов. Метки времени имеют точность до миллисекунд, значения представлены c 64-битной точностью. Гибкий язык запросов позволяет выбрать и при необходимости сохранить отдельно любую информацию из полученного набора, строить на их основе графики или генерировать алерты.

Кроме этого, сервер при помощи клиентских библиотек или компонента pushgateway может получать информацию с систем, включающихся в сеть периодически. Проект предоставляет клиентские библиотеки, написанные на Go, Java, Python и Ruby, есть сторонние решения на bash, Node.js, Haskell

иС#/.NET. Для передачи данных между компонентами выбран HTTP.

Сервер способен отображать графики, но они подходят для эпизодического наблюдения или при отладке. В качестве постоянного интерфейса предлагается компонент PromDash, который может подключаться к любым выбранным серверам для визуализации данных на панелях. PromDash выводит данные с собственно Prometheus или Graphite. Доступен API, который может быть использован для визуализации собранных данных на сторонних инструментах, шаблоны консоли, позволяющие построить свою консоль для визуализации нужных данных, и консольный prometheus_cli.

За обработку алертов отвечает Alertmanager, умеющий на сегодня отправлять сообщения по email и PagerDuty, хотя при желании легко прикрутить дру-

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

гие варианты. Написан на Go (Golang) — это компилируемый многопоточный язык программирования, разработанный в Google. PromDash написан на Ruby. Распространяется на условиях Apache License 2.0.

УСТАНОВКА PROMETHEUS НА СЕРВЕР UBUNTU 14.04 LTS

Проект предлагает исходные тексты и сборку сервера под 32- и 64-бит- ные процессоры. Сборка рекомендуется для установки, но, если учесть, что Prometheus состоит из нескольких элементов, при необходимости доустановки их уже придется компилировать. Есть Chef cookbooks и контейнер для Docker. Проект предоставляет инструкцию по установке и документацию, описывающую разнообразные параметры. С ними следует ознакомиться, чтобы понять все возможности, заложенные в Prometheus.

Установим Prometheus на сервер под управлением Ubuntu 14.04 LTS. Для работы нам понадобится собственно Go. В репозиториях Ubuntu он есть и ставится просто: sudo apt-get install golang. Единственный момент: в репозитории далеко не самый последний релиз — 1.2.1, тогда как последняя сборка Prometheus использовала уже 1.4.2, то есть вероятность того, что все будет работать, не так велика. Наверное, поэтому сами разработчики рекомендуют брать версию с официального сайта Go.

Необходимо занести путь к распакованному Go в переменную PATH и GOROOT, прописав в /etc/proile или $HOME/.proile:

Понадобятся инструменты для работы с Git:

Скачиваем актуальный релиз с GitHub, удобнее применять уже скомпилированную версию:

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

Можно сразу скачать и текущий срез, так как там есть документация и фай-

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лы-примеры:

Лучше все компоненты Prometheus собрать внутри родительского каталога, это уменьшает путаницу при установке, обновлении и настройке. Создаем каталог для сервера, куда распаковываем полученный пакет:

Проверяем:

Установки для Prometheus можно указать в строке запуска или при помощи конфигурационного файла. В Git в каталоге documentation/examples находится шаблон конфигурационного файла prometheus.yml, копируем его в ~/ prometheus/server. Это самый простой вариант с минимумом настроек, его пока достаточно, более полный находится в conig/testdata/conf.good.yml.

Если надумаешь использовать его, то для удобства переименуй в prometheus.yml. Файл в YAML-формате, все установки и значения по умолчанию можно узнать, введя prometheus -h. Сейчас самые важные секции — scrape_configs и target_groups:

В принципе, что будет написано в job_name, роли не играет. Это просто имя процесса. Но здесь есть один нюанс, затерянный глубоко в документации.

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

Как уже говорилось, в Prometheus есть шаблоны консоли, позволяющие просматривать графики часто используемых показателей. Разработчики уже подготовили несколько готовых решений. Такую консоль можем увидеть, только если установить job_name в Node, также есть варианты HAProxy, CloudWatch и Cassandra.

Просмотр параметров Prometheus

УСТАНОВКА NODE EXPORTER

В Prometheus для сохранения метрик используется Node Exporter. Для его работы нам понадобится mercurial:

Клонируем репозиторий:

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

Переходим в каталог node_exporter и собираем:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

Врезультате в текущем каталоге появится исполняемый файл node_exporter, его можно скопировать куда-нибудь, где его будет видно в PATH, но лучше сделать символическую ссылку. Так будет проще обновлять в будущем.

ВUbuntu используется Upstart; создадим файл для запуска Node Exporter:

Запускаем:

Можно проверить работу, подключившись браузером к http://server_ip:9100/ metrics.

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Метрики, собранные Prometheus

Теперь можем запустить сервер Prometheus, он автоматически считает конфигурационный файл prometheus.yml, если он находится в текущем каталоге, поэтому можно не указывать. Иначе используем флаг -conig.ile. Чтобы увидеть процесс загрузки и убедиться, что ошибок нет, первый запуск лучше произвести просто:

Запуск Prometheus

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

В дальнейшем для автоматического запуска сервера Prometheus можно поступить, как и для node_exporter. Теперь можем перейти в браузере по http:// server_ip:9090/ и просмотреть настройки сервера и данные метрик. В самом верху окна есть меню. В Graph можем генерировать графики. Вкладка Console предлагает два варианта: ввести команду вручную или выбрать в списке (команда переносится в строку ввода, и ее можно корректировать). Выбираем одну для примера и нажимаем Execute, после чего во вкладке Graph можем просмотреть график:

Просмотр настроек

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Графики в Graph

Так как мы выбрали job_name: ‘node’, можем посмотреть консоль. Для этого переходим в http://server_ip:9090/consoles/node.html, выбираем свой сервер, и нам доступны графики и различная статистическая информация, собранная метриками. Теперь мы можем просматривать графики, экспериментируя с запросами, но такая схема удобна только для разовых действий и во время отладки. Для повседневной работы лучше использовать PromDash, позволяющий создавать настраиваемые и более наглядные панели.

УСТАНОВКА PROMDASH

В отличие от остальных компонентов, PromDash написан на Ruby:

Дальше как обычно:

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

PromDash для хранения информации может использовать SQLite (по умолчанию для небольших нагрузок), MySQL или PostgreSQL. Для простоты возьмем SQLite:

Далее будут дозагружены и доустановлены недостающие библиотеки Ruby. В Ubuntu в результате получил две одинаковые ошибки:

Лечится ручной установкой thread_safe и rdoc, при этом будут поставлены более новые версии этих пакетов, чем требовал мастер. Затем повторяем процесс установки:

Создаем каталог для хранения данных SQLite3, ассоциированных с PromDash:

После запуска внутри будет создан файл mydb.sqlite3. Путь к этому каталогу следует прописать в переменной DATABASE_URL, кроме этого, зададим режим работы PromDash через переменную RAILS_ENV(значения можно подсмотреть в документации и в Git):

Применяем изменения:

Находясь в каталоге promdash, создаем таблицы:

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

Использование Rails Asset Pipeline подразумевает прекомпиляцию некоторых элементов:

В составе PromDash идет легкий веб-сервер Thin, написанный также на Ruby. Чтобы его запустить, вводим

Подключаемся браузером к 3000-му порту (http://server_ip:3000/) и можем наблюдать главную страницу PromDash. Здесь пока ничего нет, только две вкладки Dashboard и Servers с кнопками, позволяющими создавать элементы. Для начала нужно подключить PromDash к серверам. Он у нас пока один. Просто переходим во вкладку Servers, выбираем New Server, в появившейся форме указываем имя, URL http://server_ip:9090 и выбираем тип Prometheus. Нажимаем Create Server. Если есть другие серверы Prometheus или Graphite, то аналогичным образом прописываем остальные. Переходим в Dashboard.

Чтобы было удобно структурировать данные, панели размещаются в каталогах. Жмем New Directory, вводим название и нажимаем Create Directory. Теперь можно создавать панель. Алгоритм прост. Нажимаем New Dashboard, вводим имя, выбираем в списке каталог и создаем. Все, перед нами пустой Dashboard, который требуется сконфигурировать. Это просто. При наведении курсора на заголовок Title откроются несколько кнопок, позволяющих произвести основные операции. Изменить заголовок и формат отображения можно, выбрав четвертую кнопку Graph and Axis Settings icon.

Теперь добавим графики. Нажимаем Add Expression и вводим или выбираем из списка выражение, например process_cpu_second_total, и задаем дополнительные параметры. Когда все заполнено, нажимаем левую кнопку Refresh и видим график на Dashboard.

Больше графиков и прочих элементов можем добавить при помощи кнопок внизу страницы. Кнопки вверху позволяют установить другую тему оформления, указать период обновления. Чтобы сохранить настройки Dashboard, нажимаем Save Changes. Теперь, перейдя в Dashboards, увидим ссылку на нашу панель, откуда можем ее просмотреть, а также переименовать, удалить и клонировать.

Соседние файлы в папке журнал хакер