# Фільтрація метрик і трейсів за значеннями атрибутів

> Налаштування OBI для фільтрації метрик і трейсів за значеннями атрибутів.

---

LLMS index: [llms.txt](/llms.txt)

---

Ви можете обмежити звітні метрики та трейси дуже конкретними типами подій на основі значень атрибутів (наприклад, відфільтрувати мережеві метрики, щоб звітувати тільки про TCP-трафік).

Секція YAML `filter` дозволяє фільтрувати як метрики застосунків, так і мережеві метрики за значеннями атрибутів. Вона має таку структуру:

```yaml
filter:
  application:
    # map атрибутів для обмеження метрик застосунків
  network:
    # map атрибутів для обмеження мережевих метрик
```

Для списку метрик з сімейства застосунків і мережі, а також їх атрибутів, перегляньте документ [експортованих метрик OBI](../../metrics/).

Кожен розділ фільтра `application` і `network` є map, де кожен ключ є назвою атрибута (в форматі Prometheus або OpenTelemetry), з рядковим чи числовим шаблоном (див. нижче). Для перевірки на збіг ви можете скористатись властивістю `match` або `not_match`. Обидві властивості приймають рядок, схожий на [glob](https://github.com/gobwas/glob) (це може бути повне значення або включати шаблони). Якщо ви встановите властивість `match`, OBI звітує лише про метрики та трейси, які відповідають наданому значенню для цього атрибута. Властивість `not_match` є запереченням `match`.

Наступний приклад надає звіт про мережеві метрики для зʼєднань, які спрямовані на порт призначення 53, виключаючи протокол UDP:

```yaml
filter:
  network:
    transport:
      not_match: UDP
    dst_port:
      match: '53'
```

## Числові фільтри {#numeric-filters}

Починаючи з OBI v0.6.0, ви також можете використовувати числові фільтри. Наприклад, наступний приклад включає всі відрізки, у яких порт сервера >= 8000:

```yaml
filter:
  application:
    server.port:
      greater_equals: 8000
```

Доступні наступні типи перевірок:

- greater_than
- greater_equals
- equals
- not_equals
- less_equals
- less_than

Числові та рядкові типи перевірок можна поєднувати:

```yaml
filter:
  network:
    transport:
      not_match: UDP
    dst_port:
      less_than: 1024
```
