Skip to content
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

OH changes for ARM Support #1280

Merged
merged 33 commits into from
Nov 21, 2024
Merged
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
cdcc830
PMM-13020
catalinaadam Jul 5, 2024
bd7cf1e
removed ID
catalinaadam Jul 5, 2024
591472a
Update 3.0.0_Beta.md
catalinaadam Jul 5, 2024
519801e
Update docs/install-pmm/install-pmm-client/connect-database/external.md
catalinaadam Jul 8, 2024
4a167a2
feedback from Alex
catalinaadam Jul 8, 2024
c41a829
Update haproxy.md
catalinaadam Jul 8, 2024
5f6416e
Update proxysql.md
catalinaadam Jul 8, 2024
064aa68
Update pmm-admin.md
catalinaadam Jul 8, 2024
796017b
Update pmm-agent.md
catalinaadam Jul 8, 2024
b946e37
Update pmm-admin.md
catalinaadam Jul 8, 2024
6136802
Update pmm-admin.md
catalinaadam Jul 8, 2024
edb3b87
Update labels.md
catalinaadam Jul 8, 2024
4604549
PMM-8019
catalinaadam Jul 9, 2024
62972fa
PMM-8019, 6722, 12646
catalinaadam Jul 10, 2024
1f37797
reworded
catalinaadam Jul 10, 2024
b20d299
PMM-12376
catalinaadam Jul 10, 2024
cceb8a2
Update docs/release-notes/3.0.0_Beta.md
catalinaadam Jul 11, 2024
2cc2f78
Update docs/release-notes/3.0.0_Beta.md
catalinaadam Jul 11, 2024
bd768b4
Update docs/release-notes/3.0.0_Beta.md
catalinaadam Jul 12, 2024
c95e5f0
Update docs/release-notes/3.0.0_Beta.md
catalinaadam Jul 12, 2024
0eb2f34
Update docs/release-notes/3.0.0_Beta.md
catalinaadam Jul 12, 2024
e12306c
Update docs/release-notes/3.0.0_Beta.md
catalinaadam Jul 12, 2024
68e63a2
Update docs/release-notes/3.0.0_Beta.md
catalinaadam Jul 12, 2024
b4ddc8d
PMM-13159
catalinaadam Jul 12, 2024
2169fc8
Update 3.0.0_Beta.md
catalinaadam Jul 12, 2024
b9d52d6
updated link
catalinaadam Jul 15, 2024
086ad64
fixed link
catalinaadam Jul 15, 2024
0d52361
linked in ToC
catalinaadam Jul 15, 2024
f13ddba
Merge branch 'ARM_support' of https://github.com/percona/pmm-doc into…
catalinaadam Jul 19, 2024
856dc97
Update hardware_and_system.md
catalinaadam Jul 25, 2024
82ded2c
Update docs/install-pmm/index.md
catalinaadam Jul 29, 2024
3b5c745
feedback from Nurlan
catalinaadam Jul 29, 2024
192a084
Merge remote-tracking branch 'origin/PMM3-branch' into ARM_Support22
catalinaadam Nov 21, 2024
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
26 changes: 17 additions & 9 deletions docs/install-pmm/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,11 @@

## Install PMM Server

Install and run at least one PMM Server.
Install and run at least one PMM Server. Choose from the following options:

!!! summary alert alert-info "ARM support"
PMM Server is not currently available as a native ARM64 build. For ARM-based systems, consider using the Docker or Podman installation methods, which can run x86_64 images via emulation on ARM platforms.

Choose from:

| Use | <i class="uil uil-thumbs-up"></i> **Benefits** | <i class="uil uil-thumbs-down"></i> **Drawbacks**|
|---|---|---
Expand All @@ -23,16 +25,22 @@ Choose from:

## Install PMM Client

Install and run PMM Client on every node where there is a service you want to monitor.
Install and run PMM Client on every node where there is a service you want to monitor. PMM Client now supports both x86_64 and ARM64 architectures.

The installation choices are:

=== "With Docker"

