Pingi z logowaniem

Instalacja i konfiguracja oprogramowania sieciowego.
bartekpokerbartek
Piegowaty Guziec
Piegowaty Guziec
Posty: 8
Rejestracja: 10 maja 2013, 09:52

Pingi z logowaniem

Post autor: bartekpokerbartek »

Witam,
z linuxem mam do czynienia powiedzmy po raz pierwszy, więc proszę o wyrozumiałość ;).

Mój problem wygląda następująco. Muszę przeprowadzać pingi z systemu Ubuntu na inny komputer w tej samej podsieci, mający system XP lub na sterownik PLC. Problemem jest to, że potrzebuję stemple czasowe dla każdego pinga, a użycie opcji -T tsonly nie pomaga. Wyniki musi być zapisywany do zewnętrznego pliku. Problem jest również w tym, że jeśli na przykład nie ma połączenia z hostem to chciałbym, żeby taka informacja pojawiała się w tym zewnętrznym pliku, jednak przy normalnym uruchomieniu pinga stracone pakiety są pomijane w wyjściu do pliku.

Ze stemplem czasowym próbuję sobie poradzić za pomocą skryptu:

ping 192.168.1.91 | while read pong; do echo "$(date):$pong";done

i faktycznie mam wtedy stempel czasowy, ale z kolei nie dostaję podsumowania po przerwaniu pingowania, co też jest mi niezbędne. Proszę o jakieś wskazówki jak sobie z tym wszystkim poradzić. Jeśli coś napisałem niejasno to postaram się uszczegółowić.
namok
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1703
Rejestracja: 01 mar 2008, 12:21
Płeć: Mężczyzna
Wersja Ubuntu: 16.04
Środowisko graficzne: Unity
Architektura: x86_64
Kontakt:

Re: Pingi z logowaniem

Post autor: namok »

A może tak:

Kod: Zaznacz cały

ping -c 5 192.168.1.91 | sed "s/\(.*\)/$(date +%F\ %T) \1/g"
bartekpokerbartek
Piegowaty Guziec
Piegowaty Guziec
Posty: 8
Rejestracja: 10 maja 2013, 09:52

Re: Pingi z logowaniem

Post autor: bartekpokerbartek »

Dzięki wielkie za odpowiedź i poświęcony czas :). Zapodałem Twój kod i jest parę problemów ;). Między innymi czas się w ogóle nie zmienia, jest przez cały czas ta sama godzina przy każdym pingu co na starcie. Podsumowanie faktycznie dostaję dzięki opcji -c, ale czy jest taka możliwość, żeby zapodać bez tej opcji i dostać podsumowanie po prostu po przerwaniu pingowania przez wciśnięcie ctrl + C bez z góry ustalonej ilości pingowań?

Lekko też zmodyfikowałem ten kod dodając po adresie IP > ping.txt, bo chodzi mi tak naprawdę o archiwizację tego i tutaj w dalszym ciągu nie dostaję żadnych informacji, jeśli np. host jest unreachable. Odłączałem kabelek eth i te unreachable mi wypisywało na terminalu, zamiast do pliku (w pliku jedynie pojawiała się przerwa w kolejności icmp_seq). Proszę o jakieś dalsze wskazówki.
namok
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1703
Rejestracja: 01 mar 2008, 12:21
Płeć: Mężczyzna
Wersja Ubuntu: 16.04
Środowisko graficzne: Unity
Architektura: x86_64
Kontakt:

Re: Pingi z logowaniem

Post autor: namok »

Ale poniższe wreszcie działa:

Kod: Zaznacz cały

ping -c 5 192.168.1.91 | perl -nle 'print scalar(localtime), " ", $_' >> ping.txt
bartekpokerbartek
Piegowaty Guziec
Piegowaty Guziec
Posty: 8
Rejestracja: 10 maja 2013, 09:52

Re: Pingi z logowaniem

Post autor: bartekpokerbartek »

Jednak ciągle mi nie działa :/. Dostaję takie wyjście przykładowo w pliku (data się zgadza, ale ciągle nie mam info o unreachable, czy timed out):

Kod: Zaznacz cały

Tue May 14 08:33:11 2013 64 bytes from 192.168.1.91: icmp_seq=33 ttl=60 time=2.45 ms
Tue May 14 08:33:11 2013 64 bytes from 192.168.1.91: icmp_seq=34 ttl=60 time=2.87 ms
Tue May 14 08:33:12 2013 64 bytes from 192.168.1.91: icmp_seq=35 ttl=60 time=2.45 ms
Tue May 14 08:33:12 2013 64 bytes from 192.168.1.91: icmp_seq=36 ttl=60 time=2.28 ms
Tue May 14 08:33:20 2013 64 bytes from 192.168.1.91: icmp_seq=73 ttl=60 time=593 ms
Tue May 14 08:33:20 2013 64 bytes from 192.168.1.91: icmp_seq=74 ttl=60 time=394 ms
Tue May 14 08:33:20 2013 64 bytes from 192.168.1.91: icmp_seq=75 ttl=60 time=210 ms

Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Re: Pingi z logowaniem

