В този пост ще споделя за най-често използваните методи от мен за така наречения webserver monitoring.
Идеята е ясна – като уеб администратор, за мен е много важно да знам винаги какво се случва зад колисите на уеб сървъра.
Типичен пример за нужда от мониторинг е когато сървърът ни е вдигнал висок load, и е необходимо да разберем от къде идва той.
netstat
netstat е моят най-добър приятел в подобни ситуации. С годините съм се осъвършенствал в използването му и съм открил най-добрата комбинация от параметри с които лесно да откривам от кой сървърът ми е „flood“-нат.
Същата комбинация може да се използва и за порт 443!!
Алтернатива на netstat може да бъде командата : ss
Когато имаме IP адресите, можеш бързо и лесно чрез whois да разберем кой от къде идва, и да предприемем съответните мерки.
Приермно да ги блокираме :
iptables -I INPUT -s $IP -j DROP
Access Logs
Много е важно правилното разчитана на логовете на уеб сървъра. Много често ни нападат така наречените „ботове„, които отварят wp-login.php и пробват да влязат в нашият wordpress. Всеки такъв опит обаче отваря нова заявка към php и mysql сървърите ни, и „яде“ процесорно време и памет.
top е командата която използвам най-често за мониторинг в реално време – тя ми показва кой процес товари най-много сървъра ни и така мога лесно да се ориентирам къде да търся проблема.
mytop е алтернатива на top специализирана за мониторинг на mysql сървъри. Чрез него можем да наблюдаваме заявките в реално време на машината, като можем да kill-ваме директно по ID-та, да наблюдаваме репликацията (ако има такава) и още много други!
graphics
Разбира се за къде сме без графиките.
Аз лично използвам LibreNMS и Netdata за наблюдение на сървърите ми и рисуване на графиките им.
Наскоро ми беше хрумнала идея за видео сайт с детски филмчета за малката. За целта на една виртуална машина (ubuntu 14.04) инсталирах clip-bucket, и в този пост ще покажа стъпка по стъпка как става това. Само да отбележа, че след инсталацията всичко работи перфектно! Качването и конвертирането на големи клипове функционира безупречно!
Днес ъпгрейднах няколко сървъра с последната версия на PHP 5.5.12 (нали съм фен на ъпдейтването) .. Тоя път стана проблеммм 🙂 След ъпдейта започна да ми дава 502 – bad gateway , а в лога излизаше permission denied. Излезе че в новата версия на PHP-fpm е задължително да се използват listen.owner и съответно за owner да се сложи същият потребител през който работи и уеб сървъра – в моя случай nginx.
След като го оправих, видях нова грешка.. още по-смотана и нахална :
Тук якото беше следното – през уеб браузър сайта се отваря , през lynx или curl дава : unexpected error и съответно pingdom.com ми съобщи че сайта ми е DOWN 🙂
След няколко часово тестване, ровене и мъчение реших кардинално да оправя проблема, като сваля версията на PHP* до 5.5.11 която си работеше без проблеми.
Сторих го по следния начин :
dpkg -i /var/cache/apt/archives/php5*5.5.11*
тъй като в хранилището на dotdeb вече всичко беше с новата версия.
Извод 1 – за сега ще изчакам с ъпдейтване на нови версии на PHP по сървърите ми, че явно промените не са никак малки и могат да ми причинят доста главоболия.
Извод 2 – трябва да спра с тея ъпдейти веднъж завинаги..!!
От известно време в главата ми се върти идея да си направя сайт/или нещо подобно/ където да си качвам клипове с висока резолюция които да се конвертират и да се хостват на мой сървър. Причината е следната: около година ползвам php-melody за hdbox.eu където без да качам никакво видео по сървърите си гледах клипове онлайн , като всичко се фечва онлайн и напрактика сайта е с големина около 1мб а има качети 200-300 клипа 🙂 До тук добре, обаче идва проблема , че в youtube много често взеха да трият клиповете по една или друга причина – дали заради авторски права , дали заради друго. Заради това се принудих да си създам акаунт във vimeo с едничката цел , да качам клипове заснети главно от телефона ми някъде и да съм сигурен че някой няма да ги изтрие. Хубаво но vimeo има яка политика и са решили че за без пари можеш да качаш 1 клип за седмица и имаш определен лимит свободно място , което разбира се че ако си платиш ще се увеличи. Обаче аз не се изкефих на нито едно от тези 2 начина и реших да си направя мой си сайт като съм на ясно че няма да се популеризира изобщо , просто да знам че след 2 години клипа който снимах на морето ще си е още там , а няма да е изтрит от някой малоумен модератор.
Ето защо почнах да търся решения на проблема , и след като пробвах няколко вариянта на streaming server под debian и centos които работят главно под java и които имат яки приложения но пак са платени , намерих безплатния скрипт clip-bucket който отговаряше напълно на моите условия. Разбира се хората искат някой лев , но той не е задължително да се дава защото е за шаблон или някой як плугин. За сега се спирам на този вариянт, като видях че не работи хубаво под debian lenny с php 5.2 и сега ще го пробвам на centos 6.2 с php 5.3. Ако всичко мине ок ще преместя всички клипове от стария hdbox в новия 🙂