Innleadaireachd Chaos: ealain sgrios a dh’aona ghnothach. Pàirt 2

Thoir an aire. eadar-theangachadh.: Tha an artaigil seo a’ leantainn sreath sgoinneil de artaigilean bhon t-soisgeulaiche teicneòlas AWS Adrian Hornsby, a tha ag amas air mìneachadh ann an dòigh shìmplidh agus shoilleir cho cudromach sa tha deuchainneachd gus builean fàilligidhean ann an siostaman IT a lasachadh.

Innleadaireachd Chaos: ealain sgrios a dh’aona ghnothach. Pàirt 2

“Mura ullaich thu plana, tha thu an dùil fàiligeadh.” - Benjamin Franklin

В a ’chiad phàirt Anns an t-sreath artaigilean seo, thug mi a-steach bun-bheachd innleadaireachd caos agus mhìnich mi mar a chuidicheas e le bhith a ’lorg agus a’ ceartachadh lochdan san t-siostam mus lean iad gu fàilligeadh cinneasachaidh. Bheachdaich e cuideachd air mar a tha innleadaireachd caos a’ brosnachadh atharrachadh cultarach adhartach taobh a-staigh bhuidhnean.

Aig deireadh a’ chiad phàirt, gheall mi bruidhinn mu dheidhinn “innealan agus dòighean airson fàilligidhean a thoirt a-steach do shiostaman.” Gu mì-fhortanach, bha na planaichean aige fhèin aig mo cheann a thaobh seo, agus san artaigil seo feuchaidh mi ris a’ cheist as mòr-chòrdte a tha ag èirigh am measg dhaoine a tha airson faighinn a-steach do innleadaireachd caos a fhreagairt: Dè a bhriseadh an toiseach?

Ceist sgoinneil! Ach, chan eil coltas gu bheil am panda seo gu sònraichte a’ cur dragh air...

Innleadaireachd Chaos: ealain sgrios a dh’aona ghnothach. Pàirt 2
Na gabh dragh leis a’ panda caos!

Freagairt ghoirid: Ag amas air seirbheisean èiginneach air slighe an iarrtais.

Freagairt nas fhaide ach nas soilleire: Gus tuigsinn càite an tòisich thu a’ feuchainn a-mach caos, thoir aire do thrì raointean:

  1. Seall air eachdraidh tubaist agus pàtrain aithneachadh;
  2. Dèan co-dhùnadh eisimeileachd èiginneach;
  3. Cleachd an rud ris an canar buaidh cus misneachd.

Tha e èibhinn, ach dh’ fhaodadh am pàirt seo a cheart cho furasta a ghairm "Turas gu Fèin-lorg agus Soillseachadh". Ann an sin tòisichidh sinn “a’ cluich ”le cuid de dh’ ionnstramaidean fionnar.

1. Tha am freagairt san àm a dh'fhalbh

Ma chuimhnicheas tu, anns a’ chiad phàirt thug mi a-steach bun-bheachd Ceartachadh-mearachdan (COE) - dòigh anns am bi sinn a’ sgrùdadh ar mearachdan - mearachdan ann an teicneòlas, pròiseas no eagrachadh - gus an adhbhar / na h-adhbharan aca a thuigsinn agus casg a chuir air. ath-chuairteachadh san àm ri teachd. San fharsaingeachd, seo far am bu chòir dhut tòiseachadh.

“Gus an latha an-diugh a thuigsinn, feumaidh fios a bhith agad air an àm a dh’ fhalbh. ” — Carl Sagan

Thoir sùil air eachdraidh fàilligidhean, tagh iad ann an COE no postmortems agus seòrsaich iad. Comharraich pàtrain cumanta a bhios gu tric ag adhbhrachadh dhuilgheadasan, agus airson gach COE, faighnich a’ cheist a leanas dhut fhèin:

“Am b’ urrainn seo a bhith air a ro-innse agus mar sin air a chasg le in-stealladh locht? ”

Tha cuimhne agam air aon fhàiligeadh tràth nam chùrsa-beatha. Dh’ fhaodadh e a bhith air a chasg gu furasta nam biodh sinn air dà dheuchainnean caos sìmplidh a dhèanamh:

