VK Cloud logo

Arenadata DB үшін мониторинг сервисін орнату және баптау

Arenadata DB үшін мониторинг — VK Cloud инфрақұрылымындағы Arenadata дерекқорларын мониторингтеуге арналған дайын шешім. Ол метрикаларды жинауға, визуализациялауға және мәселелер туралы уақтылы хабарлауға арналған алдын ала орнатылған құралдар жиынтығын қамтиды.

Осы нұсқаулықтағы барлық қадамдарды орындағаннан кейін, сіз:

  1. VK Cloud жеке кабинетінде Arenadata DB үшін мониторинг сервисін қосасыз.

    Қосылған кезде виртуалды машина автоматты түрде жасалып, оған мыналар орнатылады:

    • Grafana — мониторинг деректерін визуализациялау және талдау сервисі;
    • Prometheus — мониторинг және хабарландырулар сервисі;
    • ADB Exporter — Arenadata DB жүйесінен метрикаларды жинау сервисі;
    • Alertmanager — Prometheus-тен келетін хабарландыруларды өңдеу құралы.
  2. Arenadata дерекқорын Arenadata DB үшін мониторинг сервисімен жұмыс істеуге дайындайсыз.

  3. ADB Exporter сервисін баптайсыз.

  4. Node Exporter агентін орнатып, баптайсыз — операциялық жүйе күйінің метрикаларын жинау агенті.

  5. cAdvisor агентін орнатып, баптайсыз — Docker контейнерлерінің метрикаларын жинау агенті.

  6. Grafana сервисіне қосылып, Prometheus-тен келіп түсетін деректері бар дашбордтарды қарайсыз.

Дайындық қадамдары

  1. Arenadata DB үшін мониторинг сервисінен хабарландырулар жіберілетін Telegram-чатын жасаңыз, чат идентификаторын сақтаңыз.

  2. Хабарландырулар жіберу үшін пайдаланылатын Telegram-ботты жасаңыз, бот токенін сақтаңыз.

  3. Тіркеліңіз VK Cloud-та, егер мұны бұрын жасамаған болсаңыз.

  4. Жасаңыз Arenadata DB инстансын. Инстансты жасау кезінде көрсетілген деректерді сақтаңыз:

    • Arenadata DB кластерінің атауы. Бұл сонымен қатар инстанс атауы болып табылады.
    • Arenadata дерекқорының атауы.
    • Arenadata дерекқоры пайдаланушысының аты мен құпиясөзі.

    Бұл деректер Arenadata DB үшін мониторинг сервисін қосу және баптау кезінде қажет болады.

  5. Аналитикалық ДБАДБ инстанстары бөліміне өтіңіз.

  6. Қажетті инстанстың атауын басыңыз.

  7. Ақпарат қойындысындағы Connecting settings жолынан деректерді тауып, сақтаңыз:

    • Arenadata DB түйінінің IP мекенжайы — psql-командасындағы -h аргументінің мәні.
    • Arenadata DB жүйесіне қосылу порты — psql-командасындағы -p аргументінің мәні.

    Бұл деректер Arenadata DB үшін мониторинг сервисін қосу және баптау кезінде қажет болады.

