Grafana руководство пользователя

В этой статье мы расскажем об установке и настройке Grafana, как пользоваться этим инструментом, вы узнаете как подключить внешние источники данных и многое другое.

Grafana — инструмент с открытым исходным кодом для визуализации данных из различных систем сбора статистики. Используется для представления в графическом виде временных рядов и текстовых данных.

Grafana поддерживает установку на самые популярные операционные системы: Linux (Debian, Ubuntu, CentOS, Fedora, OpenSuse, RedHat), Mac и Windows. Допустимыми базами данных, в которых возможно хранение данных о пользователях и дашбордах, являются SQLite (используется по умолчанию), MySQL и PostgreSQL. В качестве демонстрационных серверов будем использовать «Облачные серверы» с операционными системами CentOS Stream и Ubuntu, на которые установим Grafana с базой данных SQLite.

Перед началом установки Grafana, подготовим серверы. В консоли управления Selectel перейдём в раздел Облачная платформа и нажмём кнопку Создать сервер.

На следующем представлении выберем готовую конфигурацию сервера с 1 vCPU и 1 ГБ RAM с операционной системой CentOS 8 64-bit.

Наш сервер будет иметь 10 ГБ на жестком диске. Для целей демонстрации этого достаточно. Прокручиваем вниз и нажимаем кнопку Создать. Аналогичным образом создадим сервер с Ubuntu 20.04 LTS 64-bit.

После проделанных манипуляций оба сервера появятся в списке доступных. Приступим к установке Grafana.

Установка Grafana на CentOS Stream

Установка Grafana на CentOS Stream выполняется из репозитория разработчиков. Скачать дистрибутив можно также с официального сайта. Создадим новую конфигурацию репозитория:

sudo nano /etc/yum.repos.d/grafana.repo

Впишем в этот файл следующие переменные со значениями:

[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

Далее установим Grafana:

sudo yum install grafana -y

После установки включаем автозагрузку и запускаем демон Grafana:

sudo systemctl enable grafana-server
sudo systemctl start grafana-server

Установка завершена. Grafana на CentOS Stream готова к использованию. Проверим текущий статус сервиса:

sudo systemctl status grafana-server

В результате получим вывод:

grafana-server.service - Grafana instance
   Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2021-01-25 09:48:04 MSK; 5s ago

Установка Grafana на Ubuntu 20.04

На Ubuntu Grafana устанавливается из репозитория производителя. Скачаем GPG-ключ и добавим его в список надежных:

wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -

После этого добавим в систему репозиторий Grafana:

sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"

Далее обновляем кэш APT и установим Grafana:

sudo apt update
sudo apt install grafana

После установки включаем автозагрузку и запускаем демон Grafana:

sudo systemctl enable grafana-server
sudo systemctl start grafana-server

Установка завершена. Grafana на Ubuntu 20.04 готова к использованию. Проверим текущий статус сервиса:

sudo systemctl status grafana-server

В результате получим вывод:

grafana-server.service - Grafana instance
   Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2021-01-25 09:44:26 MSK; 10s ago

По умолчанию Grafana доступна на порту 3000. При использовании firewalld или iptables, необходимо разрешить сетевой доступ к этому порту из внешнего мира.

Набор команд для firewalld (добавление нового правила и перезагрузка сервиса firewalld для применения конфигурации):

firewall-cmd --zone=public --add-port=3000/tcp --permanent
systemctl reload firewalld

Набор команд для iptables:

nano /etc/sysconfig/iptables

Вписываем в раздел OUTPUT ACCEPT следующую строку:

-A INPUT -p tcp -m tcp --dport 3000 -m state --state NEW -j ACCEPT

И перезапускаем iptables:

sudo systemctl restart iptables

После выполнения описанных в этом разделе манипуляций, сетевой экран будет разрешать подключения по порту 3000. В этом можно убедиться, открыв в браузере интерфейс Grafana. Логин и пароль по умолчанию admin.

Если не удается войти в Grafana или вы поменяли пароль и не можете его вспомнить, через CLI административный пароль Web-интерфейса можно сбросить:

grafana-cli admin reset-admin-password --homepath "/usr/share/grafana" новый_пароль

После выполнения команды выше, можно входить с новым паролем.

Источники данных Grafana и установка плагинов

Grafana поддерживает из коробки различные источники данных:

  • Prometheus,
  • Graphite,
  • OpenTSDB,
  • InfluxDB,
  • Elasticsearch и другие.

Полный список можно посмотреть в документации. Перечень встроенных источников данных может быть расширен при помощи сторонних плагинов. Один из таких плагинов — плагин Zabbix для Grafana. Мониторинг — одно из основных назначений использования Grafana.

Установим этот плагин и добавим его в Grafana.

grafana-cli plugins install alexanderzobnin-zabbix-app

Теперь перезагрузим сервис Grafana:

systemctl restart grafana-server

В интерфейсе Grafana перейдём в Configuration -> Plugins и обнаружим здесь плагин для Zabbix.

Перейдем к настройке плагина и нажмём на кнопку Enable.

С момента включения плагина, в меню Data Sources появится новый источник данных — Zabbix. Нажмём на кнопку Select и настроим источник данных.

В настройках плагина укажем URL-адрес, имя пользователя и пароль для доступа по API к Zabbix.

Нажимаем на кнопку Save & Test и получаем подтверждение корректности настроек.

С этого момента данных из Zabbix могут быть использованы для создания визуализаций.

Создание и настройка панелей и дашбордов

Панели и дашборды — основные сущности представлений внутри Grafana. Каждый дашборд состоит из набора панелей. Для создания дашбордов перейдём в представление Dashboards и нажмём на кнопку New Dashboard.

На следующем шаге будет предложено добавить на дашборд новую панель.

Grafana имеет встроенные панели, которые можно сразу начинать использовать. По умолчанию представлены следующие типы:

  • Graph — панель с графиками с возможностью комбинировать несколько метрик на одной панели.
  • Stat (ранее SingleStat) — панель с одиночным графиком и возможностью отображения моментального значения метрики.
  • Gauge — панель в формате спидометра, есть возможность ограничить верхнее значение на шкале.
  • Bar Gauge — панель с возможностью отображения нескольких метрик на вертикальной гистограмме.
  • Table — панель с представлением в виде таблицы, на которой можно отображать значения нескольких метрик.
  • Text — панель для отображения произвольного текста (подписи).
  • Heatmap — панель для отображения тепловой карты значений метрик.
  • Alert list — панель для отображения событий из внешних систем.
  • Dashboard list — комбинированная панель для отображения дашбордов, добавленных в избранное.
  • News — панель для отображения новостной ленты из внешних источников.
  • Zabbix problems — панель для отображения событий из системы мониторинга Zabbix.
  • Logs — панель для отображения строчек лога, которые собираются одной из внешних систем.

Далее выберем в выпадающем меню источник данных Zabbix и укажем группу, хост, приложение и элемент данных. Если всё выполнено правильно — на графике появятся данные.

Grafana поддерживает различные типы визуализаций:

  • графические,
  • табличные,
  • гистограммы,
  • тепловые карты,
  • карты сетевого взаимодействия в Grafana и другие.

При создании новой панели, в правой части экрана в разделе Visualization есть возможность выбрать тип визуализации. Перейдем к созданию SingleStat (отображается как Stat) — панели с комбинацией численного и графического представлений. После ввода специфических данных для Zabbix, нажмём кнопку Apply.

В результате выполненных действий, увидим на дашборде две панели.

У каждой панели и каждого дашборда в Grafana есть свой набор настроек. Настройки первой открываются через выпадающее меню панели, а настройки второго откроются после нажатия на шестеренку в верхнем правом углу экрана.

На изображении ниже показаны настройки дашборда.

Импорт и экспорт дашбордов

В Grafana можно импортировать и экспортировать дашборды. Для импорта нужно перейти в представление Dashboards и нажать кнопку Import.

Для импорта доступны две опции: загрузка произвольного JSON и импорт готовых дашбордов с grafana.com. Во втором случае нужно указывать ID дашборда.

Для экспорта любого дашборда, необходимо нажать на специальную иконку в верхней части экрана и далее нажать Save to file. Дашборд будет сохранен в формате JSON.

Обратный прокси-сервер и SSL

Для настройки SSL в Grafana необходимо использовать обратный прокси-сервер. В этом разделе мы расскажем как настроить такой прокси на базе Nginx. Для целей демонстрации мы зарегистрировали домен grafana.tk, для которого выпустили специальный сертификат Let’s Encrypt.

После создания сервера мы настроили веб-сервер Nginx для работы через SSL. Осталось перенаправить трафик с него на порт 3000, по которому доступна Grafana. Для этого откроем конфигурационный файл веб-сервера.

sudo nano /etc/nginx/sites-available/grafana.tk

В этом файле будем работать с этим блоком конфигурации:

...
        location / {
                try_files $uri $uri/ =404;
        }
...

Заменим его на следующий:

...
    location / {
        proxy_pass http://127.0.0.1:3000;
    }
...

Таким образом мы настроили переадресацию на локальный порт 3000. Теперь можно проверить корректность конфигурации Nginx:

sudo nginx -t

Осталось перезапустить Nginx:

sudo systemctl reload nginx

Теперь наша тестовая Grafana доступна по URL https://grafana.tk. Проверим:

Кроме настроек SSL, в Grafana, для повышения уровня безопасности, можно отключить анонимный доступ и создание новых учетных записей.

Конфигурационный файл Grafana

Для тонкой настройки Grafana, можно использовать конфигурационный файл (по умолчанию /etc/grafana/grafana.ini). Здесь хранятся параметры, которые можно менять при необходимости. Рассмотрим основные блоки этого файла.

[paths]

data

Директория, в которой Grafana хранит базу данных sqlite3 и другие данные. Эта директория обычно задаётся в стартовом скрипте init.d.

logs

Директория, в которой Grafana хранит логи. Эта директория обычно задаётся в стартовом скрипте init.d.

[server]

http_addr

IP-адрес, на котором будет доступен веб-интерфейс Grafana. Если параметр не указан, то интерфейс будет доступен по всем сетевым интерфейсам сервера.

http_port

Порт, на котором будет доступен веб-интерфейс Grafana. По умолчанию номер порта 3000. Если нужно использовать порт 80, можно настроить переадресацию в iptables:

sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3000

Для переадресации можно также использовать веб-сервер Nginx или Apache.

protocol

Протокол, по которому будет доступна Grafana. Варианты http или https.

domain

Может использоваться только вместе с опцией root_url (см. ниже). Важно, если вы используете аутентификацию через GitHub или Google OAuth.

enforce_domain

Переадресация на корректный домен, если заголовок хоста не соответствует домену. По умолчанию в значении false.

root_url

Полный URL-адрес для доступа к Grafana через веб-браузер. Важно, если вы используете аутентификацию через GitHub или Google OAuth.

static_root_path

Путь к директории, в которой находятся файлы HTML, JS и CSS.

cert_file

Директория с файлом сертификата (если доступ к Grafana — https).

cert_key

Директория с файлом ключа (если доступ к Grafana осуществляется по протоколу https).

[database]

Grafana нужна база данных для хранения пользователей, дашбордов и других данных. По умолчанию используется sqlite3, которая включена в дистрибутив Grafana.

type

Поддерживаются mysql, postgres или sqlite3 на выбор.

path

Параметр применим только к базе данных sqlite3. Путь к файлу данных.

host

Параметр применим только к MySQL или Postgres. Включает IP-адрес или hostname и номер порта. Например, для MySQL запущенной на одном сервере с Grafana: host = 127.0.0.1:3306

name

Имя базы данных Grafana.

user

Имя пользователя базы данных (не применимо к sqlite3).

password

Пароль пользователя базы данных (не применимо к sqlite3).

ssl_mode

Применимо только к postgres. Доступны опции: disable, require или verify-full.

[security]

admin_user

Имя привилегированного пользователя Grafana. По умолчанию admin.

admin_password

Пароль привилегированного пользователя Grafana. По умолчанию admin.

login_remember_days

Количество дней, в течении которых не требуется повторный ввод логина и пароля.

disable_gravatar

Отключение пользовательской иконки. Устанавливается в true для отключения. По умолчанию имеет значение false.

[users]

allow_sign_up

Устанавливается в false для предотвращения создания новых учетных записей действующими пользователями.

allow_org_create

Устанавливается в false для предотвращения создания новых организаций действующими пользователями. По умолчанию имеет значение true.

auto_assign_org

Устанавливается в true для автоматического добавления новых пользователей в основную организацию (id 1). Когда установлено в false, новые пользователи добавляются в новые организации, которые создаются автоматически.

auto_assign_org_role

Роль новых пользователей будет привязана к основной организации.

[auth.anonymous]

enabled

Устанавливается в true для включения анонимного доступа. По умолчанию находится в значении false

org_name

Устанавливает имя организации, которое будет использоваться для анонимных пользователей.

org_role

Указывает роль для анонимных пользователей. По умолчанию Viewer, а другие доступные Editor и Admin.

[auth.basic]

enabled

Когда установлено значение true (по умолчанию) http api будет принимать соединения с флагом basic authentication.

[auth.ldap]

enabled

Устанавливается в true для включения интеграции с LDAP (по умолчанию: false).

config_file

Путь к конфигурационному файлу LDAP (по умолчанию: /etc/grafana/ldap.toml).

[auth.proxy]

Эта функция разрешает аутентифицироваться в обратном прокси.

enabled

По умолчанию установлено в false.

header_name

По умолчанию установлено в X-WEBAUTH-USER.

header_property

По умолчанию имя пользователя, но также может принимать значение адреса электронной почты.

auto_sign_up

Устанавливается в значение true для включения автоматического входа пользователей, которые отсутствуют в Grafana DB. По умолчанию установлено значение true.

[session]

provider

Валидные значения: memory, file, mysql, postgres. По умолчанию установлено значение file.

provider_config

Эта опция должна быть сконфигурирована отдельно в зависимости от того, какой тип провайдера сессии установлен.

  • file: путь к файлу с сессиями, например, data/sessions.
  • mysql: go-sql-driver/mysql dsn config string, например, user:password@tcp(127.0.0.1:3306)/database_name
  • postgres: ex: user=a password=b host=localhost port=5432 dbname=c sslmode=disable

cookie_name

Имя сессионного cookie в Grafana.

cookie_secure

Устанавливается в true если Grafana находится только за HTTPS-прокси. По умолчанию установлено в значение false.

session_life_time

Как долго длится сессия в секундах. По умолчанию 86400 секунд (24 часа).

[analytics]

reporting_enabled

Когда опция включена, Grafana будет отправлять анонимную статистику на stats.grafana.org. Никакие IP-адреса не записываются. Данные отправляются каждые 24 часа. По умолчанию установлено в true.

google_analytics_ua_id

Если вы хотите отслеживать активности в Grafana при помощи Google analytics, укажите ваш Universal Analytics ID. По умолчанию эта функция отключена.

[dashboards.json]

Если у вас есть система, которая автоматически строит дашборды из JSON-файлов, вы можете включить эту опцию, чтобы новые дашборды были доступны через поиск в Grafana.

enabled

Значение true или false. По умолчанию выключено.

path

Полный путь к директории, содержащей JSON-файлы с дашбордами.

Заключение

Мы рассмотрели подходы к установке, настройке и работе с Grafana. Этот популярный инструмент имеет большое сообщество разработчиков, которые поддерживают проект и разрабатывают новые плагины, дашборды и развивают продукт. У Grafana регулярно выходят обновления и улучшения, поэтому можно без опасений использовать этот инструмент в продакшн средах.

So what can we do to improve database performance?

Grafana helps you identify and tackle performance issues by giving you the tools you need to analyze and monitor your database. Not only does it help solve problems, but it also aids you in becoming proactive with your maintenance by using alerts. Grafana is open source, compatible with a wide range of databases, and has a thriving community.

This Grafana tutorial will cover the installation, configuration, and creation of your first dashboard using Grafana to monitor a MySQL database.

Grafana tutoral signified by spiral with Scalyr colors

What Is Grafana?

Grafana is a database analysis and monitoring tool. It allows you to create dashboard visualizations of key metrics that are important to you. Grafana has a thriving community of enthusiasts who share reusable dashboards.

Grafana supports a huge number of data sources. And, since the application is open source, you can be sure that the moment a new data source has been released, someone out there is adding support for it. The most common use case of Grafana is displaying time series data, such as memory or CPU over time, alongside the current usage data.

You can host Grafana yourself, use the managed service in AWS or get the creators to host it for you. Grafana runs as a process on your computer or server, and you access the interface through your browser. Your dashboard can display your data as single numbers, graphs, charts, or even a heat map. Below is an example dashboard set up through the Grafana web interface:

Installing Grafana Locally

The instructions for installation depend on where you plan to run Grafana. I normally run applications like this locally to get a feel for how it works before deploying remotely. Grafana provides comprehensive instructions for wherever you want to deploy it.

If the installation was a success, then Grafana should be available through your web browser by default on http://localhost:3000, and your screen should look like the image below. The default username is admin and the default password is also admin. You will be asked to change your password after logging in.

grafana tutorial

Configuring Your DataSource

Configuring your data source is the first step to setting up your Grafana dashboard. Your data source could be a database or a collection of logs. Grafana supports pretty much every data source you can think of, from traditional databases like MySQL to log aggregation platforms like AWS Cloudwatch.

Now we’ll walk through configuring Grafana to connect to your MySQL database. For my example, I’ve created a database named CD with a table called Artist to simulate a database behind a music library app.

Your first step is to add a Grafana user to your database. In your MySQL database, run the following in the database administrator role to add a read-only user named grafanaReader to your database CD for the table Artist:

CREATE USER 'grafanaReader' IDENTIFIED BY 'password';
GRANT SELECT ON CD.Artist TO 'grafanaReader';

To add a link from your database to Grafana, switch back to the Grafana interface.

The first option on the display is Create your first datasource. Complete the web form with your connection details. I’m using a local MySQL database running on localhost on port 3306 for the database CD and with the user we made previously, grafanaReader. It’s safe to leave the rest of the fields as default. Hit save and test. If everything is configured correctly, you should see a green box with the message Database Connection OK.

Now that your database is connected, you are ready to create your first dashboard! I’m going to create a dashboard showing stats about the CD database we connected in the previous section.

Dashboards are made from panels of information organized into rows. I’m creating a dashboard from one datasource, but you can use different data from different sources in the same dashboard.

Panels represent a visual representation of a query. Each panel can show the same or different data using a visualization that is the easiest for you to process. The first panel will show the total number of Artists in our CD database.

Single Stat Panel

To show a single number, we use the single stat panel. Switch back to Grafana again. You now have the option create your first dashboard. Choose this option, then select Add new panel.

Select your database from the Query drop-down menu and choose to format this query as a table in the format as drop-down. Select the Edit SQL link and paste the following SQL:

SELECT  ArtistIdFROM Artist

This assumes you have a table called Artist and a column named ArtistId. You can change the names of the column and the table to fit your data. Your Query page should look like the screenshot below:

On the right hand side on the panel tab expand the Visualization menu and choose the stat icon. This will immediately give you a preview of your panel showing the sum of records in your table.

Finally, click the settings icon to give the panel a meaningful name, such as Total Artists. You have now created your first panel! You also now have a dashboard with a single panel. Something like the view below:

At the top right of the screen, you can select how often the database will be queried to get up-to-date information. Set it to 5s to refresh the box every 5 seconds. You can now change the data in your database and see the update on the screen!

Easily Share Your Grafana Dashboard with Others

A feature that makes Grafana really popular is the ability to easily share dashboards with others. To export your dashboard, select the cog icon at the top right of your dashboard. The tool tip will read Dashboard Settings. Select JSON Model from the left navigation menu and you can see your dashboard as JSON. Sharing your dashboard is as simple as saving this file and passing it to someone else to load into their instance. Below shows how my dashboard looks as JSON.

Make Impressive Dashboards with Help from Scalyr

Having a dashboard with the number of records in your database is useful–but not very impressive. I normally start my dashboards using existing logs. If you don’t already have a central place to store the logs from different parts of your application, try Scalyr with your Grafana dashboard now. You can add Scalyr as a data source to your dashboard using an open source plugin. With the plugin you can view log based metrics in Grafana, then click straight through to the Scalyr site to view your logs in more detail. The dashboard below shows an example of the impressive dashboards you can make with Scalyr. 

grafana tutorial

Grafana Can Display All Your Data in Whatever Format Works Best

Grafana is an open source database analysis and monitoring tool that is easy to install on any operating system. It’s accessed through a browser, so it can be deployed to your favorite hosting company and can then be accessed by your whole team.

You can display all your data (even from multiple sources) in whatever format works best for you. There is a wide selection of visualizations built in and accessible through the community. You can customize your panels with color and transparency—whatever makes sense for your visual. You can even make your own visualization plugins if you want something a little more specific to your use case.

grafana tutorial

In this Grafana tutorial, you learned how to set up your first dashboard. There is loads more to learn, and I highly recommend joining the community to share your creations. You can learn some of the best practices and learn from the experts who have been creating these visuals for years.

Grafana is not just for when you have performance issues. You can proactively set up alerts to notify you when a value reaches a threshold to keep one step ahead of your performance issues. The dashboard looks so good that you’ll soon be putting monitors with all your dashboards up all over the office. It can become an obsession!

Chances are, if your data visualization background comes from outside of IT, you have never heard anything about Grafana. Grafana has primarily been used for monitoring and logging dashboards, related to infrastructure and applications. The buzzword for that these days is Observability dashboards. There are other players in this area, like Splunk, Kibana, and many more. In this article, I’ll show you how to use Grafana in other more common scenarios such as, that chart for an article, or the dashboard for your health metrics.

Grafana’s history

Grafana was first released in 2014 by Torkel Ödegaard as a “spinoff” of a project at Orbitz. It targeted time-series databases such as InfluxDB, OpenTSDB, and Prometheus, but evolved to support relational databases such as Oracle, MySQL, PostgreSQL, and Microsoft SQL Server. As a visualization tool, Grafana is a popular component in monitoring stacks like Sensu, Icinga, Checkmark, Zabbix, Netdata, and PRTG.

Before you continue, it is important to highlight that I’m in no way trying to sell that Grafana is the best tool ever for data visualization, neither I have any personal gain in presenting the tool here. As a data visualization enthusiast, I think it is important to know tools that can help us to understand our data.

Currently, Grafana defines itself as a multi-platform, open-source analytics and interactive visualization web application. On the Grafana site, you can find their mission:

We believe in breaking traditional data boundaries, making metric visualization tools that are more accessible and easy to use across the entire organization. And most importantly, open source.

The core values of Grafana are expressed as art. Authors are Todd Moreland (1 & 2), Phil Pascuzzo (3), and Caroline Cracco (4).

How to start with Grafana

The first thing to know about Grafana is that there are three ways to use it:

  • Using the Grafana Cloud will give you access to a free version of Grafana, with some limitations related to the number of dashboards and users that can create/update dashboards;
  • Installing on-premise will remove the limitations above, but you’ll need to find a way to publish on the web;
  • If you want it for your company, get the Enterprise version.

In this article, you will use Grafana Cloud. Please create your account (at the time of this writing, they are promoting 10 days free of the PRO version with new registrations) to follow along. After you have logged in, you should see the following screen:

Grafana cloud main page
Grafana cloud main page

Then, click on the Login button on the Grafana box, and you’ll see the screen below:

My Grafana Environment

This is the home page for your Grafana cloud. It can be customized with panels and visualizations, but you will address that later. Throughout the next sections, you will learn how to build a dashboard, step-by-step.

Creating a data source

Any dashboard needs data to show, and in Grafana you need to create a data source before you start. It is simple.

Data source menu on Grafana left toolbar

Click on the Configuration icon and then select Data Sources. You’ll see the screen below.

Pre-defined list of data sources

As you can see, there are some pre-defined data sources available. These data sources allow you to create some observability dashboards about your Grafana cloud instance. You can see the usage logs, traces, alerts, and more. But remember, your objective is to create other types of dashboards, so click on the Add Data Source button to configure your new data source.

In the list, you can see many of the available types of data sources. Grafana uses a plugin system, which allows you to add other types, as you see fit. For your dashboard, select the PostgreSQL data source.

Configuration form for PostgreSQL data source

The instructions to follow are simple, you just need your database connection information.

Database connection
host: postgresql-22468–0.cloudclusters.net:22468
database: grafana
user: dvs_user
password: dvsuser123
TLS/SSL mode: disable
version: 12

Just fill the fields with your database information or the information above and click on Save and Test. You should see something like this:

Successful message for data source creation

Now, click on Back, and create your first dashboard.

Create Dashboard option on Grafana toolbar

Anatomy of a Grafana dashboard

If you have reached this point of the article, it means you are ready to created dashboards in Grafana. First, it is important to understand a few concepts about dashboards in Grafana:

  • Dashboards are made of two other smaller units: Panels and Rows.
  • Dashboards may have links between them.
  • Dashboards may have variables that can act as filters on your visualizations.
  • Dashboards may be imported/exported as JSON.

Panels are our charts, or visualizations if you prefer. Rows are a way to organize your panels inside the dashboard. Rows can help you avoid a lot of duplicated effort. Your recently-created dashboard should look like the one below.

Dashboard with an empty panel

Before you continue, save your dashboard, so you can give it a name. Click on the Save button and fill out the name of the dashboard, as in the image below.

Save Dashboard dialog

Adding your first Panel

Now, click on Add Panel and get started.

When you select Add Panel, a new Panel will be created and you will enter the Panel Edit page, which will look like the image below:

Edit Dashboard page

Looking at this screen, you should be able to identify three areas of interest:

  • The drawing area (1)
  • The query area (2)
  • The configuration area (3)

The drawing area is where the results will appear as you make changes in the two other areas. In the drawing area, you will also find the time filter and the button to refresh results. The query area is where you select the data source to work, write your query, and apply transformations when needed. The configuration area allows you to select the type of chart and all the layout configurations.

Creating your chart

Note that when you start a new panel, it defaults to a sample line chart. Line charts are the standard chart type in Grafana. If you want to change the chart type, you need to go to the configuration area and change that on the Visualization option.

Selecting your chart type

For this tutorial, you will select the Bar Gauge chart. Observe that as you select it, the other options in the configuration area change.

Bar gauge chart type selected. Observe the different options displayed.

Your next step is to change the query. The first change is on the data source. Right now, it should be showing something like ‘ — Grafana — .’ Change that to your recently created data source, called ‘PostgreSQL.’ This will change the text box right below.

Query panel

Click on the ‘Edit SQL’ button and this will convert into a text box.

Query editor

Now, you can write your own query. It is important to understand that you can write two types of queries: Time Series or Table.

Time Series queries need to have a field called time, which is a timestamp. If you click on Show Help, you can learn more about how to use a Time Series query. Here is a simple query to demonstrate:

Your query area would look like this:

SELECT answer, count(distinct respondent) as value
FROM survey_data
WHERE question = ‘Identifique sua faixa etária:’
GROUP BY answer

Your query area would look like this:

New query

The query provoked an immediate change in the drawing area, as you can see below.

Query result

Now, to finalize, you need to make a few changes in the configuration area.

Change the chart to show one element for each answer

Change the chart by selecting the Display option.

Configuration panel

There, you will change from Calculate to All values. The Calculate option was designed to display a single value, which is the result of a computation with all rows returned by the query.

Changing the option to display multiple lines

This change will provoke an alteration in the drawing area.

The first version of the bar chart

Change the label of each element

As you can observe in the drawing area, you have now multiple bars, which is a good indication that you are on the right track. But, all the bars have the same label as ‘value.’ To fix that, you need to go to the Field Panel.

The Field tab on the Configuration panel

The standard options will already be opened, so you can make the following fixes:

  • set the Min field to 0;
  • set the Display name field to $__cell_0. This is a Grafana variable that indicates that you are going to get the value from the first column of the query, in this case, the column answer.
Adding a variable to show the value of the first column

Again, looking at the drawing area, you can see what has changed. Woohoo! Your chart is almost perfect!

Bar chart now displaying the correct values

Setting the chart title

It is easy to title the chart, just click on the Settings and fill the Panel Title field.

Changing the title of the chart

Change the title to Age Range.

Chart title changed

Note the change in the drawing area below.

The second version of the chart

Changing the style of the chart

Now, you can spend a little more time in the Display option on the Panel tab, making a few adjustments to improve the layout.

Removing the unfiled area

The main change here is to remove that gray area reserved for the bars. To simplify your visualization, remove that point of focus. To do that you just need to click on Show unfilled area. The result will be as follows:

The final version of the chart

Now, to finalize, click on Apply (at the right upper corner) and … voilá! Here is your first chart on your dashboard!

The first version of the dashboard

Now, you can edit the chart, add other charts, and move the charts around for better positioning. In my next article, I will cover chart configuration and variables.

Conclusion

In this article, you have learned how to create your first dashboard in Grafana and now you can add it to your data visualization toolbox. You have also explored the potential of Grafana beyond Observability dashboards. This link will lead you to the complete version of this dashboard for you to view. If you are interested in creating your own Grafana account and experimenting for yourself, this link will lead you to my Gitlab repository with the dashboard to be imported.

Walter Paixão Côrtes

Walter Ritzel Paixão Côrtes is a product designer and data visualization practitioner who works solving users problems through a data-driven approach.

1. Введение

Grafana — это инструмент визуализации данных с открытым исходным кодом, разработанный на языке Go, который может выполнять мониторинг данных и статистику с функцией сигнализации. Графану используют многие компании, такие как PayPal, Ebay, Intel и т. Д.

1.1 Семь характеристик

①Визуализация: быстрая и гибкая клиентская графика имеет несколько вариантов. Плагины Panel визуализируют индикаторы и журналы по-разному.
②Alarm: визуально определите правила срабатывания сигнализации для наиболее важных индикаторов. Grafana продолжит их оценивать и отправлять уведомления.
③ Уведомление: при изменении статуса будильника будет отправлено уведомление. Получайте уведомления по электронной почте.
④Динамическая панель мониторинга: используйте переменные шаблона для создания динамических и многократно используемых панелей мониторинга. Эти переменные шаблона отображаются в виде раскрывающихся меню в верхней части панели мониторинга.
⑤Смешанный источник данных: смешивайте разные источники данных на одном графике! Вы можете указать источник данных в соответствии с каждым запросом. Это относится даже к пользовательским источникам данных.
⑥Примечание. Примечания взяты из диаграмм разных источников данных. Наведите указатель мыши на событие, чтобы отобразить полные метаданные и разметку события.
⑦Фильтр: фильтры позволяют динамически создавать новые фильтры «ключ-значение», которые будут автоматически применяться ко всем запросам, использующим этот источник данных.

2 Установка

Подробное руководство по установке может ссылаться на:http://docs.grafana.org/installation/debian/

2.1 Скачать установочный пакет

wget <u>https://dl.grafana.com/oss/release/grafana-6.0.1-1.x86_64.rpm</u>

2.2 Зависимость от среды установки

yum install initscripts fontconfig  
yum install freetype
yum install urw-fonts

2.3 Установите Grafana Service

rpm -Uvh grafana-6.0.1-1.x86_64.rpm

2.4 Установка плагина

Установить с помощью инструмента grafana-cli

 # Получить список доступных плагинов

grafana-cli plugins list-remote  

 Измените график так, чтобы он был пирогом
grafana-cli plugins install grafana-piechart-panel
 Установите другие графические плагины
grafana-cli plugins install grafana-clock-panel
 #      
grafana-cli plugins install briangann-gauge-panel
 # Отображение символов
grafana-cli plugins install natel-discrete-panel
 #Состояние сервера
grafana-cli plugins install vonage-status-panel

2.5 удаление плагина

Пример: плагины grafana-cli удалить vonage-status-panel
 После установки и удаления графана должна быть перезапущена, чтобы она вступила в силу.

2.6 Запуск, перезапуск, выключение

Старт: запуск сервиса графана-сервера
 Стоп: остановка сервиса графана-сервера
 Перезагрузка: перезапуск сервиса графана-сервера
 Автоматическое добавление в загрузку: chkconfig --add grafana-server on

2.7 Начать тест

Пароль пользователя по умолчанию: admin / admin, адрес доступа: адрес службы: [http: // адрес службы grafana: 3000] (http: // localhost: 3000 /)
 Если появляется интерфейс входа в систему, это означает, что установка началась успешно.

3 Создать сводку

3.1 Конфигурация источника данных

Создание панели мониторинга основано на определенном источнике данных, поэтому сначала необходимо добавить источник данных.

Добавить источник данных MySQL

3.2 Визуализация

Существует множество методов визуализации, но график, таблица и круговая диаграмма в основном удовлетворяют требованиям отображения данных.

Визуализация

3.2.1 Graph

Примечание. Только Graph может настраивать сигналы тревоги.

Новая переменная интервала

Новая переменная интервала

График линейной диаграммы

График линейной диаграммы

SELECT $ __ timeGroupAlias ​​(create_time, $ __ interval), country_name как показатель, COUNT (user_id) как 'количество пользователей' FROM 'user`
WHERE $__timeFilter(create_time) GROUP BY 1,2 ORDER BY $__timeGroup(create_time,$__interval);

Режим отображения по умолчанию — линии

Гистограмма графика

Скопируйте эту линейную диаграмму Graph и измените режим отображения.

Заменить линии на бары

3.2.2 Table

Создать переменные запроса фильтра

Создайте раскрывающийся список для фильтрации

список пользователей

список пользователей

select user_id,user_name,mobile,id_number,country_name,money,create_time from user WHERE $__timeFilter(create_time) and country_name in ($countryName)

Примечание: после добавления таблицы по умолчанию, если есть число, оно будет в K, например, 300 000 будет отображаться в 30k.
Изменение режима цифрового отображения, Добавить стиль столбца:

Изменить стиль номера

3.2.3 Pie

Круговая диаграмма

select country_name, create_time as time, count(*) as c from user where $__timeFilter(create_time) group by country_name order by c asc;

3.3 Управление правами

3.3.1 Управление пользователями

Управление пользователями

3.3.2 Управление командой

Новая команда

Команда плюс члены

3.3.3 Настройка разрешений для папки

3.3.4 настройка разрешений dashboarad

Если у пользователя есть role = admin в организации, у него есть права администратора для панели мониторинга, и он делает то, что ему нравится, например, настраивает панель мониторинга, просматривает панель мониторинга и настраивает разрешения панели мониторинга.
Если у пользователя есть role = editor в организации, у него есть полномочия по редактированию сводной панели, он может редактировать сводную панель и, конечно, также может ее просматривать.
Если у пользователя есть role = viewer в организации, у него есть разрешение на операцию просмотра для панели мониторинга, то есть он может просматривать панель мониторинга, но не может ее редактировать.
настроен, как показано на рисунке выше. Если зарегистрированный пользователь является администратором, вы можете его редактировать; если зарегистрированный пользователь — wade, вы можете только просматривать его.

3.4 переменные шаблона

Когда данные появляются в таблице, их необходимо отфильтровать по условиям фильтра. Grafana предоставляет переменные шаблона для настраиваемых полей фильтра.
Тип: определение типа переменной
Запрос. Этот тип переменной позволяет вам написать запрос к источнику данных, который обычно возвращает имена метрик, значения тегов или ключи. Например, запрос, который возвращает список имен серверов, идентификаторов датчиков или центров обработки данных.
interval: значение интервала. Эта переменная может представлять промежуток времени. Не задавайте жестко группу по интервалу гистограммы времени или даты, используйте этот тип переменной.

Оставшаяся проблема: при выборе 1d (единица измерения d) будет выдана ошибка синтаксического анализа: ошибка синтаксического анализа интервала 1d, которая еще не устранена;

Источник данных: этот тип позволяет быстро изменить источник данных для всей панели мониторинга. Это полезно, если существует несколько экземпляров источников данных в разных средах.
Пользовательский: используйте список, разделенный запятыми, для определения параметров переменных вручную.
Константа: определение скрытой константы. Полезные информационные панели с метрическими префиксами путей, которыми вы хотите поделиться. Во время экспорта панели мониторинга важными параметрами будут постоянные переменные.
Специальные фильтры: особый тип переменных, только для определенных источников данных, в настоящее время InfluxDB и Elasticsearch. Он позволяет добавлять фильтры «ключ-значение», которые будут автоматически добавляться ко всем запросам метрик с использованием указанного источника данных.

В приведенной выше таблице и графике используются интервал и запрос соответственно для определения переменных для фильтрации, и они не будут повторяться.

Text box

Новое поле ввода

Custom

Новая пользовательская переменная

Выпадающий выбор

3.5 контроль версий

4 Уведомление о тревоге

4.1 Включить будильник

Только график поддерживает уведомление о тревоге в графане.
Существует множество каналов уведомлений о предупреждениях для графаны, таких как электронная почта, команды, DingTalk и т. д., все они поддерживаются.
Откройте будильник в grafana.ini:

#################################### Alerting ############################
[alerting]
# Disable alerting engine & UI features
 enabled = true #open
# Makes it possible to turn off alert rule execution but alerting UI is visible
 execute_alerts = true #open
# Default setting for new alert rules. Defaults to categorize error and timeouts as alerting. (alerting, keep_state)
;error_or_timeout = alerting
# Default setting for how Grafana handles nodata or null values in alerting. (alerting, no_data, keep_state, ok)
;nodata_or_nullvalues = no_data
# Alert notifications can include images, but rendering many images at the same time can overload the server
# This limit will protect the server from render overloading and make sure notifications are sent out quickly
;concurrent_render_limit = 5

4.2 Уведомление по электронной почте

4.2.1 Конфигурация сервера STMP

Чтобы иметь возможность отправлять уведомления по электронной почте, вам сначала необходимо настроить почтовый сервер и другую информацию в файле конфигурации grafana.ini:

#################################### SMTP / Emailing ##########################
[smtp]
 enabled = true # разрешено ли открывать
 host = # Адрес сервера отправки, который можно найти в руководстве по настройке почтового ящика:
 user = ваш адрес электронной почты
# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;"""
 пароль = Этот пароль - пароль, который вы сгенерировали при запуске службы smtp
;cert_file =
;key_file =
skip_verify = true
 from_address = ваш адрес электронной почты
from_name = Grafana
# EHLO identity in SMTP dialog (defaults to instance_name)
;ehlo_identity = dashboard.example.com
[emails]
;welcome_email_on_sign_up = false

После изменения конфигурации не забудьте перезапустить службу Grafana.

4.2.2 Отправка электронной почты

Настроить каналы уведомлений по электронной почте

Настроить каналы уведомлений по электронной почте

Отправить тест

Отправить тест

Установите условия тревоги

5 Резюме

Grafana — это мощный инструмент мониторинга визуализации данных с красивым уровнем представления. В этой статье в основном рассказывается об установке и общих положениях Grafana на основе источников данных MySQL. Он также поддерживает другие источники данных, такие как ElasticSearch, InfluxDB и т. Д. Читать большеОфициальный веб-сайт

Понравилась статья? Поделить с друзьями:
  • Инструкция по от охранника предприятия 2021
  • Bmw system 7 инструкция на русском
  • Gold massage stick инструкция на русском
  • Как подстричь косую челку самостоятельно в домашних условиях пошаговая инструкция
  • Мануал скрещенный с кошкой