Fo chumhachan àbhaisteach, bidh cùisean cùl-fhiosrachaidh a’ freagairt sgrùdaidhean slàinte bho cothromachadh luchdan (ELB)). Cleachdaidh ELB na sgrùdaidhean sin gus iarrtasan ath-stiùireadh gu suidheachaidhean fallain. Nuair a thig e a-mach gu bheil eisimpleir “mì-fhallain”, stadaidh ELB bho bhith a’ cur iarrtasan thuige. Aon latha, às deidh iomairt mhargaidheachd shoirbheachail, mheudaich an trafaic agus thòisich na backends a’ freagairt sgrùdaidhean slàinte nas slaodaiche na an àbhaist. Bu chòir a ràdh gu robh na sgrùdaidhean slàinte sin domhainn, is e sin, chaidh staid nan eisimeileachd a sgrùdadh.

Ach, bha a h-uile dad gu math airson greis.

An uairsin, mar-thà fo chumhachan caran duilich, thòisich aon de na cùisean a’ coileanadh gnìomh cron ETL neo-èiginneach, cunbhalach. Bhrùth an cothlamadh de thrafaig àrd agus cronjob cleachdadh CPU gu faisg air 100%. Chuir cus luchdachadh CPU maill air freagairtean do sgrùdaidhean slàinte, cho mòr is gun do cho-dhùin an ELB gun robh an suidheachadh a’ faighinn trioblaidean coileanaidh. Mar a bhiodh dùil, sguir an neach-cothromachaidh a bhith a’ cuairteachadh trafaic thuige, a dh’ adhbhraich sin àrdachadh san luchd air na cùisean a bha air fhàgail sa bhuidheann.

Gu h-obann, thòisich a h-uile suidheachadh eile cuideachd air fàiligeadh san sgrùdadh slàinte.

Le bhith a’ tòiseachadh eisimpleir ùr bha feum air pacaidean a luchdachadh sìos agus a chuir a-steach agus thug e fada na b’ fhaide na thug e air an ELB an cur à comas - aon às deidh aon - sa bhuidheann fèin-sgèile. Tha e soilleir nach fhada gus an do ràinig am pròiseas gu lèir ìre èiginneach agus gun do thuit an tagradh.

An uairsin thuig sinn gu bràth na puingean a leanas:

  • Bheir stàladh bathar-bog nuair a chruthaicheas tu eisimpleir ùr ùine mhòr; tha e nas fheàrr roghainn a thoirt don dòigh-obrach neo-sheasmhach agus AMI buidhe.
  • Ann an suidheachaidhean duilich, bu chòir prìomhachas a thoirt do fhreagairtean do sgrùdaidhean slàinte agus ELB - is e an rud mu dheireadh a tha thu ag iarraidh beatha a dhèanamh nas toinnte airson nan suidheachaidhean a tha air fhàgail.
  • Bidh caching ionadail de sgrùdaidhean slàinte a’ cuideachadh mòran (eadhon airson beagan dhiog).
  • Ann an suidheachadh duilich, na ruith gnìomhan cron agus pròiseasan neo-èiginneach eile - sàbhail goireasan airson na gnìomhan as cudromaiche.
  • Nuair a bhios tu a’ dèanamh fèin-sgèile, cleachd suidheachaidhean nas lugha. Tha buidheann de 10 sampallan beaga nas fheàrr na buidheann de 4 feadhainn mòra; ma dh'fhàilligeas aon eisimpleir, anns a 'chiad chùis thèid 10% den trafaig a sgaoileadh thairis air 9 puingean, anns an dàrna fear - 25% den trafaig thairis air trì puingean.

Agus mar sin, am b' urrainn seo a bhith air a shùileachadh, agus mar sin air a chasg le bhith a' toirt a-steach an duilgheadas?

gu bheil, agus ann an grunn dhòighean.

An toiseach, le bhith a 'samhlachadh cleachdadh àrd CPU a' cleachdadh innealan leithid stress-ng no cpuburn:

❯ stress-ng --matrix 1 -t 60s

Innleadaireachd Chaos: ealain sgrios a dh’aona ghnothach. Pàirt 2
cuideam-ng

San dàrna h-àite, le bhith a 'toirt thairis air an eisimpleir le wrk agus goireasan eile coltach riutha:

