Install Glances, InfluxDB and Grafana to Monitor CentOS 7

Monitoring the performance and health of your CentOS 7 server is essential for maintaining its stability and optimizing its resources. In this article, we will explore how to install and configure Glances, InfluxDB, and Grafana?a powerful trio of monitoring tools?to gather system metrics, store them in a time-series database, and visualize them in real-time dashboards.

Monitoring Stack Architecture Glances Data Collection InfluxDB Data Storage Grafana Visualization System Metrics Time-Series DB Dashboards

Glances: System Monitoring Tool

Glances is a cross-platform system monitoring tool that provides a comprehensive overview of various system metrics such as CPU usage, memory usage, network activity, disk I/O, and process information in real-time.

Step 1: Update the System

Before installing any new software, update your system packages

sudo yum update

Step 2: Install Glances

Install Glances from the EPEL repository

sudo yum install epel-release
sudo yum install glances

Launch Glances to start monitoring

glances

InfluxDB: Time-Series Database

InfluxDB is a high-performance, open-source time-series database designed for storing and retrieving large amounts of time-stamped data efficiently.

Step 1: Add InfluxDB Repository

Create the InfluxDB repository configuration

sudo tee /etc/yum.repos.d/influxdb.repo <<EOF
[influxdb]
name = InfluxDB Repository - RHEL 7
baseurl = https://repos.influxdata.com/rhel/7/x86_64/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF

Step 2: Install and Start InfluxDB

sudo yum install influxdb
sudo systemctl start influxdb
sudo systemctl enable influxdb

Step 3: Create Database

Access the InfluxDB shell and create a database for storing metrics

influx
CREATE DATABASE glances_metrics
SHOW DATABASES
EXIT

Grafana: Data Visualization Tool

Grafana is an open-source analytics and monitoring platform that allows you to create interactive dashboards for visualizing time-series data.

Step 1: Add Grafana Repository and Install

sudo tee /etc/yum.repos.d/grafana.repo <<EOF
[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
EOF
sudo yum install grafana
sudo systemctl start grafana-server
sudo systemctl enable grafana-server

Step 2: Configure Firewall

Open the necessary ports for Grafana (3000) and InfluxDB (8086)

sudo firewall-cmd --permanent --add-port=3000/tcp
sudo firewall-cmd --permanent --add-port=8086/tcp
sudo firewall-cmd --reload

Connecting the Components

Configure Glances to Send Data to InfluxDB

Create a Glances configuration file to export data to InfluxDB

sudo mkdir -p /etc/glances
sudo nano /etc/glances/glances.conf
[influxdb]
host=localhost
port=8086
user=root
password=
database=glances_metrics
prefix=glances
tags=server1

Run Glances with InfluxDB export

glances --export influxdb

Configure Grafana Data Source

Access Grafana at http://your_server_ip:3000 with default credentials (admin/admin). Add InfluxDB as a data source with the following settings

Setting Value
Type InfluxDB
URL http://localhost:8086
Database glances_metrics
User root

Example Monitoring Scenarios

CPU and Memory Usage

Glances displays real-time system metrics in a comprehensive interface

Load Average: 0.12, 0.08, 0.10
CPU Usage: 10%  [||||      ]
Memory: 40%     [||||||||  ] 3.2G/8.0G

Network Activity

Network Interface - eth0
Rx: 5.2 KB/s  ? 1.2M total
Tx: 2.8 KB/s  ? 856K total

Disk I/O Monitoring

Disk I/O - sda
Read:  50 KB/s  ? 1.2G total
Write: 20 KB/s  ? 800M total

Creating Grafana Dashboards

To create a monitoring dashboard in Grafana

  • Click the + icon and select Dashboard

  • Add a new panel and select InfluxDB as the data source

  • Use queries like SELECT mean("value") FROM "glances.cpu.percent"

  • Configure visualization type (line chart, gauge, etc.)

  • Set time ranges and refresh intervals

Key Benefits

Tool Purpose Key Features
Glances Data Collection Real-time metrics, low overhead, multiple export formats
InfluxDB Data Storage Time-series optimized, high performance, data retention policies
Grafana Visualization Interactive dashboards, alerting, multiple data sources

Conclusion

Installing Glances, InfluxDB, and Grafana creates a comprehensive monitoring solution for CentOS 7 servers. This stack enables real-time data collection, efficient storage, and powerful visualization capabilities. With proper configuration, you can monitor system performance, set up alerts, and make data-driven decisions for system optimization and capacity planning.

Updated on: 2026-03-17T09:01:39+05:30

915 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements