Hekayəmi paylaşmaq qərarına gəldim. Bəlkə də kiməsə məlum problemin belə bir büdcə həllinə ehtiyacı olacaq.
Gənc və isti olanda və enerjimlə nə edəcəyimi bilmədiyim zaman bir az sərbəst işləməyə qərar verdim. Tez bir reytinq qazanmağı bacardım və məndən serverlərini davamlı olaraq dəstəkləməyi xahiş edən bir neçə daimi müştəri tapdım.
İlk düşündüyüm monitorinq ehtiyacı oldu. Mən təkəri yenidən kəşf etmək üçün deyil, Munin və ya Zabbix kimi hazır variantlara baxmaq üçün ağıllı insanlar kimi davranmağa qərar verdim. Ancaq dərhal aşkar etdim ki, Veb versiyası yaxşı İnternet bağlantısı tələb edir, xüsusən də onu telefonunuzdan ilk dəfə açırsınızsa. Şəhərdən uzaqda təbiət qoynunda istirahət edirsinizsə, sabit əlaqə əldə etmək çətindir. Buna görə də konsol monitorinqi seçimi seçildi.
Atop və logların üstündə oxumaq üçün proqram - atopsar - mənə konsol monitorinqi kimi kömək etdi. Onlar artıq habrda qeyd olunub, , lakin atopsar haqqında demək olar ki, heç nə deyilməmişdi.
Quraşdırma
Çox sadə quraşdırma, yalnız üç əmr.
#Centos
yum install atop#Debian/Ubuntu
apt-get install atopSonra, monitorinq əməliyyatını özünüz üçün fərdiləşdirə və ya standart parametrlərdən istifadə edə bilərsiniz.
#Debian/Ubuntu/Centos
/etc/default/atop Standart fayl:
#cat /etc/default/atop
INTERVAL=60 #Время, через которое создаётся снимок нагрузки в секундах, по умолчанию каждые 10 минут
LOGPATH="/var/log/atop" #Путь до папки хранения логов
OUTFILE="$LOGPATH/daily.log" #Название файла логов за сегодняшний день
Avtomatik işə əlavə edin
#Debian/Ubuntu/Centos
systemctl enable atop Demon kimi zirvəyə qaçın
#Debian/Ubuntu/Centos
systemctl start atop Tənbəllər üçün bir komandaya yığıldım
#Centos
yum install atop && systemctl enable atop && systemctl start atop#Debian/Ubuntu
apt-get install atop && systemctl enable atop && systemctl start atopAtopsar
Atop ilə birlikdə atopsar da quraşdırılmışdır; o, üst daemon tərəfindən saxlanılan ikili jurnalların rahat konsol analizatorudur. Əlbətdə ki, qeydləri özünüzdən istifadə edərək oxuya bilərsiniz, lakin böyük bir müddət çəkmək lazımdırsa, bu o qədər də rahat deyil.
Atopsarın işi üzrə kiçik tədris proqramı.
Atopsarı açarsız işə saldığınız zaman bugünkü jurnal açılır və hər bir nüvəyə ayrıca yük və bütün nüvələr üçün boş xətt göstərilir.
İstifadə etdiyim açarlar:
-A = jurnaldakı bütün məlumatları göstərin
-s = prosessor nüvələrindəki yük haqqında məlumatı göstərin, standart açar
-m = RAM-a yükləyin və dəyişdirin
-d = disk fəaliyyəti
-O = ən yaxşı 3 CPU yükləmə prosesi
-G = RAM-da ilk 3 proses yüklənir
-D = ən yaxşı 3 disk yükləmə prosesi
-N = ən yaxşı 3 şəbəkə yükləmə prosesi
-r = Keçmiş günlərdəki yükü görmək lazımdırsa, oxumaq istədiyiniz jurnalın yolunu göstərin
-b = çəkilməyə başlamaq üçün vaxt
-e = çıxışın tamamlanmalı olduğu vaxt
-M = sonunda xəttin kritikliyini qeyd edən əlavə bir sütun yaradır (+ yük, * kritik yükdür)
Monitorinq sayəsində biz istənilən vaxt səhv server davranışının səbəbini anlaya biləcəyik.
Bildirişlər
Beləliklə, yük monitorinqi var, lakin hələ də problemləri tez tapıb həll etməyə imkan vermir. Problemlə bağlı bildirişlərə ehtiyacımız var.
Mən serverləri izləyən yeganə adamam, ona görə də həmişə onu görə biləcəyim və heç olmasa bir şəkildə reaksiya verə biləcəyim bir yerə xəbər verməliyəm.
Əvvəlcə SMS var idi - sürətli, etibarlı, pulsuz. Lakin sonra mobil operatorlar öz şlüzləri vasitəsilə pulsuz SMS göndərməyi dayandırdılar.
Poçt çox vaxt aparır, çatdırılma ilə bağlı problemlər ola bilər.
Messenger - onları telefonunuza quraşdırmalı, botlar yaratmalısınız.
Axtarış nəticəsində Telegram messenceri sadəliyi və telefonda və iş masasında rahat tətbiqinə görə seçilib.
istifadə edərək botunuzu yaratdınız .
Sonra serverə yüklənməni (IDL, smartct və s.), "oom killer" kimi səhvlərin mövcudluğunu, ehtiyat nüsxəsini yaratarkən səhvləri və nəzarət edilməli olan digər əməliyyatları izləyən bir neçə skript qoyuram.
Skriptlər olduqca sadədir, məsələn, bash dilində yazılıb, LA yoxlanılır və yük ortalaması nüvələrin sayını aşdığı barədə bildiriş göndərilir. server.
if [ ${LA[0]} -gt 2000 ] || [ ${LA[1]} -gt 3000 ] || [ ${LA[2]} -gt 4000 ]
then
wget -O /dev/null "https://api.telegram.org/$bot_id:$bot_key/sendMessage?chat_id=$chat_id&text=На сервере $ip LA $LAd"
wget -O /dev/null "https://api.telegram.org/$bot_id:$bot_key/sendMessage?chat_id=$chat_id&text=`top -b -n 1 | grep Cpu`"
wget -O /dev/null "https://api.telegram.org/$bot_id:$bot_key/sendMessage?chat_id=$chat_id&text=Топ 5 процессов `top -b -n 1 | grep -A 5 'PID USER' | tail -5`"
fiSintaksisin sadəliyi istifadə üçün çoxlu seçimlər verir (və proqramlaşdırma dilini ən azı bir az bilən hər kəs tərəfindən yazıla/əlavə edilə bilər).
Yeganə xəbərdarlıq odur ki, əgər server Rusiyada yerləşirsə (və serverdə IPv6 yoxdursa), onda siz proxy-dən istifadə etməlisiniz. Bunu etmək üçün skriptin əvvəlində proxy-yə əlaqə sətrini yazmalısınız:
export https_proxy=http://логин:пароль@IP.адрес:портBu son deyil
Siz kürəyinizdə kürək çantası ilə dağların arasından sakitcə gəzirsiniz, sivilizasiyaya ara verirsiniz və sonra telefonunuz təsadüfən əlaqəni götürərək serverinizdə yaranan problem barədə bildiriş göndərir. Nə etməli? Sakit əhval-ruhiyyəni külək uçurdu. Arvadınıza zəng edin və əmrləri diktə edin? Ha ha!
Tez və yaxşı İnternet bağlantısı olmadan yaranan problemləri həll etmək üçün bir yol tapmaq təcili idi. Burada messencer məni yenidən xilas etdi (#telegramlive). Botuma başqalarına məhəl qoymadan yalnız mənimlə ünsiyyət qurmağı öyrətdim. İndi problemlə bağlı bildirişlə yanaşı, bir az daha çox məlumat alıram, ondan problemin mənbəyinin kim olduğunu başa düşürəm və onu uzaqdan həll etməyə cəhd edə bilərəm. Siz sadəcə bota mesaj yazmalısınız, telefonunuzu yuxarıya atmalısınız ki, mesaj getsin və voila - bot sizin işinizi görməyə gedir. Bu yolla, məsələn, bəzi arzuolunmaz prosesləri öldürə, demonu yenidən başladın, IP-ni bloklaya bilərəm və s.
Burada həm də müştərilərdən gələcək lazımi sorğuları köçürdüm, məsələn, istifadəçilər üçün parolların təcili olaraq sıfırlanması (çünki “Ahhh, serverə daxil ola bilmirik, milyonları itiririk!”), girişi olan istifadəçinin axtarışı. istədiyiniz qovluq, saytın açılması və söndürülməsi və s. Əlbəttə ki, botun funksionallığını daim təkmilləşdirirəm, çünki müştərilərin təxəyyülü bəzən mənim gözlədiyim gözlənilməz istəkləri ortaya qoyur. Amma əsas olanlar qane olur.
VK üçün bir versiya da var, amma birtəhər tutmadı.
İndi orda nəyinsə qırılacağından və onu tapa bilməyəcəyimdən, düzəldə bilməyəcəyimdən qorxmadan sakitcə səyahət edirəm və bu dünyanı araşdırıram.
Mənbə: www.habr.com
