Linux: настройка мониторинга за 15 минут с помощью Grafana и Prometheus
Вставка
- Опубліковано 23 лип 2021
- В этом видео показывается, как организовать мониторинг сервера/компьютера на операционной системе Linux с помощью Grafana, Prometheus и Node Exporter
Репозиторий: git.digitalstudium.com/digita...
Этот же мониторинг + настройка уведомлений в Телеграмм: • Linux: Мониторинг с ув...
Этот же мониторинг, но отказоустойчивый + настройка уведомлений в Телеграмм: • Linux: отказоустойчивы...
Если дашбоард не работает, то попробуйте импортировать дашбоард не так, как я показал в видео, а по id. То есть на этапе импорта в поле "Import via grafana.com" введите 1860 и нажмите Load. Перед этим удалите прежний дашбоард
Здравствуйте. При импорте по id пишет Unavailable For Legal Reasons. И сайт для скачивания файла тоже недоступен. Что в таком случае делать?
@@user-eh8vj2 странно. Только что зашёл на сайт, специально попробовал от разных провайдеров, работает.
Хотя я нахожусь в РФ, и пробовал без VPN.
Вы из какой страны пробуете скачать? Из РФ?
рб, понял, попытаюсь через vpn скачать. спасибо. Теперь работает.
Пожалуйста покажите как настроить алерты, и чтобы они отправлялись корректно, а лучше сделайте видео с самого начала до полной настройки, установка, алерты. Будем очень благодарны в интернете очень мало информации)
О, спасибо. Коротко и без воды
спасибо за видео! подняла мониторинг за 30 минут, огонь ❤
Просто лучший с документацией можно мучатся ооочень долго. Так хорошо картинка прорисовывается в голове когда сам пощелкаешь понажимаешь))СПАСИБО
спасибо огромное за видео. я думал у вас 100 тыс подписчиков минимум. не бросайте свое дело
видео супер, все доходчиво и просто. Было бы клево увидеть видео по backbox exporter и grafana/loki
Шикарное видео, уже переписывался с автором по деталям, получал обратную связь, все работает супер. Большое спасибо еще раз. Было бы здорово записать еще видео, как при такой связке в докер настроить Графану для работы с https. Было бы очень полезно
Отличный ролик! Спасибо! Все по делу!
Супер, Одназначно подписка, за такой суперский гайд)
Отличное видео! Кратко и по делу!
Спасибо, получил много ответов на свои вопросы
Спасибо большое автору! :)
Автору огромный респект!!
Огромное тебе спасибо!!! Очень помог!
Третий урок по которому пытался поднять мониторинг удаленных серверов и именно по нему получилось :D
Спасибо! Со второго раза получилось. Хз в чем была ошибка, но сделал второй раз и завелось!
Спасибо большое. Всё понятно, просто и по делу. Есть же люди, которые объясняют лучше, чем другие за деньги!
"а че так можно было?" - кучу видосов пересмотрел по 1ч+, и так и не понял как все это паднимается... А тут за 15мину уже понимаю roadmap для своих тыканий)) Спасибо!
Невероятно крутое объяснение
Thank you very much. very useful video.
Спасибо за инструкцию, все наглядно и просто. В конце ролика вы сказали про подключение других серверов, установить на него node-exporter и прописать в yml файле. Но вот еще бы показали как это сделать, то было бы очень хорошо. Можете выпустить короткое дополнение к этому видео?
ps. нашел на вашем гитхабе инструкцию по установке node-exporter на другие сервера и подключению их к мониторингу, все ясно :).
Странно почему ты cadvisor не добавил? И ждем продолжение про уведомления) Интересно спасибо!
Спасибо, буду тестить
Приветствую, очень хорошая инструкция, все работает, но у меня вопрос получается открытый порт 9090 и 9100 почему не показали сразу как правильно их закрыть в целях безопасности?
Добрый день, классный урок, спасибо! Вопрос: при использовании docker-desktop, в какой директории будет лежать файл prometheus.yml?
Если речь идёт о Windows, то попробуйте наберите такой путь в проводнике:
\\wsl$
Внутри этой папки должна быть папка с docker в названии, и в одной из её подпапок можно найти volumes
Привет ещё раз! Решил в к8с поднять мониторинг , на отдельную ноду завернул всё как ты делаешь , столкнулся с проблемой , что в графане не появляются метрики , в проме всё хорошо конфиг видит -работает , куда копать ?
Лучший)
у меня получилось спустя 4 месяца ахахахах, спасибо вам!!!!!!
Спасибо!
если на сервере уже работают контейнеры видимо в обычном режиме, и для установки node_exporter прописать docker swarm init
не поломается все?)
Да не, это ничего не сломает
Здравствуйте! У меня такой вопрос, я все делал по гайду, спасибо! Но у меня в прометеусе не появился эксплоер. Я нажал другие гайды искать еще хуже получилось. В итоге решил вернуться к вам, но теперь не знаю как быть, понаустанавливал всяких репозиториев на сервер. Если сначала начать так можно? Или нужно все удалить для начала? Как добавлять несколько серверов, у меня ноды работают надо следить за большим количеством серверов, как графану открывать если мы пишем ip и порт в адресную строку , но это для одного сервера. Спасибо, извиняюсь если вопросы дурацкие
Здравствуйте!
1. Удалять ничего не нужно если у вас не запущено никаких лишних процессов, которые будут конфликтовать с докер стэком, запущенным по данному видео.
2. Если вы хотите добавить несколько серверов, то на каждый из серверов нужно установить node-exporter, и затем добавить адрес сервера в prometheus конфиг
3. Как графану открывать - не понял вопроса. У вас будет одна графана для всех серверов, разумеется.
Добрый день, подскажите, какая нагрузка у все этой системы и как обезопаситься?
у меня есть боевой сервер, на него я должен поставить node-exporter, а, например, локально графану и прометеус?
Нагрузка небольшая. Обезопаситься можно с помощью опции docker swarm под названием deploy resources (можно указать максимум CPU и RAM для контейнера). Как то так:
services:
node-exporter:
image: prom/node-exporter:v1.5.0
deploy:
resources:
limits:
cpus: '0.5'
memory: 350M
reservations:
cpus: '0.1'
memory: 100M
И да, графану и прометей можно локально, но можно и на каком-то другом сервере.
Я не очень понял, а что конкретно сейчас будет мониториться? Графана сама себя мониторит или где-то произошла магия и это метрики всего хоста?
Это метрики хоста, разумеется. Их собирает node-exporter, затем prometheus. А из prometheus эти метрики отображает grafana.
Также вы можете установить node exporter на другие хосты, добавить адреса этих хостов в prometheus, и тогда grafana будет отображать метрики и по этим хостам.
можно ли в прометей конфиг файл заложить периодический скан ec2 инстансов в моем aws аккаунте на наличие тега node-exporter=true и добавление их в перечень для получеия данних? (не в кластере ес2 а раздельно)
Привет! Кажется это оно:
prometheus.io/docs/prometheus/latest/configuration/configuration/#ec2_sd_config
Хотя сам я такого с EC2 не пробовал, точно не скажу
С помощью Кали так же будет или есть нюансы? Так же подскажите, есть ли смысл через Кали работать с контейнерами и другими девопс инструментами или лучше в этом случае убунту?
Docker на любом дистрибутиве Linux работает одинаково, так что без разницы - если удобнее Kali, то на нём всё будет работать тоже
Здравствуйте. Спасибо за видео. Пытаюсь установить всё на Debian 11, в йамле прописываю
grafana:
image: grafana/grafana-oss:9.2
*(Alpine image (recommended) по официальному мануалу Grafana Open Source edition: grafana/grafana-oss:)
Дальше
docker stack deploy со параметрами и путём.
Всё проходит хорошо.
Но когда вбиваю docker ps, выходит инфа по названию колонок, но самих контейнеров нет.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Сервак свой тоже не могу загрузить с 3000-м портом.
Подскажите, пожалуйста, что может быть не так? (я ещё совсем в начале пути девопсовских дел)
Благодарю.
Наберите docker stack ps monitoring --no-trunc , какой вывод команды?
Здравствуйте. У меня такая же проблема. Вот результат команды, которую вы попросили вбить.
e1264d33d08a985aed0ee6b0b89d0be470592cd Amir Shutdown Failed 20 seconds ago "starting container failed: AppArmor enabled on system but the docker-default profile could not be loaded: running `apparmor_parser apparmor_parser --version` failed with output:
error: exec: "apparmor_parser": executable file not found in $PATH"
@@DigitalStudium
Вдруг кому-то пригодится. Избавиться от этой проблемы и перейти дальше смог при помощи apt install apparmor -y
Привет, отредактировал файл prometheus.yml и node-exporter не поднялся в пррмисиусе, если есть мысль в чем может быть первопричина буду признателен, еще вопрос по докер контейнерам, а в видео вроде не показано как можно объявить вольюмами один для конфигов другой логов, если будут возможность можно этот момент тоже показать за ранее спасибо 👀👀👀👀
Привет! Зайдите внутрь контейнера prometheus и наберите команду promtool, как ниже:
$ docker exec -it 0d9fe6950757 sh
/prometheus $ promtool check config /etc/prometheus/prometheus.yml
Checking /etc/prometheus/prometheus.yml
SUCCESS: /etc/prometheus/prometheus.yml is valid prometheus config file syntax
Тогда станет ясно, где ошибка в конфиге
/var/lib/docker/volumes/monitoring_prom-configs/_data/prometheus.yml
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is ever>
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 >
# scrape_timeout is set to the global default (10s).
# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# Load rules once and periodically evaluate them according to the global 'evaluation_>
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=` to any timeseries scraped from >
- job_name: "prometheus"
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ["localhost:9090"]
- job_name: 'node-exporter'
static_configs:
-targets: ['node-exporter:9100']
честно говоря так и не удалось получить желаемого результата, я извиниюсь конечно за тупые вопросы, но могли бы вы проверить конфиг ?
P.S. Внутрь контейнера я так и не смог попасть (
@@Iseeyoucrybich похоже у вас отступы не соблюдены. Проверьте конфиг здесь: codebeautify.org/yaml-validator/cb6e91ef
было б интересно, как конфигурирован прометей и с какой СУБД.
Также, как подобное сделать для Zabbix. Всё-таки это более часто используемая модель
Prometheus использует под капотом tsdb. Часто используемая модель - это смотря где.
Добрый день! Подскажите, пожалуйста, разворачивал по вашему видео, затык произошел на этапе того, что файл должен лежать в папке, docker inspect показывает, что файлы там и должны быть, но в docker volumes вообще папок нет .
docker inspect monitoring_prom-configs
[
{
"CreatedAt": "2022-11-18T09:11:30Z",
"Driver": "local",
"Labels": {
"com.docker.stack.namespace": "monitoring"
},
"Mountpoint": "/var/lib/docker/volumes/monitoring_prom-configs/_data",
"Name": "monitoring_prom-configs",
"Options": null,
"Scope": "local"
}
]
Подскажите, что не так, в чём проблема?
ubuntu, возможно проблема в btrfs?
@@user-fr1pw3uu5l Добрый день! Думаю дело в btrfs, да. Docker нужно отдельно настраивать для работы с btrfs, вы прописывали storage-driver: btrfs в конфигурации докера?
@@DigitalStudium , перешел на ext4, но всё равно не помогло, теперь новая проблема, docker у не хватает прав, чтобы писать в директорию volumes, chmod просто не помог, как заставить его работать не от рута? Или хотя бы запустить docker desktop от рута), подскажите, пожалуйста.
@@user-fr1pw3uu5l я бы с радостью помог, но штука в том что я никогда не пользовался docker desktop, поэтому не могу выступить тут экспертом.
Но в общем случае, если вы хотите запустить любую программу из под root, выясните сначала команду с помощью
ps aux | grep docker
А затем запустите эту команду с sudo
Хорошее видео, но не ясно только, что делать, если несколько серверов. Понятно, что Grafana и Prometheus будут работать только на одном сервере (ну или на разных, но в одном экземпляре). Вопрос в том, что делать с дашбоардом. Для одного сервера все нормально, а как показывать несколько серверов?
На дашборде есть выпадающий список под названием "Host", он позволяет выбирать нужный сервер.
Как подключить сами серверы к мониторингу, говорится на моменте 10:51
@@DigitalStudium спасибо
как лучше обращаться к node exporter другого сервера, если он запущен в другом docker stack?
Либо hostname:9100 либо ip_address:9100
Промисиус прям слух режет )
просто Прометей тогда уж )
Не хотел никому резать слух)
Почему просто не поставить заббикс, получив все те же графики и еще дофига всего? Чем прометеус лучше (если лучше)?
А почему бы и нет
Здравствуйте еще раз. У меня проблема. Не работает корректно датчик скорости. Но если другой сервер выбрать, где только node exporter (установка только apt-get install prometheus-node-exporter), то там скорость работает корректно. Как быть?
И по дефолту на графике со второго сервера вот эти графики
recv eno1
trans eno1.
А на основном, где графана и прочее, там
recv eth0
recv eth1
recv eth2
recv lo
trans eth0
trans eth1
trans eth2
trans lo
Но при этом данные не корректные. Что-то в районе 0-8 кб. И словно не то что-то отображается. Даже во время бекапов
можно ли использовать прометеус и графана для мониторинга транзакций?
Их можно использовать для мониторинга чего угодно. Можно довольно легко написать на python свой prometheus exporter, с него забирать метрики prometheus-ом и визуализировать в графане
Можешь объяснить назначение с 30 по 35 строки? К чему привязаны эти volume? 1:40
Эти строки, фактически, создают соответствующие директории в папке /var/lib/docker/volumes
Затем в этих директориях хранятся файлы из контейнеров grafana и prometheus. Таким образом, если остановить контейнеры, данные из них останутся в этих директориях. Если заново стартовать контейнеры, данные из этих директорий будут заново использованы внутри контейнеров
@@DigitalStudium Так вроде ж volume создаются в 7, 14, 21 строках. И описываются директории волумов. Отсюда и возник вопрос а куда цепляются волумы с 30 по 35 строку? к какому собственно контейнеру и какой директории. Или 30-35 строки нужны именно для создания. А уже 7,14,21 для использования?
@@vitalykargin мой ответ конечно запоздал, но на всякий случай отвечу: да, 30-35 строки создают вольюмы, а выше они используются
Привет. А оборудование вроде свичей и вайфай точек можно добавить туда по снмп?
Привет! Это возможно через snmp exporter github.com/prometheus/snmp_exporter
@@DigitalStudiumоперативно, спасибо
Подскажите, как оставить работу контейнеров? Или самих процессов. Пытаюсь остановить контейнеры, но они через несколько секунд снова стартуют.
Скорее всего вы уже нашли решение проблемы, но на всякий случай отвечу: нужно использовать команду "docker stack rm имястэка"
@@DigitalStudium спасибо!
Такой же вопрос возник) теперь знаю ответ, благодарю!
Здравствуйте! Подскажите пожалуйста, у меня не появляется node exporter после редактирования файла (добавление node exporter в prometheus) Обновляю страницу инета а node exporter всё никак не хочет появляться в prometheus. В вашем видео это момент 9:49
Подскажи, пожалуйста, смог ли ты решить этот вопрос
@@Trust_CanE А скиньте текущий конфиг. Думаю скорее всего вы сделали отступ неправильный в конфиге
Вроде получилось. Но в конфиге прописал по другому. Как у Вас на видео, у меня не получилось
@@user-oo7ng4he4x у меня тоже. Мои комментарии удалены только. ну да ладно
@@DigitalStudium я только ни как не смог найти норм график, для мониторинга сетевой нагрузки. их там штук 14, а все фиг знает что показывают. А именно хотел бы смотреть загруженность пропускной способности (bandswitch) сервера. Не знаете можно ли смотреть это через графану?
Здравствуйте. У вас есть гайд, как добавить мониторинг с другого сервера? Как установить там только node exporter и всё грамотно мониторить на одном сервере. Боюсь запутаться :(
На сервере надо только это:
docker stack deploy -c node-exporter.yml exporter
А дальше меняете конфиг Prometheus и делаете релоад, это описано в README.md файле github.com/digitalstudium/grafana-docker-stack/blob/main/README.md
Пожалуйста покажите как настроить алерты, и чтобы они отправлялись корректно, а лучше сделайте видео с самого начала до полной настройки, установка, алерты. Будем очень благодарны в интернете очень мало информации)
ua-cam.com/video/rC8vJrBIduo/v-deo.html
для мониторинга серверов лучше все-же юзать заббикс сервер, а графаной визуализировать какие-то специфичные сервисы и важные параметры... Хотя видео и интересное
05:26 не понимаю, почему хост указывается как prometheus:9090, а не скажем localhost либо 127.0.0.1. Откуда мы берем имя prometheus?
При использовании docker swarm имя сервиса становится и его доменным именем.
То есть изнутри любого контейнера можно обратиться по имени сервиса, и оно будет разрешено в IP адрес соответствующего контейнера с помощью внутреннего DNS докера
@@DigitalStudium спасибо. А почему localhost либо 127.0.0.1 для меня были недоступны в Графане. При тесте нового source выдавало ошибку
Я успешно дошел до 10-17, но у меня в Графане нет выбора экспортера в HOST. Там просто пусто, когда открываешь. Следовательно графики в N/A, не обновляются
Надо просто старую версию (ревизию) качнуть с сайта Графаны этого JSON Node Exporter Full от 2021-05-08T22:30:46
тоже самое. все сделал как на видео. но на графиках ничего не отображается. админ может когда с вами связаться?
подскажите пожалуйста , что делать если нет такого пути и самого файл
/var/lib/docker/volumes/monitoring_prom-configs/_data/prometheus.yml
( система ubuntu 22.04)
var/lib/docker/volumes/ и тут только два файла backingFsBlockDev , metadata.db
А вы уже запускали команду docker stack deploy?
docker swarm init
docker stack deploy -c docker-compose.yml monitoring@@DigitalStudium
да , конечно. и все поднялось нормально и без ошибок
а можно както при сборке контейнеров в docker-compose.yml , передать настройки из prometheus.yml ?
запускай докер и всё остальное от рута
best
если после команды SIGHUP не появился на 9090 порту node exporter? я что то не так сделал?
Команда sighup нужна, чтобы перечитать конфигурационный файл. Если он не перечитался, то нужно посмотреть с помощью команды docker logs логи Prometheus, там обычно написано, что помешало перечитать конфиг.
Привет, при переходе /var/lib/docker/volumes/monitoring_prom-configs/_data/prometheus.yml пишет отказано в доступе или доступ запрёщен подскажи ,что не так
теперь пишет ,что не существует такого файла
при этом файл есть - залез внутрь контейнера и нашёл его ,но не могу понять как его отредактировать
добавь sudo перед командой cd
@@nikitosbertone да уже сделал в тот же день )
Не подскажите как сразу импортировать ID dashboard в docker-compose?
Можно добавить Json дашборда в вольюм, как здесь: git.digitalstudium.com/digitalstudium/grafana-docker-stack/src/branch/alertmanager
@@DigitalStudium Спасибо огромное
Здравствуйте подскажи создал сервер ubuntu в AWS все установил все ок. почему не могу попасть на веб страницу графаны...e
вопрос отпал порты то не открыл 3000 и т д)))
А как это запустить потом? Вот я запустил в первый раз, все заработало на моих локальных виртуалках, одна была прометей+графана, а на нескольки других включен нод экспортер.
Потом я отправил эти виртуалки в suspend.
Включил обратно, docker ps показывает что контейнеры развернуты, и сами по себе виртуалки пингуются, но по портам ни графана ни прометей не открываются. Порты само собой открыты...
а вот завелось после того как нормально ребутнул виртуалку, но все равно не понял почему после суспенда не поднялось, апач нормально поднимается...
@@DekardKain311 сложно сказать конечно, в чем именно у вас дело. Нужно смотреть syslog/dmesg , также я бы посмотрел логи apparmor (Ubuntu) или SELinux (RedHat based дистрибутивы)
Ну и конечно tcpdump вам в помощь, если ничто другое не поможет
а почему после перезапуска постоянно мертвые контейнеры если "docker ps -a" ?
А docker ps без -a что показывает? Дело в том, что docker ps -a показывает в том числе и "убитые" контейнеры. Если вы рестартовали контейнеры, то понятно, что у вас должны появиться "убитые" контейнеры
@@DigitalStudium понятно, спасибо, без -a показывает только рабочие
Приветствую, не добавляется нод экспортер в промиссиус, что делаю не верно?
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=` to any timeseries scraped from this config.
- job_name: "prometheus"
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ["localhost:9090"]
- job_name: "node-exporter"
static_configs:
- targets: ["node-exporter:9100"]
Хоть волком вой, вторые сутки сижу, в Targets нод експортер не отображается все равно. Вот такой формат тоже не помогает - job_name: "prometheus"
static_configs:
- targets: ["XXX.XX.XX.XX:9090"]
- job_name: "node-exporter"
static_configs:
- targets: ["XXX.XX.XX.XX:9100"]
Все вопрос решен, спасибо чату GPT)))
Ептвоймать я хотел посмотреть одно а нашел решение другой своей проблемы ... Спасибо
Все сработало, только скажите как поменять имя которое отображается в Hostname? У меня на серве оно изменено, но в grafana отображается не оно
Дашборд 11074
Не знал о таком, спасибо что поделились :-)
Здравствуйте, может кто знает, на debian встанет по этому примеру или нет?
Да, конечно, пример из видео работает на любом дистрибутиве Linux
Все таки докер это чудо
изучите внутренние механизмы ядра Linux.
тогда придет понимание того что докер это маркетинг.
Добрый день, подскажите как удалить установленные контейнеры и отключить их запуск
docker stack rm monitoring
@@DigitalStudium спасибо получилось, но в сетевых адаптерах остался докер-мост и еще один неактивный адаптер, их удалить в ручную?
@@JhonPreston
Можете вручную удалить, да. Возможно вольюмы докер тоже не удаляет автоматически
@@DigitalStudium у вас отличные видео, может будет в планах сделать серию по ключевым понятиям и основам докер. Видео в сети полно, но как-то кривовато, сложновато и многовато.
@@JhonPreston у меня стоит это в целях, как только позволит время хочу создать серию видео и по докер, и по kubernetes
Привет! Вот бы еще видео, как это все удалить :)
docker stack rm monitoring
@@DigitalStudiumспасибо)
После команды docker kill -s SIGHUP контейнер не запустился.....Жаль
Посмотрите логи контейнера. Ну и второе, данная команда не перезагружает контейнер, если он работал до команды, то он продолжит работать после команды
После удаления контейнеров создаются новые. Как это остановить?
Проблему решил - дело было в docker stak deploy. Помогла команда docker stack leave.
Ну либо docker stack rm monitoring
Если у вас не получается скачать образы с docker hub, то попробуйте настроить прокси как описано здесь: dockerhub.timeweb.cloud/
что делать если прометеус не видит мое приложение?
хмм у меня возникают ошибки и оне не показывает различные параметры,1:187: parse error: missing unit character in duration"
На каком этапе возникает данная ошибка? Попробуйте сделать скриншот и дать мне на него ссылку: pasteboard.co/
@@DigitalStudium забей я решил эту проблему , вообще я использовал шаблон node explore full , а он не даёт возможности деталь alert , просто создаём новую панель копируем метрики с прометеуса и в ней делаем Алерт
и я просто использовал другой шаблон не как у вас на видео и все получилось
А, понял. Надо было мне осветить тему алертов в видео, конечно. Если что, в репозитории есть ветка alertmanager, там приведен вариант докер стэка с алертами в телеграм бот
@@dedm7759 какой шаблон использовали?
Отличное видео. Спасибо. Много пересмотрел но это реально лучшее. Короткое и четкое.
Только вот не работает почему-то 😂
Оно вроде как должно работать. И конфиг смотрел, все отступы четкие, SUCCESS, и каждый шаг по гайду.
Графана отображает н/д. При этом, повторюсь, каждый шаг по гайду - ошибок не было. При заходе через веб в prometheus 9090 метрики отображаются. При заходе на порт 9100 видны метрики экспортера. Но графана не отображает почему-то. Источник выбран prometheus. Dashboard привязан к prometheus.
Еду в Питер 4 часа уже из Москвы и до сих пор не победил. Все. Сдаюсь. Пишу автору :) Дай совет, плз
Привет! Если зайти в Configuration -> Data Sources -> Prometheus в графане, и ткнуть "Save & Test", то появляется ли надпись "Datasource is working"?
@@DigitalStudium спасибо за ответ, вернулся из Питера, готов продолжать бороться и победить настройку ) Итак, при нажатии Save & Test отображается "Data source is working". Все зеленое. Все выглядит так, что работает. Но графана в дашборде ничего не показывает по-прежнему (
@@avkarcr Скопируйте содержимое из Dashboard Settings -> JSON Model, вставьте его сюда: pastebin.com и вышлите ссылку мне
@@DigitalStudium И вот мой конфиг (IP скрыт, не localhost)
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
alerting:
alertmanagers:
- static_configs:
- targets:
'evaluation_interval'.
rule_files:
scrape_configs:
from this config.
- job_name: "prometheus"
static_configs:
- targets: ["XXX.XX.XX.XX:9090"]
- job_name: "node-exporter"
static_configs:
- targets: ["XXX.XX.XX.XX:9100"]
@@DigitalStudium ссылка не отправляется. Не стоит ли запретов на публикацию ссылок от гостей? Пару раз пробовал
база
У меня Prometheus - Targets не появился node exporter
reload делали?
@@DigitalStudium да
@@biomozgjele Посмотрите логи контейнера prometheus. Возможно, в конфиге допущена ошибка, в таком случае при reload-е prometheus не сможет обработать конфиг, и в логах выдаст ошибку
странно. Сейчас проверил - у меня docker ps выдает только два активных контейнера. prometheus нет
268d5423ae55 prom/node-exporter:v1.3.1
3eea707ae9f7 grafana/grafana:8.5.3-ubuntu
@@biomozgjele docker ps -a
А затем смотрите логи с которыми Prometheus упал
Если и это не поможет, то
docker service ps
И смотреть причину там
Всё, сдаюсь. Всё перебровал (плюс прошлое сообщение).
Часов 12 в итоге сидел.
Сервисы запускаются нормально, но образы из докер-хранилища не подгружают - ни один.
По команде docker ps, выходит инфа по названию колонок, но самих контейнеров нет.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Если вбивать по очереди docker service ps test_grafana
docker service ps test_prometheus
docker service ps test_node-exporter
То выходит сообщение одно и тоже (только имя сервиса меняется).
И везде написано, что реджектед - нет такого образа (см. ниже).
Какие я только адреса для образов в файл .yml - ваши, с разными latest, с двоеточием на конце, без двоеточий... чего только не пробовал.
Система Debian и я это учитывал в адресах образа.
Резюме - сервисы запускаются. Образы к этим сервисам - нет (
Пример:
~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
~# docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
zr0pv1dybjpc test_grafana replicated 0/1 grafana/grafana-enterprise:v9.2.0 *:3000->3000/tcp
s2axt1ab1fjt test_node-exporter replicated 0/1 bitnami/node-exporter:latest *:9100->9100/tcp
bv7m1r1evx8l test_prometheus replicated 0/1 prom/prometheus:latest *:9090->9090/tcp
~# docker service ps test_grafana
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
l2cuhml5j784 test_grafana.1 grafana/grafana-enterprise:latest debian-ulyanov Ready Rejected 3 seconds ago "No such image: grafana/grafan…"
vjvj2p0ay9sz \_ test_grafana.1 grafana/grafana-enterprise:latest debian-ulyanov Shutdown Rejected 4 seconds ago "No such image: grafana/grafan…"
9nbn9hpiso07 \_ test_grafana.1 grafana/grafana-enterprise:latest debian-ulyanov Shutdown Rejected 18 seconds ago "No such image: grafana/grafan…"
a58z647eq4x2 \_ test_grafana.1 grafana/grafana-enterprise:latest debian-ulyanov Shutdown Rejected 41 seconds ago "No such image: grafana/grafan…"
qr7l1y7xoflh \_ test_grafana.1 grafana/grafana-enterprise:latest debian-ulyanov Shutdown Rejected 42 seconds ago "No such image: grafana/grafan…
А, ну тут проще простого. image для графаны называется просто grafana, а не grafana-oss или grafana-enterprise. См. здесь: hub.docker.com/r/grafana/grafana
@@DigitalStudium за ответ спасибо. У меня уведомление пришло и вашем ответе - какую команду вы говорили написать? Открыл сообщение, а тут уже обновлено.
Разумеется, grafana/grafana я попробовал в первую очередь и в самых разных комбинациях.
Кстати, grafana-oss или grafana-enterprise тоже имеют место быть.
Кроме того, что образы не находятся нужные в автоматическом режиме при деплое стэка, то если делать это вручную, то пишет ошибку что-то типа - не найден нужный образ llinux/386, хотя в описании к образу эта архитектура имеется.
Короче - ни в какую ни руками, ни через йамл.
@@Dukapb81 А если попробовать просто набрать команду docker pull grafana/grafana, то какой будет вывод команды?
@@DigitalStudium Спасибо за отзывчивость.
Вот, да. Я уже писал про это выше в прошлом посте - "если делать это вручную, то пишет ошибку что-то типа - не найден нужный образ llinux/386, хотя в описании к образу эта архитектура имеется".
docker pull grafana/grafana
Using default tag: latest
latest: Pulling from grafana/grafana
no matching manifest for linux/386 in the manifest list entries
Я хз в чём проблема. Может, в архитектуре - intel + debian... Не знаю.
@@Dukapb81 Проблема в том, что у вас похоже 32-битный linux, все докер имэджи заточены обычно под 64 битный linux.
Есть 2 варианта решения проблемы:
1. Установить 64-битный Linux вместо 32-битного
2. Найти докер имэджи для 32-битного Linux, что довольно-таки сложновато
Потратил больше 2 часов просто из-за не внимательности ))) Ребят ,а может кто привести пример как будет выглядеть пример ,чтобы добавить сервера или установить экспортёр через энсибл)
а зачем это делать в докере?
Затем, что без Docker пришлось бы выполнять вручную множество команд для создания директорий, изменения прав, создания systemd сервисов и т.п.
При этом разумеется, что Docker это не единственный способ автоматизации настройки мониторинга, но я предпочитаю именно его.
@@DigitalStudium это если собирать пакет. Если ставить с репозитория там это уже включено. Проверено на деб10
@@wh1tequark Да, но в репозитории, как правило, лежит не самая свежая версия той или иной программы. Docker позволяет вам установить самую последнюю версию того же prometheus без лишних движений
@@DigitalStudium само собой это одна из причин почему собирают. Мне вот интересно другое в чем принципиальные отличия методик докер сварма от комповсера? Тк я со свармом не работал то делаю через комповсер который собирает докерфайл ну и естественно если что-то нужно изменить то меняем в докер-комповсере/докер файле > ребилд на новую версию без дт
@@wh1tequark swarm не умеет билдить имэджи, но зато swarm умеет запускать контейнеры в нескольких репликах и много чего другого. Иногда более удобно использовать сворм, иногда компоуз, иногда без разницы :-)
подход когда все в докере - не для обучающего видео 😞
Ок
Это стандарт так называть «промисиус»?
Смотря где.
@@DigitalStudium а в каких случаях так говорят? В англоязычной среде?
@@ArtegaFM да, как минимум в англоязычной среде в общении между русскоязычными ) В российских компаниях чаще говорят "прометей"
@@DigitalStudium понятно, спасибо 😉
++
Сложно
Как остановить эти контейнеры...... Как я за-лся)))) и stop и rm и rmi и все вместе с && и НИЧЕГО... Автостартует это Д....о.... АААААААААААААААА))))
docker stack rm monitoring
Cpasibo
По мне - красивые картинки, для того что бы "доложить" начальству и показать "работу" ай-ти отдела. Я проклял все, с появлением этой системы в своем отделе. Ничем не превосходит своих конкурентов.
Ну сам по себе мониторинг без оповещений о проблемах несёт мало пользы, согласен. Хотя иногда и помогает, когда нужно что то в ретроспективе посмотреть. Но если прикрутить оповещения о каких то проблемах с диском, памятью, cpu и т.п., то он очень даже полезен
Клюнул на превью.. Зачем показывать красивую девушку, а потом рассказывать мужским голосом? хDD
Соболезную
Здравствуйте, в чем мб причина закрытия контейнеров grafana и prometheus? при команде docker ps показывается либо только node-exporter либо node-exporter и grafana с prometheus у которых в статусе написано: up less than a second.🥲
Нужно смотреть логи контейнеров упавших.
docker ps -a
Затем docker logs
Если ps -a ничего не показывает, надо смотреть что случилось с помощью команды
docker service ps
Все такие умные или просто я тупой? Судя по комментариям всем всё понятно и всё всё сразу же установили.