-
Notifications
You must be signed in to change notification settings - Fork 229
[DOCS] PMM SEP Integration #5850
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: doc-3.10.0
Are you sure you want to change the base?
Changes from 1 commit
97e79d5
529f3ac
8ef0d57
4402de8
6ae5091
fea71f4
411d473
10b069d
988580f
1dc5cc5
3e57105
4076316
b3fe8fa
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| # Manage | ||
|
|
||
| !!! warning "Tech Preview" | ||
| Management capabilities are not production-ready. Use for testing and feedback only. | ||
|
|
||
| PMM is expanding beyond monitoring into database management. Through the Management framework integration, formerly known as SEP (Services Enablement Platform), you can now trigger and track database operations on your hosts directly from PMM, without SSH access or extra software on those hosts. | ||
|
|
||
| This is the first step in a broader initiative to give you a single place to monitor, manage, and act on your entire database infrastructure. | ||
|
|
||
| ## Available capabilities | ||
|
|
||
| - [MySQL Backup](mysql-backup.md) — run and schedule MySQL backups using XtraBackup, Mydumper, or Binlog, and restore from them. | ||
| - [Support Diagnostics](support-diagnostics.md) — collect diagnostic data from your hosts and send it directly to your Percona support case in ServiceNow. | ||
|
|
||
| More operations and database types will be added in future releases. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| # MySQL Backup | ||
|
|
||
| !!! warning "Tech Preview" | ||
| This feature is not production-ready. Use for testing and feedback only. | ||
|
|
||
| MySQL Backup lets you run and schedule MySQL backups against MySQL services in your PMM inventory, restore from those backups, and track job status, type, and execution history, all from within PMM. | ||
|
|
||
| This capability is part of the [Management framework](index.md) integration and is intended to replace the existing PMM MySQL backup feature once it reaches GA. | ||
|
|
||
| ## Supported backup types | ||
|
|
||
| - **XtraBackup** — physical backup using Percona XtraBackup | ||
| - **Mydumper** — logical backup using Mydumper | ||
| - **Binlog** — binary log backup | ||
|
|
||
| ## Before you start | ||
|
|
||
| - PMM Client 3.10.0 or later must be installed on the monitored host. | ||
| - The MySQL service must be registered in your PMM inventory. | ||
|
|
||
| ## Run a MySQL backup | ||
|
|
||
| 1. Go to **Management > MySQL Backup** in the left navigation. | ||
| 2. Click **+ New MySQL Backup**. | ||
| 3. Select the target MySQL service, backup type, and destination. | ||
| 4. Click **Run** to start immediately, or configure a schedule. | ||
|
|
||
| You can monitor job status, view logs, and review execution history from the same screen. | ||
|
|
||
| ## Restore from a backup | ||
|
|
||
| 1. Go to **Management > MySQL Backup** and select the **Restore** tab. | ||
| 2. Click **+ New MySQL Restore**. | ||
| 3. Select the backup to restore from and the target host. | ||
| 4. Click **Restore**. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win 🔎 Supported by static analysis🏁 Script executed: #!/bin/bash
set -e
printf '%s\n' '--- repository guidance ---'
find .. -name AGENTS.md -print
for f in $(find .. -name AGENTS.md -print); do
echo "--- $f"
cat "$f"
done
printf '%s\n' '--- reviewed documentation ---'
cat -n documentation/docs/manage/mysql-backup.md | sed -n '1,80p'
printf '%s\n' '--- restore API documentation ---'
cat -n documentation/api/backups/restore-backup.md | sed -n '1,100p'
printf '%s\n' '--- relevant UI and restore symbols ---'
rg -n -S --glob '!node_modules' --glob '!dist' \
'New MySQL Restore|MySQL Restore|Restore tab|target host|backup artifact|restore.*backup|backup.*restore' .Repository: percona/pmm Length of output: 50370 🏁 Script executed: #!/bin/bash
set -e
printf '%s\n' '--- repository guidance ---'
find . -name AGENTS.md -print
for f in $(find . -name AGENTS.md -print); do
echo "--- $f"
cat "$f"
done
printf '%s\n' '--- documentation files ---'
git ls-files 'documentation/docs/manage/mysql-backup.md' 'documentation/api/backups/restore-backup.md'
printf '%s\n' '--- reviewed documentation ---'
cat -n documentation/docs/manage/mysql-backup.md | sed -n '1,70p'
printf '%s\n' '--- restore API documentation ---'
cat -n documentation/api/backups/restore-backup.md | sed -n '1,70p'
printf '%s\n' '--- relevant tracked source paths ---'
git ls-files | rg -i '(backup|restore|mysql).*(tsx?|go)$|(?:tsx?|go).*(backup|restore|mysql)'
printf '%s\n' '--- exact UI labels and API symbols ---'
rg -n -S --glob '*.ts' --glob '*.tsx' --glob '*.go' \
'New MySQL Restore|MySQL Restore|Restore tab|target host|restore.*backup|backup.*restore|RestoreBackup|restoreBackup' \
frontend api app server proto 2>/dev/null || trueRepository: percona/pmm Length of output: 50370 🏁 Script executed: #!/bin/bash
set -e
printf '%s\n' '--- root guidance ---'
cat AGENTS.md
printf '%s\n' '--- UI guidance summary ---'
sed -n '1,180p' ui/AGENTS.md
printf '%s\n' '--- documentation ---'
cat -n documentation/docs/manage/mysql-backup.md | sed -n '1,70p'
cat -n documentation/api/backups/restore-backup.md | sed -n '1,70p'
printf '%s\n' '--- tracked backup/restore files ---'
git ls-files | rg -i '(^|/)([^/]*(backup|restore)[^/]*|[^/]*mysql[^/]*)\.(ts|tsx|go|proto|md)$' | head -200
printf '%s\n' '--- UI restore references ---'
rg -n -S --glob '*.ts' --glob '*.tsx' \
'New MySQL Restore|MySQL Restore|Restore tab|target host|restore.*backup|backup.*restore|RestoreBackup|restoreBackup' ui
printf '%s\n' '--- API restore definitions and server handlers ---'
rg -n -S --glob '*.proto' --glob '*.go' \
'RestoreBackup|restore_backup|Restore.*Request|target.*service|artifact_id|service_id' \
api/backup managed/services/backup managed/services/management 2>/dev/null | head -300Repository: percona/pmm Length of output: 50369 🏁 Script executed: #!/bin/bash
set -e
printf '%s\n' '--- UI restore references ---'
rg -n -S --glob '*.ts' --glob '*.tsx' \
'New MySQL Restore|MySQL Restore|Restore tab|target host|restore.*backup|backup.*restore|RestoreBackup|restoreBackup' ui || true
printf '%s\n' '--- API restore proto ---'
cat -n api/backup/v1/restores.proto | sed -n '1,180p'
printf '%s\n' '--- backup proto service/artifact fields ---'
rg -n -C 5 -S 'service_id|artifact_id|target|compatible|Restore' api/backup/v1/*.proto
printf '%s\n' '--- managed restore implementation ---'
rg -n -S --glob '*.go' \
'RestoreBackup|Restore.*Artifact|artifact_id|service_id|INCOMPATIBLE_TARGET_MYSQL|compatible' \
managed/services/backup managed/services 2>/dev/null | head -240Repository: percona/pmm Length of output: 50367 🏁 Script executed on selected repositories: Repositories: percona/pmm, percona/pmm-qa Length of output: 52039 🏁 Script executed: #!/bin/bash
set -e
printf '%s\n' '--- restore request path ---'
cat -n managed/services/backup/backup_service.go | sed -n '269,350p'
printf '%s\n' '--- restore compatibility path ---'
cat -n managed/services/backup/compatibility_service.go | sed -n '178,266p'
printf '%s\n' '--- inventory relationship definitions ---'
rg -n -C 4 -S \
'NodeID|node_id|ServiceID|service_id|belongs to|services.*node|node.*services' \
managed/models/node_model.go managed/models/service_model.go managed/models/*helpers.go | head -180Repository: percona/pmm Length of output: 17468 Document the target MySQL service, arr Step 3 must identify the target MySQL service, not only the host. 🤖 Prompt for AI Agents |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| # Support Diagnostics | ||
|
|
||
| !!! warning "Tech Preview" | ||
| This feature is not production-ready. Use for testing and feedback only. | ||
|
|
||
| Support Diagnostics lets you collect diagnostic data from your database hosts and send it straight to your Percona support case in ServiceNow, without having to gather it manually or upload anything. | ||
|
|
||
| This capability is part of the [Management framework](index.md) integration. | ||
|
|
||
| ## Before you start | ||
|
|
||
| - PMM Client 3.10.0 or later must be installed on the monitored host. | ||
| - You must have an open support case in Percona's ServiceNow. | ||
|
|
||
| ## Run a diagnostic collection | ||
|
|
||
| 1. Go to **Management > Support Diagnostics** in the left navigation. | ||
| 2. Select the target host and your ServiceNow case number. | ||
| 3. Click **Run**. | ||
|
|
||
| PMM collects the diagnostic data from the host and uploads the results directly to your support case. No files to download or upload manually. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -12,6 +12,32 @@ Percona Monitoring and Management (PMM) is an open source database monitoring, m | |
|
|
||
| ## Release summary | ||
|
|
||
| ### Expanding PMM with management capabilities: MySQL Backup and Support Diagnostics (Tech Preview) | ||
|
|
||
| !!! warning "Tech Preview" | ||
| This feature is not production-ready. Use for testing and feedback only. | ||
|
|
||
| PMM 3.10.0 takes the first step toward becoming a database management tool, not just a monitoring one. The Management framework brings SEP, the Services Enablement Platform, directly into PMM. SEP is the tool Percona uses to run database operations on customer hosts without needing SSH access or extra software. | ||
|
|
||
| This integration means that the capabilities Percona's own teams rely on are now available directly in PMM. You can trigger and track database operations in the same place you already monitor your databases, going from spotting a problem to acting on it without ever leaving PMM. | ||
|
|
||
| For this Tech Preview, that means running a MySQL backup or sending diagnostics to a Percona support case. Over time, the integration will expand to cover more operations and database types, giving you a single place to monitor, manage, and act on your entire database infrastructure. | ||
|
|
||
| Here is what the two capabilities included in this initial integration give you: | ||
|
|
||
| - [**MySQL Backup**](../manage/mysql-backup.md) — run and schedule MySQL backups using XtraBackup, Mydumper, or Binlog against MySQL services in your PMM inventory, restore from those backups, and track job status, type, and execution history, all from within PMM. This is intended to replace the existing PMM MySQL backup feature once it reaches GA. | ||
|
|
||
|  | ||
|
|
||
| - [**Support Diagnostics**](../manage/support-diagnostics.md) — collect diagnostic data from your database hosts and send it straight to your Percona support case in ServiceNow, without having to gather it manually or upload anything. | ||
|
|
||
|  | ||
|
|
||
| More operations and database types will follow in future releases. | ||
|
|
||
| To get started with database management capabilities in PMM, see [Management framework](../manage/index.md). | ||
|
|
||
|
|
||
| ### MongoDB Unused Indexes dashboard | ||
|
|
||
| You can now spot unused MongoDB indexes directly in PMM, without running manual queries against each node. Go to **Dashboards > MongoDB > MongoDB Unused Indexes** to see indexes with zero accesses since the last `mongod` restart, along with access trends and a least-used index ranking to help you prioritize cleanup. | ||
|
|
@@ -28,6 +54,9 @@ Requires the `indexstats` collector on the MongoDB exporter. See [MongoDB Unused | |
|
|
||
| ## 📈 Improvements | ||
|
|
||
|
|
||
| - [PMM-15205](https://perconadev.atlassian.net/browse/PMM-15205): Introduced the Management framework integration, adding [MySQL Backup](../manage/mysql-backup.md) and [Support Diagnostics](../manage/support-diagnostics.md) as the first management capabilities in PMM. | ||
|
|
||
| - [PMM-15071](https://perconadev.atlassian.net/browse/PMM-15071): Added the [MongoDB Unused Indexes](../reference/dashboards/dashboard-mongodb-unused-indexes.md) dashboard for identifying indexes with zero accesses since the last `mongod` restart. Requires the `indexstats` collector. | ||
|
|
||
| - [PMM-15189](https://perconadev.atlassian.net/browse/PMM-15189): Added documentation for starting and stopping Real-Time Analytics (RTA) on MongoDB services from the command line. See [pmm-admin inventory add agent rta-mongodb-agent](../use/commands/pmm-admin/inventory.md#pmm-admin-inventory-add-agent-rta-mongodb-agent) and [pmm-admin inventory remove agent](../use/commands/pmm-admin/inventory.md#pmm-admin-inventory-remove-agent). | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [linkspector] reported by reviewdog 🐶 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [linkspector] reported by reviewdog 🐶 |
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
🔎 Supported by static analysis
🏁 Script executed:
Repository: percona/pmm
Length of output: 50367
🏁 Script executed:
Repository: percona/pmm
Length of output: 7625
🏁 Script executed:
Repository: percona/pmm
Length of output: 16826
Document the backup destination prerequisite, matey. The backup API requires a non-empty
location_id. Link tobackup/prepare_storage_location.mdin “Before you start.”🤖 Prompt for AI Agents