/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
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
>



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste