Showing posts with label grafana. Show all posts
Showing posts with label grafana. Show all posts

Tuesday, 23 July 2024

Легкий старт з Prometheus.

Всім привіт.

Моніторинг сьогодні - фактично обов'язкова частина ІТ-інфраструктури для компанії будь-яких розмірів. Але сьогодні я не буду зупинятися на різноманітті програмного забезпечення для моніторингу, а просто покажу як легко можно дати старт такому функціоналу з одним із популярних рішень - пара на основі Prometheus плюс Grafana.


То ж щодо теорії то вам сюди, бо далі сама практика від Дениса Астахова. Піднімемо сервер Prometheus та сервер Grafana, з'єднаємо їх, та запустимо моніторинг на інші сервери.

Інсталюємо сервер Prometheus:

#!/bin/bash

#--------------------------------------------------------------------

# Script to Install Prometheus Server on Linux Ubuntu

# Tested on Ubuntu 22.04, 24.04

# Developed by Denis Astahov in 2024

#--------------------------------------------------------------------

# визначення глобальних констант

PROMETHEUS_VERSION="2.51.1"

PROMETHEUS_FOLDER_CONFIG="/etc/prometheus"

PROMETHEUS_FOLDER_TSDATA="/etc/prometheus/data"


# отримання пакету PROMETHEUS з мережі internet

cd /tmp

wget https://github.com/prometheus/prometheus/releases/download/v$PROMETHEUS_VERSION/prometheus-$PROMETHEUS_VERSION.linux-amd64.tar.gz

tar xvfz prometheus-$PROMETHEUS_VERSION.linux-amd64.tar.gz

cd prometheus-$PROMETHEUS_VERSION.linux-amd64


mv prometheus /usr/bin/

rm -rf /tmp/prometheus*


# створення теки для PROMETHEUS

mkdir -p $PROMETHEUS_FOLDER_CONFIG

mkdir -p $PROMETHEUS_FOLDER_TSDATA


# створення конфігурації для сервера PROMETHEUS

cat <<EOF> $PROMETHEUS_FOLDER_CONFIG/prometheus.yml

global:

  scrape_interval: 15s


scrape_configs:

  - job_name      : "prometheus"

    static_configs:

      - targets: ["localhost:9090"]

EOF


# визначення користувача PROMETHEUS та надання йому відповідних прав

useradd -rs /bin/false prometheus

chown prometheus:prometheus /usr/bin/prometheus

chown prometheus:prometheus $PROMETHEUS_FOLDER_CONFIG

chown prometheus:prometheus $PROMETHEUS_FOLDER_CONFIG/prometheus.yml

chown prometheus:prometheus $PROMETHEUS_FOLDER_TSDATA


# створення конфігурації PROMETHEUS як сервісу Linux

cat <<EOF> /etc/systemd/system/prometheus.service

[Unit]

Description=Prometheus Server

After=network.target


[Service]

User=prometheus

Group=prometheus

Type=simple

Restart=on-failure

ExecStart=/usr/bin/prometheus \

  --config.file       ${PROMETHEUS_FOLDER_CONFIG}/prometheus.yml \

  --storage.tsdb.path ${PROMETHEUS_FOLDER_TSDATA}


[Install]

WantedBy=multi-user.target

EOF


# запуск сервісу PROMETHEUS, перевірка його статусу, та визначення його на автозапуск

systemctl daemon-reload

systemctl start prometheus

systemctl enable prometheus

systemctl status prometheus --no-pager

prometheus --version

Monday, 27 December 2021

Прячем Grafana за Nginx.

Всем привет. 

Задача №1 - спрятать Grafana за Nginx по ссылке http://myserver1. Полагаем что наш Nginx по умолчанию отдает index.html.

Переходим в папку Nginx sites-enabled:

cd /etc/nginx/sites-enabled

Создаем новую конфигурацию Nginx для Grafana:

sudo nano myserver1.conf

Название файла конфигурации точно такое же как и сайта, в моем случае "myserver1".

Указываем в нем следующее:

server {

    listen 80;

    listen [::]:80;

    server_name  myserver1;

    location / {

        proxy_pass http://localhost:3000/;

    }

}

