Содержание
Что такое Прометей?
Prometheus — система мониторинга мирового класса, по умолчанию поставляется с базой данных временных рядов Это системы с открытым исходным кодом, первоначально построенные в 2012 году.
500 крупнейших компаний мира используют Prometheus для сбора метрик для своей инфраструктуры и приложений. Prometheus поддерживает многомерную модель данных с данными временных рядов, которые в основном определяются как метрики.
Специальных требований к хранению данных нет, так как Prometheus использует Time Series DB
(TSDB) часть его собственной установки .
В этом уроке мы установим Prometheus в Linux Ubuntu и CentOS с очень простыми шагами.
Давайте начнем:
Шаг 1 Проверьте версию ОС Linux
Команда: cat /etc/os-release
1
2
3
4
5
6
7
8
9
10
11
12
13
|
root @ localhost : ~ # cat / etc / os-release
NAME = Ubuntu
VERSION = 19.04 (Disco Dingo)
ID = Ubuntu
ID_LIKE = debian
PRETTY_NAME = Ubuntu 19.04
VERSION_ID = 19.04
HOME_URL = https://www.ubuntu.com/
SUPPORT_URL = https://help.ubuntu.com/
BUG_REPORT_URL = https://bugs.launchpad.net/ubuntu/
PRIVACY_POLICY_URL = https://www.ubuntu.com/legal/terms-and-policies/privacy-policy
VERSION_CODENAME = дискотека
UBUNTU_CODENAME = дискотека
|
Следующие шаги относятся к Ubuntu Linux OS
,
Шаг 2 Создание данных Prometheus и папки конфигурации
Команды :
1
2
3
|
root @ localhost : ~ # sudo mkdir / crunchify / prometheus / conf
root @ localhost : ~ # sudo mkdir / crunchify / prometheus / data
|
Давайте проверим обе папки:
1
2
3
4
5
6
7
8
9
|
корень @ локальный: / crunchify / Prometheus # PWD
/ Crunchify / Prometheus
корень @ локальный: / crunchify / Prometheus # Ls -ltra
Всего 16
drwxr — хт — х 2 корень корень 4096 август 25 23 : 37 конф
drwxr — хт — х 3 корень корень 4096 август 25 23 : 37 , ,
drwxr — хт — х 2 корень корень 4096 август 25 23 : 37 данные
drwxr — хт — х 4 корень корень 4096 август 25 23 : 37 ,
|
Шаг 3 Смена владельца папки данных
Это необходимо, чтобы избежать проблем с разрешениями на последующих этапах.
1
|
корень @ локальный: / crunchify / Prometheus # Судо Чаун 65534: 65534 / crunchify / Prometheus / данные /
|
Шаг 4 Создайте файл prometheus.yml
Перейти в папку /crunchify/prometheus/conf
и создать файл prometheus.yml
,
1
2
3
|
root @ localhost : / # cd / crunchify / prometheus / conf
корень @ локальный: / crunchify / Prometheus / конф # VI prometheus.yml
|
Содержание файла prometheus.yml:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# мой глобальный конфиг
глобальный :
scrape_interval : 15s # Установите интервал очистки на каждые 15 секунд. По умолчанию каждая 1 минута.
оценка_интервала : 15s # Оценивайте правила каждые 15 секунд. Значение по умолчанию — каждая 1 минута.
Для # scrape_timeout установлено глобальное значение по умолчанию (10 с).
# Настройка Alertmanager
оповещение :
оповещения менеджеров :
— static_configs :
— цели :
# — alertmanager: 9093
# Загружать правила один раз и периодически оценивать их в соответствии с глобальным'valuation_interval '.
rule_files :
# — first_rules.yml
# — second_rules.yml
# Конфигурация очистки, содержащая ровно одну конечную точку для очистки:
# Здесь это сам Прометей.
scrape_configs :
# Имя задания добавляется как метка `job = <имя-задания> в любой временной ряд, извлеченный из этой конфигурации.
— job_name : 'Прометей'
# metrics_path по умолчанию '/ metrics'
# схема по умолчанию 'http'.
static_configs :
— цели : [ '65 .19.71.11: 9090 ' ]
|
Note:
В приведенном выше файле — замените IP на ваш IP хоста / виртуальной машины.
Вот Directory structure
для этого урока:
Шаг 5 Убедитесь, что на вашей виртуальной машине установлен Docker.
Как проверить, установлен ли Docker или нет?
1
2
3
|
root @ localhost : ~ # докер
команда «Докер» не найденный
|
Это означает, что докер не установлен на вашем хосте / виртуальной машине. Пожалуйста, полностью следуйте инструкциям по установке Docker, чтобы установить Docker на ваш хост / ВМ.
Шаг 6 Установите Docker Compose
Pre-requisite
сначала установить Docker перед выполнением следующих шагов. (Шаг 5)
Выполните ниже три команды :
1
2
3
4
5
6
7
8
9
|
root @ localhost : ~ # sudo curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s) — $ (uname -m) — o / usr / local / bin / docker-compose
% Всего % Получено % Xferd Средняя скорость Время Время Время Текущий
Dload Upload Всего отработанных левых скоростей
100 617 0 617 0 0 2448 0 — : — : — — : — : — — : — : — 2448
100 15.4m 100 15.4m 0 0 11,2 млн 0 0 : 00 : 01 0 : 00 : 01 — : — : — 15.7M
root @ localhost : ~ # sudo chmod + x / usr / local / bin / docker-compose
root @ localhost : ~ # sudo ln -s / usr / local / bin / docker-compose / usr / bin / docker-compose
|
Шаг 7 Проверьте версию Docker Compose
1
2
3
|
root @ localhost : ~ # docker-compose —version
докер — составить версию 1.24.1 , строить 4667896b
|
Поздравляю — программа docker compose успешно установлена на вашей виртуальной машине.
Шаг 8 Создайте файл docker-compose.yml
Перейдите в папку / crunchify / prometheus.
1
2
3
|
root @ localhost : / crunchify # cd / crunchify / prometheus /
корень @ локальный: / crunchify / Prometheus # VI докер-compose.yml
|
Содержание файла docker-compose.yml:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
версия : 3
услуги :
Прометей :
изображение : Пром / Прометей : последние
имя контейнера : Прометей
объемы :
— / Crunchify / Prometheus / конф: / и т.д. / Prometheus
— / Crunchify / Prometheus / данные: / Prometheus
команда :
— '—config.file = / и т.д. / Prometheus / prometheus.yml'
— '—storage.tsdb.path = / Prometheus'
порты :
— 9090: 9090
|
Шаг 9 Установите Prometheus Start / Stop как часть системы управления.
Создать файл vi /etc/systemd/system/prometheus.service
Содержание файла prometheus.service:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
[ Блок ]
Описание = Контейнер- докер Prometheus для мониторинга
После = докер . оказание услуг
BindsTo = докер . оказание услуг
[ Сервис ]
Restart = всегда
WorkingDirectory = / crunchify / Prometheus /
# Ubuntu
ExecStart = / USR / бен / Докер — составить до
ExecStop = / USR / бен / Докер — сочинить вниз
# CentOS
# ExecStart = / usr / bin / docker-compose up
# ExecStop = / usr / bin / docker-compose down
[ Установить ]
WantedBy = мульти — пользователь. цель
|
Шаг-10 Запустите сервис Прометей
1
2
3
4
5
6
|
корень @ локальный: / crunchify / Prometheus / конфигурация # Судо systemctl демон-перезарядка
корень @ локальный: / crunchify / Prometheus / конфигурация # Судо включить Прометей systemctl
Создана символическая ссылка / etc / systemd / system / multi — user . цель. хочет / прометей . оказание услуг → / etc / systemd / system / prometheus . сервис .
корень @ локальный: / crunchify / Prometheus / конфигурация # Судо systemctl начать Прометей
|
Сервер Prometheus запущен в Linux:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
корень @ локальный: / crunchify / Prometheus # Судо systemctl начать Прометей
Создание сети prometheus_default с по умолчанию Водитель
Тянет Прометей ( выпускной / прометей : последний ) . , ,
последний : Тянет с выпускного / прометея
8e674ad76dce : Вытащить завершено
e77d2419d1c2 : Вытащить завершено
d7c0a2a2ca7e : Вытащить завершено
bd46de67c79d : Вытащить завершено
35f6078df7e9 : Вытащить завершено
8b3f04e26151 : Вытащить завершено
9d234d9c8a77 : Вытащить завершено
1a8a2a4f314d : Вытащить завершено
62e28fd716ec : Вытащить завершено
Дайджест : sha256 : cd93b8711bb92eb9c437d74217311519e0a93bc55779aa664325dc83cd13cb32
Статус : Скачал более новое изображение для Пром / Прометей : последние
Создание Прометея , , , сделанный
Прикрепление к Прометей
Прометей | уровень = информация ts = 2019 — 08 — 26T02 : 57 : 48.796Z вызывающий абонент = главный . go : 293 msg = не установлено время или размер, поэтому используется время по умолчанию продолжительность = 15 дней
Прометей | уровень = информация ts = 2019 — 08 — 26T02 : 57 : 48.797Z вызывающий абонент = главный . go : 329 msg = Стартовый Прометей версия = (версия = 2.12.0, ветвь = HEAD, редакция = 43acd0e2e93f9f70c49b2267efa0124f1e759e86)
Прометей | уровень = информация ts = 2019 — 08 — 26T02 : 57 : 48.798Z вызывающий абонент = главный . go : 330 build_context = (go = go1.12.8, user = root @ 7a9dbdbe0cc7, date = 20190818-13: 53: 16)
Прометей | уровень = информация ts = 2019 — 08 — 26T02 : 57 : 48.798Z вызывающий абонент = главный . go : 331 host_details = (Linux 5.0.0-13-generic # 14-Ubuntu SMP, понедельник, 15 апреля 14:59:14 UTC 2019 x86_64 d870070a8ec7 (нет))
Прометей | уровень = информация ts = 2019 — 08 — 26T02 : 57 : 48.799Z вызывающий абонент = главный . go : 332 fd_limits = (soft = 1048576, hard = 1048576)
Прометей | уровень = информация ts = 2019 — 08 — 26T02 : 57 : 48.799Z вызывающий абонент = главный . go : 333 vm_limits = (мягкая = неограниченная, жесткая = неограниченная)
Прометей | уровень = информация ts = 2019 — 08 — 26T02 : 57 : 48.803Z вызывающий абонент = главный . go : 654 msg = Запуск TSDB …
Прометей | уровень = информация ts = 2019 — 08 — 26T02 : 57 : 48.813Z звонящий = голова . go : 509 component = tsdb msg = Воспроизведение WAL, это может занять некоторое время
Прометей | уровень = информация ts = 2019 — 08 — 26T02 : 57 : 48.815Z звонящий = голова . go : 557 component = tsdb msg = WAL сегмент загружен сегмент = 0 maxSegment = 0
Прометей | уровень = информация ts = 2019 — 08 — 26T02 : 57 : 48.818Z вызывающий абонент = главный . go : 669 fs_type = EXT4_SUPER_MAGIC
Прометей | уровень = информация ts = 2019 — 08 — 26T02 : 57 : 48.819Z вызывающий абонент = главный . go : 670 msg = TSDB запущен
Прометей | уровень = информация ts = 2019 — 08 — 26T02 : 57 : 48.819Z вызывающий абонент = главный . go : 740 msg = Загрузка файла конфигурации имя файла = / etc / prometheus / prometheus . YML
Прометей | уровень = информация ts = 2019 — 08 — 26T02 : 57 : 48.823Z вызывающий абонент = главный . go : 768 msg = Завершена загрузка файла конфигурации имя файла = / etc / prometheus / prometheus . YML
Прометей | уровень = информация ts = 2019 — 08 — 26T02 : 57 : 48.823Z вызывающий абонент = главный . go : 623 msg = Сервер готов к приему веб-запросов.
Прометей | уровень = информация ts = 2019 — 08 — 26T02 : 57 : 48.824Z звонящий = веб . go : 448 component = web msg = Начать прослушивание соединений адрес = 0.0.0.0 : 9090
|
Поздравляю !! Вы успешно запустили Prometheus на своем хосте.
Давайте играть с Prometheus Dashboard и пользовательским интерфейсом
Как проверить, правильно ли работает Прометей?
1
|
URL : http : //65.19.71.11:9090/metrics
|
Как проверить работоспособность хоста или виртуальной машины с помощью Prometheus?
1
|
URL : http : //65.19.71.11:9090/targets
|
Как проверить конфигурацию Prometheus в браузере?
Прометей Информация о времени выполнения
1
|
URL : http : //65.19.71.11:9090/status
|
Uptime | 2019-08-26 03: 07: 24.244852166 +0000 UTC |
---|---|
Рабочий каталог | /Прометей |
Перезагрузка конфигурации | успешный |
Последняя успешная перезагрузка конфигурации | 2019-08-26 03:07:24 +0000 UTC |
Головные куски | 533 |
Главный временной ряд | 533 |
WAL коррупции | 0 |
Goroutines | 36 |
GOMAXPROCS | 1 |
GOGC | |
GODEBUG | |
Хранение Хранение | 15d |
Прометей Информация о сборке
Версия | 2.12.0 |
---|---|
пересмотр | 43acd0e2e93f9f70c49b2267efa0124f1e759e86 |
Ветка | ГОЛОВА |
BuildUser | корень @ 7a9dbdbe0cc7 |
Дата постройки | 20190818-13: 53: 16 |
GoVersion | go1.12.8 |
Флаги командной строки Прометея:
1
|
URL : http : //65.19.71.11:9090/flags
|
alertmanager.notification-очереди емкости | 10000 |
---|---|
alertmanager.timeout | 10s |
config.file | /etc/prometheus/prometheus.yml |
log.format | logfmt |
log.level | Информация |
query.lookback-дельта | 5м |
query.max-параллелизм | 20 |
query.max-образцы | 50000000 |
query.timeout | 2м |
rules.alert.for-льготный период | 10м |
rules.alert.for-отключение толерантности | 1ч |
rules.alert.resend задержки | 1m |
storage.remote.flush-срок | 1m |
storage.remote.read-параллельный предел | 10 |
storage.remote.read-образец предел | 50000000 |
storage.tsdb.allow-перекрывающихся-блоки | ложный |
storage.tsdb.max-блок-продолжительность | 36ч |
storage.tsdb.min-блок-продолжительность | 2h |
storage.tsdb.no-файл блокировки | ложный |
storage.tsdb.path | /Прометей |
storage.tsdb.retention | 0s |
storage.tsdb.retention.size | 0B |
storage.tsdb.retention.time | 0s |
storage.tsdb.wal-сжатия | ложный |
storage.tsdb.wal-сегментного размер | 0B |
web.console.libraries | console_libraries |
web.console.templates | консоли |
web.cors.origin | . * |
web.enable-админ-апи | ложный |
web.enable-жизненный цикл | ложный |
web.external-URL | |
web.listen-адрес | 0.0.0.0:9090 |
web.max-соединение | 512 |
web.page титульный | Сервер сбора и обработки временных рядов Прометея |
web.read-тайм-аут | 5м |
web.route-приставка | / |
И все готово. У тебя есть successfully installed Prometheus
и проверил все его возможности.
0.00 (0%) 0 votes