1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/inrgihc-greenplum_exporter

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Greenplum-exporter

Основанный на языке Go интегрированный в Greenplum прометеевский (prometheus) инструмент для сбора данных мониторинга.

Проект доступен по адресам:

1. Компиляция

В системе centos

(1) Установка окружения:

wget https://gomirrors.org/dl/go/go1.14.12.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.14.12.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct

(2) Компиляция программного обеспечения:

git clone https://github.com/tangyibo/greenplum_exporter
cd greenplum_exporter/ && make build
cd bin && ls -l

В среде docker

git clone https://github.com/tangyibo/greenplum_exporter
cd greenplum_exporter/
sh docker-build.sh

2. Запуск сборщика данных

На системе centos:

export GPDB_DATA_SOURCE_URL=postgres://gpadmin:password@10.17.20.11:5432/postgres?sslmode=disable
./greenplum_exporter --web.listen-address="0.0.0.0:9297" --web.telemetry-path="/metrics" --log.level=error

При запуске через docker:

docker run -d -p 9297:9297 -e GPDB_DATA_SOURCE_URL=postgres://gpadmin:password@10.17.20.11:5432/postgres?sslmode=disable inrgihc/greenplum-exporter:latest

Примечание: переменная среды GPDB_DATA_SOURCE_URL указывает на строку подключения к базе данных Greenplum (рекомендуется использовать учётные данные gpadmin для подключения к библиотеке postgres), строка подключения начинается с postgres://, формат следующий:

postgres://[имя пользователя базы данных, обязательно gpadmin]:[пароль пользователя базы данных]@[IP-адрес базы данных]:[порт базы данных]/[имя базы данных, должно быть postgres]?[параметр имя]=[значение параметра]&[параметр имя]=[параметр значение]

Затем посетите URL-адрес показателей мониторинга: http://127.0.0.1:9297/metrics.

Дополнительные параметры запуска:

usage: greenplum_exporter [<flags>]

Flags:
  -h, --help                   Show context-sensitive help (also try --help-long and --help-man).
      --web.listen-address="0.0.0.0:9297"  
                               web endpoint
      --web.telemetry-path="/metrics"  
                               Path under which to expose metrics.
      --disableDefaultMetrics  do not report default metrics(go metrics and process metrics)
      --version                Show application version.
      --log.level="info"       Only log messages with the given severity or above. Valid levels: [debug, info, warn, error, fatal]
      --log.format="logger:stderr"  
                               Set the log target and format. Example: "logger:syslog?appname=bob&local=7" or "logger:stdout?json=true"

3. Поддерживаемые показатели мониторинга

Название показателя Тип Метки группы Единица измерения Описание показателя Метод получения данных
1 greenplum_cluster_state Gauge version; master(имя главного хоста); standby(имя резервного хоста) boolean состояние доступности gp: 1→ доступно;0→ недоступно SELECT count(*) из gp_dist_random('gp_id'); select version(); SELECT hostname из p_segment_configuration, где content=-1 и role='p';
2 greenplum_cluster_uptime Gauge - int время работы select extract(epoch from now() - pg_postmaster_start_time());
3 greenplum_cluster_sync Gauge - int состояние синхронизации MasterStandby: 1→ нормальное;0→ аномальное SELECT количество (*) из pg_stat_replication, где state='streaming'
4 greenplum_cluster_max_connections Gauge - int максимальное количество подключений show max_connections; show superuser_reserved_connections;
5 greenplum_cluster_total_connections Gauge - int текущее количество подключений выберите количество (*), количество (*) filter (где current_query='') idle, количество (*) filter (где current_query<>'') active, количество (*) filter (где current_query<>'' и не waiting) running, количество (*) filter (где current_queue<>'' и waiting) waiting из pg_stat_activity, где procpid <> pg_backend_pid();
6 greenplum_cluster_idle_connections Gauge - int количество подключенных соединений аналогично
7 greenplum_cluster_active_connections Gauge - int активное количество запросов аналогично
8 greenplum_cluster_running_connections Gauge - int номер выполняемого запроса аналогично
9 greenplum_cluster_waiting_connections Gauge - int номер ожидающего выполнения запроса аналогично
10 greenplum_node_segment_status Gauge имя хоста; адрес; dbid; контент; предпочтительная роль; порт; порт репликации int статус сегмента status: 1(U)→ вверх; 0(D)→ вниз выберите * из gp_segment_configuration;
11 greenplum_node_segment_role роль сегмента

