Prievadų stebėsena
Įsitikinkite, kad svarbios paslaugos reaguoja – ne tik jūsų žiniatinklio serveris. Stebėkite bet kurį TCP prievadą bet kuriame serveryje.
Ne tik HTTP: likusios steko dalies stebėsena
Dauguma verslą palaikančių paslaugų nėra žiniatinklio serveriai. Duomenų bazės klausosi per 5432 (Postgres), 3306 (MySQL), 27017 (MongoDB), 6379 (Redis). Paštas eina per 25, 465, 587, 993, 995. SSH naudojamas per 22. Žaidimų serveriai – per leidėjo pasirinktus portus. Vidiniai mikroservisai už užkardos – per bet kurį platformos komandos sukonfigūruotą portą. Nė viena jų nekalba HTTP. Nė vienos nepamatysi svetainių uptime įrankyje. Ir kiekviena, nustojusi klausytis, su savimi „išsiveda“ ir kažką matomo.
Prievadų stebėsena užpildo šią skylę. Nurodai stebėtojui hostą ir portą, ir kiekvieno patikrinimo metu atidaromas TCP sujungimas, kuris patikrina, ar paslauga klausosi. Jei ryšys nesėkmingas – nes demonas užstrigo, užkardos taisyklė pasikeitė, hostas išjungtas ar tinklas tarp mūsų ir paslaugos pažeistas – gauni įspėjimą.
Ką galite stebėti
- Duomenų bazės: 5432 (Postgres), 3306 (MySQL/MariaDB), 1433 (SQL Server), 27017 (MongoDB), 6379 (Redis), 9042 (Cassandra), 11211 (Memcached).
- Pašto serveriai: 25 (SMTP), 465 (SMTPS), 587 (pateikimas), 110 (POP3), 143 (IMAP), 993 (IMAPS), 995 (POP3S).
- Nuotolinė prieiga: 22 (SSH), 3389 (RDP), 5900 (VNC).
- Failų perdavimas: 21 (FTP), 990 (FTPS), 445 (SMB), 2049 (NFS).
- Nestandartiniai ar vidiniai: GraphQL šliuzai, gRPC, eilės (RabbitMQ 5672, Kafka 9092), paieška (Elasticsearch 9200, Solr 8983), žaidimų serveriai, IoT įrenginiai.
Kaip vyksta patikrinimas
Stebėtojas atidaro „žalią“ TCP jungtį į host:port su 5 sekundžių laiko limitu. Jei grįžta SYN/ACK – prievadas pasiekiamas ir paslauga klausosi, patikrinimas sėkmingas. Jei „connection refused“, „timeout“ arba „no route“ – patikrinimas nesėkmingas, o rezultate įrašoma branduolio klaida („connection refused“, „operation timed out“, „no route to host“) – lengvesniam trikčių šalinimui.
Stebėtojas nebando kalbėti programos protokolu – nesiunčia SQL užklausos ar SMTP HELO. Tai išlaiko patikrinimą greitą ir be pašalinių efektų, kas svarbu stebint 100 paslaugų kas minutę. Jei reikia programinio patikrinimo, derink prievado stebėseną su heartbeat arba savo API stebėtoju.
Integravimas su HTTP ir ping
Kiekvienai viešai paslaugai trys stebėtojai suteikia tyrą diagnostikos grandinę. Ping patvirtina, kad hostas gyvas tinkle. Prievado stebėsena – paslauga klausosi. HTTP / API stebėsena – paslauga atsako teisingai. Kai kažkas „krinta“, iš karto aišku, kur ieškoti. Krenta tik HTTP – užstrigo aplikacija. Krenta ir portas – demonas užstrigo. Krenta ir pingas – aparatas pradingo ar tinklas dingęs.
Konfigūracija
Atidarykite įrankį, spauskite „Pridėti stebėtoją“, pasirinkite tipą „TCP port“, įklijuokite hostą (be protokolo), įveskite prievado numerį (1-65535) ir nustatykite intervalą. Išsaugokite. Nuo kito ciklo stebėtojas kas minutę atidaro TCP jungtį, išsaugo round-trip laiką ir iš karto siunčia įspėjimą uždarius prievadą — el. paštu, Telegram, Slack, Discord ar SMS, su tomis pačiomis patvirtinimo ir naktinės tylos taisyklėmis.
Dažniausiai užduodami klausimai
-
Bet kurį TCP portą nuo 1 iki 65535. Dažnos situacijos: SMTP (25/587/465), POP3 (110/995), IMAP (143/993), duomenų bazių klausytuvai (PostgreSQL 5432, MySQL 3306, Redis 6379, MongoDB 27017), SSH (22), FTP (21), individualūs aplikacijų portai.
-
Tik pasiekiamumas — stebėtojas atidaro TCP jungtį ir tikrina, ar demonas ją priima. Jokio protokolo „handshake“. Jei reikia protokolo suvokiančių patikrinimų (pvz., SMTP banerio patikra, duomenų bazės užklausos atsakymo), naudokite HTTP patikrą (HTTP paslaugoms) ar self-hosted heartbeat agentą.
-
Numatytasis — 10 sekundžių. Konfigūruojamas kiekvienam stebėtojui atskirai. Jei TCP ryšys neužmezgamas per timeout langą, patikrinimas nesėkmingas su „connection timeout“. Ilgai trunkantys ryšiai (pvz., serverio Azijoje tikrinimas iš Europos) gali reikalauti ilgesnių timeout.
-
Šiuo metu ne. UDP yra be ryšio – nėra „connection accepted“ ekvivalento, kurį būtų galima patikrinti. UDP pagrįstos paslaugos dažniausiai reikalauja protokolui specifinių užklausų (pvz., DNS užklausa per 53 portą, SNMP get per 161). Vietoj to naudokite heartbeat stebėseną.
-
Ne — prievado patikrinimai yra grynas TCP pasiekiamumas. Jei norite TLS sertifikato validacijos prievade, naudokite HTTPS patikrą su portu URL’e (pvz.
https://api.example.com:8443/), kuri ir tikrina pasiekiamumą, ir sertifikatą.
UptimeRobot · Pingdom · BetterStack · Oh Dear · Site24x7 · StatusCake · Sentry · Uptrends · Cronitor · New Relic
SSL stebėjimas · Domeno galiojimo pabaiga · DNS stebėjimas · Ping (ICMP) · Galutinis taškas · Raktažodis · API · Cron / Heartbeat · Atsako laikas · Atgalinės nuorodos · Pagal vietovę · Svetainių stebėjimas