Skip to content

Latest commit

 

History

History
118 lines (96 loc) · 7.4 KB

README.ru.md

File metadata and controls

118 lines (96 loc) · 7.4 KB

pgSCV - Сборщик метрик экосистемы PostgreSQL

In English / По-английски

pgSCV

IMPORTANT NOTES Данный проект является продолжением развития оригинального pgSCV авторства Alexey Lesovsky

Основные возможности

  • Поддерживаемые сервисы: поддержка сбора показателей работы PostgreSQL, Pgbouncer и Patroni;
  • Метрики ОС: поддержка сбора показателей работы операционной системы;
  • TLS и аутентификация: Эндпойнт /metrics может быть защищен с помощью базовой аутентификации и TLS;
  • Сбор показателей из нескольких сервисов: pgSCV может собирать метрики из многих экземпляров баз данных, включая базы данных расположенные в облачных средах (Amazon AWS, Yandex.Cloud, VK.Cloud);
  • Настраиваемые пользовательские метрики: pgSCV можно настроить на сбор кастомных пользовательских метрик;
  • Управление коллекторами: При необходимости коллекторы можно отключить;
  • Коллекторные фильтры: Коллекторы можно настроить так, чтобы они пропускали сбор метрик на основе значений меток, например блочные устройства, сетевые интерфейсы, файловые системы, пользователи, базы данных и т.д.;

Системные требования:

  • Может работать только в ОС Linux;
  • Может подключаться к удаленным сервисам, работающим на другой ОС/PaaS;
  • Необходимы данные для подключения к сервисам/базам, такие как адрес, логин и пароль;
  • Пользователь базы данных должен иметь права на выполнение статистических функций и чтение представлений. Для получения более подробной информации смотрите соображения безопасности.

Быстрый старт

Загрузите архив со страницы releases. Распакуйте архив. Создайте минимальный файл конфигураации. Запустите pgSCV под пользователем postgres.

curl -s -L https://github.com/cherts/pgscv/releases/download/v0.9.4/pgscv_0.9.4_linux_amd64.tar.gz -o - | tar xzf - -C /tmp && \
mv /tmp/pgscv.yaml /etc && \
mv /tmp/pgscv.service /etc/systemd/system &&  \
mv /tmp/pgscv.default /etc/default/pgscv && \
mv /tmp/pgscv /usr/sbin && \
chown postgres:postgres /etc/pgscv.yaml && \
chmod 640 /etc/pgscv.yaml && \
systemctl daemon-reload && \
systemctl enable pgscv --now

или используя Docker, используйте DATABASE_DSN для настройки соединения с PostgreSQL:

docker pull cherts/pgscv:latest
docker run -ti -d --name pgscv \
   -e PGSCV_LISTEN_ADDRESS=0.0.0.0:9890 \
   -e PGSCV_DISABLE_COLLECTORS="system" \
   -e DATABASE_DSN="postgresql://postgres:password@dbhost:5432/postgres" \
   -p 9890:9890 \
   --restart=always \
   cherts/pgscv:latest

или используя Docker, сохраните файл конфигурации deploy/pgscv.yaml на локальный сервер в каталог /etc/pgscv:

docker pull cherts/pgscv:latest
docker run -ti -d --name pgscv \
   -v /etc/pgscv:/etc/app \
   -p 9890:9890 \
   --restart=always \
   cherts/pgscv:latest \
   --config-file=/etc/app/pgscv.yaml

или используя Docker-compose, отредактируйте файл docker-compose.yaml для настройки соединения с PostgreSQL:

mkdir ~/pgscv
curl -s -L https://raw.githubusercontent.com/CHERTS/pgscv/master/deploy/docker-compose.yaml -o ~/pgscv/docker-compose.yaml && cd ~/pgscv
docker-compose up -d

После запуска pgSCV он готов принимать HTTP-запросы по адресу http://127.0.0.1:9890/metrics

или используя развертывание приложения в k8s

curl -s -L https://raw.githubusercontent.com/CHERTS/pgscv/master/deploy/deployment.yaml -o ~/deployment.yaml
kubectl apply -f ~/deployment.yaml

или используя helm chart для k8s

git clone https://github.com/CHERTS/pgscv.git && cd pgscv
kubectl create ns pgscv-ns
helm install -n pgscv-ns pgscv deploy/helm-chart/

Полная настройка

Полная настройка описана в руководстве.

Документация

Дополнительную документацию смотрите в wiki.

Дашборды для Grafana

Дашборды можно взять из директории deploy/grafana или воспользоваться репозиторием Grafana Lab:

Поддержка и обратная связь

Если вам нужна помощь в использовании pgSCV Вы можете написать мне на email или в Telegram @cherts или открыть issues.

Развитие и вклад

Для содействия развитию проекта Вы можете:

  • написать мне на email или в Telegram @cherts или создать issue
  • запросить новую функциональность;
  • поставить звезду проекту на Github;

Текущий разработчик и сопровождающий

Автор оригинальной версии

Лицензия

BSD-3. Смотри файл LICENSE для получения большей информации.