Ваш працэс тунеля можа працаваць, пакуль абароненае злучэнне непрыдатнае, а старонка, якая не адкрываецца, не з’яўляецца доказам таго, што тунель зламаўся. Калі адзін зонд замяняе ўсе астатнія, палітыка перазапуску перазапускае не той кампанент і называе гэта аўтаматызацыяй. Кожная праверка ніжэй называе ўзровень, які яна назірае, дзеянне, якое запускаецца яе збоем, і доказ таго, што дзеянне спрацавала. Апошні крок ператварае ўвесь набор у старонку, па якой чалавек можа ісці ў тры гадзіны ночы.

Крок 1: назвіце ўзровень, які назірае кожная праверка

Спытайце, што кожны зонд сапраўды бачыць, перш чым пісаць хоць адзін з іх. Жыццяздольнасць даказвае, што дэман працуе, рукапацісканне або спіс партнёраў даказвае, што сувязь існуе, маршрутызаваны запыт даказвае дастаўку, а запыт імёнаў даказвае развязанне. Яны адмаўляюць менавіта ў гэтым парадку, і ні адзін з іх не азначае наступны. Зялёная праверка працэсу побач з мёртвым тунелем — гэта звычайны выпадак, а не супярэчнасць.

Запішыце чатыры праверкі ў гэтым парадку, з дакладнай камандай і чаканым вывадам для кожнай. Зонд, чаканы вывад якога вы не можаце сфармуляваць, кожны аператар, які ўбачыць абвестку, прачытае па-свойму. Змясціце той жа спіс у тэкст абвесткі, а не толькі ў інструкцыю, каб чалавек, разбуджаны ноччу, сустрэў узровень раней за сімптом. Трымайце кожную каманду гатовай да капіравання на тым хаспе, дзе яна выконваецца.

Затым дадайце праверку праграмы пятым, асобным пунктам. Старонка, у якой служба ўліковых запісаў не працуе, не апраўдвае перазапуск тунеля.

Крок 2: звяжыце кожны збой з адным дзеяннем

Для кожнай праверкі вырашыце, што перазапускаецца, што застаецца заблакаваным і што выклікае чалавека. Збой узроўню тунеля можа апраўдаць перазапуск тунеля; збой рэзалвера паказвае на інтэграцыю DNS на кліенце; збой узроўню праграмы амаль ніколі не павінен закранаць тунель.

Скажыце, чаго збой рабіць не павінен, бо небяспечныя значэнні па змаўчанні — гэта дазвольныя. Недастаткова здаровы статус не павінен ніколі станавіцца дазволам на прамы трафік праграмы, бо запасны шлях, які ціха абыходзіць тунель, прыбірае прычыну існавання тунеля. Звужвайце і дзеянні: перазапуск агульнага кампанента праз тое, што адзін пункт прызначэння павольны, робіць лакальную праблему праблемай усяго парку. Гэта таксама знішчае доказы, патрэбныя вам для пошуку прычыны.

Крок 3: трымайце зонды бясшкоднымі і таннымі

Выкарыстоўвайце невялікія запыты толькі для чытання: статычны рэсурс, пункт стану, які паведамляе пра сваю залежнасць, або TCP-злучэнне да порта, які вы кантралюеце. Пазбягайце ўліковых даных, прыватнага аглядання і ўсяго, што змяняе стан на кожным інтэрвале, бо зонд, які піша, — гэта нагрузкавы тэст па раскладзе.

Запішыце пункт прызначэння, чаканне маршруту і тайм-аўт для кожнага зонда. Чаканне маршруту — гэта поле, якое людзі прапускаюць, і менавіта яно аддзяляе збой тунеля ад памылкі маршрутызацыі, калі вы пазней чытаеце абвестку. Вывядзіце інтэрвал і парог збою з часу аднаўлення, які вы абяцаеце, і трымайце тайм-аўт карацейшым за інтэрвал. Зонд, які яшчэ працуе, калі пачынаецца наступны, паведамляе пра адзін збой двойчы і выглядае як дрыгаценне.

Крок 4: зламайце кожны ўзровень і паглядзіце, ці пачырванее патрэбны зонд

Спыніце працэс тунеля і пераканайцеся, што праверка працэсу адмаўляе, пакуль DNS яшчэ можа адказваць з кэша. Змяніце маршрут і пераканайцеся, што маршрутызаваны запыт адмаўляе, пакуль працэс і рукапацісканне застаюцца здаровымі. Зламайце толькі DNS і пераканайцеся, што праверка праграмы паведамляе пра развязанне, а не пра памылку тунеля. Калі два зонды заўсёды рухаюцца разам, у вас менш праверак, чым вы думаеце.

Праверце кірунак аднаўлення з той жа дысцыплінай. Пасля аднаўлення ўзроўню зонд павінен ачысціцца без ручнога перазапуску, а дзеянне, якое спрацавала, не павінна пакінуць пасля сябе абыходнага шляху. Назірайце поўны цыкл, перш чым давяраць зялёнаму стану, бо зонд, які ачышчаецца толькі ўручную, хавае зламаны шлях аднаўлення.

Крок 5: пакладзіце інструкцыю туды, куды паказвае абвестка

Адна старонка з пяццю радкамі ўтрымлівае ўвесь дызайн: узровень, каманда, чаканы вынік, дзеянне пры збоі, уласнік. Дадайце да кожнага зонда радок пра тое, што ён наўмысна не правярае. Менавіта гэты радок не дае наступнаму чалавеку дадаць шостую праверку, якая вымярае ўсё і не адрознівае нічога. Пастаўце спасылку на старонку ў тэксце абвесткі, інакш ніхто не адкрые яе, пакуль інцыдэнт ідзе.

У разгортваннях у кантэйнерах умова залежнасці фармуе запуск і нічога больш. Парадак запуску Compose і ўмова стану дакументацыя апісвае, як гатоўнасць вызначае парадак запуску службаў; нішто з гэтага не ўводзіць палітыку выхаду пазней, і нішто з гэтага не адмаўляе зачынена, калі тунель падае. Бесперапыннае прымушэнне патрабуе ўласнай палітыкі і ўласнага зонда, запісаных на той жа старонцы.

Інструкцыя скончана, калі патрэбны ўзровень аднаўляецца без таго, каб хтосьці чытаў недаступны сайт як зламаны тунель. Гэта правярае дакумент, а не тунель.

Падобныя артыкулы