Oprócz podstawowej opcji przeglądania komunikatów systemowych za pomocą komendy [showlogging], konsoli bądź połączenia zdalnego VTY, istnieje możliwość automatycznego przesyłania wszystkich wygenerowanych przez system IOS komunikatów systemowych, na zdalny serwer Syslog. Tym samym administrator sieci zyskuje możliwość przechowywania oraz wyświetlania wszystkich komunikatów systemowych dotyczących wszystkich urządzeń sieciowych, w jednym miejscu, w łatwy sposób generując na ich podstawie np. diagramy czy statystyki.
W celu przesyłania komunikatów systemowych protokół Syslog wykorzystuje połączenie UDPna porcie 514.
Określa adres IP bądź nazwę DNS serwera Syslog (Opcjonalnie istnieje możliwość dodania większej liczby serwerów Syslog w celu uzyskania nadmiarowości). * brak – Określa adres serwera Syslog bez dodatkowych opcji (Jest to opcja domyślna). * transport{tcp port 1-65535/udp port 1-65535}(udp port 514) – Określa protokół (TCP / UDP) oraz port warstwy czwartej wykorzystywany w komunikacji z serwerem Syslog. * prefer – Określa preferowany serwer Syslog (W przypadku użycia większej liczby komend [logging host]). * xml – Rozpoczyna wysyłanie komunikatów (logging-ów) w formacie XML. * discriminator – Przypisuje regułę filtracji komunikatów systemowych, przed wysłaniem ich do serwera Syslog (Filtracja wiadomości systemowych została opisana w artykule: Konfiguracja logów systemowych). * sequence-num-session– Dodaje numer ID sesji do wysyłanych komunikatów systemowych. * session-id{hostname / ipv4 / ipv6 / string text}– Dodaje identyfikator urządzenia do wysyłanych komunikatów systemowych.
(config)#logging trap {0-7 / nazwa-poziomu}
Określa poziom komunikatów systemowych wysyłanych na serwer Syslog.
Wszystkie komunikaty wysyłane na serwer Syslog, domyślnie przynależą do kategorii „local7”, tym samym wiadomości z wielu urządzeń sieciowych trafiają do jednego katalogu. Aby to zmienić należy np. ustawić jedną kategorie zarezerwowaną dla przełączników a inną dla ruterów.
(config)#logging source-interface interfejs
Określa interfejs źródłowy względem wysyłanych komunikatów systemowych do serwera Syslog.
Konfiguracja komunikatów systemowych (SNMP)
(config)#logging history {0-7(Poziom loginów) / nazwa-poziomu}
Określa poziom komunikatów systemowych zapisywanych w pliku historii a następnie przesyłanych do serwera SNMP.
(config)#logging history size 0-500(0)
Określa limit wiadomości przetrzymywanych w pliku historii.
Ograniczanie liczby komunikatów wysyłanych na serwer Syslog
Wprowadza limit wysyłanych do serwera Syslog, komunikatów systemowych. Ograniczając ich liczbę do podanej w komendzie wartości (Komunikatów na sekundę). Opcjonalna wartość (Except) określa jakich poziomów (Severity) nie będzie dotyczyło dane ograniczenie (Limit). Wartość określa dany poziom (Severity) oraz wszystkie niższe poziomy (Np. 4 oznacza zakres od 4 do 7). *brak– Brak dodatkowych opcji (Jest to opcja domyślna). * all– Dotyczy wszystkich poziomów komunikatów (po użyciu tej wartości opcja „except” jest zbędna). *console {non / all} – Dotyczy jedynie wiadomości wysyłanych na konsole.
(config)#interface interfejs
Przechodzi do poziomu konfiguracji wskazanego interfejsu sieciowego.
Aby zapobiec wysyłaniu na serwer Syslog niepotrzebnych komunikatów związanych z stanem interfejsów sieciowych, istnieje możliwość zablokowania tych wiadomości z poziomu określonego interfejsu bądź wielu interfejsów sieciowych.
Pozostałe tematy związane z protokołem Logging & Syslog
Określa poziom komunikatów systemowych, jaki będzie wyświetlany na linii konsoli CLI (zarówno konsola jak i połączenia zdalne nie są zalecanymi metodami przeglądania komunikatów systemowych). * emergencies (0) – Urządzenie nie nadaje się do użytkowania. * alerts (1) – Istnieje potrzebna natychmiastowa interwencja. * critical (2) – Sytuacja krytyczna, wymaga interwencji. * errors (3) – Wykryto błędy. * warnings (4) – Ostrzeżenie systemowe. * notifications (5) – Zwykłe, ale ważne informacje. * informational (6) – Komunikaty informacyjne o zdarzeniach. * debugging (7) – Komunikaty związane z debugowaniem.
Aktywuje funkcję zapisywania komunikatów systemowych w pamięci ulotnej urządzenia lokalnego (Opcja ta nie jest domyślnie włączona w systemie IOS). *4096-2147483647 – Określa ilość pamięci zarezerwowanej względem przetrzymywanych komunikatów systemowych (domyślnie system rezerwuje w tym celu 4096bitów co pozwala zapisać około 50 komunikatów). * {0-7 / nazwa-poziomu} – Określa poziom komunikatów systemowych zapisywanych w pamięci ulotnej urządzenia. *xml – Włącza funkcję wyświetlania komunikatów systemowych w formacie XML.
(config)#default logging buffered
Przywraca domyślną konfigurację komunikatów systemowych względem konsoli CLI.
(config)#logging count
Aktywuje automatyczny licznik zapisywanych komunikatów systemowych (Bez jednoczesnego nadpisywania ustawień związanych z wyświetlaniem czasu „service timestamps”).
#show logging
Wyświetla informacje dotyczące konfiguracji komunikatów systemowych.
Konfiguracja logging-ów informujących o próbie logowania do systemu IOS
Umożliwia monitorowanie procesu logowania do systemu ISO, informując o pozytywnym jego zakończeniu. Pod-komenda „log” zapisuje w pamięci urządzenia oraz wyświetla na konsoli CLI potwierdzenie o zalogowaniu się użytkownika, „trap” generuje wiadomość protokołu SNMP, natomiast „etery” określa częstotliwość w wysyłaniu powiadomień.
Umożliwia monitorowanie procesu logowania do systemu ISO, informując o negatywnym jego zakończeniu. Pod-komenda „log” zapisuje w pamięci urządzenia oraz wyświetla na konsoli potwierdzenie o niezalogowaniu się użytkownika, „trap” generuje wiadomość protokołu SNMP, natomiast „etery” określa częstotliwość w wysyłaniu powiadomień.
#show logging
Wyświetla informacje dotyczące konfiguracji komunikatów systemowych.
Konfiguracja logging-ów względem innych protokołów
(config)# ntp logging
Aktywuje generowanie komunikatów systemowych, związanych z protokołem NTP.
(config)#ip ssh logging events
Aktywuje generowanie komunikatów systemowych, związanych z protokołem SSH.
(config)#router ospf ASN
Przechodzi do poziomu konfiguracji protokołu OSPF.
(config-router)#log-adjacency-changes
Aktywuje generowanie komunikatów systemowych, związanych z protokołem OSPF.
Konfiguracja nieulotnej bazy logging-ów (Persistent)
(config)#logging persistent [wartość]
Zapisuje komunikaty systemowe w pamięci nie ulotnej. (Opcja ta nie jest domyślnie włączona w systemie Cisco IOS). Opcjonalne pod-komendy oznaczają: * filesize8192-2142715904(bajty) – Określa rozmiar pojedynczego pliku zawierającego komunikaty. * size16384-2142715904(bajty) – Określa wielkość przestrzeni zarezerwowanej na potrzeby komunikatów. * protected – Zapobiega nieautoryzowanej manipulacji na zawartości zapisanych komunikatów systemowych. * immediate – Natychmiastowo zapisuje występujące komunikaty systemowe w pamięci nie ulotnej. * notify – Informuje o aktywacji funkcji „persistent”. * url – Określa lokalizację zapisywanych komunikatów systemowych.
#show logging
Wyświetla informacje dotyczące konfiguracji komunikatów systemowych.
Filtrowanie logging-ów
(config)#logging discriminator nazwa-filtra{wartość}{drops / includes}wartość(Słowo kluczowe filtracji np. numer poziomu komunikatów systemowych 1,5)[Kolejna wartość filtrująca]
Tworzy nową regułę umożliwiającą filtrację komunikatów systemowych (Drop), tudzież regułę umożliwiającą przepuszczanie jedynie wskazanych komunikatów systemowych (Includes). Poniższe wartości określają kryterium na podstawie którego będą filtrowane komunikaty systemowe: * msg-body– Filtruje komunikaty systemowe po zawartości komunikatu. * facility – Filtruje komunikaty systemowe po unikalnym kodzie błędu. * severity – Filtruje komunikaty systemowe po wadze poziomu (severity). * mnemonics – * rate-limit –
Wartość „Mgmt-intf” zależy od lokalnej konfiguracji systemu Cisco IOS.
Wyświetlanie komunikatów systemowych (Cisco IOS)
Konfiguracja logging-ów na terminalu zdalnym
(config)#terminal [no] monitor
Wyłącza / Włącza funkcję wysyłania logging-ów systemowych na konsole zdalną (Komenda jest dostępna jedynie z poziomu konfiguracji zdalnej np. poprzez połączenie SSH bądź Telnet).
(config)#logging monitor {0-7/ nazwa-poziomu}
Określa poziom komunikatów systemowych wysyłanych na konsole zdalną SSH bądź połączenie Telnet.
(config)#line vty 0-924 4-924(Zakres konfigurowanych linii VTY)
Przechodzi do poziomu konfiguracji linii zdalnej.
(config-line)#logging synchronous
Blokuje wyświetlanie komunikatów systemowych podczas przeglądania wydruku komendy Show oraz w czasie wprowadzania innych komend z poziomu konsoli CLI.
#show logging
Wyświetla informacje dotyczące konfiguracji komunikatów systemowych.
Konfiguracja opcjonalna
Czas systemowy w logging-ach
Zmiana ustawień związanych z wyświetlaniem czasu komunikatów systemowych, może nadpisać cześć wcześniejszej konfiguracji związanej z komunikatami systemowymi (W tym np. filtrowanie logging-ów).
Konfiguracja czasu w komunikatach systemowych (Logging-ów)
Dodaje do wyświetlanych komunikatów systemowych, aktualny czas pobrany z urządzenia lokalnego „localtime”, wyświetlając oprócz obecnej godziny, milisekundy „msec”, rok „year” oraz skonfigurowaną strefę czasową „show-timezone”.
(config)#service timestamp log uptime
Dodaje do wyświetlanych komunikatów systemowych informację o czasie, jaki upłynął od ostatniego zrestartowania urządzenia (Zamiast czasu pobranego z urządzenia lokalnego „localtime”).
(config)#[no]service sequence-number
Wyłącza / Włącza funkcją dodawania numeru sekwencyjnego do komunikatów systemowych (Zamiast czasu urządzenia lokalnego bądź czasu jaki upłynął od restartu systemu IOS). Numer ten wzrasta z każdym wyświetlonym komunikatem systemowym.
Dodaje do wyświetlanych komunikatów debagujących, aktualny czas pobrany z urządzenia lokalnego „localtime”, wyświetlając oprócz obecnej godziny, milisekundy „msec”, rok „year” oraz skonfigurowaną strefę czasową „show-timezone”.
(config)#service timestamp debug uptime
Dodaje do wyświetlanych komunikatów debagujących informację o czasie, jaki upłynął od ostatniego zrestartowania urządzenia (Zamiast czasu pobranego z urządzenia lokalnego „localtime”).
#show logging
Wyświetla informacje dotyczące konfiguracji komunikatów systemowych.
Komendy Show & Clear
Komendy SHOW
#show running-config | include logging
Wyświetla komendy konfiguracyjne względem funkcji logging-ów systemowych.
#show logging
Wyświetla wszystkie zapisane w pamięci komunikaty systemowe, wraz z ustawieniami protokołu Syslog oraz Logging.
#show logging xml
Wyświetla wszystkie zapisane w pamięci komunikaty systemowe, w postaci formatowania XML.
Komendy CLEAR
#clear logging
Usuwa historie logging-ów z pamięci urządzenia.
Pozostałe tematy związane z protokołem Logging & Syslog
Przykładowy komunikat systemu Cisco IOS: „00:30:29%SYS–5–CONFIG_IConfigured from Console by Console”.
Niezależnie od poziomu komunikatu systemowego, jego budowa jest taka sama, i zawiera następujące informacje:
Czas, który upłynął od ostatniego zrestartowania urządzenia bądź dokładną datę z godziną (00:30:29).
Kategorię błędu definiującą funkcję bądź moduł dotyczący zdarzenia (%SYS).
Wagę błędu (severity) z zakresu od 0 do 7 (5).
Rodzaj błędu określony unikalnym hasłem (CONFIG_I).
Zrozumiały dla człowieka opis błędu (Configured from Console by Console).
Poszczególne komunikaty systemu IOS posiadają przypisaną wagę (severity), określającą priorytet zdarzenia jakie zaszło na urządzeniu. Każdy poziom (priorytet) posiada swój numer ID oraz nazwę, a są one następujące:
Poziom
Nazwa poziomu
Opis poziomu
Definicja
Syslog
Przykładowe
komunikaty poziomu
0
Emergencies
Urządzenie
nie nadaje się do użytku
LOG_EMERG
System
nie mógł być załadowany
1
Alerts
Potrzebna
natychmiastowa interwencja
LOG_ALERT
Za
wysoka temperatura
2
Critical
Sytuacja
krytyczna
LOG_CRIT
Błąd alokacji
pamięci
3
Errors
Błędy
LOG_ERR
Włączenie
bądź wyłączenie interfejsu
4
Warnings
Ostrzeżenia
LOG_WARNING
Zapisano
plik przy użyciu SNMP
5
Notifications
Zwykłe,
ale ważne informacje
LOG_NOTICE
Interfejs
został włączony
6
Informational
Komunikaty
informacyjne
LOG_INFO
Lista
ACL zablokowała pakiet
7
Debugging
Komunikaty
związane z debugowaniem
LOG_DEBUG
Komunikaty debugowania
Poziomy komunikatów systemowych
Pozostałe tematy związane z protokołem Logging & Syslog