Postanowiłem opisać zadanie, w jakim niedawno brałem udział, a którego celem było utworzenie dashboardów wizualizujących ilość ruchu przechodzącego przez reguły utworzone w ramach polityk Distributed FireWall (DFW) /Gateway FireWall (GFW) w środowisku NSX-T. Co z tego wynikło? Sami się przekonajcie.
Przygotowanie
Dashboard’y mają zostać utworzone w systemu ARIA OPERATIONS FOR LOGS na podstawie logów przesyłanych przez NSX-T.
Tworzenie wykresów liczących sesje przechodzące przez regułę DFW/GFW musi zostać oparte o Label oraz ID danej reguły – nie ma możliwości wykorzystania nazw reguł.
Ze względu na unikalność Label reguł, należy dodać do nich wyróżnik pozwalający zidentyfikować Labele w logach.
Proponowane wyróżniki:
T_XXX-XXX – środowisko testowe
P_XXX-XXX – środowisko produkcyjne
N_XXX-XXX – środowisko pre-produkcyjne
M_XXX-XXX – środowisko MGMT
Tak tworzone Labele logów pozwalają w prosty sposób wykorzystywać RegularExpresions (RegEx) w celu wyodrębniania Pól (Fields) dla zdarzeń zarejestrowanych w Aria Operations for Logs, bez konieczności budowania rozbudowanych wyrażeń bazujących np. na adresie IP poprzedzającym Labelę reguły. Nie zachodzi także konieczność budowania osobnych wyrażeń dla IPv4 oraz IPv6.
Realizacja zadania
1. Tworzenie dashboardu
Tworzenie dashboard’ów dla GFW oraz DFW wymaga skonfigurowania odpowiednich filtrów w celu wyciągnięcia jedynie koniecznych danych.
2. Filtry dla DFW
Parametr | Kryterium | Wartość | Opis |
hostname | Contains | ESXi_hostname0* | Filtr pozostawia informacje pochodzące z hostów podłączonych do NSX-T |
appname | Contains | firewall-pktlog | Filtr pozostawia informacje pochodzące z DFW |
Vmw_nsxt_firewall_client_to_server_bytes | Does not exist | – | Filtr usuwa informacje o ilości przesłanych bajtów |

3. Filtry dla GFW
Parametr | Kryterium | Wartość | Opis |
hostname | Contains | EdgeNode_name0* | Filtr pozostawia informacje pochodzące Edge Node-ów podłączonych do NSX-T |
text | Contains | firewall | Filtr pozostawia informacje dotyczące zdarzeń z GFW na podstawie zawartej w logu frazy |

4. Wyodrębnianie pola „RuleLabel”
W Aria Operations for Logs reguły DFW/GFW można zidentyfikować na podstawie „RuleID” oraz przypisanej przez użytkownika Labeli, która może zawierać dowolny opis dotyczący reguły. W celu wyodrębnienia reguły jako osobnego pola należy skorzystać z RegEx – RegularExpressions. Całe wyrażenie powinno zostać utworzone na podstawie Labelu wzbogaconego o wyróżnik opisany w pierwszym rozdziale.
Aby wyodrębnić pole należy:
- zaznaczyć obszar logu, który nas interesuje – w tym przypadku label reguły
- kliknąć „Extract Field”

Następnie w wyświetlonym z prawej strony „formularzu” należy:
- wpisać nazwę pola
- definiować wyrażenie obejmujące zdefiniowany wcześniej label – w przypadku środowiska testowego labele reguły są sformułowane w następujący sposób:
T_XXX-XXX-XXX
RegEx dla powyższego przykładu wygląda następująco:
Pre context – „T\_” – odnoszący się do przedrostka
Post Context – „. *” – oznaczający każdy dowolny znak, jakim kończy się label

Po zdefiniowaniu powyższych parametrów z treści logu zostanie wyróżniona treść labeli:

Po sprawdzeniu, czy zaznaczona została odpowiedni fragment tekstu należy kliknąć przycisk „Save” na dole formularza:

Dodanie innego separatora pomiędzy „T” a treścią labeli pozwala uniknąć sytuacji, w których słowo w labeli kończy się znakami „t-” jak w przykładzie T-DEFAULT-DENY-CONNECTION. W takich przypadkach wyrażenie byłoby przetworzone nieprawidłowo.
Należy również unikać stosowania znaku „.” (kropka), który może spowodować, że wyrażenie będzie traktowało domeny xxx.net.pl jako wyróżnik dla labeli.
Po zapisaniu nowe pole wyświetla się w następujący sposób:

5. Konfiguracja wykresów DFW
W celu konfiguracji wykresów zliczających ruch związany z konkretną regułą należy w lewym dolnym rogu pola wykresu wybrać następujące opcje:
- Count of events – wyświetlający ilość zdarzeń

W celu konfiguracji serii wyświetlanych na wykresie należy wybrać następujące pola zaznaczyć następujące opcje:
- Non-time series – wyświetli dane bez uwzględniania znacznika czasowego – zliczy ilość uderzeń w regułę w określonym czasie

- Time series – wyświetli dane uwzględniające znacznik czasowy – wyświetli ilość uderzeń w regułę w konkretnym czasie

UWAGA! Przy większej ilości reguł wykres może być nieczytelny. W takim wypadku najlepiej użyć filtrów do wyświetlenia informacji o konkretnej regule.
oraz wybrać pola:
- RuleLabel – pole utworzone z wykorzystaniem RegEx wyodrębniające label reguły jako osobne pole
- vmw_nsxt_firewall_ruleid – pole zawierające ID reguły DFW
Powyższe czynności należy zatwierdzić przyciskiem „Apply”

Następnym krokiem, w przypadku wykresu zliczającego, jest zmiana rodzaju wyświetlanego wykresu na wykres typu „Bar”, który zwiększa czytelność wyświetlanych danych. Parametry wykresu pozostają domyślne.

Efektem powyższych działań jest następujący wykres:
- Wykres zliczający:

- Wykres zliczający zdarzenia w czasie:

W celu zapisania wykresu należy w prawym górnym rogu kliknąć przycisk “Add to dashboard” oraz zapisać wykres w istniejącym lub nowo utworzonym dashboard’zie:

6. Konfiguracja wykresów GFW
W celu konfiguracji wykresów zliczających ruch związany z konkretną regułą należy w lewym dolnym rogu pola wykresu wybrać następujące opcje:
- Count of events – wyświetlający ilość zdarzeń

W celu konfiguracji serii wyświetlanych na wykresie należy zaznaczyć następujące opcje:
- Non-time series – wyświetli dane bez uwzględniania znacznika czasowego

- Time series – wyświetli dane uwzględniające znacznik czasowy – wyświetli ilość uderzeń w regułę w konkretnym czasie

UWAGA! Przy większej ilości reguł wykres może być nieczytelny. W takim wypadku najlepiej użyć filtrów do wyświetlenia informacji o konkretnej regule.
oraz wybrać pola:
- RuleLabel – pole utworzone z wykorzystaniem RegEx wyodrębniające label reguły jako osobne pole
- vmw_nsxt_edge_firewall_ruleid – pole zawierające ID reguły GFW
Powyższe czynności należy zatwierdzić przyciskiem „Apply”

Efektem powyższych działań jest następujący wykres:

- Wykres zliczający zdarzenia w czasie:

W celu zapisania wykresu należy w prawym górnym rogu kliknąć przycisk “Add to dashboard” oraz zapisać wykres w istniejącym lub nowo utworzonym dashboardzie:

7. Widok gotowego dashboardu
Widok gotowych wykresów w dashboardzie

Podsumowanie
Mam nadzieję, że dobrnęliście do końca. Starałaem się krok po kroku wskazać sposób postępowania, którego finałem jest utworzenie etykiet do pracy z VMware Aria Operations for Logs. Ma być łatwo, prosto i szybko. Spróbujcie sami i dajcie znać w komentarzach czy tak właśnie się udało. W razie pytań, służę pomocą.
Artykuł powstał przy współpracy z dostawcą usługi VMware