Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ FreeBSD and Nix ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

SQL\T-SQL

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


Prometheus часть 3 Автоматическое обнаружение целей мониторинга Auto Discovery


Prometheus часть 3 Автоматическое обнаружение целей мониторинга Auto Discovery

Продолжение к статье:

http://snakeproject.ru/rubric/article.php?art=prometheus_2_02072024

Основные встроенные механизмы обнаружения целей prometheus:

  • docker_sd_config - получение целей мониторинга из docker engine
  • dockerswarm_sd_config - получение целей мониторинга из docker swarm
  • kubernetes_sd_config - получение информации о целях из kubernetes
  • dns_sd_config - получение информации о целях из dns
  • ec2_sd_config - получение информации о целях из amazon
  • azure_sd_config - получение целей мониторинга из azure
  • gce_sd_config - получение информации о целях из google cloud
  • file_sd_config - получение информации о целях из внешнего файла
     

Подробнее смотри тут:
https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config

Механизмы выше забирают информацию периодически, перезапускать prometheus не нужно


Пример автоматического поиска целей через файл

prometheus.yml:
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']

  - job_name: 'file'
    file_sd_configs:
    - files:
      - '/opt/targets/*.json'
      refresh_interval: 10s

prometheus будет перечитывать файлы .json раз в 10 секун в директории /opt/targets

Рестарт для перечитывания конфига:
root@serv:/opt/prometheus# systemctl restart prometheus

/opt/targets/test.json:
[
    {
        "targets": [
            "1.0.0.1:9100",
            "1.0.0.2:9100"
        ],
        "labels": {
            "env": "prod"
        }
    }
]

Выше мы описали цели мониторинга с тегом env = prod

Проверяем доступность:
root@serv:/opt/prometheus# ./promtool query instant http://localhost:9090/ up


Пример автоматического поиска целей через dns

Prometheus поддерживает типы записей - A, AAA, SRV

С типами A и AAA все просто, добавили домен - prometheus обнаружит эти записи автоматически
Пример добавления в prometheus.yml (т.к. необходимо указать порт приложения, пример - 8080):
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']

  - job_name: 'dns'
    dns_sd_configs:
    - names:
      - internal.domain.test
      type: A
      port: 8080
      refresh_interval: 10s

Рестарт для перечитывания конфига:
root@serv:/opt/prometheus# systemctl restart prometheus

Проверяем:
root@serv:/opt/prometheus# ./promtool query instant http://localhost:9090/ up

С SRV запись позволяет указывать порт сервиса, приоритет, вес, имя хоста для обращения
Например, добавьте информацию api приложения в dns:
_api._tcp.internal.domain.test 300 IN 10 50 8080 serv1.internal.domain.test
_api._tcp.internal.domain.test 300 IN 20 30 8080 serv2.internal.domain.test

Выше:
_api - имя приложения
_tcp - протокол подключения приложения
internal.domain.test - доменное имя
10 и 20 - приоритет сервера
50 и 30 - вес сервера
8080 - порт доступа приложения
serv(1,2).internal.domain.test - адрес хоста подключения для доступа к сервису

Пример добавления в prometheus.yml:
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']

  - job_name: 'dns'
    dns_sd_configs:
    - names:
      - _api._tcp.internal.domain.test
      type: SRV
      refresh_interval: 10s

Рестарт для перечитывания конфига:
root@serv:/opt/prometheus# systemctl restart prometheus

Проверяем:
root@serv:/opt/prometheus# ./promtool query instant http://localhost:9090/ up

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.
Весь материал на сайте носит ознакомительный характер,
за его использование другими людьми, автор ответственности не несет.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект