Параметри конфігурації OBI Network Metrics
Мережеві метрики налаштовуються в підрозділі network файлу YAML-конфігурації OBI або за допомогою набору змінних середовища з префіксом OTEL_EBPF_NETWORK_.
Приклад YAML:
network:
enable: true
cidrs:
- 10.10.0.0/24
- 10.0.0.0/8
- 10.30.0.0/16
attributes:
kubernetes:
enable: true
select:
obi_network_flow_bytes:
include:
- k8s.src.owner.name
- k8s.src.namespace
- k8s.dst.owner.name
- k8s.dst.namespace
- src.cidr
- dst.cidr
otel_metrics_export:
endpoint: http://localhost:4318
На додачу до розділу network YAML, конфігурація OBI вимагає наявності точки доступу для експорту мережевих метрик (в попередньому прикладі, otel_metrics_export, але вона також приймає точки доступу Prometheus).
Властивості конфігурації мережевих метрик
Щоб увімкнути мережеві метрики, додайте одну з наступних опцій features до розділу першого рівня metrics section:
networkувімкне метрикуobi_network_flow_bytes: кількість байтів між двома кінцевими точками вашого кластераnetwork_inter_zoneувімкне метрикуobi_network_inter_zone_bytes: кількість байтів між різними зонами доступності у вашому хмарному кластері
Специфікація obi_network_inter_zone_bytes наразі є експериментальною і доступна лише для кластерів Kubernetes. Специфікація не є остаточною, і майбутні версії OBI можуть ввести руйнівні зміни.
| YAML | Змінна середовища | Тип | Стандартно |
|---|---|---|---|
source | OTEL_EBPF_NETWORK_SOURCE | string | socket_filter |
Вказує на функцію ядра Linux, яка використовується для отримання мережевих подій, про які повідомляє OBI.
Доступні параметри: tc та socket_filter.
Коли tc використовується як джерело подій, OBI використовує фільтри входу та виходу Linux Traffic Control для захоплення мережевих подій у режимі прямої дії. Цей режим джерела подій припускає, що жодні інші програми eBPF не підключаються до того ж інтерфейсу Linux Traffic Control у режимі прямої дії. Наприклад, Cilium Kubernetes CNI використовує той же підхід, тому, якщо у вас встановлено Cilium CNI у вашому кластері Kubernetes, налаштуйте OBI для захоплення мережевих подій за допомогою режиму socket_filter.
Коли socket_filter використовується як джерело подій, OBI встановлює фільтр сокетів eBPF Linux для захоплення мережевих подій. Цей режим не конфліктує з Cilium CNI або іншими програмами eBPF, які використовують фільтри виходу та входу Linux Traffic Control.
| YAML | Змінна середовища | Тип | Стандартно |
|---|---|---|---|
cidrs | OTEL_EBPF_NETWORK_CIDRS | []string | (empty) |
Перелік CIDR, який буде встановлено як атрибути src.cidr та dst.cidr з відповідним записом, що відповідає src.address та dst.address.
Атрибут як функція IP-адрес джерела та призначення. Якщо IP-адреса не відповідає жодній адресі тут, атрибути не будуть встановлені. Якщо IP-адреса відповідає кільком визначенням CIDR, потік буде прикрашений найвужчим CIDR. В результаті ви можете безпечно додати запис 0.0.0.0/0, щоб згрупувати весь трафік, який не відповідає жодному з інших CIDR.
Якщо ви встановите цю властивість через змінну середовища, кожен запис повинен бути розділений комою, наприклад:
OTEL_EBPF_NETWORK_CIDRS=10.0.0.0/8,192.168.0.0/16
| YAML | Змінна середовища | Тип | Стандартно |
|---|---|---|---|
agent_ip | OTEL_EBPF_NETWORK_AGENT_IP | string | (not set) |
Дозволяє перевизначити атрибут obi.ip, що повідомляється в кожній метриці. Якщо не встановлено, OBI автоматично виявляє свою IP-адресу з вказаного мережевого інтерфейсу (див. наступну властивість).
| YAML | Змінна середовища | Тип | Стандартно |
|---|---|---|---|
agent_ip_iface | OTEL_EBPF_NETWORK_AGENT_IP_IFACE | string | external |
Вказує, який інтерфейс OBI повинен використовувати для вибору своєї IP-адреси, щоб встановити значення атрибута obi.ip. Прийнятні значення: external (стандартно), local або name:<імʼя інтерфейсу> (наприклад, name:eth0).
Якщо властивість конфігурації agent_ip встановлена, ця властивість не має ефекту.
| YAML | Змінна середовища | Тип | Стандартно |
|---|---|---|---|
agent_ip_type | OTEL_EBPF | string | any |
Вказує, який тип IP-адреси (IPv4 або IPv6 або обидва) OBI повинен повідомляти в полі obi.ip кожного потоку. Прийнятні значення: any (стандартно), ipv4, ipv6. Якщо властивість конфігурації agent_ip встановлена, ця властивість не має ефекту.
| YAML | Змінна середовища | Тип | Стандартно |
|---|---|---|---|
interfaces | OTEL_EBPF_NETWORK_INTERFACES | []string | (empty) |
Назви інтерфейсів, з яких збираються потоки. Якщо порожньо, OBI отримує всі інтерфейси в системі, за винятком тих, що вказані в excluded_interfaces (див. нижче). Якщо запис обгорнутий слешами (наприклад, /br-/), він перевіряється як регулярний вираз, в іншому випадку він перевіряється як рядок з урахуванням регістру.
Якщо ви встановите цю властивість через змінну середовища, кожен запис повинен бути розділений комою, наприклад:
OTEL_EBPF_NETWORK_INTERFACES=eth0,eth1,/^veth/
| YAML | Змінна середовища | Тип | Стандартно |
|---|---|---|---|
exclude_interfaces | OTEL_EBPF_NETWORK_EXCLUDE_INTERFACES | []string | lo |
Назви інтерфейсів, які потрібно виключити з трасування мережевих потоків. Стандартно: lo (loop-back). Якщо запис обгорнутий слешами (наприклад, /br-/), він перевіряється як регулярний вираз, в іншому випадку він перевіряється як рядок з урахуванням регістру.
Якщо ви встановите цю властивість через змінну середовища, кожен запис повинен бути розділений комою, наприклад:
OTEL_EBPF_NETWORK_EXCLUDE_INTERFACES=lo,/^veth/
| YAML | Змінна середовища | Тип | Стандартно |
|---|---|---|---|
protocols | OTEL_EBPF_NETWORK_PROTOCOLS | []string | (empty) |
Якщо встановлено, OBI відкидає будь-який мережевий потік, який повідомляє про протокол Інтернету, що не входить до цього списку.
Прийнятні значення визначені в перерахуванні Linux Стандартні добре визначені IP-протоколи, і можуть бути: TCP, UDP, IP, ICMP, IGMP, IPIP, EGP, PUP, IDP, TP, DCCP, IPV6, RSVP, GRE, ESP, AH, MTP, BEETPH, ENCAP, PIM, COMP, L2TP, SCTP, UDPLITE, MPLS, ETHERNET, RAW
| YAML | Змінна середовища | Тип | Стандартно |
|---|---|---|---|
exclude_protocols | OTEL_EBPF_NETWORK_EXCLUDE_PROTOCOLS | []string | (empty) |
Якщо встановлено, OBI відкидає будь-який мережевий потік, який повідомляє про протокол Інтернету, що входить до цього списку.
Якщо список protocols/OTEL_EBPF_NETWORK_PROTOCOLS вже встановлений, ця властивість ігнорується.
Допустимі значення визначені в переліку Linux Стандартні добре визначені IP-протоколи, і можуть бути: TCP, UDP, IP, ICMP, IGMP, IPIP, EGP, PUP, IDP, TP, DCCP, IPV6, RSVP, GRE, ESP, AH, MTP, BEETPH, ENCAP, PIM, COMP, L2TP, SCTP, UDPLITE, MPLS, ETHERNET, RAW
| YAML | Змінна середовища | Тип | Стандартно |
|---|---|---|---|
cache_max_flows | OTEL_EBPF_NETWORK_CACHE_MAX_FLOWS | integer | 5000 |
Визначає, скільки потоків може бути накопичено в кеші обліку перед скиданням для подальшого експорту. Стандартне значення — 5000. Зменште його, якщо ви бачите помилку “отримане повідомлення більше за максимальне” в журналах OBI.
| YAML | Змінна середовища | Тип | Стандартно |
|---|---|---|---|
cache_active_timeout | OTEL_EBPF_NETWORK_CACHE_ACTIVE_TIMEOUT | duration | 5s |
Визначає максимальний час, протягом якого потоки зберігаються в кеші обліку перед скиданням для подальшого експорту.
| YAML | Змінна середовища | Тип | Стандартно |
|---|---|---|---|
direction | OTEL_EBPF_NETWORK_DIRECTION | string | both |
Дозволяє вибрати, які потоки відстежувати відповідно до їхнього напрямку в інтерфейсі, з якого вони захоплюються. Прийнятні значення: ingress, egress, або both (стандартно).
У цьому контексті ingress або egress не повʼязані з вхідним/вихідним трафіком ззовні вузла або кластера, а з мережевим інтерфейсом. Це означає, що один і той же мережевий пакет може розглядатися як “ingress” у віртуальному мережевому пристрої та як “egress” у фізичному мережевому інтерфейсі.
| YAML | Змінна середовища | Тип | Стандартно |
|---|---|---|---|
sampling | OTEL_EBPF_NETWORK_SAMPLING | integer | 0 (disabled) |
Частота, з якою пакети повинні бути вибірково захоплені та надіслані до цільового колектора. Наприклад, якщо встановлено 100, в середньому один з 100 пакетів надсилається до цільового колектора.
| YAML | Змінна середовища | Тип | Стандартно |
|---|---|---|---|
print_flows | OTEL_EBPF_NETWORK_PRINT_FLOWS | boolean | false |
Якщо встановлено true, OBI виводить кожен мережевий потік на стандартний вихід. Зверніть увагу, що це може згенерувати велику кількість виходу.
Відгук
Чи це було корисним?
Дякуємо. Ми цінуємо ваші відгуки!
Будь ласка, дайте нам знати як ми можемо покращити цю сторінку. Ми цінуємо ваші відгуки!