Сохраняем и провереям созданный конфиг:

>Nginx -t 

Перезапускаем nginx:

sudo service nginx restart

sudo service nginx status

Имеем Grafana по адресу:

http://myserver1

Это хорошо работает если Grafana на отдельном сервере. Если она на том же сервер что и Zabbix,  то лучше добавить немного безопасности для Grafana. Поэтому ставим следующую задачу.

Sunday, 2 May 2021

Параметры уведомлений в Grafana.

Всем привет.

Оказалось что для задействования уведомлений (Alerts) в паре Zabbix плюс Grafana надо было обновить  Zabbix plugin до версии не ниже 4.0.0.  Обновил, и теперь можно спокойно заняться настройкой параметров уведомлений в самой Grafana.

Итак, чтобы настроить правила для отправки нам уведомлений нужно:

1. Нажмите на заголовок графика и выбирете "Edit".

2. Нажмите "Create alert".


3. Внесите параметры уведомления:

a) Name - произвольное имя уведомления.

b) Evaluate every - частота уведомления. Например, 5m для уведомления каждые пять минут или 1h для уведомления каждый час.

c) For - время, которое Grafana выжидает после наступления порогового значения параметра. Например, 15m для ожидания 15 минут.

d) Conditions - условия для уведомления:

Monday, 5 April 2021

Grafana и ее Email notification.

Всем привет.

Grafana - это платформа с открытым исходным кодом для мониторинга, анализа и визуализации данных, которая поставляется с web-сервером, позволяющим получать к нему доступ из любого места. В web-интерфейсе пользователи могут создавать информационные панели Grafana с панелями для представления метрик с течением времени. К нашему удобству инструмент Grafana имеет свой сервис Email Notification. Сегодня я расскажу как настроить канал уведомлений Grafana для отправки уведомлений по электронной почте. 

Шаг 1. 

Итак идем в /etc/grafana/grafana.ini и правим секцию:

[smtp]

enabled = true

host = smtp.forza.com:25

user = adminzab@forza.com

password = passcam123

skip_verify = true

from_address = adminzab@forza.com

from_name = Grafana_Forza 

Внимание: если ваш почтовый сервер не принимает аутентификацию SMTP то строки "user" и "password" надо закомментировать. Иначе получите сообщение об ошибке.

Перегружаем сервер Grafana: 

sudo /etc/init.d/grafana-server restart

Проводим контроль запуска сервера:

sudo tail -f /var/log/grafana/grafana.log

Monday, 1 June 2020

Grafana и Zabbix.

Всем привет.

Сегодня расскажу вам про Grafana - веб-инструмента для представления данных, связанных со временем, в виде очень красивых графиков и диаграмм. Grafana упоминается чуть ли не с каждой системой мониторинга. В качестве источника данных для Grafana можно использовать как множество различных сложных движков баз данных, включая Graphite, ElasticSearch, InfluxDB, Prometeus, так и более простых, например MySQL. 

Исходя из моего полигона где был развернут Zabbix Appliance, то я расскажу как установить Grafana в Centos 8, а также как настроить её для работы с Zabbix.

Основное назначение Grafana при подключении к Zabbix – строить красивые графики, и при необходимости быстро создавать, компоновать, и масштабировать различные тренды и значения на одном графике, а так же собирать информативные Dashboard из этих графиков.

Итак начнем. Качаем пакет Grafana и устанавливаем его:
wget https://dl.grafana.com/oss/release/grafana-7.0.1-1.x86_64.rpm
sudo yum install grafana-7.0.1-1.x86_64.rpm

Grafana может взаимодействовать с большим количеством различных систем и СУБД через соотвествующие плагины. Чтобы посмотреть, какие плагины существуют для Grafana, надо выполнить команду:
#grafana-cli plugins list-remote

Нам повезло, для Zabbix существует плагин, созданный Александром Зобниным. Ставим и его:
#grafana-cli plugins install alexanderzobnin-zabbix-app

Добавим сервис(сервер) Grafana в автозагрузку:
#sudo systemctl enable grafana-server

И после этого перезапустим сервис Grafana:
#service grafana-server restart

Версия на печать

Популярное