❯ wrk -t12 -c400 -d20s http://127.0.0.1/api/health

Innleadaireachd Chaos: ealain sgrios a dh’aona ghnothach. Pàirt 2

Tha na deuchainnean gu math sìmplidh, ach faodaidh iad biadh math a thoirt seachad airson smaoineachadh gun a bhith a’ dol tro chuideam fìor fhàilligeadh.

Ach, na stad an sin. Feuch ris an tubaist ath-riochdachadh ann an àrainneachd deuchainn agus thoir sùil air do fhreagairt don cheist"Am b’ urrainn seo a bhith air a shùileachadh agus mar sin air a chasg le bhith a’ toirt a-steach locht?" Is e deuchainn beag caos a tha seo taobh a-staigh deuchainn caos gus barailean a dhearbhadh, ach a’ tòiseachadh le fàilligeadh.

Innleadaireachd Chaos: ealain sgrios a dh’aona ghnothach. Pàirt 2
An e bruadar a bh’ ann, neo an do thachair e dha-rìribh?

Mar sin dèan sgrùdadh air eachdraidh fàilligeadh, dèan sgrùdadh Comhann, tag agus seòrsachadh a rèir “buail radius” - no nas cinntiche, an àireamh de luchd-ceannach air a bheil buaidh - agus an uairsin coimhead airson pàtrain. Faighnich thu fhèin an gabhadh seo a bhith air a ro-innse agus air a chasg le bhith a’ toirt a-steach an duilgheadas. Thoir sùil air do fhreagairt.

An uairsin gluais gu na pàtranan as cumanta leis an raon as motha.

2. Tog mapa eisimeileachd

Gabh mionaid airson smaoineachadh air an tagradh agad. A bheil mapa soilleir de na h-eisimeileachd aige? A bheil fios agad dè a’ bhuaidh a bhios aca ma dh’fhàilligeas?

Mura h-eil thu gu math eòlach air còd an tagraidh agad no ma tha e air fàs gu math mòr, faodaidh e a bhith duilich tuigsinn dè a bhios an còd a’ dèanamh agus dè a tha an urra ris. Tha e deatamach gun tuig thu na h-eisimeileachd sin agus a’ bhuaidh a dh’ fhaodadh a bhith aca air an tagradh agus luchd-cleachdaidh gus fios a bhith aca càite an tòisich iad le innleadaireachd caos: is e an t-àite tòiseachaidh am pàirt leis an radius buaidh as motha.

Canar “comharrachadh agus clàradh eisimeileachd”a’ togail mapa eisimeileachd» (mapa eisimeileachd). Mar as trice bidh seo air a dhèanamh airson tagraidhean le bunait còd mòr a’ cleachdadh innealan pròifil còd. (pròifil còd) agus ionnsramaidean (ionnsramaid). Faodaidh tu cuideachd mapa a thogail le bhith a’ cumail sùil air trafaic lìonraidh.

Ach, chan eil a h-uile eisimeileachd mar an ceudna (a tha a’ dèanamh tuilleadh iom-fhillte air a’ phròiseas). cuid èiginneach, eile - àrd-sgoile (co-dhiù ann an teòiridh, leis gu bheil tubaistean tric a’ tachairt mar thoradh air duilgheadasan le eisimeileachd a bha air am meas neo-èiginneach).

Às aonais eisimeileachd èiginneach, chan urrainn don t-seirbheis obrachadh. eisimeileachd neo-chudromach"cha bu chòir» buaidh a thoirt air an t-seirbheis ma thuiteas tu. Gus eisimeileachd a thuigsinn, feumaidh tuigse shoilleir a bhith agad air na APIan a chleachdas an tagradh agad. Faodaidh seo a bhith tòrr nas duilghe na tha e coltach - co-dhiù airson tagraidhean mòra.

Tòisich le bhith a 'dol tro na APIan gu lèir. Thoir an aire as motha cudromach agus èiginneach. Gabh eisimeileachd bhon stòr còd, thoir sùil air clàran ceangail, an uairsin sealladh sgrìobhainnean (gu dearbh, ma tha e ann - air dhòigh eile tha agad fhathastоduilgheadasan nas motha). Cleachd na h-innealan gus a pròifil agus lorg, criathraich fiosan bhon taobh a-muigh.

