О не! Къде е JavaScript? Вашият браузър не е включил JavaScript или не го поддържа. Моля включете JavaScript, за да виждате страницата правилно или обновете браузъра си до такъв, който да поддържа JavaScript.
Потребители на линия
Гости на линия 2
Регистрирани на линия 0

Общ брой потребители: 2
Най-нов потребител: ko6rata
Статии

Как да наблюдавате PostgreSQL с Prometheus и Grafana на Ubuntu 22.04

В този урок ще настроите платформите за наблюдение на Prometheus и Grafana, за да наблюдавате сървъра на база данни PostgreSQL. Ще инсталирате и настроите postgres_exporter, за да събира матрици на PostgreSQL сървър и да ги излага на сървъра Prometheus. В края на този урок ще настроите мониторинга на таблото за управление за PostgreSQL сървъра чрез платформата за визуализация на данни Grafana.

За да завършите този урок, ще ви трябват следните изисквания:

Сървър с Prometheus и Grafana инсталирани върху него.
Целеви сървър с инсталиран сървър на база данни PostgreSQL.
Не-root потребител със sudo/root администраторски привилегии.

По-долу са някои ръководства за инсталиране на всеки компонент.

Как да инсталирате Prometheus и Grafana платформа за наблюдение на Ubuntu 22.04 сървър.
Как да инсталирате PostgreSQL Database Server на Ubuntu 22.04 Server.

Сега да започнем, когато всички предпоставки са завършени и на място.
Конфигурация на PostgreSQL сървър

Сървърът PostgreSQL предоставя два различни метода за криптиране на парола: md5 и scram-sha-256. И двете криптирания на пароли могат да бъдат конфигурирани чрез конфигурационния файл на PostgreSQL 'postgresql.conf'.

В тази стъпка ще настроите PostgreSQL да използва криптирането на паролата „ scram-sha-256 “.

Този пример използва PostgreSQL сървър v14, който е инсталиран на Ubuntu система, така че конфигурационните файлове на PostgreSQL се съхраняват в директорията '/etc/postgresql/14/main'.

Преместете се в работната директория в директорията „ /etc/postgresql/14/main “ и отворете конфигурационния файл „postgresql.conf“ чрез командата nano editor.

cd /etc/postgresql/14/main
sudo nano postgresql.conf

Разкоментирайте опцията „ password_encryption “ и променете стойността на „ scram-sha-256 “.

парола_криптиране = скрам-ша-256 # скрам-ша-256 или md5

Запазете файла и излезте от редактора, когато приключите.

криптиране на парола към scram-sha-256

След това отворете конфигурационния файл „ pg_hba.conf “ чрез командата nano editor по-долу. Файлът 'pg_hba.conf ' е конфигурацията, където методите за удостоверяване на парола са дефинирани за хостове или IP адреси.

sudo nano pg_hba.conf

Променете методите за удостоверяване по подразбиране за хоста „ 127.0.0.1/32 “ и „ ::1/128 “ на „ scram-sha-256 “. С това методът за удостоверяване „ scram-sha-25 6“ ще се използва за всяка клиентска връзка към PostgreSQL сървъра „ 127.0.0.1 “.

# "local" е само за Unix домейн сокет връзки
локални всички всички peer
# IPv4 локални връзки:
хост всички всички 127.0.0.1/32 scram-sha-256
# IPv6 локални връзки:
хост всички всички ::1/128 scram-sha- 256

Запазете и излезте от редактора, когато сте готови.

удостоверяване на потребителите

И накрая, стартирайте помощната програма за команди systemctl по-долу, за да рестартирате услугата PostgreSQL и да приложите промените.

sudo systemctl рестартирайте postgresql

След като конфигурирате PostgreSQL сървъра, ще инсталирате „postgres_exporter“, който ви позволява да събирате показатели на PostgreSQL сървъра.
Изтегля се postgres_exporter