1. Arenadata DB үшін мониторинг сервисін қосыңыз

  1. VK Cloud жеке кабинетіне өтіңіз.

  2. Егер ол бұрын жасалмаған болса, интернетке қолжетімділігі бар желі жасаңыз.

  3. Arenadata DB үшін мониторинг сервисінің ВМ-і орналастырылатын ішкі желі баптауларында Приватный DNS опциясын өшіріңіз.

  4. Қолданбалар дүкені бөліміне өтіп, бөлім бетінде Все решения батырмасын басыңыз.

  5. Arenadata DB үшін мониторинг сервисінің карточкасында Подробнее батырмасын басыңыз.

  6. Сервис сипаттамасы бар бетте Подключить батырмасын басыңыз.

  7. Параметры сервера бетінде деректерді енгізіңіз.

    1. Сервис инстансы орналастырылатын виртуалды машинаның параметрлерін көрсетіңіз:

      • Қолжетімділік аймағы: ВМ іске қосылатын деректер орталығын таңдаңыз.
      • Виртуалды машина түрі: алдын ала орнатылған ВМ конфигурациясын таңдаңыз.
      • Желі: интернетке қолжетімділігі бар және Приватный DNS опциясы өшірілген ішкі желісі бар желіні таңдаңыз.
    2. Жүйелік диск пен деректер дискісінің параметрлерін көрсетіңіз:

      • Диск өлшемі: ВМ дискісінің қажетті өлшемін гигабайтпен көрсетіңіз.
      • Диск түрі: диск түрлерінің бірін таңдаңыз — HDD, SSD немесе High-IOPS SSD.
  8. Следующий шаг батырмасын басыңыз.

  9. Параметры мониторинга бетінде деректерді енгізіңіз.

    1. Arenadata дерекқорына қосылу үшін бұрын сақталған деректерді көрсетіңіз:

      • мониторинг жүргізілетін Arenadata DB кластерінің (инстансының) атауы;
      • Arenadata DB үшін мониторинг сервисі қосылатын Arenadata DB кластері түйінінің IP мекенжайы;
      • Arenadata DB жүйесіне қосылу порты;
      • Arenadata дерекқоры пайдаланушысының логині мен құпиясөзі;
      • Arenadata DB кластеріндегі дерекқор атауы.
    2. Grafana жүйесіне кіруге арналған пайдаланушының логині мен құпиясөзін орнатыңыз. Бұл пайдаланушыда Grafana әкімшісінің құқықтары болады.

    3. Хабарландыруларға арналған Telegram-боттың бұрын сақталған параметрлерін көрсетіңіз.

  10. Следующий шаг батырмасын басыңыз.

  11. Тарифтік шарттармен және сервисті орналастыруға арналған инфрақұрылым құнымен танысып, Подключить тариф батырмасын басыңыз.

    Сәтті орналастырылғаннан кейін VK Cloud-та тіркелген электрондық поштаңызға мына хабарламалар келеді:

    • VK Cloud жеке кабинетіндегі сервис инстансына сілтемесі бар хабарлама;
    • бір реттік сілтемесі бар хат.
  12. Хаттағы бір реттік сілтеме бойынша өтіп, сервиске қол жеткізу деректерін сақтаңыз:

    • grafanaUser және grafanaPassword — Grafana әкімшісінің логині мен құпиясөзі;
    • productURL — Grafana веб-интерфейсіне сілтеме;
    • sshUser — Arenadata DB үшін мониторинг сервисі ВМ әкімшісінің аты;
    • sshKey — ВМ-ге SSH арқылы қосылуға арналған жеке кілт.

2. Arenadata DB үшін мониторинг сервисінің ВМ-не қосылыңыз

  1. VK Cloud жеке кабинетіне өтіңіз.

  2. Бұлтты есептеулерВиртуалды машиналар бөліміне өтіңіз.

  3. adb-monitoring- таңбасынан басталатын ВМ атауын басыңыз.

  4. ВМ бетінде сыртқы IP мекенжайын көшіріп, сақтаңыз. Ол Arenadata DB үшін мониторинг сервисінің ВМ-не қосылу үшін қажет болады.

  5. Компьютеріңізде vkc_monitoring.pem файлын жасап, хатта алынған SSH кілтін соған көшіріңіз.

  6. vkc_monitoring.pem файлына тек иесі оқу және жазу құқықтарына ие болатындай етіп рұқсат орнатыңыз. Ол үшін мына команданы орындаңыз:

    chmod 600 vkc_monitoring.pem
  7. Arenadata DB үшін мониторинг сервисінің ВМ-не келесі команданы орындау арқылы қосылыңыз:

    ssh -i <ПУТЬ_К_КЛЮЧУ>/vkc_monitoring.pem <ЛОГИН>@<IP-АДРЕС_ВМ>

    Мұнда:

    • <ПУТЬ_К_КЛЮЧУ>vkc_monitoring.pem файлы бар директорияға жол.
    • <ЛОГИН> — хатта алынған ВМ әкімшісінің аты (sshUser).
    • <IP-АДРЕС_ВМ> — бұрын сақталған Arenadata DB үшін мониторинг сервисі ВМ-нің сыртқы IP мекенжайы.

