{"id":80031,"date":"2020-05-02T13:42:49","date_gmt":"2020-05-02T11:42:49","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/top-fakapov-czian"},"modified":"2020-05-02T13:42:49","modified_gmt":"2020-05-02T11:42:49","slug":"top-fakapov-czian","status":"publish","type":"post","link":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/top-fakapov-czian","title":{"rendered":"Top k\u013c\u016bdas Cian","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Top k\u013c\u016bdas Cian\" src=\"\/wp-content\/uploads\/2020\/05\/61cf8d25f1f3e858a3b9541cb026cf3c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVisiem labu!\u00a0<\/p>\n<p>Mani sauc Nikita, esmu komandas in\u017eenieru l\u012bderis Cian. Viens no maniem pien\u0101kumiem uz\u0146\u0113mum\u0101 ir samazin\u0101t infrastrukt\u016bras incidentu skaitu l\u012bdz nullei.<br \/>\nTo, par ko tiks run\u0101ts t\u0101l\u0101k, ir rad\u012bjis mums daudz s\u0101pju, un \u0161\u012b raksta m\u0113r\u0137is ir nov\u0113rst citu cilv\u0113ku iesp\u0113ju atk\u0101rtot m\u016bsu k\u013c\u016bdas vai vismaz minimiz\u0113t to ietekmi.\u00a0<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Priek\u0161v\u0101rds<\/h3>\n<p>\nSen, kad Cian sast\u0101v\u0113ja no monol\u012btiem un nebija nek\u0101du nor\u0101\u017eu uz mikropakalpojumiem, m\u0113s m\u0113r\u012bj\u0101m resursa pieejam\u012bbu, p\u0101rbaudot 3\u20135 lapas.\u00a0<\/p>\n<p>Ja atbild, \u2014 viss ir labi, ja neatbild ilg\u0101ku laiku \u2014 br\u012bdin\u0101jums. Cik ilgi lap\u0101m j\u0101b\u016bt neakt\u012bv\u0101m, lai to uzskat\u012btu par incidentu, \u2014 l\u0113ma cilv\u0113ki san\u0101ksm\u0113s. In\u017eenieru komanda vienm\u0113r piedal\u012bj\u0101s incidenta izmekl\u0113\u0161an\u0101. Kad izmekl\u0113\u0161ana bija pabeigta, tika rakst\u012bts postmortem \u2014 savdab\u012bgs zi\u0146ojums pa e-pastu form\u0101t\u0101: kas notika, cik ilgi tas ilga, ko dar\u012bj\u0101m br\u012bd\u012b, ko dar\u012bsim n\u0101kotn\u0113.\u00a0<\/p>\n<h3>Galven\u0101s vietnes lapas vai k\u0101 m\u0113s saprotam, ka esam sasniegu\u0161i apak\u0161u<\/h3>\n<p>\u00a0<br \/>\nLai var\u0113tu saprast k\u013c\u016bdu priorit\u0101ti, m\u0113s izdal\u012bj\u0101m vissvar\u012bg\u0101k\u0101s biznesa funkcionalit\u0101tei kritisk\u0101s lapas. M\u0113s skait\u0101m veiksm\u012bgo\/neveiksm\u012bgo piepras\u012bjumu un laika izbeig\u0161an\u0101s skaitu. T\u0101 m\u0113s m\u0113ra uptime.\u00a0<\/p>\n<p>Pie\u0146emsim, ka esam noskaidroju\u0161i, ka ir virkne super svar\u012bgu vietnes sada\u013cu, kas atbild par galveno pakalpojumu \u2014 sludin\u0101jumu mekl\u0113\u0161anu un iesnieg\u0161anu. Ja k\u013c\u016bdu skaits piepras\u012bjumos p\u0101rsniedz 1% \u2014 tas ir kritisks incidents. Ja pa 15 min\u016bt\u0113m aug peak laik\u0101 k\u013c\u016bdu procents p\u0101rsniedz 0,1% \u2014 tas tiek uzskat\u012bts ar\u012b par kritisku incidentu. \u0160ie krit\u0113riji aptver liel\u0101ko da\u013cu incidentu, p\u0101r\u0113jie izn\u0101k \u0101rpus \u0161\u012b raksta robe\u017e\u0101m.<\/p>\n<p><img decoding=\"async\" alt=\"Top k\u013c\u016bdas Cian\" src=\"\/wp-content\/uploads\/2020\/05\/f5d76b1784c9a52ae1dc4728f1509ccc.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Top lab\u0101kie incidenti Cian<\/h3>\n<p>\nT\u0101tad, m\u0113s noteikti esam iem\u0101c\u012bju\u0161ies identific\u0113t faktu, ka incidents ir noticis.\u00a0<\/p>\n<p>Tagad katrs incidents mums ir detaliz\u0113ti aprakst\u012bts un atspogu\u013cots Jira epik\u0101. Starp citu, \u0161im nol\u016bkam m\u0113s izveidoj\u0101m atsevi\u0161\u0137u projektu, nosauc\u0101m to par FAIL \u2014 taj\u0101 var izveidot tikai epikus.\u00a0<\/p>\n<p>Ja apkopotu visus neveiksm\u012bgos incidentus p\u0113d\u0113jo gadu laik\u0101, tad vado\u0161\u0101s poz\u012bcijas ie\u0146em:\u00a0<\/p>\n<ul>\n<li>incidenti, kas saist\u012bti ar mssql;<\/li>\n<li>incidenti, ko izrais\u012bju\u0161i \u0101r\u0113ji faktori;<\/li>\n<li>administratora k\u013c\u016bdas.<\/li>\n<\/ul>\n<p>\nPiev\u0113rs\u012bsimies detaliz\u0113t\u0101k administratoru k\u013c\u016bd\u0101m un da\u017eiem citiem interesantiem neveiksm\u0113m.<\/p>\n<h4>Piekt\u0101 vieta \u2014 \u00abK\u0101rtojam DNS\u00bb<\/h4>\n<p>\nTas bija slikts otrdienas r\u012bts. Izmantoj\u0101m iesp\u0113ju sak\u0101rtot DNS klasteri.\u00a0<\/p>\n<p>Grib\u0113j\u0101s p\u0101rv\u0113rst iek\u0161\u0113jos DNS serverus no bind uz powerdns, izveidojot piln\u012bgi atsevi\u0161\u0137us serverus, kur vien\u012bg\u0101 lieta ir DNS.\u00a0<\/p>\n<p>M\u0113s ievietoj\u0101m pa vienam DNS serverim katr\u0101 no m\u016bsu datu centriem, un pien\u0101ca br\u012bdis p\u0101rvietot zonas no bind uz powerdns un p\u0101rorient\u0113t infrastrukt\u016bru uz jaunajiem serveriem.\u00a0<\/p>\n<p>P\u0101rvieto\u0161anas vid\u016b no visiem <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/lv\/server\/\"   title=\"serveriem\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1484\">serveriem<\/a>, kas tika nor\u0101d\u012bti lok\u0101lajos ke\u0161\u0113jojo\u0161os bind-\u012b, palika tikai viens, kas atrad\u0101s datu centr\u0101 Sanktp\u0113terburg\u0101. \u0160is Datu centrs s\u0101kotn\u0113ji bija deklar\u0113ts k\u0101 ne kritisks mums, bet p\u0113k\u0161\u0146i k\u013cuva par vien\u012bgo k\u013c\u016bdas punktu.<br \/>\nTie\u0161i \u0161aj\u0101 p\u0101rvieto\u0161anas period\u0101 krita kan\u0101ls starp Maskavu un Sanktp\u0113terburgu. M\u0113s faktiski palik\u0101m bez DNS piecas min\u016btes un atjaunoj\u0101m to, kad <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/lv\/\"   title=\"mitin\u0101t\u0101js\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1206\">mitin\u0101t\u0101js<\/a> tika nov\u0113rsti trauc\u0113jumi.\u00a0<\/p>\n<p><b>Secin\u0101jumi: <\/b><\/p>\n<p>Ja agr\u0101k m\u0113s ignor\u0113j\u0101m \u0101r\u0113jos faktorus darba sagatavo\u0161anas laik\u0101, tad tagad tos ar\u012b iek\u013c\u0101v\u0101m sarakst\u0101, uz ko gatavojamies. Tagad m\u0113s cen\u0161amies nodro\u0161in\u0101t, ka visi komponenti ir rezerv\u0113ti n-2, bet darba laik\u0101 varam pazemin\u0101t \u0161o l\u012bmeni l\u012bdz n-1.<\/p>\n<ul>\n<li>Izstr\u0101d\u0101jot r\u012bc\u012bbas pl\u0101nu, atz\u012bm\u0113jiet punktus, kur serviss var\u0113tu sabrukt, un izstr\u0101d\u0101jiet scen\u0101rijus, kur viss notiek \u201eslikt\u0101kaj\u0101 gad\u012bjum\u0101\u201d iepriek\u0161.<\/li>\n<li>Izvietojiet iek\u0161\u0113jos DNS serverus da\u017e\u0101d\u0101s \u0123eolok\u0101cij\u0101s\/datu centros\/skapjos\/sl\u0113gtos t\u012bklos.<\/li>\n<li>Katram serverim iestatiet viet\u0113jo ke\u0161\u0113jo DNS serveri, kas p\u0101radres\u0113 piepras\u012bjumus uz galvenajiem DNS serveriem, un gad\u012bjum\u0101, ja tas nav pieejams, atbild\u0113s no ke\u0161a.\u00a0<\/li>\n<\/ul>\n<p><\/p>\n<h4>Ceturt\u0101 vieta \u2014 \u201eK\u0101rt\u012bba Nginx\u201d<\/h4>\n<p>\nVien\u0101 jauk\u0101 dien\u0101 m\u016bsu komanda izlemj, ka \u201eir pien\u0101cis laiks beigt paciest\u201d, un s\u0101k\u0101s nginx konfigur\u0101cijas p\u0101rfaktoriz\u0113\u0161anas process. Galvenais m\u0113r\u0137is ir p\u0101rveidot konfigur\u0101cijas uz intuit\u012bvi saprotamu strukt\u016bru. Agr\u0101k viss bija \u201ev\u0113sturiski izveidots\u201d un nesatur\u0113ja nek\u0101du lo\u0123iku. Tagad katrs server_name ir izvietots atsevi\u0161\u0137\u0101 fail\u0101, un visas konfigur\u0101cijas ir sadal\u012btas pa map\u0113m. Starp citu \u2014 konfigur\u0101cij\u0101 ir 253949 rindi\u0146as vai 7836520 simbolu, un t\u0101 aiz\u0146em gandr\u012bz 7 megabaitus. Aug\u0161\u0113jais strukt\u016bras l\u012bmenis:\u00a0<\/p>\n<p>                        <b class=\"spoiler_title\">Nginx strukt\u016bra<\/b><\/p>\n<pre><code class=\"plaintext\">\u251c\u2500\u2500 piek\u013cuve\n\u2502 \u00a0 \u251c\u2500\u2500 allow.list\n...\n\u2502 \u00a0 \u2514\u2500\u2500 whitelist.conf\n\u251c\u2500\u2500 geobase\n\u2502 \u00a0 \u251c\u2500\u2500 exclude.conf\n...\n\u2502 \u00a0 \u2514\u2500\u2500 geo_ip_to_region_id.conf\n\u251c\u2500\u2500 geodb\n\u2502 \u00a0 \u251c\u2500\u2500 GeoIP.dat\n\u2502 \u00a0 \u251c\u2500\u2500 GeoIP2-Country.mmdb\n\u2502 \u00a0 \u2514\u2500\u2500 GeoLiteCity.dat\n\u251c\u2500\u2500 inc\n\u2502 \u00a0 \u251c\u2500\u2500 error.inc\n...\n\u2502 \u00a0 \u2514\u2500\u2500 proxy.inc\n\u251c\u2500\u2500 lists.d\n\u2502 \u00a0 \u251c\u2500\u2500 bot.conf\n...\n\u2502 \u00a0 \u251c\u2500\u2500 dynamic\n\u2502 \u00a0 \u2514\u2500\u2500 geo.conf\n\u251c\u2500\u2500 lua\n\u2502 \u00a0 \u251c\u2500\u2500 cookie.lua\n\u2502 \u00a0 \u251c\u2500\u2500 log\n\u2502 \u00a0 \u2502 \u00a0 \u2514\u2500\u2500 log.lua\n\u2502 \u00a0 \u251c\u2500\u2500 logics\n\u2502 \u00a0 \u2502 \u00a0 \u251c\u2500\u2500 include.lua\n\u2502 \u00a0 \u2502 \u00a0 \u251c\u2500\u2500 ...\n\u2502 \u00a0 \u2502 \u00a0 \u2514\u2500\u2500 utils.lua\n\u2502 \u00a0 \u2514\u2500\u2500 prom\n\u2502 \u00a0 \u00a0 \u00a0 \u251c\u2500\u2500 stats.lua\n\u2502 \u00a0 \u00a0 \u00a0 \u2514\u2500\u2500 stats_prometheus.lua\n\u251c\u2500\u2500 map.d\n\u2502 \u00a0 \u251c\u2500\u2500 access.conf\n\u2502 \u00a0 \u251c\u2500\u2500 ..\u00a0\n\u2502 \u00a0 \u2514\u2500\u2500 zones.conf\n\u251c\u2500\u2500 nginx.conf\n\u251c\u2500\u2500 robots.txt\n\u251c\u2500\u2500 server.d\n\u2502 \u00a0 \u251c\u2500\u2500 cian.ru\n\u2502 \u00a0 \u2502 \u00a0 \u251c\u2500\u2500 cian.ru.conf\n\u2502 \u00a0 \u2502 \u00a0 \u251c\u2500\u2500 ...\n\u2502 \u00a0 \u2502 \u00a0 \u2514\u2500\u2500 my.cian.ru.conf\n\u251c\u2500\u2500 service.d\n\u2502 \u00a0 \u251c\u2500\u2500 ...\n\u2502 \u00a0 \u2514\u2500\u2500 status.conf\n\u2514\u2500\u2500 upstream.d\n\u00a0\u00a0\u00a0\u00a0\u251c\u2500\u2500 cian-mcs.conf\n\u00a0\u00a0\u00a0\u00a0\u251c\u2500\u2500 ...\n\u00a0\u00a0\u00a0\u00a0\u2514\u2500\u2500 wafserver.conf<\/code><\/pre>\n<p>K\u013cuva iev\u0113rojami lab\u0101k, bet p\u0101rd\u0113v\u0113\u0161anas un konfigur\u0101ciju sadal\u012b\u0161anas proces\u0101 da\u013cai no t\u0101m bija nepareizs papla\u0161in\u0101jums un t\u0101s netika iek\u013cautas direkt\u012bv\u0101 include *.conf. Rezult\u0101t\u0101 da\u013ca hostu k\u013cuva nepieejami un atgrieza 301 uz galveno lapu. T\u0101 k\u0101 atbildes kods nebija 5xx\/4xx, to nevar\u0113ja paman\u012bt uzreiz, bet tikai r\u012bta stund\u0101s. P\u0113c tam m\u0113s s\u0101k\u0101m rakst\u012bt testus infrastrukt\u016bras komponentu p\u0101rbaudei.<\/p>\n<p><b>Secin\u0101jumi:<\/b>\u00a0<\/p>\n<ul>\n<li>Pareizi struktur\u0113jiet konfigur\u0101cijas (ne tikai nginx) un izstr\u0101d\u0101jiet strukt\u016bru projekta agr\u012bn\u0101 posm\u0101. Tas padar\u012bs t\u0101s saprotam\u0101kas komandai, kas savuk\u0101rt samazin\u0101s TTM.<\/li>\n<li>Da\u017e\u0101diem infrastrukt\u016bras komponentiem rakstiet testus. Piem\u0113ram: p\u0101rbaudiet, vai visi svar\u012bgie server_name atgrie\u017e pareizo statusu un atbildes saturu. Pietiks ar da\u017eiem skriptiem, kas p\u0101rbauda galven\u0101s komponentes funkcijas, lai tr\u012bc\u012bgi neatcer\u0113tos 3 nakt\u012b, ko v\u0113l j\u0101p\u0101rbauda.\u00a0<\/li>\n<\/ul>\n<p><\/p>\n<h4>Tre\u0161\u0101 vieta \u2014 \"P\u0113k\u0161\u0146i beidz\u0101s vieta Cassandra\"<\/h4>\n<p>\nDati pak\u0101peniski pieauga, un viss bija labi l\u012bdz br\u012bdim, kad Cassandra klaster\u012b s\u0101ka izg\u0101zties lielo keyspace remonti, jo tie nevar\u0113ja izpild\u012bt compaction.\u00a0<\/p>\n<p>Vien\u0101 neskaidr\u0101 dien\u0101 klasteris gandr\u012bz p\u0101rv\u0113rt\u0101s par \u0137irbi, proti:<\/p>\n<ul>\n<li>klaster\u012b palika aptuveni 20% no kop\u0113j\u0101s vietas;<\/li>\n<li>nav iesp\u0113jams piln\u012bb\u0101 pievienot mezglus, jo p\u0113c mezgla pievieno\u0161anas nep\u0101riet cleanup d\u0113\u013c vietas tr\u016bkuma apgabalos;<\/li>\n<li>veiktsp\u0113ja pak\u0101peniski samazin\u0101s, jo kompakcija nestr\u0101d\u0101;\u00a0<\/li>\n<li>klasteris darbojas av\u0101rijas re\u017e\u012bm\u0101.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Top k\u013c\u016bdas Cian\" src=\"\/wp-content\/uploads\/2020\/05\/1d036fbc500a49a285fa4b0014e2a70d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIzvade \u2014 pievienoj\u0101m v\u0113l 5 mezglus bez att\u012br\u012b\u0161anas, p\u0113c tam s\u0101k\u0101m pak\u0101peniski iz\u0146emt no klastera un atkal iek\u013caut, k\u0101 tuk\u0161us mezglus, kur\u0101s beidz\u0101s vieta. Laika pat\u0113ri\u0146\u0161 bija krietni liel\u0101ks, nek\u0101 v\u0113l\u0113tos. Past\u0101v\u0113ja risks da\u013c\u0113jai vai piln\u012bgai klastera nepieejam\u012bbai.\u00a0<\/p>\n<p><b>Secin\u0101jumi:<\/b><\/p>\n<ul>\n<li>Visos serveros Cassandra nedr\u012bkst b\u016bt aiz\u0146emti vair\u0101k k\u0101 60% vietas katr\u0101 nodal\u012bjum\u0101.\u00a0<\/li>\n<li>Tie j\u0101noslogo ne vair\u0101k k\u0101 50% p\u0113c CPU.<\/li>\n<li>Nepalaidiet gar\u0101m kapacit\u0101tes pl\u0101no\u0161anu, un to ir j\u0101izstr\u0101d\u0101 katram komponentam, \u0146emot v\u0113r\u0101 t\u0101 specifiku.<\/li>\n<li>Jo vair\u0101k mezglu klaster\u012b \u2014 jo lab\u0101k. Serveri, kas satur nelielu datu apjomu, \u0101tr\u0101k tiek p\u0101rs\u016bt\u012bti, un \u0161\u0101ds klasteris ir viegl\u0101k reanim\u0113jams.\u00a0<\/li>\n<\/ul>\n<p><\/p>\n<h4>Otr\u0101 vieta \u2014 \"Dati izzudu\u0161i no consul key-value kr\u0101tuves\"<\/h4>\n<p>\nM\u0113s, t\u0101pat k\u0101 daudzi, izmantojam consul pakalpojumu atkl\u0101\u0161anai. Bet m\u016bsu key-value tiek izmantots ar\u012b blue-green izvieto\u0161anai monol\u012bt\u0101. Tur tiek glab\u0101ta inform\u0101cija par akt\u012bvajiem un neakt\u012bvajiem aug\u0161\u0113j\u0101 pl\u0101no, kas main\u0101s viet\u0101m izvieto\u0161anas procesa laik\u0101. \u0160im nol\u016bkam tika izveidots izvieto\u0161anas pakalpojums, kas mijiedarboj\u0101s ar KV. K\u0101d\u0101 br\u012bd\u012b dati no KV izzuda. Atjaunoj\u0101m tos p\u0113c atmi\u0146as, ta\u010du ar vair\u0101k\u0101m k\u013c\u016bd\u0101m. Rezult\u0101t\u0101, veicot izvieto\u0161anu, slodze uz aug\u0161\u0113jiem pl\u0101niem tika sadal\u012bta nevienm\u0113r\u012bgi, un m\u0113s sa\u0146\u0113m\u0101m daudz 502 k\u013c\u016bdu, jo aizmugures serveri tika p\u0101rslogoti p\u0113c CPU. Galu gal\u0101 p\u0101rg\u0101j\u0101m no consul KV uz postgres, no kura tos vairs nav tik vienk\u0101r\u0161i izdz\u0113st.\u00a0\u00a0<\/p>\n<p><b>Secin\u0101jumi:<br \/>\n<\/b><\/p>\n<ul>\n<li>Pakalpojumiem bez nek\u0101das autoriz\u0101cijas nedr\u012bkst satur\u0113t kritiskus datus, kas nepiecie\u0161ami vietnes darb\u012bbai. Piem\u0113ram, ja jums nav autoriz\u0101cijas ES \u2014 lab\u0101k b\u016btu aizliegt piek\u013cuvi t\u012bkla l\u012bmen\u012b no visur, kur tas nav nepiecie\u0161ams, atst\u0101jt tikai nepiecie\u0161amos, k\u0101 ar\u012b izveidojiet action.destructive_requires_name: true.<\/li>\n<li>Iepriek\u0161 izstr\u0101d\u0101jiet rezerves kop\u0113\u0161anas un atjauno\u0161anas meh\u0101nismu. Piem\u0113ram, izveidojiet skriptu (piem\u0113ram, uz python), kas sp\u0113j gan veikt rezerves kop\u0113\u0161anu, gan atjaunot.<\/li>\n<\/ul>\n<p><\/p>\n<h4>Pirm\u0101 vieta \u2014 \"Kapit\u0101ns neuzman\u012bba\"\u00a0<\/h4>\n<p>\nK\u0101du br\u012bdi m\u0113s paman\u012bj\u0101m nevienm\u0113r\u012bgu slodzes sadal\u012bjumu uz nginx aug\u0161uppl\u016bdes gad\u012bjumos, kad aizmugur\u0113 bija 10+ serveri. T\u0101 k\u0101 round-robin novirz\u012bja piepras\u012bjumus no 1. l\u012bdz p\u0113d\u0113jam aug\u0161uppl\u016bdes k\u0101rt\u012bb\u0101, un katra nginx atk\u0101rtota iel\u0101de s\u0101k\u0101s no jauna, uz pirmaj\u0101m aug\u0161uppl\u016bd\u0113m vienm\u0113r n\u0101ca vair\u0101k piepras\u012bjumu nek\u0101 uz p\u0101r\u0113j\u0101m. Rezult\u0101t\u0101 t\u0101s str\u0101d\u0101ja l\u0113n\u0101k, un viss t\u012bmek\u013ca vietne cieta. Tas k\u013cuva arvien paman\u0101m\u0101ks pieaugot satiksmei. Vienk\u0101r\u0161i atjaunin\u0101t nginx, lai iek\u013cautu random, nesan\u0101ca - bija j\u0101p\u0101rstr\u0101d\u0101 liela da\u013ca lua koda, kas nedarboj\u0101s versij\u0101 1.15 (taj\u0101 laik\u0101). Aizvien n\u0101c\u0101s ieviest patch m\u016bsu nginx 1.14.2, \u0161aj\u0101 versij\u0101 iek\u013caujot random atbalstu. Tas atrisin\u0101ja probl\u0113mu. \u0160\u012b k\u013c\u016bda uzvar nomin\u0101cij\u0101<\/p>\n<p><b>Secin\u0101jumi:<\/b><\/p>\n<p>Bija \u013coti interesanti un aizraujo\u0161i izp\u0113t\u012bt \u0161o k\u013c\u016bdu).\u00a0<\/p>\n<ul>\n<li>Veidojiet monitoringu t\u0101, lai tas pal\u012bdz\u0113tu \u0101tri atrast l\u012bdz\u012bgas sv\u0101rst\u012bbas. Piem\u0113ram, var izmantot ELK, lai uzraudz\u012btu rps katram aizmugures katram aug\u0161uppl\u016bdei, sekojot vi\u0146u atbildes laikam no nginx skatpunkta. \u0160aj\u0101 gad\u012bjum\u0101 tas mums pal\u012bdz\u0113ja atkl\u0101t probl\u0113mu.\u00a0<\/li>\n<\/ul>\n<p>\nIzv\u0113loties r\u016bp\u012bg\u0101ku pieeju, var\u0113ja izvair\u012bties no liel\u0101k\u0101s da\u013cas neveiksmju. J\u0101atceras par M\u0113rfija likumu:\u00a0<i>Anything that can go wrong will go wrong, <\/i>un b\u016bv\u0113jot komponentes, vadoties p\u0113c t\u0101.\u00a0<br \/>\n<br \/>Avots: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/cian\/blog\/499542\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u0434\u043e\u0431\u0440\u0430!\u00a0 \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041d\u0438\u043a\u0438\u0442\u0430, \u044f \u0442\u0438\u043c\u043b\u0438\u0434 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u0426\u0438\u0430\u043d. \u041e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043c\u043e\u0438\u0445 \u043e\u0431\u044f\u0437\u0430\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u043e\u0432, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u043d\u0430 \u043f\u0440\u043e\u0434\u0435, \u0434\u043e \u043d\u0443\u043b\u044f. \u0422\u043e, \u043e \u0447\u0435\u043c \u043f\u043e\u0439\u0434\u0435\u0442 \u0440\u0435\u0447\u044c \u0434\u0430\u043b\u0435\u0435, \u043f\u0440\u0438\u043d\u0435\u0441\u043b\u043e \u043d\u0430\u043c \u043c\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u0438, \u0438 \u0446\u0435\u043b\u044c \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u2014 \u043d\u0435 \u0434\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u043c \u043b\u044e\u0434\u044f\u043c \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u043d\u0430\u0448\u0438\u0445 \u043e\u0448\u0438\u0431\u043e\u043a \u0438\u043b\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0432\u043b\u0438\u044f\u043d\u0438\u0435.\u00a0 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":80032,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-80031","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0435\u043c \u0434\u043e\u0431\u0440\u0430! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041d\u0438\u043a\u0438\u0442\u0430, \u044f \u0442\u0438\u043c\u043b\u0438\u0434 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u0426\u0438\u0430\u043d.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/top-fakapov-czian\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"lv_LV\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0422\u043e\u043f \u0444\u0430\u043a\u0430\u043f\u043e\u0432 \u0426\u0438\u0430\u043d | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u0434\u043e\u0431\u0440\u0430! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041d\u0438\u043a\u0438\u0442\u0430, \u044f \u0442\u0438\u043c\u043b\u0438\u0434 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u0426\u0438\u0430\u043d.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/top-fakapov-czian\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-02T11:42:49+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-02T11:42:49+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Cian Top k\u013c\u016bdas | ProHoster","description":"Visiem labais! Mani sauc Nikita, esmu komandas in\u017eenieru grupas vad\u012bt\u0101js Cian.","canonical_url":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/top-fakapov-czian","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"lv_LV","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0422\u043e\u043f \u0444\u0430\u043a\u0430\u043f\u043e\u0432 \u0426\u0438\u0430\u043d | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u0434\u043e\u0431\u0440\u0430! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041d\u0438\u043a\u0438\u0442\u0430, \u044f \u0442\u0438\u043c\u043b\u0438\u0434 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432 \u0426\u0438\u0430\u043d.","og:url":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/top-fakapov-czian","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-02T11:42:49+00:00","article:modified_time":"2020-05-02T11:42:49+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"80031","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 12:47:44","updated":"2026-02-09 16:50:24","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/80031","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/comments?post=80031"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/80031\/revisions"}],"predecessor-version":[{"id":158728,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/80031\/revisions\/158728"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media\/80032"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media?parent=80031"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/categories?post=80031"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/tags?post=80031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}