| 12 | greenplum_node_segment_mode | Gauge | hostname; address; dbid; content; preferred_role; port; replication_port | int | режим сегмента: 1(S) → Synced; 2(R) → Resyncing; 3(C) → Change Tracking; 4(N) → Not Syncing | аналогично |

| 13 | greenplum_node_segment_disk_free_mb_size | Gauge | hostname | MB | размер свободного дискового пространства сегмента (MB) | SELECT dfhostname as segment_hostname, sum(dfspace)/count(dfspace)/(1024*1024) as segment_disk_free_gb from gp_toolkit.gp_disk_free GROUP BY dfhostname |

| 14 | greenplum_cluster_total_connections_per_client | Gauge | client | int | общее количество подключений на одного клиента | select usename, count() total, count() filter(where current_query='') idle, count(*) filter(where current_query<>'') active from pg_stat_activity group by 1; |

| 15 | greenplum_cluster_idle_connections_per_client | Gauge | клиент | int | количество неактивных подключений на одного клиента | аналогично |

| 16 | greenplum_cluster_active_connections_per_client | Gauge | клиент | int | количество активных подключений на одного клиента | аналогично |

| 17 | greenplum_cluster_total_online_user_count | Gauge | - | int | число пользователей онлайн | аналогично |

| 18 | greenplum_cluster_total_client_count | Gauge | - | int | общее количество клиентов | аналогично |

| 19 | greenplum_cluster_total_connections_per_user | Gauge | usename | int | общее количество подключений для каждого пользователя | select client_addr, count() total, count() filter(where current_query='') idle, count(*) filter(where current_query<>'') active from pg_stat_activity group by 1; |

| 20 | greenplum_cluster_idle_connections_per_user | Gauge | usename | int | количество неактивных подключений для каждого пользователя | аналогично |

| 21 | greenplum_cluster_active_connections_per_user | Gauge | usename | int | количество активных подключений для каждого пользователя | аналогично |

| 22 | greenplum_cluster_config_last_load_time_seconds | Gauge | - | int | время загрузки конфигурации системы | SELECT pg_conf_load_time() |

| 23 | greenplum_node_database_name_mb_size | Gauge | dbname | MB | объём занимаемого пространства каждой базой данных | SELECT dfhostname as segment_hostname,sum(dfspace)/count(dfspace)/(1024*1024) as segment_disk_free_gb from gp_toolkit.gp_disk_free GROUP BY dfhostname |

| 24 | greenplum_node_database_table_total_count | Gauge | dbname | - | общее количество таблиц в каждой базе данных | SELECT count(*) as total from information_schema.tables where table_schema not in ('gp_toolkit','information_schema','pg_catalog'); |

| 25 | greenplum_exporter_total_scraped | Counter | -| int | - | - |

| 26 | greenplum_exporter_total_error | Counter | - | int | - | - |

| 27 | greenplum_exporter_scrape_duration_second | Gauge | - | int | - | - |

| 28 | greenplum_server_users_name_list | Gauge | - | int | общее число пользователей | SELECT usename from pg_catalog.pg_user; |

| 29 | greenplum_server_users_total_count | Gauge | - | int | детализация пользователей | аналогично |

| 30 | greenplum_server_locks_table_detail | Gauge | pid;datname;usename;locktype;mode;application_name;state;lock_satus;query | int | информация о блокировках | SELECT * from pg_locks |

| 31 | greenplum_server_database_hit_cache_percent_rate | Gauge | - | float | процент попаданий в кэш | select sum(blks_hit)/(sum(blks_read)+sum(blks_hit))*100 from pg_stat_database; |

| 32 | greenplum_server_database_transition_commit_percent_rate | Gauge | - | float | процент транзакционных коммитов | select sum(xact_commit)/(sum(xact_commit)+sum(xact_rollback))*100 from pg_stat_database; |

| 33 | greenplum_server_database_table_bloat_list | Gauge | - | int | список раздутых таблиц | select * from gp_toolkit.gp_bloat_diag; |

| 34 | greenplum_server_database_table_skew_list | Gauge | - | int | список перекошенных таблиц | select * from gp_toolkit.gp_skew_coefficients; |

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Экспортёр для Prometheus для Greenplum (версии v5 и v6). Развернуть Свернуть
Отмена

Обновления (1)

все

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/inrgihc-greenplum_exporter.git
git@api.gitlife.ru:oschina-mirror/inrgihc-greenplum_exporter.git
oschina-mirror
inrgihc-greenplum_exporter
inrgihc-greenplum_exporter
master