暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Postgres Enterprise Manager 企业管理服务器

新智锦绣 2024-08-01
79

点击蓝字关注我们


EDB Postgres Enterprise Manager (PEM)是EDB推出的针对PostgreSQL和EPAS的全面监控和管理解决方案。它基于流行的pgAdmin 4工具构建,提供pgAdmin的所有管理功能,以及针对关键任务和/或大型Postgres资产的全天候监控、警报和整体管理工具。

PEM 是一个综合的数据库设计和管理系统。PEM 旨在满足新手和经验丰富的Postgres用户的需求,提供强大的图形界面,简化数据库对象的创建、维护和使用。

在 PEM 术语中,托管服务器是指 PEM 通过 PEM Agent监控和管理的数据库服务器。非托管服务器是指PEM的用户界面可以用于连接和管理的服务器,但不是通过PEM Agent注册到PEM的服务器。


一、 PEM Server 服务器


PEM 服务器是一系列组件的集合,这些组件协同工作以托管 PEM 安装:

  • 带有SSL Utils扩展的PostgreSQL或EPAS数据库服务器;

  • 一个 PEM Agent实例;

  • Apache HTTPD Web服务器;

从技术上讲,这三个组件可以托管在不同的服务器上,但典型的安装方式是这三个组件运行在同一台服务器上,或者 PEM 代理和 Apache HTTPD 服务器在一台主机上,数据库在另一台主机上。


1.1 PEM 数据库服务器

PEM数据库服务器用于存储所有监控数据、大部分系统配置以及用于执行探测和其他任务的调度信息。它是 PEM 的中心枢纽。

代理使用数据库服务器中定义的角色连接PEM。终端用户也是如此,他们也是数据库中的角色。这样允许使用Postgres支持的大多数身份验证机制来验证终端用户,还允许使用Postgres的行级安全功能自动保护来自不同数据库服务器的监控数据。基于角色的访问控制(RBAC)也与Postgres角色系统结合在一起;在允许用户执行特定操作或使用特定工具之前,PEM 会检查用户是否属于适当的角色。

数据存储在PEM服务器数据库的多个不同schemas中。

  • pem schema:用于存储系统配置数据,如代理和数据库服务器注册、探针和警报定义与配置以及系统参数。

  • pemdata schema:用于存储系统中每个探针最近收集到的度量数据,数据库信息存储在每个探针的一个表中。这些数据会自动复制到pemhistory schema中,该schema包含每个探针的相似表格。在pemdata schema中保存一份最近记录的度量值副本,当只需要最近的值来绘制图表或图形时,可以更快地访问数据。某些探针还可以配置为只存储最新数据,而不存储历史数据。

  • pemhistory schema:存储历史监控数据。


1.2 PEM 的 Agent 代理

作为 PEM 服务器一部分的 PEM 代理执行与任何托管主机上相同的所有功能(即运行探测和执行任务),为 PEM 提供自我监控。此外,它通常还执行许多其他附加功能,这些功能在代理的配置文件中自动启用:

  • 警报处理:检查收集的指标数据,看看它是否符合任何定义的警报条件,如果符合,则采取适当的措施;

  • 假脱机程序spooler:管理通知队列,通常是警报条件的队列。这些可能是 SMTP 电子邮件、SNMP 陷阱或 Nagios 被动服务检查;

  • 垃圾收集:清理并删除 PEM 数据库中不再需要的旧数据;

作为 PEM 服务器一部分运行的 PEM 代理的 ID 始终为 1。


1.3 PEM 的 Apache HTTPD 服务器

Apache HTTPD服务器(用于托管 PEM 的用户界面和类REST的API或 Web 应用程序)。两者都是使用Flask框架编写的Python应用程序中实现的,该框架使用mod_wsgi托管在Apache中。Web应用程序使用不同的方法与其他服务器和进程进行通信:

  • psycopg2 驱动程序利用 PostgreSQL wire协议与 PEM 数据库服务器和托管数据库服务器进行通信;

  • 类REST的API用于与EDB Ark进行通信;

