TCP port
TCP-poortmonitoring
Elke host, elke poort, en wat het zegt als het antwoordt.
Probeer het nu
Eén check, vanaf één plek, direct, en niets wordt opgeslagen. Een monitor checkt vanaf elke locatie waar we actief zijn en bevestigt een storing vanaf drie continenten voordat iemand wordt gewekt, wat een enkele check je niet kan laten zien.
Waar het voor is
De check voor een service die geen website is. Een database, een game server, een VPN-endpoint, SSH: dingen die luisteren op een poort en geen HTTP hebben om te vragen en geen pagina om te lezen.
We openen de poort, en de check kan ook eisen dat de service de verwachte begroeting geeft. Een poort die een verbinding accepteert en vervolgens niets zegt, ziet er van buiten uit als een half-dode service, en een simpele open-poortcheck noemt dat gezond.
Net als elke check hier draait het vanaf Amsterdam, New York, Sydney and Singapore, en een storing wordt bevestigd vanaf drie continenten voordat iemand wordt gewekt. Hoe dat werkt.
Wat je kunt instellen
Alles hieronder staat op het formulier wanneer je er een toevoegt, bij elk abonnement.
- Host en poort
- Een hostname of adres en een poort, omdat er geen zinvolle standaardpoort is om te raden.
- Verwachte begroeting
- Een reguliere expressie waar het eerste wat de service zegt aan moet voldoen.
Vragen
Welke poorten zijn de moeite waard om te monitoren met een TCP-check?
Poort 22 voor SSH, 3306 voor MySQL, 5432 voor PostgreSQL, 6379 voor Redis, en elke andere poort waarop je service luistert. Er is geen standaardpoort om op terug te vallen, want een geraden poort is een monitor die iets controleert waar je niet om hebt gevraagd, dus de poort is onderdeel van wat je invoert.
Wat doet de verwachte begroeting?
Het leest de eerste bytes die de service verstuurt en vergelijkt die met een reguliere expressie die je opgeeft, wat een banner grab is. Zonder dit is het gewoon een open poortcontrole, en een open poortcontrole noemt een half-open service gezond: de poort accepteert je verbinding en vervolgens zegt het ding erachter helemaal niets.
Verbinding geweigerd, of een timeout?
Refused betekent dat de host antwoordde en aangaf dat er niets luistert, wat meestal een gestopte service is en niet een machine die offline is. Een timeout betekent dat er helemaal niets terugkwam, wat kan wijzen op een firewall die pakketten dropt, een onbereikbare host, of een netwerkprobleem ertussen. Ze worden apart gerapporteerd om die reden.
Kun je een UDP-poort checken?
Nee, en dat zeggen we liever dan iets aanbieden dat erop lijkt. Een open UDP-poort en een gefilterde UDP-poort zijn van buitenaf niet te onderscheiden tenzij de service ervoor kiest om te antwoorden, dus een UDP-poortcontrole is een gok met een statuslabel. Controleer de service op een andere manier.
Waarom niet netcat gebruiken om de poort vanuit een script te testen?
Voor een poort op een host waar je al een machine naast hebt, is dat een prima check en kost het één regel. Het gat is hetzelfde als overal hier: het script draait ergens, en dat ergens is iets dat kan falen zonder het je te vertellen. Een verbinding die faalt vanaf één plek onderscheidt ook niet een dienst die is gestopt van een route die is verbroken, wat drie continenten oplossen voordat iemand wordt gebeld.