3. Arenadata DB жүйесін Arenadata DB үшін мониторинг сервисімен жұмыс істеуге дайындаңыз

  1. Arenadata DB үшін мониторинг сервисінің ВМ-інде Arenadata дерекқорына қосылыңыз. Ол үшін бұрын сақталған деректерді қойып, келесі команданы орындаңыз:

    psql -h <IP-АДРЕС_БД> -p <ПОРТ> -U <ЛОГИН> <ИМЯ_БД>

    Мұнда:

    • <IP-АДРЕС_БД> — Arenadata DB кластері түйінінің IP мекенжайы.
    • <ПОРТ> — Arenadata DB жүйесіне қосылу порты.
    • <ЛОГИН> — Arenadata DB пайдаланушысының логині.
    • <ИМЯ_БД> — Arenadata DB кластеріндегі дерекқор атауы.
  2. /home/almalinux/init.sql дерекқорды инициализациялау скриптін өңдеу үшін ашыңыз.

  3. Arenadata дерекқорының vkc_monitoring пайдаланушысы үшін, оның атынан Arenadata DB үшін мониторинг сервисі жұмыс істейтіндей, құпиясөз генерациялаңыз немесе ойлап табыңыз.

  4. Осы құпиясөзді /home/almalinux/init.sql скриптіндегі келесі жолға қойыңыз:

    CREATE USER vkc_monitoring WITH login password `<ПАРОЛЬ>` RESOURCE GROUP monitoring_group CONNECTION LIMIT 5;
  5. Өзгерістерді сақтаңыз.

  6. psql терминалының ішінде дерекқорды инициализациялау скриптін орындаңыз:

    \i /home/almalinux/init.sql
  7. \q командасы арқылы psql терминалынан шығыңыз.

4. ADB Exporter сервисін баптаңыз

ADB Exporter сервисі Arenadata дерекқорларынан метрикаларды Prometheus жүйесіне экспорттауға арналған. Сервис конфигурациялық файлдағы сипаттамалар негізінде метрикаларды қалыптастырады және дерекқорға SQL сұрауларын орындау арқылы олардың мәндерін берілген кесте бойынша автоматты түрде жаңартады.

Arenadata DB үшін мониторинг сервисін орналастыру кезінде ADB Exporter ВМ инстансына автоматты түрде орнатылады және бапталады. ADB Exporter сіздің Arenadata DB жүйеңізден метрикаларды алуы үшін, оның конфигурациялық файлында дерекқорға қол жеткізу параметрлерін көрсетіңіз:

  1. Arenadata DB үшін мониторинг сервисінің ВМ-інде ADB Exporter сервисінің конфигурациялық файлын ашыңыз:

    sudo nano /etc/adb_exporter/config.yml
  2. Бұрын жасалған vkc_monitoring пайдаланушысы арқылы Arenadata дерекқорына қосылу параметрлерін конфигурациялық файлға қосыңыз:

    datasource:   dsn: "postgresql://vkc_monitoring:<ПАРОЛЬ>@<IP-АДРЕС_БД>:<ПОРТ>/<ИМЯ_БД>?sslmode=disable"

    Мұнда:

    • <ПАРОЛЬ>vkc_monitoring пайдаланушысы үшін бұрын орнатылған құпиясөз.
    • <IP-АДРЕС_БД> — Arenadata DB кластері түйінінің IP мекенжайы.
    • <ПОРТ> — Arenadata DB жүйесіне қосылу порты.
    • <ИМЯ_БД> — Arenadata DB кластеріндегі дерекқор атауы.
  3. ADB Exporter сервисін қайта іске қосыңыз:

    sudo systemctl restart adb_exporter
  4. ADB Exporter күйін тексеріңіз:

    sudo systemctl status adb_exporter

    Егер сервис сәтті іске қосылып, жұмыс істеп тұрса, команда жауабында мына жол болады:

    Active: active (running)

