Percona 自动化监控和管理升级

2023年 8月 26日 35.4k 0

Percona 自动化监控和管理升级

欢迎阅读我们关于保持Percona 监控和管理(PMM) 服务器和客户端最新的指南。在这篇博文中,我们将引导您了解一种方法,以确保您的 PMM 解决方案运行最新、最安全的版本。值得注意的是,这只是众多选项中的一种,我们渴望听到您的反馈和替代方法。

维护最新的 PMM 环境对于访问最新功能和确保最大安全性至关重要。然而,更新过程可能非常复杂且耗时。为了简化它,我们将向您介绍一种涉及 Watchtower 和 cron 作业的方法。Watchtower 自动执行 PMM 服务器更新,而 cron 作业则处理 PMM 客户端更新。

我们重视您的意见,并想知道这种方法是否适合您。在我们的论坛上分享您的想法、建议和替代方法。您的反馈将帮助我们改进更新流程并为 PMM 社区提供更好的解决方案。

让我们探讨一下为 PMM 服务器和客户端安装、配置和自动化更新过程的步骤。我们可以一起轻松地使您的监控解决方案保持最新状态并提高其有效性。

请记住,这不是官方文档,而是一本关于更轻松的 PMM 管理的手册。此方法在以后的版本中可能不起作用。

PMM服务器安装

安装 PMM 的过程非常简单。您可以参阅提供的说明以获取详细指导。

要安装PMM,您可以使用以下命令:

curl -fsSL https://www.percona.com/get/pmm | /bin/bash

此命令将为您安装 Docker 和 PMM 服务器。但是,在更新 PMM 时,需要记住一些注意事项。

更新 PMM 的推荐方法是替换 Docker 映像。此方法提供了更高的稳定性并确保最新版本的全新安装。要更新,您必须停止当前的 PMM 服务器,获取新的 Docker 映像,并启动新实例。PMM 将在启动过程中处理任何必要的迁移。虽然此方法提供了更稳定的更新,但它确实需要额外的步骤,例如访问终端并执行特定命令。这可能会很麻烦,尤其是当您依赖 IT 支持来完成此类任务时。

或者,您可以使用 PMM 服务器本身内的“更新”按钮,这提供了更方便的更新解决方案。此方法通过在 PMM 用户界面内自动更新来简化流程。您可以在我们的文档中找到有关此方法的更多详细信息。

考虑到稳定性和便捷性的权衡,推荐使用Docker镜像替换方式来保证更新的可靠。然而,选择最适合您的要求和操作考虑因素的方法非常重要。

现在,让我们探索用于简化 PMM 服务器更新过程的自动化选项。

PMM 服务器更新自动化

为了自动化 PMM 服务器的更新过程,我们将使用一个名为Watchtower的工具。Watchtower 旨在监控您的 Docker 容器,并在新镜像可用时自动更新它。

要开始使用 Watchtower,您可以按照以下步骤操作:

  1. 运行以下命令启动 Watchtower:

    docker run -d --name pmm-watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower pmm-server

  2. 就是这样!Watchtower 现在正在主动监控您的 PMM 服务器容器。它会每 24 小时定期检查映像的新版本pmm-server:2(默认情况下在快速安装脚本中使用)。当检测到新映像时,Watchtower 会自动更新您的 PMM 实例,确保您拥有最新版本。

请注意,您应该等待下一个官方 PMM 版本发布,然后 Watchtower 才能执行更新。

Watchtower 通过消除手动干预和监控的需要简化了更新过程。它提供了一种方便的方法来使您的 PMM 服务器保持最新版本,确保您能够访问新功能和安全增强功能。

接下来,我们来探讨一下更新 PMM Client 以及与 PMM Server 建立连接的过程。

PMM 客户端安装和配置

除了PMM Server之外,PMM Client是分布式PMM系统的另一个关键组件。除非您仅通过 PMM 服务器添加远程实例,否则需要 PMM 客户端,在这种情况下,将使用嵌入在 PMM 服务器本身中的客户端,并且始终与 PMM 服务器版本同步。

要安装 PMM 客户端,您可以按照提供的说明进行操作。此方法使用系统上的包管理器,提供支持无缝升级的简单安装过程。

安装 PMM 客户端后,需要连接到 PMM 服务器。使用以下命令配置连接:

pmm-admin config --server-insecure-tls --server-url=https://admin:admin@X.X.X.X:443

替换X.X.X.X为 PMM 服务器的 IP 地址或主机名。该命令为客户端和服务器之间的通信建立必要的设置。

配置 PMM 客户端后,您可能会向 PMM 添加一些数据库。

PMM 客户端更新自动化

由于 PMM 服务器的版本兼容性要求,自动化 PMM 客户端升级过程可能有点复杂。典型的 PMM Client 升级过程涉及在新版本发布时执行以下命令:

sudo apt update
sudo apt install -y pmm2-client

