AMD EPYC 9354 Servers —from €299/month or €0.42/hour ⭐ 32 cores 3.25GHz / 768GB RAM / 2x3.84TB NVMe / 10Gbps 100TB
EN
Currency:
EUR – €
Choose a currency
  • Euro EUR – €
  • United States dollar USD – $
VAT:
OT 0%
Choose your country (VAT)
  • OT All others 0%

31.10.2022

Monitoring Linux Services with Prometheus

server one
HOSTKEY
Rent dedicated and virtual servers with instant deployment in reliable TIER III class data centers in the Netherlands and the USA. Free protection against DDoS attacks included, and your server will be ready for work in as little as 15 minutes. 24/7 Customer Support.

Author: Senior Devops. Hostkey Lead Infrastructure Specialist Nikita Zubarev

In the last article we talked about how to set up metric collection and the display alerts to monitor services using Prometheus. However, during the process, the question arose of how to monitor individual services on Linux servers. For example, in one of our previous articles, we described the case of using Ovirt web consoles using Apache Guacamole. Now let's look at how to organize the monitoring of services on Linux machines.

Guacamole is a cross-platform remote desktop gateway that requires Apache Tomcat and Guacd to run.

Open the service created for node_exporter:

/usr/lib/systemd/system/node_exporter.service

[Unit]

Description=Prometheus exporter for machine metrics, written in Go with pluggable metric collectors.
Documentation=https://github.com/prometheus/node_exporter
After=network.target


[Service]

EnvironmentFile=-/etc/default/node_exporter
User=root
ExecStart=/usr/bin/node_exporter $NODE_EXPORTER_OPTS
Restart=on-failure
RestartSec=5s

[Install]

WantedBy=multi-user.target

by default, $NODE_EXPORTER_OPTS is loaded from the file:
# /etc/default/node_exporter


If necessary, we can either monitor individual services by adding the collector.systemd.unit-whitelist option:

#NODE_EXPORTER_OPTS="--collector.systemd --collector.systemd.unit-whitelist="(tomcat|guacd).service""

After restarting the service, we get the metric on node_exporter:

All you need to do is describe the rule for the alert:

- alert: guacd_service
	expr: node_systemd_unit_state{name="guacd.service",state="active"} == 0
	for: 1s
	annotations:
		summary: "Instance {{ $labels.instance }} is down"
		description: "{{ $labels.instance }} of job {{ $labels.job }} is down."
- alert: tomcat_service
	expr: node_systemd_unit_state{name="tomcat.service",state="active"} == 0
	for: 1s
	annotations:
		summary: "Instance {{ $labels.instance }} is down"
		description: "{{ $labels.instance }} of job {{ $labels.job }} is down."

An example of an alert on the Alertmanager dashboard in Grafana:

Conclusions

In this short article, we looked at how services are monitored on Linux machines.This solution allows you to monitor the work of any system server and greatly simplifies the administration of server hardware. In the next article, we will explain how you should not display the basic parameters that the exporter returns.

Rent dedicated and virtual servers with instant deployment in reliable TIER III class data centers in the Netherlands and the USA. Free protection against DDoS attacks included, and your server will be ready for work in as little as 15 minutes. 24/7 Customer Support.

Other articles

09.08.2026

NVIDIA RTX PRO 5000 Blackwell with 72 GB VRAM: Is the "Half-Flagship" Worth the Premium?

RTX PRO 5000 Blackwell 72 GB: The sweet spot for local AI workloads or an overpriced upgrade? Find out in our deep dive.

08.08.2026

Top 10 WordPress Plugins for Online Stores in 2026

Which plugin should you choose for a WordPress online store in 2026? This article compares 10 popular solutions for physical goods, digital products, subscriptions, and payments — from WooCommerce to Ecwid and WP Simple Pay.

08.08.2026

Building Our Own Programming Language Ranking Using GitHub Data in Anaconda and JupyterLab

We didn't argue with TIOBE or RedMonk — we built our own programming language ranking from GitHub data. The 2024–2025 numbers hold a few surprises: JavaScript leads, TypeScript surges, and Rust and Go win on project quality. We break down what's behind the numbers and where the distortions live.

08.08.2026

How to Revive Internal Documentation: An ONLYOFFICE Workspace Case Study

Documentation dies not because employees are lazy, but because it is inconvenient to use and people stop trusting it. We look at the "two pillars" of a good knowledge base: usability and control over how current it is. Using ONLYOFFICE Workspace as an example, we show how to turn chaos into a working process with templates, role-based access and review discipline.

31.07.2026

Large Models and the Cost per Million Tokens

Are Chinese models actually cheaper, or is it a trap? Learn how to avoid overpaying for tokens and why list prices don't tell the whole story regarding AI expenditures.

Upload