Post autor: ethanak »

A ja mam pytanko kontrolne:
potrzebujesz historii z całego życia czy np. tylko z ostatnich 24 godzin? Bo kiedyś coś takiego (24 godziny) robiłem, całkiem sprawnie działało i pewnie skrypty gdzieś jeszcze w archiwum siedzą...
bartekpokerbartek
Piegowaty Guziec
Piegowaty Guziec
Posty: 8
Rejestracja: 10 maja 2013, 09:52

Re: Pingi z logowaniem

Post autor: bartekpokerbartek »

Mniej więcej codziennie muszę zbierać dane z ostatnich 24h, w moim przypadku to jest w miarę proste do zrobienia, przeliczyłem po prostu ile doba ma sekund i podaję na oko 350 000 jako paramter do opcji -c (przy -i 0.2). Na chwilę obecną to rozwiązanie wystarczające. Dzięki wielkie wszystkim ogólnie za zainteresowanie, każdy kiedyś zaczyna ;).
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Re: Pingi z logowaniem

Post autor: ethanak »

Ja robiłem inaczej. Puszczałem ping z -c 5 -w 30 co minutę i wyniki zapisywałem w oddzielnych plikach (1440 plików), nadpisując plik następnego dnia. W plikach były tylko podsumowania. Prosty programik umożliwiał mi podgląd całości z ostatnich 24 godzin.
bartekpokerbartek
Piegowaty Guziec
Piegowaty Guziec
Posty: 8
Rejestracja: 10 maja 2013, 09:52

Re: Pingi z logowaniem

Post autor: bartekpokerbartek »

Ma ktoś może jeszcze jakieś inne pomysły?
Awatar użytkownika
ka_o_3991
Przyjaciel
Przyjaciel
Posty: 864
Rejestracja: 01 wrz 2007, 13:34
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Xfce
Architektura: x86_64

Re: Pingi z logowaniem

Post autor: ka_o_3991 »

Jesteś pewny że info "host unreachable" pojawia się na standardowym wyjściu (STDOUT) a nie STDERR? Zobacz czy jak przekierujesz do pliku też wyjście błędów (zamiast > używasz 2> ) to info się pojawi.
bartekpokerbartek
Piegowaty Guziec
Piegowaty Guziec
Posty: 8
Rejestracja: 10 maja 2013, 09:52

Re: Pingi z logowaniem

Post autor: bartekpokerbartek »

Tak jestem pewny, to co dostaję na wyjściu na terminalu to:

Kod: Zaznacz cały

ping: sendmsg: Network is unreachable
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Re: Pingi z logowaniem

Post autor: ethanak »

a dlaczego uważasz że terminal nie wyświetla stderr?
bartekpokerbartek
Piegowaty Guziec
Piegowaty Guziec
Posty: 8
Rejestracja: 10 maja 2013, 09:52

Re: Pingi z logowaniem

Post autor: bartekpokerbartek »

Ja nie uważam, że terminal tego nie wyświetla. Uważam, że po prostu czego bym nie próbował to nie daję rady zapisywać tych wiadomości do pliku, a o to mi chodzi, żeby przeprowadzić dalszą analizę. Ogólnie to przepraszam za wolne tempo odpowiedzi, bo komputera nie mam na biurku, tylko oddalony o parę km i jak tylko coś proponujecie to jeżdżę do niego z doskoku wypróbować.
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Re: Pingi z logowaniem

Post autor: ethanak »

A coś takiego:

Kod: Zaznacz cały

ping -c ileśtam a.b.c.d 2>&1 | cośtam cośtam
czy też

Kod: Zaznacz cały

ping -c ileśtam a.b.c.d >plik.txt 2>&1
nie działa?
bartekpokerbartek
Piegowaty Guziec
Piegowaty Guziec
Posty: 8
Rejestracja: 10 maja 2013, 09:52

Re: Pingi z logowaniem

Post autor: bartekpokerbartek »

Wreszcie zadziałało!
Dziękuję bardzo wszystkim za pomoc! Ethanak jesteś wielki :).
ODPOWIEDZ

Wróć do „Sieci, serwery, Internet”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 33 gości