用户界面以HTML5和Javascript实现,并由Web应用程序提供给客户端浏览器。Ajax 请求是利用Python中实现的类REST的API从用户界面发送到后端服务器。


1.4 SQL Profiler 插件

SQL Profiler 插件是 PEM 的一个可选组件,可以安装在向 PEM 服务器注册的任何托管或非托管数据库服务器上。PEM 中的 SQL Profiler 工具使用该插件来监视和记录数据库服务器执行的每个操作以进行分析。

SQL Profiler 插件的设计目的是在被监控的数据库服务器上产生尽可能少的开销,以最大限度地减少监控本身扭曲收集结果的机会。它通过将数据写入受监控服务器数据目录中的文件来实现这一点,每个服务器后端利用一个文件来消除文件锁定的需要。数据以 CSV 格式写入,以尽量减少在分析服务器时进行的任何处理。


二、PEM Agent 代理


PEM Agent通常安装在每台被托管数据库服务器的主机上。它用于收集数据库服务器及其底层主机的监控指标,并在需要时执行任务(例如,更新数据库服务器配置并重新启动)。收集指标的探针以及代理可能在主机或数据库服务器上执行的所有其他任务都是按计划进行的;从本质上讲,PEM 代理是计划作业的执行引擎。

在理想情况下,每台运行数据库服务器的主机(物理或虚拟主机)上都会运行一个代理,但代理也可以远程监控数据库服务器,只是在这种情况下是无法监控底层主机或无法执行需要访问底层主机操作系统的任务。

代理通过连接Postgres数据库组件与 PEM 服务器通信,端口通常为 5432 或 5444。首次安装代理时,会使用一个合适的用户账户连接 PEM 服务器,以执行注册流程。在 PEM 服务器的数据库中为代理创建一个角色,同时创建一个用于身份验证的证书。启动代理服务时,它将使用该角色和证书进行身份验证。代理会连接到 PEM 服务器,因此可以在 NAT 防火墙内部的主机上运行。


三、 PEM 架构图


下图架构图展示了 PEM 服务器、客户端以及托管和非托管 Postgres 服务器之间的关系。

PEM架构图


PEM Server组件图


PEM 服务器由 Postgres 实例、向客户端提供 Web 服务的 Apache Web 服务器实例和 PEM 代理组成。PEM 使用服务器端加密插件来生成身份验证证书。

Postgres(数据库服务器)实例和 Apache Web 服务器 (HTTPD) 实例可以位于同一主机上,也可以位于不同的主机上。

新版的PEM同时还可以监控和管理EDB Postgres Distributed(PGD)。



四、 PEM 可管理的 PG 兼容列表


支持PEM 9.x 的 Postgres 版本:



受监控实例

后端实例

EDB Postgres Advanced Server (EPAS)

12,13,14,15, 16

12,13,14,15,16

PostgreSQL (PG)

12,13,14,15,16

12,13,14,15,16

EDB Postgres Extended Server (PGE)

12, 13, 14, 15, 16

13,14,15,161

sslutils不适用于IBM Power上的RHEL 7,因此此发行版不能使用PGE作为后端。


五、PEM 支持平台


Linux x86-64 (amd64)

Red Hat Enterprise Linux (RHEL) and derivatives

    • RHEL 9, RHEL 8

    • Oracle Linux (OL) 9, Oracle Linux (OL) 8

    • Rocky Linux 9, Rocky Linux 8

    • AlmaLinux 9, AlmaLinux 8

SUSE Linux Enterprise (SLES)

    • SLES 15, SLES 12

Debian and derivatives

    • Ubuntu 22.04, Ubuntu 20.04

    • Debian 12, Debian 11

Linux IBM Power (ppc64le)

Red Hat Enterprise Linux (RHEL) and derivatives

    • RHEL 9, RHEL 8

SUSE Linux Enterprise (SLES)

    • SLES 15, SLES 12

Linux AArch64 (ARM64)

