linux-system-roles.metrics

метрики

ansible-lint.yml ansible-test.yml markdownlint.yml shellcheck.yml subtree.yml tft.yml tft_citest_bad.yml woke.yml

Ansible-роль, которая настраивает службы анализа производительности для управляемого хоста. Это (по желанию) включает список удаленных систем, которые будут мониториться управляемым хостом.

Требования

Performance Co-Pilot (PCP) версии 5 и выше. Все пакеты доступны из стандартных репозиториев на Fedora, CentOS 8 и RHEL 8. На RHEL 7 и RHEL 6 вам нужно будет активировать дополнительный репозиторий/канал на управляемом хосте.

Роль может по желанию использовать Grafana версии 6+ (metrics_graph_service) и Redis версии 5+ (metrics_query_service) на Fedora, CentOS 8, RHEL 8 и более поздних версиях этих платформ.

Требования для коллекции

Роль требует наличие роли firewall и роли selinux из коллекции fedora.linux_system_roles, если metrics_manage_firewall и metrics_manage_selinux установлены в true соответственно. (Пожалуйста, смотрите также переменные в разделе Переменные роли).

Если metrics — это роль из коллекции fedora.linux_system_roles или из пакета RPM Fedora, требование уже выполнено.

Роль требует дополнительные коллекции для управления системами rpm-ostree. Если вам нужно управлять системами rpm-ostree, выполните команду ниже, чтобы установить коллекции.

ansible-galaxy collection install -r meta/collection-requirements.yml

Переменные роли

metrics_monitored_hosts: []

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

Пример:

metrics_monitored_hosts: ["webserver.example.com", "database.example.com"]

metrics_webhook_endpoint: ''

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

metrics_retention_days: 14

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

metrics_graph_service: false

Булева переменная, позволяющая настраивать хост с графическими службами. Включение этой опции запускает серверы PCP и Grafana для визуализации метрик PCP. Эта опция требует Grafana версии 6 и выше, которая доступна на Fedora, CentOS 8, RHEL 8 или более поздних версиях этих платформ.

metrics_query_service: false

Булева переменная, позволяющая настраивать хост с сервисами запросов временных рядов. Включение этой опции запускает серверы PCP и Redis для запроса записанных метрик PCP. Эта опция требует Redis версии 5 и выше, которая доступна на Fedora, CentOS 8, RHEL 8 или более поздних версиях этих платформ.

metrics_into_elasticsearch: false

Булева переменная, позволяющая экспортировать значения метрик в Elasticsearch.

metrics_from_elasticsearch: false

Булева переменная, позволяющая делать доступными метрики из Elasticsearch.

metrics_from_postfix: false

Булева переменная, позволяющая делать доступными метрики из Postfix.

metrics_from_mssql: false

Булева переменная, позволяющая делать доступными метрики из SQL Server. Включение этой переменной требует 'доверенного' соединения с SQL Server.

metrics_from_bpftrace: false

Булева переменная, позволяющая делать доступными метрики из bpftrace.

metrics_username: metrics

Учетная запись для установки подлинного доступа к удаленным метрикам через демон PCP pmcd. Для получения дополнительной информации смотрите https://pcp.readthedocs.io/en/latest/QG/AuthenticatedConnections.html.

Кроме того, если метрики bpftrace настроены, эта учетная запись сможет регистрировать скрипты bpftrace.

metrics_password: metrics

Не используйте открытый текст metrics_password. Используйте Ansible Vault для шифрования пароля.

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

metrics_provider: pcp

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

На данный момент Performance Co-Pilot является единственным поддерживаемым провайдером метрик. При использовании провайдера PCP будут использоваться следующие TCP порты: 44321 (pmcd, выборка живых значений метрик), 44322 (pmproxy, с metrics_query_service или metrics_graph_service), 6379 (redis-server для metrics_query_service) и 3000 (grafana-server для metrics_graph_service).

metrics_manage_firewall: false

Булева переменная, позволяющая настраивать брандмауэр с использованием роли брандмауэра. Управляйте портами pmcd, pmproxy, Grafana и Redis в зависимости от параметров конфигурации. Если переменная установлена в false, роль metrics не управляет брандмауэром.

ПРИМЕЧАНИЕ: metrics_manage_firewall ограничена добавлением портов. Она не может быть использована для удаления портов. Если вы хотите удалить порты, вам нужно будет использовать систему управления брандмауэром напрямую.

ПРИМЕЧАНИЕ: управление брандмауэром не поддерживается на RHEL 6.

metrics_manage_selinux: false

Булева переменная, позволяющая настраивать SELinux с использованием роли selinux. Назначьте порт pmcd, порт pmproxy, порт Grafana и порт Redis в зависимости от параметров конфигурации. Если переменная установлена в false, роль metrics не управляет SELinux.

Обратите внимание, что сервисы pmcd и pmproxy находятся в "эпхемерном" диапазоне и не требуют специальной настройки, а порт Grafana "незарегистрирован". Порт Redis ограничен типом SELinux redis_port_t и может потребовать дальнейшей настройки, если вам нужен прямой доступ (это не потребуется, если вы получаете доступ через инструменты роли metrics, такие как Grafana и PCP). Используйте системную роль selinux для управления доступом к портам и контекстами SELinux.

ПРИМЕЧАНИЕ: metrics_manage_selinux ограничена добавлением политик. Она не может быть использована для удаления политик. Если вы хотите удалить политику, вам нужно будет использовать системную роль selinux напрямую.

Пример плейбука

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

---
- name: Управлять службой метрик
  hosts: all
  vars:
    metrics_retention_days: 7
  roles:
    - linux-system-roles.metrics

Масштабируемая настройка записи, анализа и визуализации метрик для управляемых хостов, предоставляющая сервер REST API с конечной точкой OpenMetrics, графики и масштабируемые запросы.

---
- name: Управлять метриками с графической и запрашиваемой службами
  hosts: all
  vars:
    metrics_graph_service: true
    metrics_query_service: true
  roles:
    - linux-system-roles.metrics

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

---
- name: Управлять централизованным сбором метрик
  hosts: monitors
  vars:
    metrics_monitored_hosts: [app.example.com, db.example.com, nas.example.com]
    metrics_graph_service: true
    metrics_query_service: true
  roles:
    - linux-system-roles.metrics

rpm-ostree

Смотрите README-ostree.md

Лицензия

MIT

Установить
ansible-galaxy install linux-system-roles.metrics
Лицензия
mit
Загрузки
3.5k
Владелец