5. Node Exporter агентін орнатып, баптаңыз

Node Exporter агенті серверлердің жүйелік метрикаларын, соның ішінде процессорды, жадты, дискілерді, файлдық жүйелерді және желілік интерфейстерді пайдалану көрсеткіштерін жинайды. Бұл агент орнатылмаса, кейбір Grafana дашбордтары мен Prometheus хабарландырулары жұмыс істемейді.

  1. Node Exporter агентін Arenadata DB кластерінің барлық түйіндеріне GitHub-тағы өнім бетінде сипатталғандай орнатыңыз.

  2. Arenadata DB үшін мониторинг сервисінің ВМ-інде Prometheus сервисінің конфигурациялық файлын ашыңыз:

    sudo nano /opt/monitoring_data/prometheus/prometheus.yml
  3. Конфигурациялық файлға метрика көздері туралы ақпаратты қосыңыз: кластер түйіндерінің IP мекенжайлары (targets) және метрика белгілері (labels).

    Prometheus конфигурациясының мысалы:

    - job_name: 'node_exporter'  static_configs:    - targets: ['localhost:9100']      labels:        instance: segment-1        adb_cluster: staging
  4. Prometheus жүйесін қайта іске қосыңыз.

    sudo systemctl restart prometheus
  5. Prometheus күйін тексеріңіз:

    sudo systemctl status prometheus

    Егер сервис сәтті іске қосылып, жұмыс істеп тұрса, команда жауабында мына жол болады:

    Active: active (running)

6. cAdvisor агентін орнатып, баптаңыз

cAdvisor агенті Docker контейнерлерінің жұмыс метрикаларын, соның ішінде процессорды, жадты, дискілік енгізу-шығаруды және желілік трафикті пайдалану көрсеткіштерін жинайды. Бұл агент орнатылмаса, кейбір Grafana дашбордтары мен Prometheus хабарландырулары жұмыс істемейді.

  1. Контейнерленген қолданбалар іске қосылған Arenadata DB кластерінің барлық түйіндеріне cAdvisor агентін орнатыңыз. Орнату процедурасы GitHub-тағы өнім бетінде сипатталған.

  2. Arenadata DB үшін мониторинг сервисінің ВМ-інде Prometheus сервисінің конфигурациялық файлын ашыңыз:

    sudo nano /opt/monitoring_data/prometheus/prometheus.yml
  3. Конфигурациялық файлға метрика көздері туралы ақпаратты қосыңыз: кластер түйіндерінің IP мекенжайлары (targets) және метрика белгілері (labels).

    Prometheus конфигурациясының мысалы:

    - job_name: 'docker_exporter'  metrics_path: /metrics  static_configs:    - targets: ['localhost:8080']      labels:        instance: adcc-node-1
  4. Prometheus жүйесін қайта іске қосыңыз.

    sudo systemctl restart prometheus
  5. Prometheus күйін тексеріңіз:

    sudo systemctl status prometheus

    Егер сервис сәтті іске қосылып, жұмыс істеп тұрса, команда жауабында мына жол болады:

    Active: active (running)

7. Grafana веб-интерфейсіне қосылыңыз

  1. Хаттағы бұрын сақталған productURL сілтемесі бойынша өтіңіз. Grafana веб-интерфейсі ашылады.

  2. Хатта алынған Grafana әкімшісінің логині мен құпиясөзі (grafanaUser және grafanaPassword) арқылы авторизациядан өтіңіз.

  3. Prometheus жинаған метрикалар көрсетілетін дашбордтардың мазмұнын қараңыз.