„ postgres_exporter “ е прометей експортер за показателите на PostgreSQL сървъра. Той поддържа множество версии на PostgreSQL, като 9.4, 9.5, 9.6, 10, 11, 12, 13 и 14. „postgres_exporter “ е приложение за един двоичен файл, написано е главно на Go.

Ще изтеглите „postgres_exporter“ в тези стъпки на сървъра на PostgreSQL.

За да започнете, изпълнете командата по-долу, за да създадете нов системен потребител 'postgres_exporter' на вашия PostgreSQL сървър.

sudo useradd -M -r -s /sbin/nologin postgres_exporter

След това изтеглете двоичния файл 'postgres_exporter' чрез командата wget по-долу. Не забравяйте да проверите страницата 'postgres_exporter' GitHub, за да получите най-новата версия на ' postgres_exporter' . Към момента на писане на това, най-новата версия на postgres_exporter е v0.12.

wget https://github.com/prometheus-community/postgres_exporter/releases/download/v0.12.0-rc.0/postgres_exporter-0.12.0-rc.0.linux-amd64.tar.gz

След това изпълнете командата tar по-долу, за да извлечете пакета postgres_exporter. След това преместете извлечената директория на postgres_exporter в ' /opt/postgres_exporter '.

tar xvf postgres_exporter*.tar.gz
mv postgres_exporter*/ /opt/postgres_exporter

И накрая, проверете списъка с файлове и директории в директорията "postgres_exporter". Трябва да видите, че двоичният файл „ postgres_exporter“ е наличен.

ls /opt/postgres_exporter

изтеглете postgres_exporter

С изтегления двоичен файл „ postgres_exporter “ ще конфигурирате „postgres_exporter“ за събиране на показатели на сървъра на PostgreSQL.
Конфигуриране на postgres_exporter

В тази стъпка ще конфигурирате 'postgres_exporter' за събиране на показатели на PostgreSQL и това може да стане чрез дефиниране на потребителя и паролата на PostgreSQL. Също така ще настроите и конфигурирате услугата systemd за 'postgres_exporter'.

С „ postgres_exporter “ можете да изложите показатели за всички налични бази данни на PostgreSQL сървъра или можете да изложите конкретни бази данни, които искате да наблюдавате. Можете също да използвате защитен SSL режим или режим без SSL.

Преместете текущата работна директория в „/opt/postgres_exporter“. чрез командата cd по-долу.

cd /opt/postgres_exporter

Сега създайте нов файл '.env ', като използвате командата нано редактор по-долу.

нано .env

Добавете следните редове към файла. Също така не забравяйте да промените подробностите за потребителя, паролата и хоста на PostgreSQL. С този файл „ .env “ ще извличате и събирате показатели на PostgreSQL от всички налични бази данни. Можете също да съберете показатели от конкретна база данни на PostgreSQL и да коригирате следния конфигурационен файл.

# Формат
#DATA_SOURCE_NAME=postgresql://username:password@localhost:5432/postgres?sslmode=disable

# Наблюдение на всички бази данни чрез postgres_exporter
DATA_SOURCE_NAME="postgresql://postgres:strongpostgrespassword@localhost:5432/?sslmode=disable"

# Монитор конкретни бази данни на сървъра PostgreSQL
# DATA_SOURCE_NAME="postgresql://username:password@localhost:5432/database-name?sslmode=disable"

Запазете файла и излезте от редактора, когато приключите.

След това изпълнете командата chown по-долу, за да промените собствеността върху директорията „/opt/postgres_exporter“ на потребителя „postgres_exporter“.

sudo chown -R postgres_exporter: /opt/postgres_exporter

След това изпълнете командата по-долу, за да създадете нов системен служебен файл '/etc/systemd/system/postgres_exporter.service' . С това можете лесно да управлявате „ postgres_exporter “ чрез помощната програма за команди systemctl.

sudo tee /etc/systemd/system/postgres_exporter.service< [Unit]
Description=Prometheus exporter for Postgresql
Wants=network-online.target
After=network-online.target

