Skip to content

Commit d937632

Browse files
authored
Merge pull request #313229 from Xelu86/conlinuxprov
[Update] Configure Linux provider for Azure Monitor for SAP solutions
2 parents cfba4f9 + 2018ec1 commit d937632

1 file changed

Lines changed: 72 additions & 76 deletions

File tree

articles/sap/monitor/provider-linux.md

Lines changed: 72 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -6,113 +6,107 @@ 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+
## Set up the node exporter using a script
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.
33-
34-
1. Run `tar xvfz node_exporter-<xxx>.linux-amd64.tar.gz`
35-
36-
1. Run `cd node_exporter-<xxx>linux-amd64`
37-
38-
1. Run `./node_exporter`.
39-
40-
1. Run `./node_exporter --web.listen-address=":9100" &`
4133

42-
1. The node exporter now starts collecting data. You can export the data at `http://<ip>:9100/metrics`.
34+
1. Run:
4335

44-
## Script to set up the node exporter
36+
```bash
37+
# Replace "xxx" with the version number
4538

46-
```shell
47-
# 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
49-
# Change to the directory where you want to install the node exporter.
39+
wget https://github.com/prometheus/node_exporter/releases/download/v<xxx>/node_exporter-<xxx>.linux-amd64.tar.gz
40+
tar xzvf node_exporter-<xxx>.linux-amd64.tar.gz
41+
cd node_exporter-<xxx>.linux-amd64
42+
nohup ./node_exporter --web.listen-address=":9100" &
43+
```
5044

51-
wget https://github.com/prometheus/node_exporter/releases/download/v<xxx>/node_exporter-<xxx>.linux-amd64.tar.gz
52-
tar xzvf node_exporter-<xxx>.linux-amd64.tar.gz
53-
cd node_exporter-<xxx>linux-amd64
54-
nohup ./node_exporter --web.listen-address=":9100" &
55-
```
45+
The node exporter now starts collecting data. You can export the data at `http://<ip>:9100/metrics`.
5646

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

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

6252
> [!NOTE]
63-
> Replace this `xxxx` with the version of node exporter. For example, `1.6.1`.
64-
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-
```
53+
> Replace `<xxx>` with the version of node exporter. For example, `1.6.1`.
54+
55+
```bash
56+
# Change to the directory where node exporter bits are downloaded and copy the node_exporter folder to path /usr/bin
57+
sudo mv node_exporter-<xxxx>.linux-amd64 /usr/bin
58+
59+
# Create a node_exporter as a service file under etc/systemd/system
60+
sudo tee /etc/systemd/system/node_exporter.service<<EOF
61+
[Unit]
62+
Description=Node Exporter
63+
After=network.target
64+
[Service]
65+
Type=simple
66+
Restart=always
67+
ExecStart=/usr/bin/node_exporter-<xxxx>.linux-amd64/node_exporter $ARGS
68+
ExecReload=/bin/kill -HUP $MAINPID
69+
[Install]
70+
WantedBy=multi-user.target
71+
EOF
72+
73+
# Reload the system daemon and start the node exporter service.
74+
sudo systemctl daemon-reload
75+
sudo systemctl start node_exporter
76+
sudo systemctl enable node_exporter
77+
78+
# Check the status of node exporter if it is running in active(running) state.
79+
sudo systemctl status node_exporter
80+
81+
# To test the node exporter running as a service
82+
# NOTE - Downtime impacts the Business application running on VM
83+
# Crash/Re-start the Virtual Machine, login back into VM and check node exporter status to be active(running)
84+
sudo systemctl status node_exporter
85+
```
9586
9687
## Prerequisites to enable secure communication
9788
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/).
89+
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/).
9990
100-
## Create Linux OS provider
91+
## Create a Linux OS provider
10192
10293
1. Sign in to the [Azure portal](https://portal.azure.com).
10394
1. Go to the Azure Monitor for SAP solutions.
10495
1. Select **Create** to make a new Azure Monitor for SAP solutions resource.
10596
1. Select **Add provider**.
10697
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.
98+
99+
1. For **Type**, select **OS (Linux)**.
100+
1. For **Name**, enter a unique name of the provider.
101+
1. (Optional) Select **Enable secure communication**, choose a certificate type.
102+
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.
103+
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.
104+
112105
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.
106+
1. If you're using `firewall-cmd`, run `_firewall-cmd_ _--permanent_ _--add-port=9100/tcp_ ` and then run `_firewall-cmd_ _--reload_`.
107+
1. If you're using `ufw`, run `_ufw_ _allow_ _9100/tcp_` and then run `_ufw_ _reload_`.
108+
109+
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.
116110
1. Select **Add provider** to save your changes.
117111
1. Continue to add more providers as needed.
118112
1. Select **Review + create** to review the settings.
@@ -126,20 +120,22 @@ Use these steps to resolve common errors.
126120
127121
When the provider settings validation operation fails with the code `PrometheusURLConnectionFailure`:
128122
129-
1. Check the default port 9100 or custom port that is configured for node exporter is open and listening on the Linux host.
123+
1. Check the default port **9100** or custom port that is configured for node exporter is open and listening on the Linux host.
130124
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.
125+
126+
1. Go to the folder where you installed the node exporter (the file name resembles `node_exporter-<xxxx>-amd64`).
127+
1. Run `./node_exporter`.
128+
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.
129+
134130
1. Verify that the Prometheus endpoint is reachable from the subnet that you provided when you created the Azure Monitor for SAP solutions resource.
135131
136132
## Suggestion
137133
138-
Use this suggestion for troubleshooting
134+
Use this suggestion for troubleshooting.
139135
140136
### Enable the node exporter
141137
142-
1. Run the `nohup ./node_exporter &` command to enable `node_exporter`.
138+
1. To enable `node_exporter`, run the `nohup ./node_exporter &` command.
143139
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.
144140
145141
## Next steps

0 commit comments

Comments
 (0)