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

通过 EDB Lasso 来发送诊断信息

新智锦绣 2024-09-29
47

点击蓝字关注我们


对于EDB订阅客户,为了解决问题,大多数时候会要求客户使用EDB Lasso从他们的系统中收集一些诊断信息并将其发送给EDB支持团队。

EDB Lasso 是一个用于 PostgreSQL 数据库管理的自动化工具,运行时会生成丰富的输出信息,包括任务执行结果、日志和性能报告等。这些输出通常以控制台日志或报告的形式呈现,帮助管理员了解数据库集群的状态、任务的执行情况以及潜在的问题。


1.1 Lasso文档


Lasso 文档包含有关如何运行Lasso来诊断PostgreSQL、Barman和PGD系统以及相关工具的重要信息。(https://www.enterprisedb.com/docs/lasso/latest)

本文介绍了 Lasso 文档中的一些要点。要快速查看可选参数,请检查文档中的“用法”页面,或在安装后使用 --help 参数执行 Lasso。

文档中收集的数据页面的详细细分描述了我们在您的系统上执行的所有操作和报告。它详细介绍了 Lasso 从您的系统收集的内容,按上下文分组,并突出显示深度级别和安全影响。


1.2 Lasso的安装


可以通过 EDB 存储库中提供的 DEB 和 RPM 软件包安装 Lasso。

重要提示:您需要有一个至少包含客户 ID 的配置文件。 


1.3 安装所需的软件包和软


如果在没有配置文件的情况下运行 Lasso,会看到以下错误:

    ERROR: no configuration file for Lasso could be found. Please create a configuration file and try again.

    Lasso 的配置文件是强制性的,并且必须至少包含客户 ID。最小配置文件如下所示:

      [customer]
      id=XXXXX

      这里需要将 id 值替换为支持门户中在您的公司页面中找到的信息(在左侧菜单栏中,选择公司信息 > 公司)。在配置文件的 id 字段中输入此页面中的 Company code 值。

      Lasso 将按以下顺序在以下路径中查找配置文件:

      ./edb-lasso.cfg(在 Lasso 运行的同一目录中)

      ./edb-lasso.conf(在 Lasso 运行的同一目录中)

      $HOME/edb-lasso.conf

      /etc/edb-lasso.conf

      会使用最先匹配的配置。

      有关 Lasso 配置文件的更多详细信息,请查看官方文档中的配置页面。


      1.4 Lasso的执行


      安装 Lasso 并创建至少包含公司 ID 的配置文件后,就可以执行该工具。根据要生成的报告类型,需要使用不同的命令行参数执行 Lasso。

      Lasso 有几种不同类型的报告,有关每种报告类型的完整列表和更多详细信息,请参阅文档中的报告类型页面。


      1.5 本地/完整 PostgreSQL 报告 


      当服务器已启动正在运行且有可访问的 PostgreSQL 集群时,此类报告非常有用。除了在系统报告中收集的所有信息之外,它还将从 PostgreSQL 实例收集配置和指标。

      为了收集本地 PostgreSQL 报告,直接运行 Lasso,如下所示:

        lasso

        理想情况下,以postgres 用户执行。上面的命令将尝试建立对等PostgreSQL连接。如果需要,还可以更改一些连接字符串参数,例如端口(通过 Lasso 的 --port 参数)等。

        EnterpriseDB PostgreSQL Advanced 服务器的本地PostgreSQL报告是以 enterprisedb 用户身份运行以下命令来获取的:

          lasso -H /tmp -p 5444 edb

          注意:如果 /tmp 中不存在套接字,您可以使用 SHOW unix_socket_directories 显示的任何套接字以及主机参数 localhost 进行连接, 。

          可以通过运行以下命令找到有关接受参数的更多详细信息:

            lasso --help


            1.6 远程/仅PostgreSQL数据库报告


            如果需要从远程 PostgreSQL 实例收集数据,可以运行远程PostgreSQL报告。按需更改 Lasso 的连接字符串参数。例如,要从位于IP为192.168.0.10,端口 5433上运行的远程服务器收集PostgreSQL报告,可以从另一台服务器调用 Lasso,如下所示:

              lasso -H 192.168.0.10 -p 5433

              这种类型的报告将仅从 Lasso 连接到的 PostgreSQL 数据库带来 PostgreSQL 相关信息。这意味着将无法收集 postgresql.conf 和 pg_hba.conf 等文件,也无法从底层操作系统收集配置和指标或来自 PostgreSQL 相关工具的信息,例如EFM 配置文件。考虑到这一点,如果可能的话,最好运行本地 PostgreSQL 报告。


              1.7 仅收集系统报告


              当在没有PostgreSQL实例的服务器中运行 Lasso 时,或者当 PostgreSQL 实例已关闭而无法访问时。它将收集来自操作系统的配置和指标,以及来自PostgreSQL相关工具的配置和指标,例如 PEM、EFM、xDB、HARP、PGD Proxy、PgBouncer、Repmgr 和 Patroni。

              收集仅系统报告,按如下方式运行 Lasso:

                lasso --system-only

                注意:在仅运行 HARP 代理或 PGD 代理的节点上执行 Lasso 时,必须使用 --system-only 选项,因为此类节点上没有运行数据库实例。这同样适用于运行 PgBouncer 的服务器,但要确保连接的数据库服务器应位于单独的节点上。


                1.8 Barman报告


                需要从 Barman 服务器收集诊断信息时,此类报告非常有用。为了运行barman报告,运行以下命令:

                  lasso

                  以 barman 用户,或使用 --barman 参数调用 Lasso:

                    lasso --barman

                    除了仅在系统报告中收集的内容之外,它还将收集barman相关的诊断信息。


                    1.9 处理自定义安装


                    Lasso 将在EDB工具的默认安装路径中查找配置文件。如果这些配置文件使用自定义路径,Lasso 支持一些命令行选项来处理:

                    • --repmgr-configuration: path to the repmgr.conf file

                    • --efm-configuration: path to the efm.properties file

                    • --barman-configuration: path to the barman.conf file

                    • --xdb-pubserver-configuration: path to the xdb_pubserver.conf file

                    • --xdb-subserver-configuration: path to the xdb_subserver.conf file

                    • --pgbouncer-configuration: path to the pgbouncer.ini file

                    • --harp-configuration: path to the config.yml file

                    • --pgd-proxy-configuration: path to the pgd-proxy-config.yml

                    • --patroni-configuration: path to the patroni.yml file


                    1.10 上传lasso报告


                    当 Lasso 执行时,它将生成一个 .tar.bz2 文件,其中包含 Lasso 收集的所有信息。这就是 “lasso报告”。有关所收集信息的说明,可以使用--describe 选项运行 Lasso 或检查文档中所收集数据的详细细分。

                    该文档有一个附录,其中包含允许443访问的可信IP服务器列表。如果您的服务器可以访问这些IP服务器,您可以使用--upload选项执行Lasso,将会把报告直接发送到 EDB 。

                    还可以直接通过在support门户中的Insights页面上传 Lasso 报告。页面右侧的“+添加实例”框下有一个上传报告的链接。

                    在与 EDB 技术支持一起处理问题时,可能会要求您运行并共享 Lasso 报告,以帮助诊断问题。在这种情况下,您可以将 Lasso 报告直接附加到支持ticket的回复中,该报告将自动上传到您帐户的insights页面并与该ticket关联。

                    报告上传后,数据会自动加载到 EDB Insights,如果有有效的支持订阅,就可以在几分钟内从门户访问它。


                    1.11 输出示例


                    性能监控输出:Lasso 通过监控数据库集群的性能,可以生成性能报告,帮助管理员了解数据库的运行状态。示例输出示例如下:

                      [INFO] 2024-09-25 11:00:01 Gathering performance metrics for cluster 'prod-cluster-1'.
                      [INFO] 2024-09-25 11:00:10 CPU Usage: 55%, Memory Usage: 68%, I/O Read: 120MB/s, I/O Write: 85MB/s.
                      [WARNING] 2024-09-25 11:00:12 High CPU usage detected on node 'db-node-2'.
                      [INFO] 2024-09-25 11:00:15 Query analysis: Long-running query detected on 'sales_db'. Query ID: 984374, Duration: 150 seconds.
                      [INFO] 2024-09-25 11:00:20 Performance metrics collection completed.

                      这段输出展示了数据库集群的性能指标,包括 CPU、内存和 I/O 的使用情况,以及潜在的性能问题,如高 CPU 占用和长时间运行的查询。

                      性能监控输出:Lasso 运行时还可能会输出系统告警,例如磁盘空间不足、CPU 过载等。告警输出示例如下:

                        [ALERT] 2024-09-25 15:00:01 Disk space usage exceeded 90% on node 'db-node-3'.
                        [INFO] 2024-09-25 15:00:05 Initiating disk cleanup procedure.
                        [INFO] 2024-09-25 15:00:12 Disk space usage reduced to 70% on 'db-node-3'.
                        [SUCCESS] Disk cleanup process completed for node 'db-node-3'.

                        自动化任务执行日志:当 Lasso 执行某个任务(如备份、恢复、升级或监控任务)时,系统会生成一份详细的执行日志,包含任务的启动时间、执行步骤、完成状态和错误信息等。输出示例如下:

                          [INFO] 2024-09-25 10:00:01 Starting backup process for cluster 'prod-cluster-1'.
                          [INFO] 2024-09-25 10:00:05 Connecting to node 'db-node-1'.
                          [INFO] 2024-09-25 10:00:10 Backup initiated for database 'sales_db'.
                          [INFO] 2024-09-25 10:15:20 Backup completed successfully.
                          [INFO] 2024-09-25 10:15:25 Disconnecting from node 'db-node-1'.
                          [SUCCESS] Backup process finished for cluster 'prod-cluster-1'.

                          这个示例显示了一个数据库备份任务的执行过程,Lasso 会记录备份过程的每一个步骤,确认任务是否成功完成或中途是否有错误发生。





                          扫码进 EDB 微信群

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


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

                          评论