普罗米修斯PGBouncer出口商

prometheus-pgbouncer-exporter的Python项目详细描述


#普罗米修斯PGBouncer出口商



手动安装并运行"prometheus pgbouncer exporter"python包
2。使用[Docker Hub上可用的Docker映像](TOdo)(参见Docker Hub上的说明)



\通过配置文件持续时间,可以使用"--config"参数指定:

`pgbouncer exporter--config./config.yml`

可用参数:

````
--配置文件的配置路径
--日志级别日志级别最低日志级别。接受的值为:debug、info、
warning、error、critical
--日志文件的日志文件路径或登录控制台的"stdout"。使用-hup发出信号以重新打开日志文件描述符
```



使用"include_databases"和"exclude_databases"导出度量的lter数据库



\r为什么支持多个pgbouncer实例?

pgbouncer是一个单线程应用程序,因此只能在高负载下饱和单个cpu核心。在高负载环境中,通常为每台计算机运行多个pgbouncer进程(每个cpu核一个),并在这些进程之间进行负载平衡。理想情况下,我们希望每台计算机运行一个导出器实例,能够监视在计算机本身上运行的1+pgbouncer。



tion
——可能是事务或查询,具体取决于池模式。(labels:`database`)
`pgbouncer_stats_u querys_total` counter_gt;=1.8 pgbouncer池中的SQL查询总数(labels:`database`)
`pgbouncer_stats_u querys_duration counter_all等待服务器返回查询响应所用的微秒总数。包括等待可用连接所花费的时间。(标签:`database`)
`pgbouncer_stats_waiting_duration_microseconds` counter_ugt;=1.8等待可用连接所用的微秒总数。(标签:`database`)
`pgbouncer_stats_u received_bytes_u total`;counter_u all_u all_;pgbouncer接收的网络流量的字节总数(标签:`database`)
pgbouncer stats_u sent_bytes_counter_u all pgbouncer发送的网络流量的字节总数(标签:`database`)
"pgbouncer_stats_transactions total` counter gt;=1.8 pgbouncer池中的SQL事务总数(标签:`database`)
"pgbouncer_stats_transactions duration counter gt;=1.8事务中花费的微秒总数。包括等待可用连接所花费的时间。(标签:`database`)
`pgbouncer_u pools_u client_u active_u connections` gauge_u all_u与服务器连接相连并可以处理查询的客户端连接(标签:`database`,`user`)
`pgbouncer_u pools_u client_u waiting_u connections` gauge_u all_eNT连接已发送查询,但尚未获得服务器连接(标签:`database`,`user`)
`pgbouncer_u pools_server_u active_u connections_gauge_u all_u连接到客户端的服务器连接(标签:`database`,`user`)
`pgbouncer_u pools_server_u idle_u connections_gauge_u all_server未使用且可立即用于客户端查询的连接(标签:`database`,`user`)
`pgbouncer`u pools`u server`u used`u connections``gauge`u所有空闲时间超过server`check`u延迟的服务器连接,因此需要在其上运行server`check`u查询才能使用(标签:`database`,`user`)|
pgbouncer_pools_server_testing_connections` gauge u all当前正在运行server_reset_query或server_check_query的服务器连接(标签:`database`,`user`)
pgbouncer_pools_server_u login_connections` gauge u all正在登录的服务器连接(标签:`database`,`user`)
`pgbouncer_pools_u client_u maxwait_seconds_gauge_u all_u队列中的第一个(最旧的)客户端等待了多长时间,以秒为单位(标签:`database`,`user`)
pgbouncer u databases_u database_u pool_u size_gauge_u all_u配置的池大小限制(标签:`database`,`backend_u database`)
"pgbouncer_database u reserve_pool size` gauge u all配置的保留限制(标签:` database`,` backend _database`)
"pgbouncer_database u current gauge u all每个数据库连接的总数计数(标签:` database`,` backend _database`)


配置文件



要监视的pgbouncer实例列表
pgbouncers:
-
pgbouncer连接字符串。支持环境变量替换
即,$(pgbouncer_pass)替换为"pgbouncer_pass"环境的内容
变量(如果存在)或不存在时保持不动
dsn:postgresql://pgbouncer:$(pgbouncer_pass)@localhost:6431/pgbouncer

;pgbouncer连接超时(以秒为单位)(defaults到5秒)
连接超时:5

如果省略或为空,则将报告所有数据库

包括数据库:

要从度量报告中排除的数据库。如果省略或为空,则将报告与"包含数据库"匹配的所有
数据库。
排除数据库:
-pgbouncer

如果您配置了多个pgbouncer,则需要
,以便导出一组唯一的度量。
附加标签:
池id:1

-dsn:postgresql://pgbouncer:$(pgbouncer_pass)@localhost:6432/pgbouncer
排除数据库:
-pgbouncer
附加标签:
池id:2
```




###环境变量替换

配置文件支持环境变量替换。如果在任何设置值中使用语法`$(name),它将被` name'环境变量的内容替换,如果` name'环境变量不存在,它将保持不变。



/>
然后在容器内:

````
觕运行测试
python-m unittest

觕运行导出程序
python-m prometheusr_exporter.cli--config./config.yml

更新"setup.py"中的版本
2。更新"changelog.md"
3。[在github上发布新版本](https://github.com/spreaker/prometheus pgbouncer exporter/releases)
4.运行'python3 setup.py sdist upload-r pypi`

**release docker image**:

>1。在"dockerfile"中更新包版本
2。构建映像
```
docker rmi-f prometheus pgbouncer exporter&;\
docker build-t prometheus pgbouncer exporter.
``



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何修复尝试将用户签名到服务器主机时出现的“字符串无法转换为json对象”错误?   控制台Java:不使用新行更新命令行中的文本   java servlet接收xml数据时,出现错误   使用REST API在Bitbucket中复制或复制存储库   java如何在JavaFX中对齐一行?   java如何在活动中显示通过服务获得的数据?   返回BigDecimal作为字符串:返回int   java组织。openqa。硒。InvalidSelectorException:尝试查找元素时选择器无效   java仅在阻塞状态下通知和通知所有影响线程   java JBOSS无法启动部署   java方法的返回值能保证类型安全吗?   JavaeShadoop序列化组织。阿帕奇。hadoop。木卫一。短写失败   java如果我在同一个类上同步了两个方法,它们能同时运行吗?   不使用java数据库的spring分页实现   java如何将字符串切碎成这样的数组?