Рубрики
Uncategorized

Мониторинг кластера Ceph с использованием Prometheus и Grafana

Что такое Ceph? CEPH-это открытый исходный код, программное хранилище, поддерживаемое RedHat. Это кепка … Tagged с DevOps, Ceph, Grafana, Prometheus.

Что такое Ceph?

CEPH-это открытый исходный код, программное хранилище, поддерживаемое RedHat. Он способен блокировать, объект и хранилище файлов. Кластеры CEPH разработаны для работы на любом оборудовании с помощью алгоритма, называемого Crast (контролируемая репликация под масштабируемым хешоном). Этот алгоритм гарантирует, что все данные будут правильно распределены по кластеру и быстро без каких -либо ограничений. Репликация, тонкая подготовка, снимки являются ключевыми характеристиками хранилища CEPH.

Хранение объектов CEPH доступно через интернаты прикладных программ на основе Amazon Simple Service (S3) и OpenStack Swift Represtional State (RET) (API), а также нативный API для интеграции с программными приложениями.

Ceph Block Storage использует устройство блока CEPH, которое представляет собой виртуальный диск, который может быть прикреплен к серверам на основе Linux с голой металлом или виртуальными машинами. Конечный хранилище Distongic Distribute Distribute Distribute (RADOS) CEPH обеспечивает возможности для хранения блоков, такие как снимки и репликация. Устройство блока Ceph Rados интегрировано для работы в качестве заднего конца с хранением блоков OpenStack.

Что такое Prometheus?

Prometheus — это бесплатное программное приложение, используемое для мониторинга и оповещения о событиях. Он записывает метрики в режиме реального времени в базе данных временных рядов (позволяя получить высокую размерность), созданную с использованием модели HTTP-тяги, с гибкими запросами и оповещением в реальном времени. Проект написан в Go и лицензирован по лицензии Apache 2, с исходным кодом, доступным на GitHub, и является градуированным проектом Облачного вычислительного фонда, наряду с Kubernetes и Anvoy.

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

Что такое Графана?

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

Grafana подключается со всеми возможными источником данных, обычно называемым базами данных, такими как графит, Prometheus, приток DB, Elasticsearch, MySQL, PostgreSQL и т. Д.

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

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

Развертывание CEPH

Развертывание очень доступного Ceph Cluster довольно простое и простое. Я предполагаю, что вы знакомы с настройкой кластера Ceph. Если нет, то укажите официальный документ или следующие команды.

Настройте Ceph Repo:

sudo vim /etc/yum.repos.d/ceph.repo
[ceph]
name=Ceph packages for $basearch
baseurl=https://download.ceph.com/rpm-nautilus/el7/$basearch
enabled=1
priority=1
gpgcheck=1
gpgkey=https://download.ceph.com/keys/release.asc

[ceph-noarch]
name=Ceph noarch packages
baseurl=https://download.ceph.com/rpm-nautilus/el7/noarch
enabled=1
priority=1
gpgcheck=1
gpgkey=https://download.ceph.com/keys/release.asc

[ceph-source]
name=Ceph source packages
baseurl=https://download.ceph.com/rpm-nautilus/el7/SRPMS
enabled=0
priority=1
gpgcheck=1
gpgkey=https://download.ceph.com/keys/release.asc

Установка Ceph-Deploy

sudo yum install ceph-deploy -y

Создать каталог

 mkdir ceph-cluster
 cd ceph-cluster

Создайте кластер:

 ceph-deploy new node1 node2 node3

Установите пакеты CEPH:

 ceph-deploy install node1 node2 node3

Развернуть начальные мониторы и собирать ключи

 ceph-deploy mon create-initial

Создать администратор

ceph-deploy admin node1 node2 node3

Создать Mgr

ceph-deploy mgr create node1

Создать OSDS

ceph-deploy osd create --data /dev/xvdb node1
ceph-deploy osd create --data /dev/xvdb node2
ceph-deploy osd create --data /dev/xvdb node3

Проверьте статус вашего кластера

sudo ceph -s

Вы должны увидеть что -то вроде:

Установка Прометея

Запустите следующую команду, чтобы загрузить и установить Prometheus.

sudo wget https://github.com/prometheus/prometheus/releases/download/v2.8.1/prometheus-2.8.1.linux-amd64.tar.gz

Добавьте пользователя Prometheus.

sudo useradd --no-create-home --shell /bin/false prometheus

Создайте необходимые каталоги.

sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus

Измените владельца вышеуказанных каталогов.

