User Tools

Site Tools


сервис_zabbix

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
сервис_zabbix [2026/02/11 11:58]
val [Вычисляемые элементы]
сервис_zabbix [2026/04/15 16:24] (current)
val
Line 1571: Line 1571:
 </​code><​code>​ </​code><​code>​
 server.corp1.un:​~#​ /​root/​zab_set_map_name.sh 2 "ISP 1" server.corp1.un:​~#​ /​root/​zab_set_map_name.sh 2 "ISP 1"
 +</​code>​
 +
 +===== zabbix Services sla best practice именования tag =====
 +<​code>​
 +В Zabbix существует два основных типа тегов, которые критически важны для корректной работы SLA, и их часто путают. Ниже представлена лучшая практика именования для каждого типа, основанная на опыте сообщества и официальной документации.
 +
 +### 1. Теги проблем (Problem Tags) — Связь Триггера и Сервиса
 +Это теги, которые вы добавляете в **Trigger**. Когда триггер срабатывает,​ Zabbix смотрит на эти теги, чтобы понять,​ к какому именно Service (Сервису) относится проблема .
 +
 +**Главное правило**:​ Тег должен уникально идентифицировать конкретный экземпляр сервиса (например,​ конкретный веб-сервер или БД), чтобы вы могли рассчитывать SLA для каждого компонента отдельно .
 +
 +*   ​**Имя тега**: Используйте осмысленное имя, например `problem_tag`,​ `service` или `target`. Избегайте общих названий вроде `tag`.
 +*   ​**Значение тега**: Лучшая практика — использовать макрос `{HOST.NAME}` в комбинации с именем приложения. Это автоматически создаст уникальный идентификатор при клонировании триггеров на разные хосты.
 +
 +**Пример именования:​**
 +> **Имя:** `service`
 +> **Значение:​** `{HOST.NAME}_nginx`
 +
 +*   ​*Результат:​* Для хоста `web01` тег превратится в `web01_nginx`. Для хоста `db01` тег превратится в `db01_postgres` .
 +
 +### 2. Теги сервиса (Service Tags) — Связь Сервиса и SLA
 +Это теги, которые вы добавляете в конфигурацию **Service** (в дереве Services > Services). Они нужны для того, чтобы движок SLA знал, какие сервисы включать в отчет .
 +
 +**Главное правило**:​ Используйте бизнес-классификацию,​ а не технические детали. Тег должен отвечать на вопрос:​ "К какому бизнес-домену или команде относится этот сервис?"​ .
 +
 +**Пример именования:​**
 +*   ​**Имя:​** `SLA_Scope`
 +*   ​**Значение:​** `Critical_Payment_System`
 +
 +*   ​**Имя:​** `Team`
 +*   ​**Значение:​** `Backend_API`
 +
 +### 3. Механизм наследования и фильтрации (Best Practice End-to-End)
 +
 +Лучший способ построения архитектуры — цепочка:​ **Trigger (Problem Tag)** -> **Service (Problem Tags match)** -> **Service (Service Tag)** -> **SLA (Service Tags match)**.
 +
 +Вот пошаговый пример того, как настроить SLA для приложения "​CRM":​
 +
 +1.  **На триггере (Trigger):​**
 +    *   ​`problem_tag`:​ `{HOST.NAME}_crm_app` ​
 +
 +2.  **На дочернем сервисе (Child Service) — например,​ "​CRM_Web_01":​**
 +    *   ​*Вкладка Problem Tags:* Имя `problem_tag`,​ Значение `web01_crm_app` (чтобы поймать проблему).
 +    *   ​*Вкладка Tags:* Имя `application`,​ Значение `crm` .
 +
 +3.  **На родительском сервисе (Parent Service) — например,​ "CRM System":​**
 +    *   ​*Вкладка Tags:* Имя `application`,​ Значение `crm` (тег наследуется или прописывается явно).
 +
 +4.  **В конфигурации SLA отчета:​**
 +    *   ​*Вкладка Service tags:* Имя `application`,​ Значение `crm` .
 +
 +### 4. Ключевые правила и ограничения
 +
 +1.  **Регистр символов:​** Имена и значения тегов чувствительны к регистру (`PROBLEM` != `problem`). Выберите один формат (например,​ `snake_case` или `lowercase`) и придерживайтесь его везде .
 +2.  **Уникальность для SLA:** Если вы хотите,​ чтобы downtime одного сервера не валил весь SLA, убедитесь,​ что значения тегов проблем для разных хостов уникальны (используйте `{HOST.NAME}`). Если вы хотите считать SLA для кластера в целом (например,​ "​хотя бы один из трех жив"​),​ делайте тег общим .
 +3.  **Стандартизация названий:​** Избегайте пробелов и спецсимволов. Рекомендуемый формат:​ `category:​subcategory` или `scope:​value` (например,​ `env:​production`,​ `tier:​critical`). Это облегчает фильтрацию в Grafana или через API .
 +
 +### Итоговая схема (Cheat Sheet)
 +
 +| Сущность | Поле | Best Practice Значение | Назначение |
 +| :--- | :--- | :--- | :--- |
 +| **Trigger** | Имя Tag | `service` | Тип проверки |
 +| **Trigger** | Значение | `{HOST.NAME}_nginx` | Связка "​хост + роль"​ |
 +| **Service** | Problem Tags | Имя:​`service` Знач:​`web01_nginx` | Какой триггер слушать |
 +| **Service** | Service Tags | Имя:​`app` Знач:​`frontend` | Для группировки в отчете |
 +| **SLA** | Service Tags | Имя:​`app` Знач:​`frontend` | Какие сервисы включить в отчет |
 </​code>​ </​code>​
сервис_zabbix.txt · Last modified: 2026/04/15 16:24 by val