Operations 8 min read

Deploy Nightingale Monitoring Platform with Docker and Grafana – A Complete Guide

This tutorial walks through installing the open‑source Nightingale monitoring system using Docker, configuring its components, adding node agents, integrating with Grafana, and setting up alerting, providing all commands, configuration files, and screenshots needed for a production‑ready deployment.

Liangxu Linux
Liangxu Linux
Liangxu Linux
Deploy Nightingale Monitoring Platform with Docker and Grafana – A Complete Guide

Overview

Night​ingale is an open‑source, distributed, high‑availability monitoring platform originally released by Didi. It can monitor traditional physical/virtual machines as well as Kubernetes containers and provides CMDB, automation, and alerting capabilities.

Official Repository

https://github.com/didi/nightingale

System Architecture

User Resource Center (RDB)

Asset Management System (AMS)

Job Execution Center (JOB)

Monitoring & Alerting System (MON)

Deployment Steps

1. Clone the source code

git clone https://github.com/didi/nightingale.git

2. Install Docker‑Compose (v1.25.0‑rc4)

curl -L https://github.com/docker/compose/releases/download/1.25.0-rc4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

3. Start the Nightingale containers

Navigate to the dockerfiles directory of the cloned repository and launch the stack.

cd /path/to/nightingale/dockerfiles
docker-compose up -d

Four containers ( control, n9e-agent, n9e-ams, n9e-mon) should appear in docker ps. Ensure that required ports (e.g., 8080, 9000) are free.

4. Deploy a node agent

Download the pre‑built agent package and extract it.

wget http://116.85.64.82/n9e.tar.gz
tar -xf n9e.tar.gz

Copy the configuration files address.yml, agent.yml, and identity.yml to the target host (e.g., /home/n9e/) and replace the placeholder IP with the master node’s address.

sed -i 's/192\.168\.106\.132/MASTER_IP/g' /home/n9e/address.yml

5. Register the agent as a systemd service

cat > /usr/lib/systemd/system/agent.service <<'EOF'
[Unit]
Description=n9e agent
After=network-online.target
Wants=network-online.target

[Service]
User=root
Group=root
Type=simple
Environment="GIN_MODE=release"
ExecStart=/home/n9e/n9e-agent
WorkingDirectory=/home/n9e
Restart=always
RestartSec=1
StartLimitInterval=0

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable agent
systemctl start agent
systemctl status agent

6. Access the Nightingale web UI

Open http://MASTER_IP:8080 and log in with the default credentials root / root.2020. The master node information is displayed.

7. Register the node in Nightingale

Use “Free Resources → Mount Resources” to attach the newly added node to a project, then verify its presence in the organization tree.

8. Job Execution Center

Create tasks in the Job Execution Center and dispatch them to the registered nodes for batch execution.

9. User Center

Bulk‑add servers for easier management.

10. Monitoring Dashboard

The built‑in dashboard provides real‑time CPU, memory, disk, and network metrics for each host.

11. Alerting

Configure alert policies; Nightingale supports email, DingTalk, and WeChat Work notifications.

12. Grafana integration

Install Grafana and the Nightingale datasource plugin.

wget https://dl.grafana.com/oss/release/grafana-7.3.2-1.x86_64.rpm
sudo rpm -i --nodeps grafana-7.3.2-1.x86_64.rpm
systemctl start grafana-server
systemctl enable grafana-server
grafana-cli --pluginUrl https://github.com/n9e/grafana-n9e-datasource/archive/v1.5.3.zip plugins install grafana-n9e-datasource
systemctl restart grafana-server

Access Grafana at http://MASTER_IP:3000 (default admin / admin), add a Nightingale data source, and create dashboards to visualize the collected metrics.

Result

Following these steps yields a fully functional, high‑availability monitoring platform: Nightingale handles data collection, storage, and alerting, while Grafana provides rich visualizations.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

monitoringOperationsDeploymentGrafananightingale
Liangxu Linux
Written by

Liangxu Linux

Liangxu, a self‑taught IT professional now working as a Linux development engineer at a Fortune 500 multinational, shares extensive Linux knowledge—fundamentals, applications, tools, plus Git, databases, Raspberry Pi, etc. (Reply “Linux” to receive essential resources.)

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.