Skip to content

Commit

Permalink
Merge branch 'main' into nethalo-patch-1
Browse files Browse the repository at this point in the history
  • Loading branch information
rasika-chivate authored Dec 13, 2023
2 parents 6e03482 + 032c08c commit abc9255
Show file tree
Hide file tree
Showing 32 changed files with 948 additions and 64 deletions.
Binary file modified docs/_images/PMM_Add_Instance_PostgreSQL.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/PMM_Add_Instance_PostgreSQL_TLS.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/PMM_Inventory_Service_Selection.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/dbaas/DBaaS_template.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Database cluster Templates

!!! caution alert alert-primary "Do not use for mission-critical workloads"
DBaaS feature is deprecated. We encourage you to use [Percona Everest](http://per.co.na/pmm-to-everest) instead. Check our [Migration guide](http://per.co.na/pmm-to-everest-guide).

Database clusters can be created from templates using PMM. Database cluster Template allows operators to customize Database Clusters based on their requirements, environments, or infrastructure.

Examples
Expand Down
8 changes: 3 additions & 5 deletions docs/dbaas/architecture.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
# DBaaS architecture

!!! caution alert alert-warning "Caution"
DBaaS functionality is currently in [technical preview](../details/glossary.md#technical-preview) and is subject to change.
!!! caution alert alert-primary "Do not use for mission-critical workloads"
DBaaS feature is deprecated. We encourage you to use [Percona Everest](http://per.co.na/pmm-to-everest) instead. Check our [Migration guide](http://per.co.na/pmm-to-everest-guide).


DBaaS is built on top of PMM and Kubernetes and the high-level architecture is shown below
DBaaS is built on top of PMM and Kubernetes and the high-level architecture is shown below:

![!](../_images/dbaas_arch.jpg)


In DBaaS, the role of PMM is as follows:

1. Expose Public REST API
Expand Down
4 changes: 2 additions & 2 deletions docs/dbaas/backup_restore.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# DBaaS backup and restore

!!! caution alert alert-warning "Caution"
DBaaS functionality is currently in [technical preview](../details/glossary.md#technical-preview) and is subject to change.
!!! caution alert alert-primary "Do not use for mission-critical workloads"
DBaaS feature is deprecated. We encourage you to use [Percona Everest](http://per.co.na/pmm-to-everest) instead. Check our [Migration guide](http://per.co.na/pmm-to-everest-guide).

You can add a backup schedule while creating DB clusters in DBaaS. This feature is a fusion of backup management and DBaaS in PMM. Currently, DBaaS only supports scheduled backups, which can only be enabled when a database cluster is created.

Expand Down
4 changes: 2 additions & 2 deletions docs/dbaas/databases.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## DB clusters

!!! caution alert alert-warning "Caution"
DBaaS functionality is currently in [technical preview](../details/glossary.md#technical-preview) and is subject to change.
!!! caution alert alert-primary "Do not use for mission-critical workloads"
DBaaS feature is deprecated. We encourage you to use [Percona Everest](http://per.co.na/pmm-to-everest) instead. Check our [Migration guide](http://per.co.na/pmm-to-everest-guide).

### Add a DB Cluster

Expand Down
4 changes: 2 additions & 2 deletions docs/dbaas/get-started.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Getting started with DBaaS

!!! caution alert alert-warning "Caution"
DBaaS functionality is currently in [technical preview](../details/glossary.md#technical-preview) and is subject to change. Only AWS EKS, Minikube and CIVO clusters are supported.
!!! caution alert alert-primary "Do not use for mission-critical workloads"
DBaaS feature is deprecated. We encourage you to use [Percona Everest](http://per.co.na/pmm-to-everest) instead. Check our [Migration guide](http://per.co.na/pmm-to-everest-guide).

The DBaaS dashboard is where you add, remove, and operate on Kubernetes and database clusters.

Expand Down
9 changes: 4 additions & 5 deletions docs/dbaas/index.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
# Introduction to Database as a service (DBaaS)

!!! caution alert alert-primary "Do not use for mission-critical workloads"
- DBaaS feature is deprecated. We encourage you to use [Percona Everest](http://per.co.na/pmm-to-everest) instead. Check our [Migration guide](http://per.co.na/pmm-to-everest-guide).
- DBaaS feature is available for PMM Admin users.

Database as a service (DBaaS) feature of Percona Monitoring and Management (PMM) is an open source solution to run MySQL and MongoDB clusters on Kubernetes.

It allows you to utilize the benefits of Kubernetes and Percona's operators to run and manage database clusters.

!!! caution alert alert-primary "Do not use for mission critical workloads"
DBaaS feature is available for PMM Admin users
DBaaS functionality is currently in [technical preview](../details/glossary.md#technical-preview) and is subject to change.


## Start here

- [Architecture and how DBaaS works](architecture.html)
Expand Down
4 changes: 2 additions & 2 deletions docs/dbaas/setting-up.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Setting up DBaaS

!!! caution alert alert-warning "Caution"
DBaaS functionality is currently in [technical preview](../details/glossary.md#technical-preview) and is subject to change.
!!! caution alert alert-primary "Do not use for mission-critical workloads"
DBaaS feature is deprecated. We encourage you to use [Percona Everest](http://per.co.na/pmm-to-everest) instead. Check our [Migration guide](http://per.co.na/pmm-to-everest-guide).


To use the Database as a Service (DBaaS) solution in PMM there are a few things that need to be setup first including a suitable Kubernetes Cluster. If you've already got a kubernetes cluster you can jump ahead and [enable DBaaS in PMM](../dbaas/get-started.html).
Expand Down
4 changes: 4 additions & 0 deletions docs/dbaas/troubleshoot-kubernetes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
## Troubleshooting Kubernetes provisioning

!!! caution alert alert-primary "Do not use for mission-critical workloads"
DBaaS feature is deprecated. We encourage you to use [Percona Everest](http://per.co.na/pmm-to-everest) instead. Check our [Migration guide](http://per.co.na/pmm-to-everest-guide).


There are two things that might go wrong during the provisioning:

1. OLM installation
Expand Down
3 changes: 3 additions & 0 deletions docs/details/commands/pmm-admin.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,9 @@ PMM communicates with the PMM Server via a PMM agent process.
`--group=<group-name>`
: Group name for external services. Default: `external`

`--expose-exporter` (This flag is availble starting with PMM 2.41.0.)
: If you enable this flag, any IP address on the local network and anywhere on the internet can access exporter endpoints. If the flag is disabled/not present, exporter endpoints can be accessed only locally. The flag is disabled by default

## COMMANDS

### GENERAL COMMANDS
Expand Down
4 changes: 2 additions & 2 deletions docs/details/commands/pmm-agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@ Most options can be set via environment variables (shown in parentheses).
| `--trace` | `PMM_AGENT_TRACE` | Enable trace output (implies `--debug`).
| `-h`, `--help` | | Show help (synonym for `pmm-agent help`).
| `--version` | | Show application version, PMM version, time-stamp, git commit hash and branch.
| `--expose-exporter` (This flag is available starting with PMM 2.41.0.)| | If you enable this flag, any IP address on the local network and anywhere on the internet can access node exporter endpoints. If the flag is disabled, node exporter endpoints can be accessed only locally.


## USAGE AND EXAMPLES OF `paths-base` FLAG

Expand Down Expand Up @@ -188,5 +190,3 @@ Example:
```ini
pmm_log="/var/log/pmm-agent.log"
```

If you change the default log file name, reflect the change in the log rotation rules file `/etc/logrotate.d/pmm-agent-logrotate`.
38 changes: 28 additions & 10 deletions docs/details/dashboards/dashboard-inventory.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,25 +13,39 @@ Inventory objects form a hierarchy with Node at the top, then Service and Agents
The **Services** tab displays the individual services, the nodes on which they run, and the Agents that help collect the service metrics along with the following information:


**Service name** - The name or identifier associated with the service being monitored.
| **Column Name**| **Description**|
|--------------|--------------------------------|
| Service name|The name or identifier associated with the service being monitored.|
| Node name | Name or identifier associated with a specific node.|
| Monitoring status| The **Monitoring** column summarizes the status of all the Agents assigned to the service. |
| Address | The IP address or DNS where the service is currently running. |
| Port | The port number on which the service is running. ||
| Options |* You can check **QAN** information and the **Dashboard** for each service by clicking on the **<image src="../../_images/dots-three-vertical.ico" width="15px" aria-label="triple dots"/>** icon </br> </br> * You can also check additional information about the service, by clicking on the **<image src="../../_images/arrow-downward.ico" width="15px" aria-label="downward arrow"/>** icon. This expands the service entry to show reference information like service labels and IDs.|

**Node Name** - Name or identifier associated with a specific node.

**Monitoring status** - The **Monitoring** column summarizes the status of all the Agents assigned to the service.
![!image](../../_images/PMM_Inventory_Service_Selection.png)

**Address** - The IP address or DNS where the service is currently running.
#### Attributes

**Port** - The port number on which the service is running.
These are some of the atributes for a service:

You can check Query Analytics information and the Service Overview Dashboard for each service by clicking on the <image src="../../_images/dots-three-vertical.ico" width="15px" aria-label="triple dots"/> icon in the **Options** column.
- Each instance of a service gets a `service_type` attribute so one can clearly tell what type of database it is, for instance: `mysql`, `postgresql`, `mongodb`, etc.

From here you can also check additional information about the service, by clicking on the <image src="../../_images/arrow-downward.ico" width="15px" aria-label="downward arrow"/> icon. This expands the service entry to show reference information like service labels and IDs.
- Every service is related to a certain node via its `node_id` attribute. This feature allows to support monitoring of multiple instances on a single node, with different service names, e.g. `mysql1-3306`, and `mysql1-3307`.

![!image](../../_images/PMM_Inventory_Service_Selection.png)
- Starting with PMM 2.41.0, each instance of a service gets a `version` attribute to the response of the endpoint that provides a list of services being monitored by PMM. This makes it easy to visualize the database server version.

However, following are the imitations:

- The version is not captured for the internal PostgreSQL database.
- The version is only captured when a new service is being added to PMM and the agent installed on the client side is equal to or greater than v2.41.0.
- When a database is upgraded, you will not see the database version updated automatically. It will be updated if you remove and then re-add the service.

Each instance of a service gets a `service_type` attribute so one can clearly tell what type of database it is, for instance: `mysql`, `postgresql`, `mongodb`, etc. Every service is related to a certain node via its `node_id` attribute. This feature allows to support multiple instances on a single node, with different service names, e.g. `mysql1-3306`, and `mysql1-3307`.
#### Agents

Each binary (exporter, agent) running on a client will get an `agent_type` value. Examples:
Each binary (exporter, agent) running on a client will get an `agent_type` value.

Example

- `pmm-agent` is at the top of the tree, assigned to PMM Agent itself
- `node_exporter` is assigned to an agent that extracts the node metrics
Expand All @@ -41,6 +55,7 @@ To view the agents running on a service and their health status, click **OK** or

![!image](../../_images/PMM_Inventory_Service_Agent_Properties.png)


#### Node-service relationship

Starting with PMM 2.40.0, you can click on the link in the **Node Name** column to view the node on which a specific service is running and analyze how node-level resource utilization impacts the performance of those services.
Expand Down Expand Up @@ -103,6 +118,9 @@ Click the downward arrow to view cluster details, including the services running

![!image](../../_images/PMM_Inventory_cluster_view_details.png)

Furthermore, you can filter the clusters by criteria such as Cluster name, Status, Service name, Node name, Monitoring, Address, and Port.

![!image](../../_images/PMM_Inventory_cluster_view_filter.png)

### Nodes tab

Expand Down
4 changes: 2 additions & 2 deletions docs/details/pmm_components_and_versions.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ The following table lists all the PMM client/server components and their version
| VictoriaMetrics| 1.93.4 | [VictoriaMetrics Documentation](https://docs.victoriametrics.com/)|[Github VictoriaMetrics](https://github.com/VictoriaMetrics/VictoriaMetrics) |
| Nginx | 1.20.1 | [Nginx Documentation](http://nginx.org/en/docs/)|[Github Nginx](https://github.com/nginx/nginx-releases) |
| Percona Distribution for PostgreSQL | 14.5 | [Percona Distribution for PostgreSQL 14 Documentation](https://www.percona.com/doc/postgresql/LATEST/index.html)| |
| Clickhouse| 21.3.20.1 |[ClickHouse Documentation Documentation](https://clickhouse.com/docs/en/)|[Github ClickHouse](https://github.com/ClickHouse/ClickHouse)|
| Clickhouse| 23.8.2.7 |[ClickHouse Documentation Documentation](https://clickhouse.com/docs/en/)|[Github ClickHouse](https://github.com/ClickHouse/ClickHouse)|
| PerconaToolkit | 3.4.0 | [Percona Toolkit Documentation](https://www.percona.com/doc/percona-toolkit/3.0/index.html)|[Github Percona Toolkit](https://github.com/percona/percona-toolkit)|
| Alertmanager | 0.22.0 | [Alertmanager Documentation](https://prometheus.io/docs/alerting/latest/alertmanager/)|[Github Alertmanager](https://github.com/prometheus/alertmanager)|
| MongoDB exporter | 0.37.0 | |[Github MongoDB Exporter](https://github.com/percona/mongodb_exporter)|
| MySQL exporter| v0.14.0* | [MySQL Server Exporter Documentation](https://grafana.com/oss/prometheus/exporters/mysql-exporter/)|[Github MySQL Server Exporter](https://github.com/percona/mysqld_exporter) |
| PostgreSQL exporter| v0.11.1* | |[Github PostgreSQL Server Exporter](https://github.com/percona/postgres_exporter) |
| PostgreSQL exporter| v0.14.0* | |[Github PostgreSQL Server Exporter](https://github.com/percona/postgres_exporter) |
| RDS exporter | 0.7.2 | |[Github RDS Exporter](https://github.com/percona/rds_exporter)|
| Node exporter | v1.4.0* | [Node Exporter Documentation](https://prometheus.io/docs/guides/node-exporter/)|[Github Node Exporter](https://github.com/percona/node_exporter) |
| Azure exporter| 2.30.0 | | [Github Azure Metrics Exporter](https://github.com/percona/azure_metrics_exporter) |
Expand Down
40 changes: 19 additions & 21 deletions docs/get-started/alerting.md
Original file line number Diff line number Diff line change
Expand Up @@ -181,29 +181,27 @@ Contact points with invalid settings show a **No Attempts** status under <i clas
To use SMTP with a PMM Docker installation:

1. Create an `.env` file and populate it with your SMTP credentials (and other environment variables) as follows:

```
GF_SMTP_ENABLED=true
GF_SMTP_HOST=smtp.gmail.com:587
[email protected]
GF_SMTP_PASSWORD=<YOUR_SMTP_PASSWORD>
GF_SMTP_SKIP_VERIFY=false
[email protected]
GF_SMTP_FROM_NAME=Percona Alerting
```
Below is a summary of each environment variable above:
* `GF_SMTP_ENABLED`: When true, enables Grafana to send emails.
* `GF_SMTP_HOST`: Host address of your SMTP server.
* `GF_SMTP_USER`: Username for SMTP authentication.
* `GF_SMTP_PASSWORD`: Password for SMTP authentication
* `GF_SMTP_SKIP_VERIFY`: When true, verifies SSL for the SMTP server.
* `GF_SMTP_FROM_ADDRESS`: Email address to be used when sending out emails.
* `GF_SMTP_FROM_NAME`: Name to be used when sending out emails.
```
GF_SMTP_ENABLED=true
GF_SMTP_HOST=smtp.gmail.com:587
[email protected]
GF_SMTP_PASSWORD=<YOUR_SMTP_PASSWORD>
GF_SMTP_SKIP_VERIFY=false
[email protected]
GF_SMTP_FROM_NAME=Percona Alerting
```
Below is a summary of each environment variable above:
- `GF_SMTP_ENABLED`: When true, enables Grafana to send emails.
- `GF_SMTP_HOST`: Host address of your SMTP server.
- `GF_SMTP_USER`: Username for SMTP authentication.
- `GF_SMTP_PASSWORD`: Password for SMTP authentication
- `GF_SMTP_SKIP_VERIFY`: When true, verifies SSL for the SMTP server.
- `GF_SMTP_FROM_ADDRESS`: Email address to be used when sending out emails.
- `GF_SMTP_FROM_NAME`: Name to be used when sending out emails.

*NB: If you are using your Gmail’s SMTP credentials as shown above, you will have to generate an app password and fill it in as the value of your $GF_SMTP_PASSWORD variable.*

2. Pass in the `.env` file to Docker run using the `--env-file` flag:

```
docker run --env-file=.env -p 443:443 -p 80:80 percona/pmm-server:2
```
Expand Down Expand Up @@ -343,14 +341,14 @@ After upgrading to PMM 2.31, make sure to manually migrate any alert rules that

The default command for migrating rules is:
```yaml
*python ia_migration.py -u admin -p admin*
python3 ia_migration.py -u admin -p admin
```
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: ```pip install requests```.
- [Requests library](https://requests.readthedocs.io/en/latest/user/install/#install), 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
2 changes: 1 addition & 1 deletion docs/get-started/query-analytics.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The dashboard contains three panels:
- the [Details Panel](#details-panel).

!!! note alert alert-primary ""
Query Analytics data retrieval is not instantaneous and can be delayed due to network conditions. In such situations *no data* is reported and a gap appears in the sparkline.
Query Analytics data retrieval may experience delays due to network conditions. As a result, a small amount of data (up to 1 hour) will be buffered in the memory and reported when the connection is restored.

## Filters Panel

Expand Down
Loading

0 comments on commit abc9255

Please sign in to comment.