How To Install Grafana on CentOS 7 / RHEL 7

0
34

In this blog post, we’ll cover the steps to Install Grafana on CentOS 7 / RHEL 7 Linux system. Grafana v9 was recently released in with plenty of new features and is available for installation. Grafana is an open source tool which allows you to query, visualize and do alerting on your metrics no matter the backend data store.

For Ubuntu server, check:

New grafana features

  • Library panels: Allow users to build panels that can be used in multiple dashboards
  • Prometheus metrics browser: Allows you to quickly find metrics and select relevant labels to build basic queries.
  • Grafana alerts: Centralizes alerting information for Grafana managed alerts and alerts from Prometheus-compatible data sources in one UI and API.
  • Real-time streaming: Data sources can now send real-time updates to dashboards over a websocket connection
  • Bar chart visualization: A new visualization that supports categorical data
  • Histogram visualization: This hidden feature of the old Graph panel is now a standalone visualization
  • State timeline visualization: The State timeline visualization shows discrete state changes over time
  • Time series visualization out of Beta and is now graduating to a stable state
  • Download logs: When you inspect a panel, you can now download log results as a text (.txt) file.

Step 1: Install Grafana on CentOS 7 / RHEL 7

Grafana 6 is now available for installation. Add Grafana RPM repository to your system.

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

Once the repository is added, install grafana rpm package.

sudo yum -y install grafana

See more details about installed package.

$ rpm -qi grafana
Name        : grafana
Version     : 10.0.3
Release     : 1
Architecture: x86_64
Install Date: Fri 18 Aug 2023 10:36:02 PM UTC
Group       : default
Size        : 306233375
License     : AGPLv3
Signature   : RSA/SHA512, Tue 25 Jul 2023 06:02:03 PM UTC, Key ID 9e439b102cf3c0c6
Source RPM  : grafana-10.0.3-1.src.rpm
Build Date  : Tue 25 Jul 2023 06:01:26 PM UTC
Build Host  : d4f202c8a214
Relocations : /
Packager    : [email protected]
Vendor      : Grafana
URL         : https://grafana.com
Summary     : Grafana
....

Step 2: Start Grafana service on CentOS 7 / RHEL 7

After the installation of Grafana 8 on CentOS 7, the service can be started and enabled to start on system start using systemctl service management command:

sudo systemctl enable --now grafana-server

The service should be in running state.

$ systemctl status grafana-server
● grafana-server.service - Grafana instance
   Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2023-08-18 22:36:32 UTC; 2s ago
     Docs: http://docs.grafana.org
 Main PID: 1844 (grafana)
   CGroup: /system.slice/grafana-server.service
           └─1844 /usr/share/grafana/bin/grafana server --config=/etc/grafana/grafana.ini --pidfile=/var/run/grafana/grafana-server.pid --packaging=rpm cfg:default.paths.logs=/var/log/grafana cfg...

Aug 18 22:36:32 cent7.mylab.io systemd[1]: Started Grafana instance.
Aug 18 22:36:32 cent7.mylab.io grafana[1844]: logger=modules t=2023-08-18T22:36:32.665133454Z level=warn msg="No modules registered..."
Aug 18 22:36:32 cent7.mylab.io grafana[1844]: logger=grafanaStorageLogger t=2023-08-18T22:36:32.667928064Z level=info msg="storage starting"
Aug 18 22:36:32 cent7.mylab.io grafana[1844]: logger=http.server t=2023-08-18T22:36:32.669629692Z level=info msg="HTTP Server Listen" address=[::]:3000 protocol=http subUrl= socket=
Aug 18 22:36:32 cent7.mylab.io grafana[1844]: logger=ngalert.state.manager t=2023-08-18T22:36:32.669869162Z level=info msg="Warming state cache for startup"
Aug 18 22:36:32 cent7.mylab.io grafana[1844]: logger=ngalert.state.manager t=2023-08-18T22:36:32.713560427Z level=info msg="State cache has been initialized" states=0 duration=43.686177ms
Aug 18 22:36:32 cent7.mylab.io grafana[1844]: logger=ticker t=2023-08-18T22:36:32.713763823Z level=info msg=starting first_tick=2023-08-18T22:36:40Z
Aug 18 22:36:32 cent7.mylab.io grafana[1844]: logger=ngalert.multiorg.alertmanager t=2023-08-18T22:36:32.713812219Z level=info msg="starting MultiOrg Alertmanager"
Aug 18 22:36:32 cent7.mylab.io grafana[1844]: logger=grafana.update.checker t=2023-08-18T22:36:32.729927816Z level=info msg="Update check succeeded" duration=40.943693ms
Aug 18 22:36:32 cent7.mylab.io grafana[1844]: logger=plugins.update.checker t=2023-08-18T22:36:32.766288956Z level=info msg="Update check succeeded" duration=76.959645ms

Step 3: Configure Firewall for Grafana

If you have an active firewalld service, ensure port 3000 is allowed.

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

Confirm the port is allowed in the firewalld.

$ firewall-cmd --list-all | grep 3000
ports: 3000/tcp

Step 4: Access Grafana UI on CentOS 7 / RHEL 7

Once the service has been started, you can access its web dashboard by visiting http://[serverip|hostname]:3000.

install grafana 6 ubuntu 18 01

The default login details are:

Username: admin
Password: admin

You’re asked to reset admin password after successful login. Provide a new password and confirm.

install grafana 6 ubuntu 18 02

Grafana Package details:

  • Installs binary to /usr/sbin/grafana-server
  • Installs Init.d script to /etc/init.d/grafana-server
  • Creates a default file (environment vars) to /etc/sysconfig/grafana-server
  • Installs configuration file to /etc/grafana/grafana.ini
  • Installs systemd service (if systemd is available) name grafana-server.service
  • The default configuration sets the log file at /var/log/grafana/grafana.log
  • The default configuration specifies a sqlite3 db at /var/lib/grafana/grafana.db
  • Installs HTML/JS/CSS and other Grafana files at /usr/share/grafana

Step 5: Adding Data Sources to Grafana

Grafana supports many different storage backends for your time series data. Each Data Source has a specific Query Editor that is customized for the features and capabilities that the particular Data Source exposes.

The following datasources are officially supported:

Step 6: Monitoring with Grafana

See our few guides on how you can monitor your infrastructure using Grafana and InfluxDB / Prometheus.

Monitor Linux System with Grafana and Telegraf

Monitoring Ceph Cluster with Prometheus and Grafana

How to Monitor BIND DNS server with Prometheus and Grafana

Monitoring MySQL / MariaDB with Prometheus in five minutes

How to Monitor Apache Web Server with Prometheus and Grafana in 5 minutes

Monitor Linux Server Performance with Prometheus and Grafana in 5 minutes

How to Monitor Redis Server with Prometheus and Grafana in 5 minutes

How to Monitor Apache Web Server with Prometheus and Grafana in 5 minutes