Faodaidh tu prògraman mar netstat - goireas loidhne-àithne a sheallas liosta de na ceanglaichean lìonra (socaidean gnìomhach) san t-siostam. Mar eisimpleir, airson a h-uile ceangal làithreach a liostadh, dèan seòrsa:

❯ netstat -a | more 

Innleadaireachd Chaos: ealain sgrios a dh’aona ghnothach. Pàirt 2

Ann an AWS faodaidh tu a chleachdadh clàran sruthadh (logaichean sruthadh) Is e dòigh a th’ ann an VPC a leigeas leat fiosrachadh a chruinneachadh mu thrafaig IP a’ dol gu no bho eadar-aghaidh lìonra ann an VPC. Faodaidh logaichean mar seo cuideachd cuideachadh le gnìomhan eile - mar eisimpleir, lorg freagairt don cheist carson nach ruig trafaic sònraichte an t-eisimpleir.

Faodaidh tu cuideachd a chleachdadh AWS X-Ray. Leigidh X-Ray leat mion-fhiosrachadh, “mu dheireadh” fhaighinn (deireadh gu deireadh) sealladh farsaing air iarrtasan fhad ‘s a tha iad a’ gluasad tron ​​​​tagradh, agus cuideachd a’ togail mapa de phàirtean bunaiteach an tagraidh. Gu math goireasach ma dh’ fheumas tu eisimeileachd a chomharrachadh.

Innleadaireachd Chaos: ealain sgrios a dh’aona ghnothach. Pàirt 2
Console X-Ray AWS

Chan eil ann am mapa eisimeileachd lìonra ach fuasgladh pàirteach. Tha, tha e a’ sealltainn dè an tagradh a bhios a’ conaltradh cò leis, ach tha eisimeileachd eile ann cuideachd.

Bidh mòran de thagraidhean a’ cleachdadh DNS gus ceangal ri eisimeileachd, agus faodaidh cuid eile lorg seirbheis a chleachdadh no eadhon seòlaidhean IP le còd cruaidh ann am faidhlichean rèiteachaidh (me. /etc/hosts).

Mar eisimpleir, faodaidh tu a chruthachadh DNS toll-dubh le cuideachadh iptables agus faic ciod a tha briseadh. Gus seo a dhèanamh, cuir a-steach an òrdugh a leanas:

❯ iptables -I OUTPUT -p udp --dport 53 -j REJECT -m comment --comment "Reject DNS"

Innleadaireachd Chaos: ealain sgrios a dh’aona ghnothach. Pàirt 2
DNS toll dubh

