Skip to content

Commit 9d28004

Browse files
committed
Freshness
1 parent ea7ebe3 commit 9d28004

1 file changed

Lines changed: 75 additions & 63 deletions

File tree

articles/sap/monitor/provider-linux.md

Lines changed: 75 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -6,46 +6,52 @@ ms.service: sap-on-azure
66
ms.subservice: sap-monitor
77
ms.custom: linux-related-content
88
ms.topic: how-to
9-
ms.date: 08/22/2024
9+
ms.date: 03/16/2026
1010
ms.author: jacobjaygbay
1111
#Customer intent: As a developer, I want to configure a Linux provider so that I can use Azure Monitor for SAP solutions for monitoring.
1212
# Customer intent: "As a system administrator, I want to configure a Linux OS provider for Azure Monitor for SAP solutions, so that I can effectively monitor the performance and health of my SAP environment on Azure."
1313
---
14+
1415
# Configure Linux provider for Azure Monitor for SAP solutions
1516

16-
In this how-to guide, you learn how to create a Linux OS provider for Azure Monitor for SAP solutions resources.
17+
In this how-to guide, you learn how to create a Linux operating system (OS) provider for Azure Monitor for SAP solutions resources.
1718

1819
## Prerequisites
1920

2021
- An Azure subscription.
2122
- An existing Azure Monitor for SAP solutions resource. To create an Azure Monitor for SAP solutions resource, see the [quickstart for the Azure portal](quickstart-portal.md) or the [quickstart for PowerShell](quickstart-powershell.md).
22-
- Install the [node exporter latest version](https://prometheus.io/download/#node_exporter) in each SAP host that you want to monitor, either BareMetal or Azure virtual machine (VM). For more information, see the [node exporter GitHub repository](https://github.com/prometheus/node_exporter).
23-
- Node exporter uses the default port 9100 to expose the metrics. If you want to use a custom port, make sure to open the port in the firewall and use the same port while creating the provider.
24-
- Default port 9100 or custom port that is configured for node exporter should be open and listening on the Linux host.
23+
- Install the [node exporter](https://prometheus.io/download/#node_exporter) latest version in each SAP host that you want to monitor, either BareMetal or Azure virtual machine (VM). For more information, see the [node exporter GitHub repository](https://github.com/prometheus/node_exporter).
24+
- Node exporter uses the default port **9100** to expose the metrics. If you want to use a custom port, make sure to open the port in the firewall and use the same port while creating the provider.
25+
- Default port **9100** or custom port that is configured for node exporter should be open and listening on the Linux host.
2526

26-
To install the node exporter on Linux:
27+
## Install node exporter on Linux
2728

28-
Right click on the relevant node exporter version for linux from https://prometheus.io/download/#node_exporter and copy the link address to be used in the following command.
29+
1. Right-click on the relevant node exporter version for linux from https://prometheus.io/download/#node_exporter and copy the link address to be used in the following command.
2930
For example, https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
3031

3132
1. Change to the directory where you want to install the node exporter.
32-
1. Run `wget https://github.com/prometheus/node_exporter/releases/download/v<xxx>/node_exporter-<xxx>.linux-amd64.tar.gz`. Replace `xxx` with the version number.
3333

34-
1. Run `tar xvfz node_exporter-<xxx>.linux-amd64.tar.gz`
34+
1. Run:
35+
36+
```bash
37+
# Replace "xxx" with the version number
3538

36-
1. Run `cd node_exporter-<xxx>linux-amd64`
39+
wget https://github.com/prometheus/node_exporter/releases/download/v<xxx>/node_exporter-<xxx>.linux-amd64.tar.gz
3740

38-
1. Run `./node_exporter`.
41+
tar xvfz node_exporter-<xxx>.linux-amd64.tar.gz
3942

40-
1. Run `./node_exporter --web.listen-address=":9100" &`
43+
cd node_exporter-<xxx>.linux-amd64
4144

42-
1. The node exporter now starts collecting data. You can export the data at `http://<ip>:9100/metrics`.
45+
./node_exporter --web.listen-address=":9100" &
46+
```
4347

44-
## Script to set up the node exporter
48+
The node exporter now starts collecting data. You can export the data at `http://<ip>:9100/metrics`.
4549

46-
```shell
50+
## Set up the node exporter using a script
51+
52+
```bash
4753
# To get the latest node exporter version from: https://prometheus.io/download/#node_exporter
48-
# Right click on the linux node exporter version and copy the link address which will be used in the below command. For example - https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
54+
# Right-click on the linux node exporter version and copy the link address which will be used in the below command. For example - https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
4955
# Change to the directory where you want to install the node exporter.
5056

5157
wget https://github.com/prometheus/node_exporter/releases/download/v<xxx>/node_exporter-<xxx>.linux-amd64.tar.gz
@@ -54,65 +60,69 @@ cd node_exporter-<xxx>linux-amd64
5460
nohup ./node_exporter --web.listen-address=":9100" &
5561
```
5662

57-
### Set up a systemctl service to start node exporter on a Virtual Machine restart
63+
### Set up a systemctl service to start node exporter on a VM restart
5864

5965
1. If the target VM is restarted or stopped, node exporter service is stopped. It must be manually started again to continue monitoring.
6066
1. Run the below commands to enable node exporter to run as a service.
6167

6268
> [!NOTE]
6369
> Replace this `xxxx` with the version of node exporter. For example, `1.6.1`.
6470
65-
```shell
66-
# Change to the directory where node exporter bits are downloaded and copy the node_exporter folder to path /usr/bin
67-
sudo mv node_exporter-<xxxx>.linux-amd64 /usr/bin
68-
# Create a node_exporter as a service file under etc/systemd/system
69-
sudo tee /etc/systemd/system/node_exporter.service<<EOF
70-
[Unit]
71-
Description=Node Exporter
72-
After=network.target
73-
[Service]
74-
Type=simple
75-
Restart=always
76-
ExecStart=/usr/bin/node_exporter-<xxxx>.linux-amd64/node_exporter $ARGS
77-
ExecReload=/bin/kill -HUP $MAINPID
78-
[Install]
79-
WantedBy=multi-user.target
80-
EOF
81-
# Reload the system daemon and start the node exporter service.
82-
83-
sudo systemctl daemon-reload
84-
sudo systemctl start node_exporter
85-
sudo systemctl enable node_exporter
86-
87-
# Check the status of node exporter if it is running in active(running) state.
88-
sudo systemctl status node_exporter
89-
90-
# To test the node exporter running as a service
91-
# NOTE - Downtime impacts the Business application running on VM
92-
# Crash/Re-start the Virtual Machine, login back into VM and check node exporter status to be active(running)
93-
sudo systemctl status node_exporter
94-
```
71+
```bash
72+
# Change to the directory where node exporter bits are downloaded and copy the node_exporter folder to path /usr/bin
73+
sudo mv node_exporter-<xxxx>.linux-amd64 /usr/bin
74+
75+
# Create a node_exporter as a service file under etc/systemd/system
76+
sudo tee /etc/systemd/system/node_exporter.service<<EOF
77+
[Unit]
78+
Description=Node Exporter
79+
After=network.target
80+
[Service]
81+
Type=simple
82+
Restart=always
83+
ExecStart=/usr/bin/node_exporter-<xxxx>.linux-amd64/node_exporter $ARGS
84+
ExecReload=/bin/kill -HUP $MAINPID
85+
[Install]
86+
WantedBy=multi-user.target
87+
EOF
88+
89+
# Reload the system daemon and start the node exporter service.
90+
sudo systemctl daemon-reload
91+
sudo systemctl start node_exporter
92+
sudo systemctl enable node_exporter
93+
94+
# Check the status of node exporter if it is running in active(running) state.
95+
sudo systemctl status node_exporter
96+
97+
# To test the node exporter running as a service
98+
# NOTE - Downtime impacts the Business application running on VM
99+
# Crash/Re-start the Virtual Machine, login back into VM and check node exporter status to be active(running)
100+
sudo systemctl status node_exporter
101+
```
95102
96103
## Prerequisites to enable secure communication
97104
98-
To [enable TLS 1.2 or higher](enable-tls-azure-monitor-sap-solutions.md), follow the steps in [this article](https://prometheus.io/docs/guides/tls-encryption/).
105+
To [enable TLS 1.2 or higher](enable-tls-azure-monitor-sap-solutions.md), follow the steps in [Securing Prometheus API and UI endpoints using TLS encryption](https://prometheus.io/docs/guides/tls-encryption/).
99106
100-
## Create Linux OS provider
107+
## Create a Linux OS provider
101108
102109
1. Sign in to the [Azure portal](https://portal.azure.com).
103110
1. Go to the Azure Monitor for SAP solutions.
104111
1. Select **Create** to make a new Azure Monitor for SAP solutions resource.
105112
1. Select **Add provider**.
106113
1. Configure the following settings for the new provider:
107-
1. For **Type**, select **OS (Linux)**.
108-
1. For **Name**, enter a unique name of the provider.
109-
1. (Optional) Select **Enable secure communication**, choose a certificate type.
110-
1. For **Node Exporter Endpoint**, enter `http://IP:9100/metrics` if default port 9100 is used. If a custom port is used, enter `http://IP:PORT/metrics`. Replace `IP` with the IP address of the Linux host and `PORT` with the custom port number.
111-
1. For the IP address, use the private IP address of the Linux host. Make sure the host and Azure Monitor for SAP solutions resource are in the same virtual network.
114+
115+
1. For **Type**, select **OS (Linux)**.
116+
1. For **Name**, enter a unique name of the provider.
117+
1. (Optional) Select **Enable secure communication**, choose a certificate type.
118+
1. For **Node Exporter Endpoint**, enter `http://IP:9100/metrics` if default port **9100** is used. If a custom port is used, enter `http://IP:PORT/metrics`. Replace `IP` with the IP address of the Linux host and `PORT` with the custom port number.
119+
1. For the IP address, use the private IP address of the Linux host. Make sure the host and Azure Monitor for SAP solutions resource are in the same virtual network.
120+
112121
1. Open firewall port 9100 on the Linux host.
113-
1. If you're using `firewall-cmd`, run `_firewall-cmd_ _--permanent_ _--add-port=9100/tcp_ ` and then run `_firewall-cmd_ _--reload_`.
114-
1. If you're using `ufw`, run `_ufw_ _allow_ _9100/tcp_` and then run `_ufw_ _reload_`.
115-
1. If the Linux host is an Azure VM, make sure that all applicable network security groups allow inbound traffic at port 9100 from **VirtualNetwork** as the source.
122+
1. If you're using `firewall-cmd`, run `_firewall-cmd_ _--permanent_ _--add-port=9100/tcp_ ` and then run `_firewall-cmd_ _--reload_`.
123+
1. If you're using `ufw`, run `_ufw_ _allow_ _9100/tcp_` and then run `_ufw_ _reload_`.
124+
125+
1. If the Linux host is an Azure VM, make sure that all applicable network security groups allow inbound traffic at port **9100** from **VirtualNetwork** as the source.
116126
1. Select **Add provider** to save your changes.
117127
1. Continue to add more providers as needed.
118128
1. Select **Review + create** to review the settings.
@@ -126,20 +136,22 @@ Use these steps to resolve common errors.
126136
127137
When the provider settings validation operation fails with the code `PrometheusURLConnectionFailure`:
128138
129-
1. Check the default port 9100 or custom port that is configured for node exporter is open and listening on the Linux host.
139+
1. Check the default port **9100** or custom port that is configured for node exporter is open and listening on the Linux host.
130140
1. Try to restart the node exporter agent:
131-
1. Go to the folder where you installed the node exporter (the file name resembles `node_exporter-<xxxx>-amd64`).
132-
1. Run `./node_exporter`.
133-
1. Run `nohup ./node_exporter &` command to enable node_exporter. Adding nohup and & to the previous command decouples the node_exporter from the linux machine commandline. If not included, the node_exporter stops when the commandline is closed.
141+
142+
1. Go to the folder where you installed the node exporter (the file name resembles `node_exporter-<xxxx>-amd64`).
143+
1. Run `./node_exporter`.
144+
1. To enable `node_exporter`, run the `nohup ./node_exporter &` command. Adding `nohup` and & to the previous command decouples the `node_exporter` from the linux machine command line. If not included, the `node_exporter` stops when the command line is closed.
145+
134146
1. Verify that the Prometheus endpoint is reachable from the subnet that you provided when you created the Azure Monitor for SAP solutions resource.
135147
136148
## Suggestion
137149
138-
Use this suggestion for troubleshooting
150+
Use this suggestion for troubleshooting.
139151
140152
### Enable the node exporter
141153
142-
1. Run the `nohup ./node_exporter &` command to enable `node_exporter`.
154+
1. To enable `node_exporter`, run the `nohup ./node_exporter &` command.
143155
1. Adding `nohup` and `&` to the preceding command decouples `node_exporter` from the Linux machine command line. If they're not included, `node_exporter` stops when the command line is closed.
144156
145157
## Next steps

0 commit comments

Comments
 (0)