合 PG插件之system_stats用于收集操作系统统计信息
Tags: PGPostgreSQL插件system_stats
- 介绍
- 安装
- Windows
- 安全
- 函数
- pg_sys_os_info
- pg_sys_cpu_info
- pg_sys_cpu_usage_info
- pg_sys_memory_info
- pg_sys_io_analysis_info
- pg_sys_disk_info
- pg_sys_load_avg_info
- pg_sys_process_info
- pg_sys_network_info
- pg_sys_cpu_memory_by_process
- 每个函数的详细输出
- pg_sys_os_info
- pg_sys_cpu_info
- pg_sys_cpu_usage_info
- pg_sys_memory_info
- pg_sys_io_analysis_info
- pg_sys_disk_info
- pg_sys_load_avg_info
- pg_sys_process_info
- pg_sys_network_info
- pg_sys_cpu_memory_by_process
- 参考
介绍
https://github.com/EnterpriseDB/system_stats
system_stats 是一个 Postgres 扩展,提供了访问可用于监控的系统级统计信息的功能。它支持 Linux、macOS 和 Windows。
请注意,并非所有值都与所有操作系统相关。在这种情况下,未受影响的值返回 NULL。
安装
该模块可以使用 PGXS 框架构建:
- 将文件存档解压缩到合适的目录中。
- 确保 PATH 环境变量包含包含您希望构建的 PostgreSQL 安装的 pg_config 二进制文件的目录。
- 编译并安装代码。
例如:
1 2 3 4 5 6 7 8 | wget https://github.com/EnterpriseDB/system_stats/archive/refs/tags/v1.0.tar.gz tar -zxvf system_stats-1.0.tar.gz cd system_stats-1.0 source /home/postgres/.bash_profile make USE_PGXS=1 make install USE_PGXS=1 CREATE EXTENSION system_stats; |
Windows
使用 Visual Studio 项目文件构建的模块:
- 解压 $PGSRC/contrib/system_stats 中的扩展文件
- 设置 PG_INCLUDE_DIR 和 PG_LIB_DIR 环境变量以确保可以找到 PostgreSQL 的 include 和 lib 目录进行编译。例如:
1 2 | PG_INCLUDE_DIR=C:\Program Files\PostgreSQL\12\include PG_LIB_DIR=C:\Program Files\PostgreSQL\12\lib |
- 打开 Visual Studio 项目文件“system_stats.vcxproj”并构建项目。
安全
由于这些函数返回的信息的性质,访问权限仅限于超级用户和 monitor_system_stats 角色的成员,该角色将在安装扩展程序时创建。在删除扩展期间不会删除 monitor_system_stats 角色。要允许用户在不授予超级用户访问权限的情况下访问这些功能,请将它们添加到 monitor_system_stats 角色。例如:
1 | GRANT monitor_system_stats to nagios; |
函数
提供以下函数来获取所有平台的系统级统计信息。
pg_sys_os_info
该接口允许用户获取操作系统统计信息。