sudo chown prometheus:prometheus /etc/prometheus
sudo chown prometheus:prometheus /var/lib/prometheus

Теперь перейдите в Prometheus загруженное местоположение и извлеките его.

sudo tar -xvzf prometheus-2.8.1.linux-amd64.tar.gz

Переименовать это в соответствии с вашими предпочтениями.

sudo mv prometheus-2.8.1.linux-amd64 prometheuspackage

Скопируйте «Прометея» и «Промол» двоичный из папки «Прометхейспакги» в «/usr/local/bin».

sudo cp prometheuspackage/prometheus /usr/local/bin/
sudo cp prometheuspackage/promtool /usr/local/bin/

Измените право собственности на пользователя Prometheus.

sudo chown prometheus:prometheus /usr/local/bin/prometheus
sudo chown prometheus:prometheus /usr/local/bin/promtool

Скопируйте каталоги «Консоли» и «Консоль_либри» из «Prometheuspackage» в папку «/etc/prometheus»

sudo cp -r prometheuspackage/consoles /etc/prometheus
sudo cp -r prometheuspackage/console_libraries /etc/prometheus

Измените право собственности на пользователя Prometheus

sudo chown -R prometheus:prometheus /etc/prometheus/consoles
sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries

Теперь мы создадим файл prometheus.yml.

sudo vim /etc/prometheus/prometheus.yml

Добавьте следующую конфигурацию в файл.

global:
  scrape_interval: 10s

scrape_configs:
  - job_name: 'prometheus_master'
    scrape_interval: 5s
    static_configs:
      - targets: ['localhost:9283'] 

— {Скопируйте порт №. Что вы получаете после увольнения Command Seph MGR Services} —

Измените право собственности на файл.

sudo chown prometheus:prometheus /etc/prometheus/prometheus.yml

Настройте файл службы Prometheus.

sudo vim /etc/systemd/system/prometheus.service

Скопируйте следующий контент в файл.

[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/prometheus \
--config.file /etc/prometheus/prometheus.yml \
--storage.tsdb.path /var/lib/prometheus/ \
--web.console.templates=/etc/prometheus/consoles \
--web.console.libraries=/etc/prometheus/console_libraries

[Install]
WantedBy=multi-user.target

Перезагрузить службу Systemd.

sudo systemctl daemon-reload

Начните службу Prometheus.

sudo systemctl start prometheus

Проверьте статус службы.

systemctl status prometheus

Используйте следующий URL, чтобы получить доступ к UI.

http://Server-IP:9090/graph

Затем вы можете увидеть следующий интерфейс.

Установка Графана

Создайте файл репо.

vim /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
sudo vim /etc/yum.repos.d/grafana.repo

Введите следующую команду:

sudo yum install grafana -y

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

sudo yum install fontconfig
sudo yum install freetype*
sudo yum install urw-fonts

Проверьте статус Сервиса.

sudo systemctl status grafana-server

Если служба не активна, запустите ее, используя следующую команду:

sudo systemctl start grafana-server

Включить сервис Grafana на загрузке системы

sudo systemctl enable grafana-server.service

Используйте следующий URL для доступа к веб -интерфейсу Grafana.

http://Your Server IP or Host Name:3000/

Затем вы можете увидеть следующий интерфейс.

Включение сервиса мониторинга на Ceph Cluster

MGR Включите панель панели

ceph mgr module enable dashboard --force

MGR включил Прометею

 ceph mgr module enable prometheus --force

Редактировать Ceph.conf

 vim ceph-deploy/ceph.conf

Добавить:

[mon]
        mgr initial modules = dashboard

Проверьте сервисы MGR: — {обновить файл/etc/prometheus/prometheus.yml с полученным портом №. как целевой порт №. } —

Как вы успешно установили Prometheus и Grafana для мониторинга CEPH

Давайте начнем настройку Графана сейчас 1 Войдите в Grafana с по умолчанию имени пользователя и пароля в качестве администратора 2 Нажмите, чтобы создать DataSource 3 Выберите Прометеус 4 Введите URL Prometheus

5. Нажмите «Импорт» и введите Ceph-Clycluster Grafana Dashboard «7056» 6 Выберите «Имя» и «Источник данных Ceph Prometheus»

Наконец, мы успешно интегрировали наш кластер Ceph с Прометеем и Графаной!

Используя это, вы можете отслеживать свой Ceph Cluster!

Оригинал: «https://dev.to/ingoleajinkya/ceph-cluster-monitoring-using-prometheus-and-grafana-472i»