|
| teste om en inet/lan linie er oppe Fra : Jacob d'Andrade |
Dato : 09-12-05 14:39 |
|
Hej Ng
Jeg sidder og skal lave et eller andet i noget bash som kan teste om en
bestemt lan/inet linie er oppe, jeg har et fast device i enden på alle
linier jeg kan pinge, som ikke skifter adresse.
Det jeg tænker på er at bruge ping til at pinge dem, og så teste outputtet
med grep.
Er der andre måder at gøre det på ?
Gode forslag er mere end velkomne
Mvh Jacob
| |
Anon (09-12-2005)
| Kommentar Fra : Anon |
Dato : 09-12-05 14:53 |
|
Jacob d'Andrade wrote:
> Er der andre måder at gøre det på ?
Ja - men det afhænger af mange faktorer:
- hvad er formålet?
- hvor mange systemer skal overvåges?
- hvor præcist skal systemet være?
- skal der indgå notifikation?
- skal der kunne laves statitik?
- hvad er den helt præcise definition/krav til "oppe" - man kunne
forestille sig at pings ikke kom igennem, men at den egenlige trafik
godt kunne. Og omvendt at nogle pings kom igennem, men at pakketabet var
for stort så linjen var ubrugelig. Eller at latency var for høj med
tilsvarende resultat
- ...
Men jeg har måske skudt over målet - skal det laves i bash? Ellers er
der en række færdige monitoreringssystemer, som kan hjælpe dig. F.eks.
kunne SmokePing[1] (skrevet i Perl) måske bruges?
Anon
[1] http://people.ee.ethz.ch/~oetiker/webtools/smokeping/
| |
Kasper Dupont (11-12-2005)
| Kommentar Fra : Kasper Dupont |
Dato : 11-12-05 09:54 |
|
Anon wrote:
>
> - hvad er den helt præcise definition/krav til "oppe" - man kunne
> forestille sig at pings ikke kom igennem, men at den egenlige trafik
> godt kunne.
Det kan vist ikke lade sig gøre hvis ellers maskinen og routerne
på vejen overholder IP protokollen.
> Og omvendt at nogle pings kom igennem, men at pakketabet var
> for stort så linjen var ubrugelig. Eller at latency var for høj med
> tilsvarende resultat
Ja, eller måske er maskinen reelt gået ned, men er stadigvæk i
stand til at besvare ping. Da svar på ping håndteres på et
forholdsvist lavt niveau i kernen ser man ofte, at en maskine
svarer på ping, men intet andet fungerer.
Det kan f.eks. ske hvis en disk er stået af, og alle programmer
blokkerer fordi de skal tilgå f.eks. swap eller libraries på
den pågældende disk. Det kan også ske, hvis systemet er løbet
helt tør for hukommelse, og forsøg på at frigive hukommelse
fejler.
Hvis man vil have en lidt mere pålidelig indikation af, om en
maskine ikke blot har netforbindelse, men også er brugbar, kan
man f.eks. bruge rup kommandoen, den svarer ikke i førnævnte
tilfælde, hvor ping er det eneste, der virker. For at bruge
rup kommandoen kræver det nemlig, at der er liv i rstatd. Den
giver yderligere oplysninger om maskinens load. Hvis load er
over 3 er det ofte en indikation af et problem, som betyder at
maskinen reelt ikke kan bruges. Om du vil bruge den oplysning
til noget er naturligvis op til dig selv.
--
Kasper Dupont
Note to self: Don't try to allocate
256000 pages with GFP_KERNEL on x86.
| |
Peter Makholm (09-12-2005)
| Kommentar Fra : Peter Makholm |
Dato : 09-12-05 14:53 |
|
"Jacob d'Andrade" <jacob@removethezub.dk> writes:
> Det jeg tænker på er at bruge ping til at pinge dem, og så teste outputtet
> med grep.
Fra min ping(8) manual:
If ping does not receive any reply packets at all it will exit
with code 1. If a packet count and deadline are both
specified, and fewer than count packets are received by the
time the deadline has arrived, it will also exit with code 1.
On other error it exits with code 2. Otherwise it exits with
code 0. This makes it possible to use the exit code to see if
a host is alive or not.
--
Peter Makholm | Perhaps that late-night surfing is not such a
peter@makholm.net | waste of time after all: it is just the web
http://hacking.dk | dreaming
| -- Tim Berners-Lee
| |
Jacob Sparre Anderse~ (09-12-2005)
| Kommentar Fra : Jacob Sparre Anderse~ |
Dato : 09-12-05 17:32 |
|
Jacob d'Andrade skrev:
> Det jeg tænker på er at bruge ping til at pinge dem, og så teste
> outputtet med grep.
>
> Er der andre måder at gøre det på?
Jeg plejer at bruge `ssh maskine true`, hvis det der interesserer mig
er om jeg kan SSH'e til maskinen og ikke bare om der er
TCP/IP-forbindelse til den.
Jacob
--
"There are two ways of constructing a software design. One way is to
make it so simple that there are obviously no deficiencies. And the
other way is to make it so complicated that there are no obvious
deficiencies." -- C. A. R. Hoare
| |
Jacob d'Andrade (10-12-2005)
| Kommentar Fra : Jacob d'Andrade |
Dato : 10-12-05 21:26 |
|
Hej igen
Jeg takker for de gode svar, og måske var smokeping lidt skudt over målet,
men det ser meget spændende ud. Det vil jeg helt klart se nærmere på.
Mvh Jacob
"Jacob d'Andrade" <jacob@removethezub.dk> skrev i en meddelelse
news:dnc1de$t3r$1@daniella.thezub.dk...
> Hej Ng
>
> Jeg sidder og skal lave et eller andet i noget bash som kan teste om en
> bestemt lan/inet linie er oppe, jeg har et fast device i enden på alle
> linier jeg kan pinge, som ikke skifter adresse.
>
> Det jeg tænker på er at bruge ping til at pinge dem, og så teste outputtet
> med grep.
>
> Er der andre måder at gøre det på ?
>
> Gode forslag er mere end velkomne
>
> Mvh Jacob
>
| |
|
|