Серверы
  • Готовые серверы
  • Конфигуратор
  • Серверы с 1CPU
  • Серверы с 2CPU
  • 4 поколение AMD EPYC
  • Серверы с AMD Ryzen и Intel Core i9
  • Серверы для хранения данных
  • Cерверы с портом 10 Гбит/c
  • Премиальные серверы
  • Серверы с большим объемом RAM
  • GPU
  • Распродажа
  • VPS
  • VPS / VDS серверы
  • Хостинг с ispmanager
  • GPU
  • Выделенные серверы с GPU
  • Виртуальные серверы с GPU
  • GPU-серверы с Nvidia RTX 5090
  • GPU-серверы с Nvidia RTX 6000 PRO
  • GPU-серверы с AMD Radeon
  • Распродажа
    Маркетплейс
    Colocation
  • Размещение серверов в дата-центре в Москве
  • Обслуживание серверов в других ЦОД
  • Прокат
    Услуги
  • Аренда сетевого оборудования
  • Защита L3-L4 от DDoS атак
  • IPV4 и IPV6 адреса
  • Администрирование серверов
  • Уровни технической поддержки
  • Мониторинг сервера
  • BYOIP
  • USB диск
  • IP-KVM
  • Трафик
  • Коммутация серверов
  • AI-чат-бот Lite
  • AI-платформа
  • О нас
  • Работа в HOSTKEY
  • Панель управления серверами и API
  • Дата-центры
  • Сеть
  • Тест скорости
  • Специальные предложения
  • Отдел продаж
  • Для реселлеров
  • Гранты для специалистов по Data Science
  • Гранты для научных проектов и стартапов
  • Документация и Частые вопросы
  • Новости
  • Блог
  • Оплата
  • Документы
  • Сообщите о нарушении
  • Looking Glass
  • 22.09.2023

    Мониторинг SSL-сертификатов oVirt

    server one
    HOSTKEY
    Арендуйте выделенные и виртуальные серверы с моментальным деплоем в надежных дата-центрах класса TIER III в Москве и Нидерландах. Принимаем оплату за услуги HOSTKEY в Нидерландах в рублях на счет российской компании. Оплата с помощью банковских карт, в том числе и картой МИР, банковского перевода и электронных денег.

    Автор: Степан Вахета, специалист отдела DevOps компании Hostkey

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

    В прошлых статьях мы описывали варианты использования Prometheus + Alertmanager + Node Exporter и HTTP и SSL через Prometheus blackbox_exporter.

    Сегодня речь пойдет о мониторинге сертификатов в локальном хранилище двух основных компонентов oVirt: oVirt Engine и oVirt Node. Именно посредством этих сертификатов происходит взаимодействие между данными компонентами.

    • oVirt Engine — это центральный компонент управления, который контролирует все хосты виртуализации, общие дисковые ресурсы и виртуальные сети.
    • oVirt Node — это компонент, установленный на каждом отдельном хосте, который управляет всеми ресурсами этого хоста и запущенными на нем виртуальными машинами.

    В зависимости от архитектуры ноды oVirt могут объединяться в кластеры. При этом важно поддерживать высокий уровень надежности взаимодействия между компонентами системы.

    Коммуникация между oVirt Engine и хостами oVirt осуществляется по зашифрованному SSL-соединению, основанному на сертификатах этих компонентов. В зависимости от версии oVirt срок действия этих сертификатов может отличаться: до версии 4.5 он составлял 398 дней, а начиная с версии 4.5 увеличен до 5 лет.

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

    Лучшее решение проблемы — не допустить ее возникновения. Соответственно, мы будем собирать необходимые метрики с помощью SSL Exporter — он позволяет назначать для сбора метрик целевой параметр в виде локальных файлов, что отлично подходит для решения нашей задачи.

    После установки и запуска экспортера необходимо определить целевые параметры (таргеты) для каждого из компонентов системы. Согласно документации интересующие нас сертификаты для каждого из компонентов расположены по следующим путям:

    • для ovirt-engine — /etc/pki/ovirt-engine;
    • для ovirt-host — /etc/pki/vdsm/ и /etc/pki/libvirt/.

    Данный экспортер имеет возможность поиска и выборки по множеству файлов одновременно (при помощи пакета doublestar), в запросе мы будем использовать именно его.

    Целевой параметр для oVirt Engine:

    http://<engine_address>:9219/probe?module=file&target=/etc/pki/ovirt-engine/**/**.pem

    Целевой параметр для oVirt Hosts:

    http://<node_address>:9219/probe?module=file&target=/etc/pki/vdsm/**/**.pem
    http://<node_address>:9219/probe?module=file&target=/etc/pki/libvirt/**/**.pem

    Пример выборки собранных метрик:

    Затем необходимо описать конфигурацию для Prometheus и добавить ее в базу. Для наглядности разделим ее по job_name при последующей визуализации в панели AlertManager:

    /etc/prometheus/prometheus.yml

    - job_name: ssl_file_engine
    metrics_path: /probe
    params:
    	module:
    	- file
    	target:
    	- /etc/pki/ovirt-engine/**/**.pem
    static_configs:
    - targets:
    	- engine_address:9219
    	- engine_address:9219
    
    - job_name: ssl_file_vdsm_node
    metrics_path: /probe
    params:
    	module:
    	- file
    	target:
    	- /etc/pki/vdsm/**/**.pem
    static_configs:
    - targets:
    	- node_address:9219
    	- node_address:9219
    
    - job_name: ssl_file_libvirt_node
    metrics_path: /probe
    params:
    	module:
    	- file
    	target:
    	- /etc/pki/libvirt/**/**.pem
    static_configs:
    - targets:
    	- node_address:9219
    	- node_address:9219

    Далее необходимо описать конфигурационный файл с правилами для срабатывания алертов. Нас будет интересовать дата окончания срока действия сертификата.

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

    ssl_file_engine.yml

    groups:
    - name: ssl_file_engine
    	rules:
    	- alert: SSLCertExpiringSoon
    	expr:  ssl_file_cert_not_after{job="ssl_file_engine"} - time() < 86400 * 70
    	for: 10m
    	labels:
    		severity: critical
    	annotations:
    		description: "SSL certificate will expire in {{ $value | humanizeDuration }} (instance {{ $labels.instance }}) (instance {{ $labels.file }})"

    ssl_file_libvirt_node.yml

    groups:
    - name: ssl_file_libvirt_node
    	rules:
    	- alert: SSLCertExpiringSoon
    	expr:  ssl_file_cert_not_after{job="ssl_file_libvirt_node"} - time() < 86400 * 70
    	for: 10m
    	labels:
    		severity: critical
    	annotations:
    		description: "SSL certificate will expire in {{ $value | humanizeDuration }} (instance {{ $labels.instance }}) (instance {{ $labels.file }})"

    ssl_file_vdsm_node.yml

    groups:
    - name: ssl_file_vdsm_node
    	rules:
    	- alert: SSLCertExpiringSoon
    	expr:  ssl_file_cert_not_after{job="ssl_file_vdsm_node"} - time() < 86400 * 70
    	for: 10m
    	labels:
    		severity: critical
    	annotations:
    		description: "SSL certificate will expire in {{ $value | humanizeDuration }} (instance {{ $labels.instance }}) (instance {{ $labels.file }})"

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

    Подобный мониторинг позволяет предотвратить сбои в работе из-за несвоевременной замены SSL-сертификатов и обеспечивает стабильное функционирование виртуальной инфраструктуры. Благодаря нескольким простым действиям можно избежать проблемы, которая повлечет простой большого количества ресурсов.

    Арендуйте выделенные и виртуальные серверы с моментальным деплоем в надежных дата-центрах класса TIER III в Москве и Нидерландах. Принимаем оплату за услуги HOSTKEY в Нидерландах в рублях на счет российской компании. Оплата с помощью банковских карт, в том числе и картой МИР, банковского перевода и электронных денег.

    Другие статьи

    31.07.2025

    Что за зверь n8n. Первые шаги автоматизации

    Хотите автоматизировать рутину без единой строчки кода? Покажем, как за 15 минут собрать Telegram-бота на n8n — и это только начало.

    25.07.2025

    Поднимаем кластер k8s на Talos Linux

    Наша команда добавила к себе в список доступных для установки новую ОС — Talos Linux. В этой статье мы постараемся рассказать, что такое Talos Linux, и в чем его удобство перед остальными OS для кластера Kubernetes. Дополнительно мы развернем тестовый кластер, на который задеплоим наше первое приложение!

    26.06.2025

    Как работают LLM в 2025 году: глубокий разбор языковых моделей от GPT-4 до DeepSeek-R1

    Что происходит внутри GPT-4, LLaMA 3 и DeepSeek-R1, когда вы задаёте вопрос? В этой статье — полный разбор архитектуры, токенов, обучения, галлюцинаций и будущего LLM.

    05.06.2025

    Интеграция компонентов OpenStack Glance в существующую инфраструктуру oVirt

    Как улучшить серверную инфраструктуру на основе oVirt с помощью компонентов OpenStack на примере Glance.

    22.05.2025

    Сравнение параметров серверов и хостинг-провайдеров для валидации блокчейн-транзакций на примере Solana

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

    Upload