Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion documentation/docs/admin/manage-users/edit_users.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,4 @@ The following are the privileges for the various *roles*:

- **Viewer** - Viewing dashboards

For detailed information on the privileges for these roles and the different tasks that they can perform, see [Grafana organization roles](https://grafana.com/docs/grafana/latest/permissions/organization_roles/).
For detailed information on the privileges for these roles and the different tasks that they can perform, see [Grafana organization roles](https://grafana.com/docs/grafana/latest/permissions/organization_roles/){:target="_blank"}.
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ To create access roles in PMM:

If you want to add more than one label for a role, click *+* and select the values from the drop-down.

For information on how the Prometheus selectors work, see [Prometheus selectors](https://prometheus.io/docs/prometheus/latest/querying/basics/#time-series-selectors).
For information on how the Prometheus selectors work, see [Prometheus selectors](https://prometheus.io/docs/prometheus/latest/querying/basics/#time-series-selectors){:target="_blank"}.

6. Review your selections, then click **Create** to finalize the role.

Expand Down
4 changes: 2 additions & 2 deletions documentation/docs/admin/roles/access-control/labels.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,6 @@ PMM allows modifying certain standard labels after a service is created:

For other standard labels that cannot be modified directly, you must remove the service and re-add it with the desired labels.

This can be done either via PMM UI or via an [API endpoint](https://percona-pmm.readme.io/reference/changeservice).
This can be done either via PMM UI or via an [API endpoint](https://percona-pmm.readme.io/reference/changeservice){:target="_blank"}.

Modifying the custom labels can be done as well via PMM UI of via the same [API endpoint](https://percona-pmm.readme.io/reference/changeservice).
Modifying the custom labels can be done as well via PMM UI of via the same [API endpoint](https://percona-pmm.readme.io/reference/changeservice){:target="_blank"}.
2 changes: 1 addition & 1 deletion documentation/docs/admin/roles/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ For more granular data access control, see [Labels for access control](../roles/

## Role types in PMM

PMM inherits its basic role structure from [Grafana](https://grafana.com/docs/grafana/latest/administration/roles-and-permissions/) but with customizations specific to database monitoring. PMM has three main role types:
PMM inherits its basic role structure from [Grafana](https://grafana.com/docs/grafana/latest/administration/roles-and-permissions/){:target="_blank"} but with customizations specific to database monitoring. PMM has three main role types:

- **Admin**: Has access to all resources and features within a PMM instance. This role can manage all aspects of PMM including users, teams, data sources, dashboards, and server settings.
- **Editor**: Can view and edit dashboards, create custom visualizations, work with alerts, and manage specific configurations. Editors cannot modify server-wide settings or manage users.
Expand Down
2 changes: 1 addition & 1 deletion documentation/docs/admin/security/ssl_encryption.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Configure both the Server and Client to implement SSL/TLS encryption in your PMM
- [Copy certificates](#copy-certificates) directly into the PMM Server container
2. **Restart PMM Server** to apply the new certificates
3. **Configure client trust**: Ensure PMM Clients can verify the server certificate:
- Add the CA certificate to the system trust store ([Ubuntu guide](https://ubuntu.com/server/docs/install-a-root-ca-certificate-in-the-trust-store) | [Red Hat guide](https://www.redhat.com/sysadmin/configure-ca-trust-list))
- Add the CA certificate to the system trust store ([Ubuntu guide](https://ubuntu.com/server/docs/install-a-root-ca-certificate-in-the-trust-store){:target="_blank"} | [Red Hat guide](https://www.redhat.com/sysadmin/configure-ca-trust-list){:target="_blank"})
- **Or use the `SSL_CERT_FILE` environment variable** for [custom CA certificates](#use-custom-ca-certificates-with-pmm-client)

### Certificate storage location
Expand Down
20 changes: 10 additions & 10 deletions documentation/docs/advisors/develop-advisor-checks.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ As a developer, you can create custom checks to cover additional use cases, rele
A check is a combination of:

- A query for extracting data from the database.
- Python script for converting extracted data into check results. This is actually a [Starlark](https://github.com/google/starlark-go) script, which is a Python dialect that adds more imperative features than Python. The script's execution environment is sandboxed, and no I/O can be done from it.
- Python script for converting extracted data into check results. This is actually a [Starlark](https://github.com/google/starlark-go){:target="_blank"} script, which is a Python dialect that adds more imperative features than Python. The script's execution environment is sandboxed, and no I/O can be done from it.

All checks are self-contained in the first phase, as well as in most of the planned phases.

Expand Down Expand Up @@ -192,22 +192,22 @@ Expand the table below for the list of checks types that you can use to define y
| MYSQL_SELECT | Executes 'SELECT …' clause against MySQL database. |Yes|
| POSTGRESQL_SHOW | Executes 'SHOW ALL' command against PosgreSQL database. |No|
| POSTGRESQL_SELECT | Executes 'SELECT …' clause against PosgreSQL database. |Yes|
| MONGODB_GETPARAMETER | Executes db.adminCommand( { getParameter: "*" } ) against MongoDB's "admin" database. For more information, see [getParameter](https://docs.mongodb.com/manual/reference/command/getParameter/)| No|
| MONGODB_BUILDINFO | Executes db.adminCommand( { buildInfo: 1 } ) against MongoDB's "admin" database. For more information, see [buildInfo](https://docs.mongodb.com/manual/reference/command/buildInfo/) | No|
| MONGODB_GETCMDLINEOPTS | Executes db.adminCommand( { getCmdLineOpts: 1 } ) against MongoDB's "admin" database. For more information, see [getCmdLineOpts](https://docs.mongodb.com/manual/reference/command/getCmdLineOpts/) |No|
| MONGODB_REPLSETGETSTATUS | Executes db.adminCommand( { replSetGetStatus: 1 } ) against MongoDB's "admin" database. For more information, see [replSetGetStatus](https://docs.mongodb.com/manual/reference/command/replSetGetStatus/) |No|
| MONGODB_GETDIAGNOSTICDATA |Executes db.adminCommand( { getDiagnosticData: 1 } ) against MongoDB's "admin" database. For more information, see [MongoDB Performance](https://docs.mongodb.com/manual/administration/analyzing-mongodb-performance/#full-time-diagnostic-data-capture)| No|
| METRICS_INSTANT |Executes instant [MetricsQL](https://docs.victoriametrics.com/MetricsQL.html) query. Query can use placeholders in query string {% raw %} **{{.NodeName**}} and **{{.ServiceName}}** {% endraw %}. Both match target service/node names. To read more about instant queries, check out the [Prometheus docs](https://prometheus.io/docs/prometheus/latest/querying/api/#instant-queries).|Yes|
| METRICS_RANGE |Executes range [MetricsQL](https://docs.victoriametrics.com/MetricsQL.html) query. Query can use placeholders in query string {% raw %} **{{.NodeName**}} and **{{.ServiceName}}** {% endraw %}. Both match target service/node names. To read more about range queries, check out the [Prometheus docs](https://prometheus.io/docs/prometheus/latest/querying/api/#range-queries).|Yes|
| MONGODB_GETPARAMETER | Executes db.adminCommand( { getParameter: "*" } ) against MongoDB's "admin" database. For more information, see [getParameter](https://docs.mongodb.com/manual/reference/command/getParameter/){:target="_blank"}| No|
| MONGODB_BUILDINFO | Executes db.adminCommand( { buildInfo: 1 } ) against MongoDB's "admin" database. For more information, see [buildInfo](https://docs.mongodb.com/manual/reference/command/buildInfo/){:target="_blank"} | No|
| MONGODB_GETCMDLINEOPTS | Executes db.adminCommand( { getCmdLineOpts: 1 } ) against MongoDB's "admin" database. For more information, see [getCmdLineOpts](https://docs.mongodb.com/manual/reference/command/getCmdLineOpts/){:target="_blank"} |No|
| MONGODB_REPLSETGETSTATUS | Executes db.adminCommand( { replSetGetStatus: 1 } ) against MongoDB's "admin" database. For more information, see [replSetGetStatus](https://docs.mongodb.com/manual/reference/command/replSetGetStatus/){:target="_blank"} |No|
| MONGODB_GETDIAGNOSTICDATA |Executes db.adminCommand( { getDiagnosticData: 1 } ) against MongoDB's "admin" database. For more information, see [MongoDB Performance](https://docs.mongodb.com/manual/administration/analyzing-mongodb-performance/#full-time-diagnostic-data-capture){:target="_blank"}| No|
| METRICS_INSTANT |Executes instant [MetricsQL](https://docs.victoriametrics.com/MetricsQL.html){:target="_blank"} query. Query can use placeholders in query string {% raw %} **{{.NodeName**}} and **{{.ServiceName}}** {% endraw %}. Both match target service/node names. To read more about instant queries, check out the [Prometheus docs](https://prometheus.io/docs/prometheus/latest/querying/api/#instant-queries){:target="_blank"}.|Yes|
| METRICS_RANGE |Executes range [MetricsQL](https://docs.victoriametrics.com/MetricsQL.html){:target="_blank"} query. Query can use placeholders in query string {% raw %} **{{.NodeName**}} and **{{.ServiceName}}** {% endraw %}. Both match target service/node names. To read more about range queries, check out the [Prometheus docs](https://prometheus.io/docs/prometheus/latest/querying/api/#range-queries){:target="_blank"}.|Yes|
| CLICKHOUSE_SELECT |Executes 'SELECT ...' statements against PMM's [Query Analytics](../use/qan/index.md) ClickHouse database. Queries can use the {% raw %} **{{.ServiceName**}} and **{{.ServiceID}}** {% endraw %} placeholders in query string. They match the target service name and service ID respectively.|Yes|

## Query parameters
- `METRICS_INSTANT`
- **lookback** (duration, optional): specifies how far in past to look back to metrics history. If this parameter is not specified, then query executed on the latest data. Example values: `30s`, `5m`, `8h`.
- `METRICS_RANGE`
- **lookback** (duration, optional): specifies how far in past to look back to metrics history. If this parameter is not specified, then query executed on the latest data. Example values: `30s`, `5m`, `8h`.
- **range** (duration, required): specifies time window of the query. This parameter is equal to [Prometheus API](https://prometheus.io/docs/prometheus/latest/querying/api/#range-queries).
- **step** (duration, required): query resolution. This parameter is equal to [Prometheus API](https://prometheus.io/docs/prometheus/latest/querying/api/#range-queries).
- **range** (duration, required): specifies time window of the query. This parameter is equal to [Prometheus API](https://prometheus.io/docs/prometheus/latest/querying/api/#range-queries){:target="_blank"}.
- **step** (duration, required): query resolution. This parameter is equal to [Prometheus API](https://prometheus.io/docs/prometheus/latest/querying/api/#range-queries){:target="_blank"}.
- `POSTGRESQL_SELECT`
- **all_dbs** (boolean, optional): execute query on all available databases in PostgreSQL instance. If this parameter is not specified, then query executed on the default database (the one that was specified when service was added to PMM).

Expand Down
6 changes: 3 additions & 3 deletions documentation/docs/alert/alert_rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ To check the full list of available PMM templates, see the [List of available al

### Create alert rules from alert rule templates

This section focuses on creating an alert rule based on PMM templates. For information on working with the other alert types, check the Grafana documentation on [Grafana Labs](https://grafana.com/docs/grafana/latest/alerting/).
This section focuses on creating an alert rule based on PMM templates. For information on working with the other alert types, check the Grafana documentation on [Grafana Labs](https://grafana.com/docs/grafana/latest/alerting/){:target="_blank"}.

### Provision alert resources

Expand All @@ -47,7 +47,7 @@ Before creating PMM alert rules, configure the required alert resources:
### Configure alert templates

Alerts templates are YAML files that provide the source framework for alert rules.
Alert templates contain general template details and an alert expression defined in [MetricsQL](https://docs.victoriametrics.com/MetricsQL.html). This query language is backward compatible with PromQL.
Alert templates contain general template details and an alert expression defined in [MetricsQL](https://docs.victoriametrics.com/MetricsQL.html){:target="_blank"}. This query language is backward compatible with PromQL.

### Create custom templates

Expand Down Expand Up @@ -127,7 +127,7 @@ Note that to paste the query above, **Explore** must be in `Code` mode, and not

After provisioning the resources required for creating Percona templated alerts, you are now ready to create your alert rule based on a Percona template.

If you want to learn about creating Grafana alerts instead, check out [Grafana's documentation](https://grafana.com/docs/grafana/latest/alerting/):
If you want to learn about creating Grafana alerts instead, check out [Grafana's documentation](https://grafana.com/docs/grafana/latest/alerting/){:target="_blank"}:
{.power-number}

1. Go to **Alerting > Alert Rules**, and click **New alert rule from template**.
Expand Down
6 changes: 3 additions & 3 deletions documentation/docs/alert/silence_alerts.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ To create a new silence:
6. Review the affected alert instances that will be silenced.
7. Click **Save silece**.

For more information on working with silences, see [About alerting silences](https://grafana.com/docs/grafana/latest/alerting/manage-notifications/create-silence/) in the Grafana documentation.
For more information on working with silences, see [About alerting silences](https://grafana.com/docs/grafana/latest/alerting/manage-notifications/create-silence/){:target="_blank"} in the Grafana documentation.

## Alerting compatibility

Expand Down Expand Up @@ -52,8 +52,8 @@ To see all the available options, check the scrip help using `ia_migration.py -h

#### Script prerequisites

- Python version 3.x, which you can download from [Python Downloads centre](https://www.python.org/downloads/).
- [Requests library](https://requests.readthedocs.io/en/latest/user/install/#install), which you can install with the following command: ```pip3 install requests```.
- Python version 3.x, which you can download from [Python Downloads centre](https://www.python.org/downloads/){:target="_blank"}.
- [Requests library](https://requests.readthedocs.io/en/latest/user/install/#install){:target="_blank"}, which you can install with the following command: ```pip3 install requests```.

!!! caution alert alert-warning "Important"
The script sets all migrated alert rules to Active. Make sure to silence any alerts that should not be firing.
Expand Down
4 changes: 2 additions & 2 deletions documentation/docs/api/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

PMM Server provides a comprehensive REST API that enables you to monitor databases, manage resources, collect metrics, and automate PMM operations programmatically. The API supports endpoints for managing nodes, services, agents, alerting, backups, and other PMM components.

The [complete API documentation on Readme.io](https://percona-pmm.readme.io/reference/introduction) includes detailed endpoint specifications, authentication methods, example requests, and response schemas.
The [complete API documentation on Readme.io](https://percona-pmm.readme.io/reference/introduction){:target="_blank"} includes detailed endpoint specifications, authentication methods, example requests, and response schemas.

## Interactive API documentation

You can explore and test the API using the built-in [Swagger](https://swagger.io/tools/swagger-ui/) UI, accessible at the `/swagger/` endpoint of your PMM Server. The Swagger interface allows you to:
You can explore and test the API using the built-in [Swagger](https://swagger.io/tools/swagger-ui/){:target="_blank"} UI, accessible at the `/swagger/` endpoint of your PMM Server. The Swagger interface allows you to:

- browse available API endpoints
- view detailed request and response schemas
Expand Down
4 changes: 2 additions & 2 deletions documentation/docs/backup/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,12 @@ To learn how to create and restore backups, check out subtopics below:
??? info "Additional resources"
Here are some external resources for learning more about databases backups:

- [Amazon Web Services S3](https://aws.amazon.com/s3/)
- [Amazon Web Services S3](https://aws.amazon.com/s3/){:target="_blank"}
- [Percona Backup for MongoDB](https://www.percona.com/doc/percona-backup-mongodb/installation.html)
- [PERCONA_QPRESS](https://docs.percona.com/percona-xtrabackup/2.4/backup_scenarios/compressed_backup.html)
- [PERCONA_XBCLOUD](https://www.percona.com/doc/percona-xtrabackup/2.3/xbcloud/xbcloud.html)
- [PERCONA_XBSTREAM](https://www.percona.com/doc/percona-xtrabackup/2.3/xbstream/xbstream.html)
- [PERCONA_XTRABACKUP](https://www.percona.com/software/mysql-database/percona-xtrabackup)
- [oplog slices](https://www.percona.com/doc/percona-backup-mongodb/glossary.html#term-oplog-slice)
- [Percona Server for MongoDB](https://www.percona.com/software/mongo-database/percona-server-for-mongodb)
- [MongoDB Replication](https://docs.mongodb.com/manual/replication/)
- [MongoDB Replication](https://docs.mongodb.com/manual/replication/){:target="_blank"}
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ PMM introduced the option to create PITR Backups for MongoDB in version 2.23, as
Percona Backup for MongoDB is a distributed, low-impact solution for achieving consistent backups of MongoDB sharded clusters and replica sets.
Restoring PITR backups is available for backups based on pbm ≤ 2.0.1. To restore PITR backups, make sure you have pbm ≥ 2.0.1 installed.

Percona Backup for MongoDB supports [Percona Server for MongoDB](https://www.percona.com/software/mongodb/percona-server-for-mongodb) and MongoDB Community ≤ 3.6, with [MongoDB Replication](https://docs.mongodb.com/manual/replication/) enabled. For more information, see the [Percona Backup for MongoDB documentation](https://docs.percona.com/percona-backup-mongodb/installation.html).
Percona Backup for MongoDB supports [Percona Server for MongoDB](https://www.percona.com/software/mongodb/percona-server-for-mongodb) and MongoDB Community ≤ 3.6, with [MongoDB Replication](https://docs.mongodb.com/manual/replication/){:target="_blank"} enabled. For more information, see the [Percona Backup for MongoDB documentation](https://docs.percona.com/percona-backup-mongodb/installation.html).

## How does it work?

Expand Down
6 changes: 3 additions & 3 deletions documentation/docs/backup/prepare_storage_location.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Prepare a storage location as a backup destination for creating and storing your

PMM supports the following types of storage:

- **Amazon S3-compatible**: enables you to use not only AWS S3, but also other storage solutions that support S3 API, like [min.io](https://min.io/).
- **Amazon S3-compatible**: enables you to use not only AWS S3, but also other storage solutions that support S3 API, like [min.io](https://min.io/){:target="_blank"}.
- **Local storage**: currently only available for MongoDB backups.

## Prepare a location for local backups
Expand All @@ -13,12 +13,12 @@ If you prefer storing your MongoDB backup artifacts on a remote filesystem, make
For more information, see the [Percona Backup for MongoDB (PBM) documentation](https://docs.percona.com/percona-backup-mongodb/details/storage-configuration.html#remote-filesystem-server-storage).

## Prepare a location for S3-compatible storage
If you want to store backup artifacts in S3-compatible storage, you can use [Amazon S3](https://aws.amazon.com/s3/), [Min.io](https://min.io/) or any other storage solution with S3-compatible API.
If you want to store backup artifacts in S3-compatible storage, you can use [Amazon S3](https://aws.amazon.com/s3/){:target="_blank"}, [Min.io](https://min.io/){:target="_blank"} or any other storage solution with S3-compatible API.

Before creating a cloud storage location for our future backups, make sure you have your S3-compatible storage ready. In addition to bucket location details, you will also need to ensure proper S3 permissions.

The general minimum permissions are **LIST**/**PUT**/**GET**/**DELETE**.
A sample [IAM](https://aws.amazon.com/iam/) policy is:
A sample [IAM](https://aws.amazon.com/iam/){:target="_blank"} policy is:

```json
{
Expand Down
Loading