[Docker installation](client/index.md#docker) simplifies deployment across different architectures and automatically selects the appropriate image for your architecture (x86_64 or ARM64).=p][\;]

=== "Native installation"

The choices are:
- [Linux package](client/index.md#package-manager). Use `apt`, `apt-get`, `dnf`, `yum`. The package manager automatically selects the correct version for your architecture.

- With [Docker](client/index.md#docker);
- Natively, installed from:
- [Linux package](client/index.md#package-manager) (installed with `apt`, `apt-get`, `dnf`, `yum`);
- [Binary package](client/index.md#binary-package) (a downloaded `.tar.gz` file).
- [Binary package](client/index.md#binary-packa): Download the appropriate `.tar.gz` file for your architecture (x86_64 or ARM64).

!!! hint alert "Binary is only way to install PMM client without root permissions"
!!! hint alert "Tips"
Both binary installation and Docker containers can be run without root permissions. When installing on ARM-based systems, ensure you're using ARM64-compatible versions. Performance may vary between architectures.

## Add services

Expand Down
57 changes: 35 additions & 22 deletions docs/install-pmm/install-pmm-client/binary_package.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,35 @@ To install PMM client with **binary** package, do the following:

1. Download the PMM Client package:

```sh
wget https://downloads.percona.com/downloads/pmm2/{{release}}/binary/tarball/pmm2-client-{{release}}.tar.gz
```
=== "For x86_64 systems"

```sh
wget https://downloads.percona.com/downloads/pmm2/{{release}}/binary/tarball/pmm2-client-{{release}}.tar.gz
```

=== "For ARM64 systems"

```wget https://downloads.percona.com/downloads/pmm2/{{release}}/binary/tarball/pmm2-client-{{release}}-linux-arm64.tar.gz
```

2. Download the PMM Client package checksum file:

```sh
wget https://downloads.percona.com/downloads/pmm2/{{release}}/binary/tarball/pmm2-client-{{release}}.tar.gz.sha256sum
```
=== "For x86_64 systems"
```sh
wget https://downloads.percona.com/downloads/pmm2/{{release}}/binary/tarball/pmm2-client-{{release}}.tar.gz.sha256sum
```
=== "For ARM64 systems"

3. Verify the download.
```wget https://downloads.percona.com/downloads/pmm2/{{release}}/binary/tarball/pmm2-client-{{release}}-linux-arm64.tar.gz.sha256sum
```

3. Verify the download:

```sh
sha256sum -c pmm2-client-{{release}}.tar.gz.sha256sum
```

4. Unpack the package and move into the directory.
4. Unpack the package and move into the directory:

```sh
tar xfz pmm2-client-{{release}}.tar.gz && cd pmm2-client-{{release}}
Expand All @@ -40,43 +52,44 @@ To install PMM client with **binary** package, do the following:
export PMM_DIR=/usr/local/percona/pmm2
```

6. Run the installer.
6. Run the installer:

!!! hint "Root permissions (if you skipped step 5 for non root users)"
```sh
./install_tarball
```

7. Change the path.
7. Change the path:

```sh
PATH=$PATH:$PMM_DIR/bin
```

8. Set up the agent (pick the command for you depending on permissions)
8. Set up the agent (pick the command for you depending on permissions):

=== "Root permissions"

!!! hint "Root permissions"
```sh
pmm-agent setup --config-file=/usr/local/percona/pmm2/config/pmm-agent.yaml --server-address=192.168.1.123 --server-insecure-tls --server-username=admin --server-password=admin
```
```sh
pmm-agent setup --config-file=/usr/local/percona/pmm2/config/pmm-agent.yaml --server-address=192.168.1.123 --server-insecure-tls --server-username=admin --server-password=admin
```
=== "Non root users"

!!! caution alert alert-warning "Non root users"
```sh
pmm-agent setup --config-file=${PMM_DIR}/config/pmm-agent.yaml --server-address=192.168.1.123 --server-insecure-tls --server-username=admin --server-password=admin --paths-tempdir=${PMM_DIR}/tmp --paths-base=${PMM_DIR}
```
```sh
pmm-agent setup --config-file=${PMM_DIR}/config/pmm-agent.yaml --server-address=192.168.1.123 --server-insecure-tls --server-username=admin --server-password=admin --paths-tempdir=${PMM_DIR}/tmp --paths-base=${PMM_DIR}
```

9. Run the agent.
9. Run the agent:

```sh
pmm-agent --config-file=${PMM_DIR}/config/pmm-agent.yaml
```

10. Open a new terminal and check.
10. Open a new terminal and check:

```sh
pmm-admin status
```

!!! hint alert alert-success "Tips"
- Download tar.gz with pmm2-client.
- Extract it.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ For more details see <https://prometheus.io/docs/instrumenting/writing_exporters
```sh
root@mysql1:~# pmm-admin add external --group=processes --listen-port=9256
External Service added.
Service ID : /service_id/6485f4fd-745b-4dfb-8b72-328e300f8b50
Service ID : 6485f4fd-745b-4dfb-8b72-328e300f8b50
Service name: mysql1-processes
Group : processes
```
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ The output of this command should look as follows:

```txt
HAProxy Service added.
Service ID : /service_id/c481183f-70a2-443f-91e5-cae5cecd06a2
Service ID : c481183f-70a2-443f-91e5-cae5cecd06a2
Service name: Ubuntu-haproxy
```

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ pmm-admin add proxysql --username=pmm --password=pmm

```text
ProxySQL Service added.
Service ID : /service_id/f69df379-6584-4db5-a896-f35ae8c97573
Service ID : f69df379-6584-4db5-a896-f35ae8c97573
Service name: ubuntu-proxysql
```

Expand Down
13 changes: 7 additions & 6 deletions docs/install-pmm/install-pmm-client/docker.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
# Run PMM client as a Docker container

The [PMM Client Docker image](https://hub.docker.com/r/percona/pmm-client/tags/) is a convenient way to run PMM Client as a preconfigured [Docker](https://docs.docker.com/get-docker/) container.
The [PMM Client Docker image](https://hub.docker.com/r/percona/pmm-client/tags/) is a convenient way to run PMM Client as a preconfigured [Docker](https://docs.docker.com/get-docker/) container.

The PMM Client Docker image is available for both x86_64 and ARM64 architectures. Docker will automatically pull the correct image for your system architecture.
{.power-number}

1. Pull the PMM Client docker image.
1. Pull the PMM Client Docker image:

```sh
docker pull \
percona/pmm-client:2
```

2. Use the image as a template to create a persistent data store that preserves local data when the image is updated.
2. Use the image as a template to create a persistent data store that preserves local data when the image is updated:

```sh
docker create \
Expand Down Expand Up @@ -38,7 +40,7 @@ The [PMM Client Docker image](https://hub.docker.com/r/percona/pmm-client/tags/)
!!! hint alert-success "Tips"
You can find a complete list of compatible environment variables [here](../../use/commands/pmm-agent.md).

4. Check status.
3. Check status.

```sh
docker exec pmm-client \
Expand All @@ -53,8 +55,7 @@ You can now add services with [`pmm-admin`](../../use/commands/pmm-admin.md) by
- Adjust host firewall and routing rules to allow Docker communications. ([Read more](../../troubleshoot/checklist.md)
- For help: `docker run --rm percona/pmm-client:2 --help`


In the GUI.
In the GUI:

- Select {{icon.dashboards}} *PMM Dashboards* → {{icon.node}} *System (Node)* → {{icon.node}} *Node Overview*.
- In the *Node Names* menu, select the new node.
Expand Down
2 changes: 1 addition & 1 deletion docs/install-pmm/install-pmm-client/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ There are different ways to install PMM Client on a node and register it with PM
- On Debian or Red Hat, download `.deb`/`.rpm` PMM Client packages and manually install them.

!!! hint alert "Binary is only way to install PMM client without root permissions"
- [Binary package](binary_package.md): For other Linux distributions, download and unpack generic PMM Client Linux binaries.
- [Binary package](binary_package.md): For other Linux distributions, download and unpack generic PMM Client Linux binaries. Ensure you choose the correct package for your architecture (x86_64 or ARM64).

When you have installed PMM Client, you must:

Expand Down
4 changes: 3 additions & 1 deletion docs/install-pmm/install-pmm-client/package_manager.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Install PMM client with Percona repositories

PMM Client supports both x86_64 and ARM64 architectures.
On Debian or Red Hat Linux, install `percona-release` and use a Linux package manager (`apt`/`dnf`) to install PMM Client.
The package manager will automatically select the appropriate version for your system architecture.

!!! hint alert alert-success "Tip"
If you have used `percona-release` before, disable and re-enable the repository:
Expand Down Expand Up @@ -66,7 +68,7 @@ To manually download package manager:

1. Visit the [Percona Monitoring and Management 2 download](https://www.percona.com/downloads/pmm2/) page.
2. Under *Version:*, select the one you want (usually the latest).
3. Under *Software:*, select the item matching your software platform.
3. Under *Software:*, select the item matching your software platform and architecture (x86_64 or ARM64).
4. Click to download the package file:

- For Debian, Ubuntu: `.deb`
Expand Down
2 changes: 1 addition & 1 deletion docs/install-pmm/install-pmm-client/prerequisites.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ The prerequisites to install PMM client are:

5. If you use it, install [Docker](https://docs.docker.com/get-docker/).

6. Check system [requirements](../../plan-pmm-installation/hardware_and_system.md#client-requirements).
6. Check [system requirements](../plan-pmm-installation/hardware_and_system.md#client-requirements).
14 changes: 12 additions & 2 deletions docs/install-pmm/plan-pmm-installation/hardware_and_system.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@

* **Architecture**

Your CPU must support the [`SSE4.2`](https://wikipedia.org/wiki/SSE4#SSE4.2) instruction set, a requirement of ClickHouse, a third-party column-oriented database used by Query Analytics. If your CPU is lacking this instruction set you won't be able to use Query Analytics.
- Your CPU must support the [`SSE4.2`](https://wikipedia.org/wiki/SSE4#SSE4.2) instruction set, a requirement of ClickHouse, a third-party column-oriented database used by Query Analytics. If your CPU is lacking this instruction set you won't be able to use Query Analytics.
- For ARM64 systems, ensure you're using a supported ARM64 architecture (e.g., ARMv8). Note that some features may have different performance characteristics on ARM compared to x86_64 systems.

## Client requirements

Expand All @@ -25,4 +26,13 @@

* **Operating system**

PMM Client runs on any modern 64-bit Linux distribution. It is tested on supported versions of Debian, Ubuntu, CentOS, and Red Hat Enterprise Linux. (See [Percona software support life cycle](https://www.percona.com/services/policies/percona-software-support-lifecycle#pt)).
PMM Client runs on any modern 64-bit Linux distribution, including ARM-based systems. It is tested on supported versions of Debian, Ubuntu, CentOS, and Red Hat Enterprise Linux, on both x86_64 and ARM64 architectures. See [Percona software support life cycle](https://www.percona.com/services/policies/percona-software-support-lifecycle#pt).


### ARM-specific considerations

- **Docker**: If using Docker for PMM Client on ARM systems, ensure you're using the ARM64-compatible Docker images.
- **Performance**: Performance may vary across different ARM implementations. Conduct thorough testing to ensure optimal performance in your environment.
- **Compatibility**: Ensure you're using ARM-compatible versions of any additional software or databases you're monitoring with PMM.
- **PMM Server**: PMM Server is not currently available as a native ARM64 build. For ARM-based systems, consider using the Docker or Podman installation methods, which can run x86_64 images via emulation on ARM platforms.
- **Resource usage**: Monitor resource usage closely on ARM systems, as it may differ from x86_64 systems. Adjust your configuration as needed for optimal performance.
4 changes: 2 additions & 2 deletions docs/pmm-admin/roles/access-control/labels.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ PMM supports standard as well as custom labels. PMM automatically assigns standa

| **Label Type**| **Object**| **Label name **| **Example** |
|----------|--------|-------|------------------------------|
| **Standard** | Node | node_id |/node_id/123|
| **Standard** | Node | node_id |123|
| | Service|service_type | - mysql, mongodb, postgresql etc.
| **Custom**| Node, Service, Agent| Any string matching regular expression: <br /> [a-zA-Z_][a-zA-Z0-9_]*. <br /> Also, it cannot start with two underscores.| owner="joe"<br/> _rack="12345"|

Expand All @@ -38,4 +38,4 @@ To set the labels using the user interface:

### Using pmm-admin

You can also assign labels using [pmm-admin](../../../use/commands/pmm-admin.md).
You can also assign labels using [pmm-admin](../../../use/commands/pmm-admin.md).
Loading
Loading