Към съдържанието

Настройки за бисквитки

Изберете кои видове бисквитки разрешавате. Можете да промените избора си по всяко време чрез „Настройки за бисквитки“ в долната част на всяка страница. Декларация за поверителност

Необходими

Винаги включени

Нужни са за вход, за запазване на количката и на Вашите избори. Те са винаги включени.

Кои бисквитки?
  • weboke_sessie, weboke_klant, weboke_remember: Вашата сесия и оставането в акаунта
  • weboke_basket: Вашата количка
  • wkBtwIncl: показване на цените с или без ДДС
  • wok_cookies: Вашият избор за бисквитките, 12 месеца

Измерват коя реклама води до посещение или поръчка, за да не плащаме за реклами без резултат.

Кои бисквитки?
  • Google Ads чрез Google Tag Manager (_gcl_au, _gcl_aw), до 90 дни
  • OpenAI Ads, реклами в ChatGPT
  • wok_aff: кой партньор Ви е препратил към нас (партньорска програма), 60 дни

4,6

Държава и език

Всяка държава има собствен сайт, с цените и ДДС на тази държава.

Преглед

Наблюдение на Вашия сървър

Модул 8: Резервни копия и наблюдение · Време за четене: 10 минути

Цел на урока: След този урок ще можете да определите какво да наблюдавате на Вашия сървър (отвън и отвътре), кои прагове имат смисъл и как да се погрижите известието наистина да стигне до Вас, без да се удавите в известия.

Основни понятия: наблюдение отвън, наблюдение отвътре, uptime, http проверка, проверка на порт, изтичане на сертификат, дисково пространство, памет, load, heartbeat (dead man's switch), праг, канал за известия, умора от аларми, графики на доставчика

Защо е нужно наблюдение?

Без наблюдение научавате за проблемите от клиентите си или изобщо не научавате. Уебсайт, който не работи от събота, сертификат, който е изтекъл, диск, който се е напълнил, резервно копие, което от три седмици тихо се проваля: все неща, които бихте могли да забележите навреме. Наблюдение означава: програма следи непрекъснато и Ви предупреждава, когато нещо не е наред.

Доброто наблюдение отговаря на два въпроса:

  1. Работи ли за потребителя? Това измервате отвън.
  2. Ще се обърка ли нещо скоро? Това измервате отвътре: диск, памет, обновявания, резервни копия.

Отвън: това, което вижда потребителят

Наблюдението отвън работи на друга машина, а не на Вашия сървър, за предпочитане при друг доставчик. Логично е: ако Вашият сървър не работи, той сам вече не може да предупреди.

ПроверкаКакво правиЗащо
http(s)всяка минута зарежда страница и проверява кода на състоянието (200) и евентуално дума на страницатауебсайтът наистина работи, не само сървърът
портсвързва се например с порт 22 или 443услугата слуша и е достъпна
pingизпраща ICMP пакетсървърът е жив (но това не казва нищо за уебсайта Ви)
сертификатпрочита сертификата и датата на изтичанепредупреждава достатъчно рано, преди да изтече
DNSзапитва A записаимето все още сочи към правилния сървър

Сертификатът заслужава допълнително внимание. Сертификатите на Let's Encrypt са с кратка валидност и се подновяват автоматично (урок 7.3), но ако подновяването тихо се провали, ще разберете едва когато посетителите получат предупреждение. От юни 2025 г. самият Let's Encrypt вече не изпраща имейли с напомняне за изтичащи сертификати и сам препоръчва наблюдение. Проверка на сертификата, която предупреждава при по-малко от 14 дни валидност, следователно не е лукс.

Често използвана програма, с която да правите това сами, е Uptime Kuma, която ще инсталирате в контейнер в урок 9.4. За предпочитане е да не я поставяте на същия сървър, който тя трябва да наблюдава, или да я комбинирате с втора, външна проверка. Има и услуги на трети страни, които правят същото. Изберете такава, която Ви подхожда, и обърнете внимание къде е регистрирана, ако в известията може да има данни за Вашите клиенти.

Отвътре: какво ще се обърка скоро

Някои проблеми се виждат отвън едва когато е твърде късно. Тях измервате на самия сървър:

КаквоКак го виждатеРазумен праг
Дисково пространствоdf -hпредупреждение над 80%, аларма над 90%
Inodes (брой файлове)df -iсъщото; един диск може да е "пълен" с милиони малки файлове
Паметfree -h, съобщения "Out of memory" в journalctl -kвсяко съобщение за OOM е сигнал
Loaduptime, topпродължително над броя на vCPU
Неуспешни услугиsystemctl --failed (урок 6.1)всяка неуспешна услуга
Обновявания и рестарт/var/run/reboot-required, apt list --upgradable (урок 4.2)обновяване за сигурност, по-старо от два дни
Резервни копиякраят на Вашия скрипт за резервни копия (урок 8.2)всяко неуспешно или неизпълнено пускане

Това може да стане с прост скрипт и таймер (урок 6.3), който изпраща известие при превишаване, или с програма за наблюдение с агент на сървъра (известни примери с отворен код са Netdata и комбинацията Prometheus с node_exporter). Започнете с малко: дискът, неуспешните услуги и резервните копия улавят повечето проблеми.

Графиките в панела на Вашия доставчик (процесор, памет, мрежа, диск за период от един ден до една година) са чудесно допълнение, за да виждате тенденциите: ако дискът Ви расте с няколко процента всеки месец, знаете кога ще се напълни. При WebOké те са в екрана на VPS, при други доставчици е подобно. Обикновено те не изпращат известия, затова не заместват наблюдението.

Heartbeat: известие, когато нищо не се случва

Някои неща трябва да наблюдавате именно за липсата на сигнал. Нощното резервно копие е най-добрият пример: ако скриптът изобщо не стартира (таймерът е изключен, сървърът е изключен, скриптът е повреден), няма да дойде и съобщение за грешка.

Решението се нарича heartbeat или dead man's switch: системата Ви за наблюдение очаква сигнал всеки ден. Накрая, и само ако всичко е минало успешно, скриптът за резервни копия изпраща малка http заявка към постоянен, таен URL адрес на системата за наблюдение:

restic backup ... && restic check && curl -fsS -m 10 https://status.example.com/api/push/Xyz123abc?status=up >/dev/null

Ако сигналът не дойде един ден, получавате известие. За целта Uptime Kuma има тип монитор Push. Има и програми, които можете да хоствате сами, като Healthchecks. Така с един ред проверявате дали резервното копие наистина е било направено.

Известия, които пристигат, но не са твърде много

Известие, което никой не чете, не е наблюдение. Уредете три неща:

  1. Канал за известия, който наистина виждате: push съобщение на телефона, чат канал, SMS. Имейл също е възможен, но само ако сървърът Ви може надеждно да изпраща поща, а имейлите лесно се пропускат. За най-важните известия използвайте два канала.
  2. Независимост от това, което наблюдавате. Ако самият сървър изпраща имейла за пълен диск, той няма да пристигне, когато дискът е пълен. Наблюдението отвън и heartbeat улавят това.
  3. Малко, но основателни. Ако всеки ден получавате десет известия, с които не правите нищо, ще започнете да ги пренебрегвате, включително единственото, което има значение. Това се нарича умора от аларми. Задайте праговете така, че едно известие да означава: трябва да направите нещо. Нека известието се задейства едва след няколко поредни неуспешни проверки (например три), за да не Ви събуди един изгубен пакет.

Тествайте известията си: изключете за малко някоя услуга и вижте дали известието пристига и колко време е отнело.

Какво не трябва да правите

  • Страници за наблюдение, отворени за всички, с вътрешни имена и адреси. Публична страница за състоянието е допустима, но показвайте само това, което посетителите могат да знаят.
  • Администраторски акаунт в системата за наблюдение без силна парола и 2FA. Който има достъп до наблюдението Ви, може да изключи известията.
  • Агенти с повече права от необходимото. Обикновено агентът за наблюдение не трябва да бъде root.

Обобщение

  • Наблюдавайте отвън дали всичко работи (http, порт, сертификат, DNS), от друга машина, и отвътре дали скоро ще се обърка нещо (диск, памет, услуги, обновявания, резервни копия).
  • Сертификатите заслужават собствена проверка: от юни 2025 г. Let's Encrypt вече не изпраща имейли с напомняне.
  • Heartbeat съобщава за липсата на сигнал. Идеално е за резервни копия и планирани задачи.
  • Изберете канал за известия, който наистина виждате и който е независим от самия сървър, и задайте праговете така, че всяко известие да изисква действие.
  • Графиките на Вашия доставчик показват тенденции, но обикновено не изпращат известия.

Тест (quiz)

1. Защо наблюдението отвън работи на друга машина, а не на самия сървър?



2. Вашият скрипт за резервни копия изпраща имейл при грешка. Три седмици не е идвал имейл, но не е направено и резервно копие. Какво би уловило това?



3. Системата Ви за наблюдение изпраща всеки ден десетки известия за краткотрайни пикове. Какъв е рискът?



4. Коя проверка предупреждава най-добре и навреме за сертификат, който не е бил подновен автоматично?



5. df -h показва 45% свободно място, но сървърът Ви вече не може да създава нови файлове. Какво проверявате?



Задача

Задача O8.3: Вашият списък за наблюдение. Съставете списък за наблюдение за Вашия собствен сървър: кои проверки отвън (с какъв интервал и откъде), кои отвътре (с какви прагове), кои heartbeat сигнали и през какъв канал пристигат известията. Настройте поне една външна http проверка или проверка на сертификата и един heartbeat (например за резервното копие) и тествайте известието, като изключите за малко някоя услуга. Запишете колко време е минало, докато пристигне известието.

Задача O8.3: Вашият списък за наблюдение

Тази задача изпълнявате сами; никой не я проверява. Отбележете какво сте направили и маркирайте задачата като изпълнена.




Вашите отметки и бележки остават само в този браузър; не ги изпращаме никъде. Ако сте влезли, в Моите курсове запазваме само че сте изпълнили задачата.

Още за четене

Моля, изчакайте…

Настройте домейните си

За всеки домейн настройте сървърите за имена, връзката с хостинга и кой ще бъде собственикът.

Домейните Ви се зареждат…