[Service]
User=postgres_exporter
Group=postgres_exporter
WorkingDirectory=/ opt/postgres_exporter
EnvironmentFile=/opt/postgres_exporter/.env
ExecStart=/opt/postgres_exporter/postgres_exporter --web.listen-address=:9187 --web.telemetry-path=/metrics
Рестартиране=винаги

[Инсталиране]
WantedBy=multi- user.target
EOF

конфигурирайте postgres експортера

Сега изпълнете командата по-долу systemctl, за да презаредите мениджъра на systemd и да приложите промените.

sudo systemctl демон-презареждане

След като мениджърът на systemd се презареди, стартирайте и активирайте услугата 'postgres_exporter' чрез командната програма systemctl по-долу.

sudo systemctl стартира postgres_exporter
sudo systemctl активира postgres_exporter

„postgres_exporter“ трябва да работи и да изтрива показатели от сървъра на PostgreSQL. Освен това трябва да е активиран и ще се стартира автоматично при стартиране.

postgres_exporter системни настройки

И накрая, изпълнете командата по-долу, за да проверите състоянието на услугата "postgres_exporter" . Също така се уверете, че 'postgres_exporter ' работи и е активиран.

sudo systemctl status postgres_exporter

Ще получите изход, подобен на този - услугата " postgres_exporter " работи и е активирана.

състояние на postgres_exporter

В този момент „postgres_exporter“ работи на TCP порта по подразбиране „ 9187 “ на сървъра на PostgreSQL. Това излага показателите на PostgreSQL на сървъра на Prometheus, но преди това ще трябва да настроите защитната стена на сървъра на PostgreSQL.
Настройка на защитната стена

В тази стъпка ще настроите защитната стена да отваря порта по подразбиране на ' postgres_exporter' - TCP 9187 . След това ще проверите дали показателите „postgres_exporter“ са достъпни през уеб браузъра.

За системи на Ubuntu, които използват UFW като защитна стена, изпълнете командата ufw по-долу, за да добавите порт 9187 към защитната стена на ufw. След това презаредете защитната стена, за да приложите промените.

sudo ufw позволява
презареждане на 9187/tcp sudo ufw

Вече можете да проверите списъка с портове на UFW чрез командата ufw по-долу.

състояние sudo ufw

Ще получите резултата като следния - портът 9187 на postgres_exporter се добавя към защитната стена.

настройка на защитната стена

За дистрибуции, базирани на RHEL, които използват защитна стена като защитна стена по подразбиране, изпълнете командата по-долу firewall-cmd, за да добавите порт 9187 към защитната стена. След това презаредете защитната стена, за да приложите новите промени.

sudo firewall-cmd --add-port=9187/tcp --permanent
sudo firewall-cmd --reload

След това изпълнете командата по-долу, за да проверите дали портът 9187 на postgres_exporter е добавен.

sudo firewall-cmd --list-ports

Сега трябва да видите, че порт 9187 е добавен към защитната стена.

И накрая, отворете вашия уеб браузър и посетете IP адреса на вашия PostgreSQL сървър, последван от порта 9187 на „ postgres_exporter “ (т.е.: http://192.168.5.21:9187/metrics).

Трябва да видите подробностите за показателите на PostgreSQL сървъра, събрани от 'postgres_exporter '.

pstgres_exporter показатели

След като защитната стена е конфигурирана и 'postgres_exporter' е достъпен, след това ще добавите 'postgres_exporter' към целта 'scrape_configs' на Prometheus.
Добавяне на postgres_exporter към Prometheus

Върнете се към сървъра на Prometheus, след което отворете конфигурационния файл на Prometheus ' /etc/prometheus/prometheus.yml ', като използвате командата за нано редактор по-долу.

sudo nano /etc/prometheus/prometheus.yml

В секцията „ scrape_configs “ добавете следните редове към файла. В този пример ще настроите ново задание за събиране на показатели на PostgreSQL сървър с името „ postgres_exporter “, а целевият сървър на PostgreSQL е „ 192.168.5.21:9187 “, което е показателите, които се показват от „ postgres_exporter ' услуга.

# PostgreSQL Мониторинг с postgres_exporter
- job_name: 'postgres_exporter'
scrape_interval: 5s
static_configs:
- цели: ['192.168.5.21:9187']

Запазете файла и излезте от редактора, когато приключите.

добавете postgres_exporter към prometheus

Сега изпълнете командата systemctl по-долу, за да рестартирате услугата Prometheus и да приложите промените.

sudo systemctl рестартирайте prometheus

След като създадете нови scrape_configs и рестартирате сървъра на Prometheus, след това ще проверите „ postgres_exporte r“ чрез уеб таблото за управление на Prometheus.

отворете вашия уеб браузър и посетете IP адреса на сървъра на Prometheus, последван от порта по подразбиране 9090 (т.е.: https://192.168.5.100:9090 ).

Влезте в сървъра на Prometheus с вашето потребителско име и парола, когато сте активирали basic_auth.

В таблото за управление на Prometheus щракнете върху иконата „ браузър “, за да получите списъка със заявки за Prometheus. След това въведете „ pg “, за да филтрирате заявки, започващи с „ pg “. След това ще получите резултата като следната екранна снимка.

pg заявки

След това щракнете върху менюто Състояние и изберете Цели и трябва да видите името на заданието „ postgres_exporter“ да работи на сървъра на PostgreSQL с IP адрес „ 192.168.5.21:9187 “.

postgres_exporter прометей

Сега, когато „ postgres_exporter“ е добавен към сървъра на Prometheus и показателят от сървъра PostgreSQL вече е достъпен на Prometheus.

В следващите стъпки ще настроите таблото за управление на Grafana за наблюдение на сървъра PostgreSQL.
Настройка на Dashboard Monitoring чрез Grafana

Отворете вашето име на домейн Grafana или IP адреса на сървъра, след което влезте в таблото за управление на Grafana, като използвате вашето потребителско име и парола.

След като влезете, щракнете върху менюто Табло и изберете Импортиране .

импортиране на табло

Въведете идентификатора на таблото за управление на PostgreSQL 'xxx' и щракнете върху Зареждане. Идентификаторът на таблото за управление на PostgreSQL ' 9628 ' е наличен в хранилището на таблото за управление на Grafana.

импортиране на идентификатор на таблото за управление

След това въведете новото табло за управление и изберете „ Prometheus “ като източник на данни. След това щракнете върху Импортиране, за да приложите.

В този пример ще създадете ново табло за управление с името „ PostgreSQL Monitoring “.

конфигурирайте ново табло за управление

След като таблото за управление на Grafana бъде импортирано, проверете новото табло за управление и трябва да видите мониторинга на таблото за управление на PostgreSQL, както е показано по-долу.

Наблюдение на таблото за управление на PostgreSQL
Заключение

честито! Вече завършихте мониторинга на PostgreSQL Server с Prometheus и Grafana чрез „ postgres_exporter “. Също така сте създали конкретно табло за наблюдение на вашия PostgreSQL Server. С това можете да получите проницателни подробности за това, което се случва във вашия PostgreSQL.

Вече можете да проверите страницата GitHub на общността на Prometheus, за да получите подробности за наличните износители в Prometheus. Това ви позволява да наблюдавате вашите приложения чрез Grafana и Prometheus Monitoring Stack.

smilev October 28 2024 28 прочит 0 коментар 0 оценка Принтиране

0 коментар

Коментирайте

Моля влезте в сайта, за да пишете коментари.
  • Няма публикувани коментари.


Поставянето на оценки е достъпно само за потребителни. Моля Вход или Регистрация, за да гласувате.
Страхотно! (0)0 %
Много добре (0)0 %
Добро (0)0 %
Средно (0)0 %
Слабо (0)0 %
Вход
Не сте потребител? Натиснете тук, за да се регистрирате.
Забравена парола?
Чат
Трябва да влезнете, за да публикувате съобщения.
Няма публикувани съобщения.