Ma tha /etc/hosts no faidhlichean rèiteachaidh eile, gheibh thu seòlaidhean IP nach eil fios agad mu dheidhinn (tha, gu mì-fhortanach, tha seo cuideachd a 'tachairt), faodaidh tu tighinn gu teasairginn a-rithist iptables. Canaidh sinn gun do lorg thu 8.8.8.8 agus chan eil fios agad gur e seo seòladh frithealaiche DNS poblach Google. Le bhith a 'cleachdadh iptables Faodaidh tu trafaic a-steach agus a-mach chun t-seòlaidh seo a bhacadh leis na h-òrdughan a leanas:

❯ iptables -A INPUT -s 8.8.8.8 -j DROP -m comment --comment "Reject from 8.8.8.8"
❯ iptables -A OUTPUT -d 8.8.8.8 -j DROP -m comment --comment "Reject to 8.8.8.8"

Innleadaireachd Chaos: ealain sgrios a dh’aona ghnothach. Pàirt 2
A’ dùnadh ruigsinneachd

Bidh a 'chiad riaghailt a' fàgail a h-uile pasgan bho DNS poblach Ghoogle: ping obraichean, ach chan eil pacaidean air an toirt air ais. Tha an dàrna riaghailt a’ fàgail a h-uile pacaid a thàinig bhon t-siostam agad gu DNS poblach Google - mar fhreagairt do ping gheibh sinn Chan eil obrachadh ceadaichte.

Thoir fa-near: sa chùis shònraichte seo bhiodh e nas fheàrr a chleachdadh whois 8.8.8.8, ach chan eil an seo ach eisimpleir.

Faodaidh sinn a dhol eadhon nas doimhne sìos an toll coineanach, oir tha a h-uile dad a chleachdas TCP agus UDP gu dearbh an urra ri IP cuideachd. Anns a 'mhòr-chuid de chùisean, tha IP ceangailte ri ARP. Na dìochuimhnich mu na ballachan-teine...

Innleadaireachd Chaos: ealain sgrios a dh’aona ghnothach. Pàirt 2
Ma ghabhas tu am pill ruadh, fuirichidh tu ann an Wonderland, agus seallaidh mi dhut cho domhainn sa thèid an toll coineanach."

Is e dòigh-obrach nas radaigeach a th’ ann dì-cheangal càraichean aon ri aon agus faic dè tha briste ... bi nad "muncaidh caos." Gu dearbh, chan eil mòran de shiostaman cinneasachaidh air an dealbhadh airson ionnsaigh feachd brùideil, ach co-dhiù faodar fheuchainn ann an àrainneachd deuchainn.

Gu tric is e obair fhada a th’ ann a bhith a’ togail mapa eisimeileachd. Bhruidhinn mi o chionn ghoirid ri neach-dèiligidh a chuir seachad faisg air 2 bhliadhna a’ leasachadh inneal a chruthaicheas mapaichean eisimeileachd gu leth-fèin-ghluasadach airson ceudan de mhicro-sheirbheisean agus òrdughan.

Tha an toradh, ge-tà, air leth inntinneach agus feumail. Ionnsaichidh tu tòrr mun t-siostam agad, na eisimeileachd agus na gnìomhan aige. A-rithist, bi foighidneach: is e an turas fhèin as cudromaiche.

3. Thoir an aire air cus misneachd

" Ge b'e neach a tha 'bruadar ciod a chreideas ann." — Demosthenes

An cuala tu a-riamh iomradh buaidh cus misneachd?

A rèir Wikipedia, is e a’ bhuaidh ro-mhisneachd “claonadh inntinneil anns a bheil misneachd neach anns na gnìomhan agus na co-dhùnaidhean aca gu math nas àirde na neo-mhearachdachd amas nam breithneachaidhean sin, gu sònraichte nuair a tha an ìre de mhisneachd an ìre mhath àrd."

Innleadaireachd Chaos: ealain sgrios a dh’aona ghnothach. Pàirt 2
Stèidhichte air instinct agus eòlas ...

Anns an eòlas agam, tha an saobhadh seo na dheagh bheachd air càite an tòisich mi le innleadaireachd caos.

Bi faiceallach mun ghnìomhaiche a tha ro mhisneachail:

Teàrlach: “Cha do thuit an rud seo ann an còig bliadhna, tha a h-uile dad gu math!”
Crash: “Fuirich... bidh mi ann a dh’ aithghearr!”

Tha claonadh mar thoradh air cus misneachd na rud brùideil agus eadhon cunnartach air sgàth nan diofar fhactaran a bheir buaidh air. Tha seo gu sònraichte fìor nuair a tha buill sgioba air an cridheachan a dhòrtadh a-steach do theicneòlas no air tòrr ùine a chuir seachad “ga chàradh”.

Geàrr-chunntas

Bidh a bhith a’ lorg àite tòiseachaidh airson innleadaireachd caos an-còmhnaidh a’ toirt barrachd thoraidhean na bha dùil, agus bidh sgiobaidhean a thòisicheas a’ briseadh rudan ro luath a’ call sealladh air brìgh nas cruinne agus inntinneach (caos-)innleadaireachd - cleachdadh cruthachail dòighean saidheansail и fianais empirigeach airson dealbhadh, leasachadh, obrachadh, cumail suas agus leasachadh siostaman (bathar-bog).

Tha seo a 'crìochnachadh an dàrna pàirt. Feuch an sgrìobh thu lèirmheasan, co-roinn beachdan no dìreach clap do làmhan tro Mheadhan na. Anns an ath earrann I dha-rìribh Beachdaichidh mi air innealan agus dòighean airson fàilligidhean a thoirt a-steach do shiostaman. Gus!

PS bhon eadar-theangair

Leugh cuideachd air ar blog:

Source: www.habr.com

Cuir beachd ann