但是,需要注意的是,PMM 服务器的版本应与 PMM 客户端的版本相同或更高。因此,您必须先升级PMM Server,然后再更新客户端。这种情况增加了自动升级的复杂性,因为它需要检查服务器版本以确保兼容性。

为了应对这一挑战,我们可以利用该pmm-admin status命令,它提供有关服务器和客户端版本的信息。通过运行pmm-admin status,您可以获得服务器URL和版本等详细信息,以及客户端的连接状态、版本和其他相关数据。

为了简化自动化,该pmm-admin命令可以使用该–JSON标志以 JSON 格式公开数据。这可以更轻松地与自动化脚本集成。

为了进一步帮助您,我创建了一个执行 PMM 客户端更新过程的简单脚本。您可以在以下 URL 找到该脚本: https: //gist.github.com/rnovikovP/e6d7d1dcda7f5004ad186f6bc4de565a。我建议将此脚本放在该/usr/local/percona/pmm2/cron/目录中,该目录作为所有 PMM 相关文件的集中位置。

下载脚本后,下一步是将其配置为使用 cron 自动运行。下面是一个简单的单行代码,它创建必要的目录、下载脚本、设置适当的权限,并添加一个 cron 作业以每天上午 8 点执行它:

(mkdir -p /usr/local/percona/pmm2/cron/ && curl -sSL https://gist.githubusercontent.com/rnovikovP/e6d7d1dcda7f5004ad186f6bc4de565a/raw/ -o /usr/local/percona/pmm2/cron/pmm2-client-updater.sh && chmod +x /usr/local/percona/pmm2/cron/pmm2-client-updater.sh && (crontab -l 2>/dev/null; echo "0 8 * * * /usr/local/percona/pmm2/cron/pmm2-client-updater.sh") | crontab -)

这一行代码创建了必要的目录结构,使用 下载脚本curl,设置脚本的可执行权限,并添加一个 cron 作业以在每天上午 8 点执行脚本。

通过实现此自动化,该脚本将处理 PMM 客户端更新、检查最新版本并根据需要升级客户端。这使您无需手动执行升级命令,并确保您的 PMM 客户端始终是最新的。

接下来,我们将回顾自动更新过程需要确认的内容。

更新配置确认

为了确保您的 PMM 更新自动化正常运行,您可以采取一些步骤。由于配置依赖于官方发布的镜像和二进制文件,因此您需要等待新版本的PMM正式发布。请放心,发布即将到来。

您可以同时检查以下内容:

在 PMM 服务器上,通过执行以下命令验证正在运行的容器:
docker ps

您应该看到与此类似的输出:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e139815b8317 containrrr/watchtower "/watchtower pmm-ser…" 4 seconds ago Up 3 seconds 8080/tcp watchtower
8f9573bb063f percona/pmm-server:2 "/opt/entrypoint.sh" 21 hours ago Up 21 hours 80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp pmm-server

这确认 PMM 服务器容器正在成功运行。

在 PMM 客户端上,通过执行以下命令验证 cron 作业配置:

crontab -l

您应该在输出中看到以下行:

0 8 * * * /usr/local/percona/pmm2/cron/pmm2-client-updater.sh

这确认 PMM 客户端更新程序脚本的 cron 作业设置为每天上午 8 点运行。

此外,您可以手动执行更新程序脚本以确认其正常运行:
/usr/local/percona/pmm2/cron/pmm2-client-updater.sh

运行此命令应显示 PMM 服务器和客户端版本,应与以下内容匹配:

PMM Server version: [2.39.0]
PMM Client version: [2.39.0]

确保两个版本相同,即表示更新成功。

如果上述所有检查均与所提供的信息相符,则意味着您的 PMM 更新自动化已步入正轨。现在,您所需要做的就是等待新的 PMM 版本并观察 PMM 系统的更新状态。

闭幕式

总之,这篇博文提供了有关保持 PMM 服务器和客户端更新的全面指南。虽然这里讨论的方法是有效的,但我们承认可能存在替代方法或更好的选择。我们重视您的意见,并鼓励您分享任何可以改进 PMM 更新过程的其他技术或想法。

值得探讨的一个主题是自动化 PMM 及其组件的更新过程。您对 PMM 自动更新感兴趣吗?我们很想听听您对此事的想法。在论坛上分享您的经验、建议或疑虑。

请记住,保持最新版本的 PMM 对于维护最大安全性和访问最新功能至关重要。您的反馈和贡献非常宝贵,因为我们致力于为PMM 社区提供最佳解决方案。

感谢您的阅读,我们感谢您参与改进 PMM 更新流程。通过共同努力,我们可以使 PMM 监控更加高效且用户友好。

如果您想分享您使用 PMM 的体验 – 请随时使用此链接安排与我的通话;我总是乐于倾听用户的痛苦,以推动产品朝着正确的方向发展。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论