Debian and derivatives

    • Debian 12

Windows

    • Windows Server 2019


六、PEM 主要功能和优势


6.1 功能

1. 集中管理:

  • PEM提供了一个集中的平台,可以从单一界面管理多个PostgreSQL数据库。包括监控、性能调优和管理任务。

2. 监控与警报:

  • 实时监控数据库性能指标,如CPU使用率、内存使用率、查询性能等。

  • 可定制的告警机制,以便管理员及时通知潜在问题或性能异常。

3. 性能调优:

  • 工具用于分析查询性能,识别瓶颈,并优化数据库性能。

  • 查询调优顾问可以根据性能分析建议改进措施。

4. 备份与恢复:

  • 集成工具用于管理数据库备份和执行时间点恢复。

  • 自动备份调度和备份完整性验证。

5. 安全管理:

  • 基于角色的访问控制(RBAC)用于管理用户权限和数据库访问。

  • 审计日志和监控,以符合安全政策的合规性。

6. 自动化与脚本:

  • 支持使用SQL或过程化语言自动化常规任务和脚本编写。

  • 任务调度和维护操作自动化。

7. 图形界面与报告:

  • 直观的图形用户界面(GUI),便于快速访问数据库管理任务。

  • 可定制的报告和仪表板,用于可视化数据库性能和状态。


6.2 优势

  • 提高效率: 简化数据库管理任务,减少了管理和监控所需的时间和精力。

  • 增强性能: 提供性能调优和优化工具,帮助保持高数据库性能和响应能力。

  • 可扩展性: 支持管理多PostgreSQL/EPAS实例,同时支持PGD、EFM等管理和监控,适用于不断增长的环境。

  • 安全性: 借助RBAC和审计日志等功能确保强大的安全管理,增强数据保护和合规性。

  • 成本节约: 集中管理和自动化减少了与数据库管理相关的运营成本。


6.3 PEM 与 pgAdmin 主要功能对比


pgAdmin

Postgres Enterprise Manager

服务器连接管理器

P

P

集群对象管理

P

P

数据库对象管理

P

P

日志管理器

-

P

表编辑器

P

P

还原点

P

P

密码管理

P

P

授权向导

P

P

数据导出/导入

P

P

维护操作

P

P

存储管理器

P

P

备份和恢复

P

P

核使用情况报告

-

P

PL/pgSQL 和 EDB-SPL 调试器

P

P

查询编辑器

P

P

查询历史记录

P

P

数据查看器和编辑器

P

P

几何数据查看器

P

P

JSON数据编辑器

P

P

Schema 差异

P

P

实体关系图 (ERD)

P

P

psql 命令行界面

P

P

pgAgent

P

-

PEM agent

-

P

系统任务调度

P

P

用户定义的任务调度

P

P

警报停电计划

-

P

Probes探针

-

P

Dashboards

-

P

Alerting

-

P

电子邮件组

-

P

SNMP traps

-

P

Remote

-

P

服务器性能专家

-

P

日志分析专家

-

P

调优向导

-

P

容量管理报告

-

P

性能诊断仪表板

-

P

SQL profiler

-

P

Index advisor

-

P

EDB 备份和恢复工具 (BART) 管理和监控

-

P

EDB 故障转移管理器 (EFM) 管理和监控

-

P

推送到 Nagios 的警报

-

P

EDB PGD多主机复制监控

-

P

Slony 复制监控

-

P

xDB 复制集群监控

-

P

第三方 REST API

-

P

第三方 Webhooks

-

P

日志记录管理器

-

P

Kerberos 身份验证 (GSSAPI)

P

P

适用于Kerberos的Active Directory 域服务 (SSPI)

P

P

双因素身份验证 (2FA)

P

P

服务器安全专家

-

P

自愿性产品可访问性模板 (VPAT)

-

P

高可用性设置

-

P

服务器配置专家

-

P

系统配置报告

-

P




发现“分享”“赞”了吗,戳我看看吧


文章转载自新智锦绣,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论