Јединице
1. Увод у вештачку интелигенцију у управљању системом и мрежом: улоге, границе, аутентификација и овлашћења 2. Скрипте за аутоматизацију: безбедно генерисање Басх-а, ПоверСхелл-а и Питхон-а 3. Анализа дневника и анализа основног узрока: Проналажење сигнала у шуму 4. Праћење капацитета и учинка: читање метрика и планирање за будућност 5. Управљање конфигурацијом: генерисање конфигурације, провера ваљаности и снимање одступања 6. Управљање инфраструктуром као код (ИаЦ): Терраформ, Ансибле и План Цонтрол 7. Управљање документацијом и информацијама: Рунбоок, пост мортем и корпоративно памћење 8. Предвиђено одржавање: уочавање кварова пре него што се догоде 9. Управљање променама: процена ризика, враћање уназад и прозор за одржавање 10. Безбедност и одбрана: коришћење вештачке интелигенције у одбрамбене сврхе иу границама овлашћења 11. Интеграција од краја до краја: Управљање инцидентом од почетка до краја
Јединица 2 / 11

Скрипте за аутоматизацију: безбедно генерисање Басх-а, ПоверСхелл-а и Питхон-а

Добици:

  • Способност производње Басх, ПоверСхелл и Питхон скрипти за аутоматизацију са јасним ограничењима и безбедносним оградама са вештачком интелигенцијом
  • Способност додавања принципа као што су идемпотенција, суво покретање, руковање грешкама и враћање на сваку скрипту и примена циклуса „генерисање, учвршћивање, верификација“
  • Способност разумевања да извршење произведеног скрипта не значи да је безбедно и стицање навике преузимања одговорности читањем и тестирањем деструктивних редова.

Скрипте за аутоматизацију: безбедно генерисање Басх-а, ПоверСхелл-а и Питхон-а помоћу вештачке интелигенције

Најгори непријатељ систем администратора је понављајући ручни рад: повезивање са сваком машином и чишћење дневника, отварање истог корисника на двадесет сервера, извршавање исте провере здравља сваког јутра. Ово понављање је отворено и за време и за људску грешку. Скрипта за аутоматизацију је мали програм који делегира ове итерације на рачунар — најчешће написан у Басх-у (командни језик љуске) у свету Линук-а, ПоверСхелл-у (Мицрософт-ова љуска за аутоматизацију) у свету Виндовс-а и Питхон-у за рад независан од платформе. АИ је невероватно брз у производњи, објашњавању и побољшању првог нацрта ових скрипти. Али скрипта није текст, то је сила која ради у вашем систему; За разлику од Екцел формуле, ако је нетачна, брише датотеку, зауставља услугу и прекида приступ. Зато је обећање ове јединице: АИ пише скрипту, ви је читате, тестирате и покрећете преузимајући одговорност.

У овој јединици ћете научити како да направите безбедне, читљиве и доступне скрипте помоћу вештачке интелигенције; Принципи који спашавају животе као што су идемпотенција (покретање исте скрипте двапут не узрокује штету) и покретање на суво; и научићете кроз које провере скрипт мора да прође пре него што га пусти у производњу.

Зашто је скриптирање са АИ тако моћно?

Чак и искусни администратор можда не зна напамет тачну синтаксу Басх петље, параметре ПоверСхелл цмдлета (наредбе) или Питхон-ов покушај/осим блока. АИ тренутно попуњава ову празнину: ви објашњавате намеру на обичном турском језику, а она производи радни нацрт. Штавише, можете дати постојећу скрипту АИ и рећи „објасни ово“, „додај руковање грешкама“, „учини га читљивијим“. Ово скраћује криву учења и доводи млађе чланове тима до брзине.

Али са моћи долази и одговорност. Већину времена, скрипта генерисана вештачком интелигенцијом исправно пише „срећну стазу“ (ако је све у реду); али може промашити ивичне случајеве (датотека недостаје, диск је пун, мрежа не ради) или може направити опасне претпоставке. Зато размислите о генерисању скрипте помоћу вештачке интелигенције у три фазе: генерисање, очвршћавање, провера.

Корак по корак: безбедно генерисање скрипте

  1. Јасно напишите намеру и ограничење. Који оперативни систем, која верзија љуске, које путање датотека, која права? Као "Убунту 22.04, Басх 5, судо не роот, само се покреће под /опт/апп/логс". Двосмислена потражња производи опасну претпоставку.
  2. Затражите сигурносне ограде. Захтевајте да скрипта „заустави у случају квара“ (подесите -еуо пипефаил у Басх), затражи потврду деструктивних операција, резервну копију пре операције и режим рада на суво. Ове заштитне ограде хватају ивице стања које АИ заобилази.
  3. Напишите идемпотентно. Скрипта не би требало да изазове грешке или штету када се покрене други пут. Успоставите логику „прескочи ако корисник већ постоји“, „креирај директоријум ако не постоји, не дирај га ако постоји“. Ово омогућава аутоматизацији да безбедно ради изнова и изнова.
  4. Прочитајте и разумејте. Прочитајте сваки произведени ред. Замолите АИ да посебно означи деструктивне команде (рм, Ремове-Итем, ДРОП).
  5. Тестирајте са радом на суво. Прво, покрените га у режиму „речи шта треба да се ради“ уместо стварних операција. Ако је излаз оно што очекујете, пређите на прави режим - и прво на машини за тестирање.
  6. Припремите свој повратак. Да ли скрипта прави резервне копије? Да ли знате како да вратите резервну копију? Да ли постоји логовање, можете ли касније да видите шта ради?
Савет: Нека свака деструкторска скрипта садржи променљиву ДРИ_РУН=труе и ознаку --аппли. Подразумевано понашање је писати шта ће се десити без брисања било чега; Нека стварно брисање функционише само ако је --аппли дато експлицитно. Ова једна навика спречава катастрофе у каријери.

три мини кофера

Случај 1 — Идемпотенција уштеђена 3 сата. Администратор је написао скрипту која је инсталирала исти агент за праћење на 25 сервера. Прва верзија није била идемпотентна: прекинула је конфигурацију при другом покретању ако је агент већ инсталиран. Инжењер је додао АИ логику „провери да ли је инсталиран, прескочи ако јесте“. Током следећег периода одржавања скрипта се случајно покренула два пута, али није нашкодила. Идемпотенција је учинила опоравак 25 сервера непотребним.

Случај 2 — Дри-рун је сачувао основни директоријум. Један тим је добио Басх скрипту која је очистила старе резервне копије. Ако је променљива била празна, путања је постала / уместо /бацкупс/ — класична опасност. Инжењер га је прво покренуо у ДРИ_РУН режиму, замрзнуо се када је видео линију сличну рм -рф / у излазу и додао проверу променљиве (: "${БАЦКУП_ДИР:?не може бити празан}"). Рад на суво је ухватио грешку која би обрисала цео диск пре него што је кренуо у производњу.

Случај 3 — Управљање грешкама је спречило да се пробуди једне ноћи. ПоверСхелл скрипта је архивирала евиденцију када је диск био пун. Прва верзија би тихо пропала ако би мрежни део био недоступан и наставила да пуни диск. „Провери успех на сваком кораку, ако је неуспешан, обавести е-пошту и заустави“ је додато АИ. После недељу дана, стуб је покварен; Скрипта је стала и упозорила, диск није пун, нико се није пробудио у 3 сата ујутро.

Четири шаблона за копирање

1) Генерисање сигурне Басх скрипте:

Ваша улога: виши инжењер за аутоматизацију Линук-а. Напишите скрипту за Убунту 22.04 / Басх 5. Сврха: [сврха]. Правила:- Почните са "сет -еуо пипефаил".- Потврдите потребне променљиве са ": ${ВАР:?}".- Извршите деструктивне операције са подразумеваним ДРИ_РУН=труе; Нека права апликација ради само са --аппли заставицом. - Запишите сваки корак у стдоут, зауставите се са смисленом поруком о грешци. - Учините га идемпотентним (тако да не узрокује штету у другој вожњи). Затим: посебно означите потенцијално деструктивне линије и напишите 3 случаја које треба да тестирам пре производње.

2) Учвршћивање постојеће скрипте:

Припремите следећу скрипту за производњу: (1) додајте руковање грешкама и евидентирање, (2) учините је идемпотентном, (3) ставите деструктивне команде иза сувог покретања, (4) издвојите тврдо кодиране путање и тајне променљивој. Укратко опишите сваки ред који сте променили и зашто. Скрипта: [скрипта]

3) ПоверСхелл безбедна аутоматизација:

Ваша улога: стручњак за Виндовс аутоматизацију. Напишите скрипту компатибилну са ПоверСхелл 5.1. Сврха: [сврха]. Правила:- Почните са "$ЕррорАцтионПреференце = 'Стоп'".- Додајте подршку за -ВхатИф деструкторским цмдлетима (подразумевано ВхатИф).- Замотајте сваку акцију са покушајем/хватањем, грешком у евиденцији.- Чврсто кодирање акредитива; Користите параметар или сигуран унос. Означите деструктивне линије и напишите кораке за поништавање.

4) Декодирање и верификација Црон/сцхедуле израза:

Објасните следећу црон изјаву на чистом турском и напишите следећа 3 времена извршавања: [израз]Такође, ако је мој циљ „[сврха]“, да ли је ова изјава тачна или постоји исправка коју предлажете? Такође обратите пажњу на ефекат временског периода.

Слаби промпт / Јаки промпт

Слабо обавештење:

Напишите ми скрипту која чисти дневник.

Овај упит је опасан: није јасно који ОС, који директоријум, која старосна граница, која заштитна ограда. АИ може да испоручи једнолински, деструктиван и непроверљив рм.

Снажан упит:

Ваша улога: виши инжењер за аутоматизацију Линук-а. Напишите скрипту за чишћење дневника за Убунту 22.04 / Басх. Избришите само .лог датотеке у /опт/апп/логс које су старије од 30 дана. Правила: сет -еуо пипефаил; Потврдите променљиве БАЦКУП_ДИР и ЛОГ_ДИР (зауставите ако је празно); листа датотека дневника пре брисања; Нека ДРИ_РУН=труе буде подразумевано, стварно брисање само са --аппли; Нека буде идемпотентно. Означите деструктивне линије и напишите 3 сценарија које треба да тестирам.

карактеристика

Слаба/брза скрипта

прекаљено писмо

Руковање грешком

Не, тихи неуспех

сет -еуо пипефаил, три/цатцх

деструктивно деловање

Ради директно

Рад на суво + отворена заставица за проверу

Поново покрени

може проузроковати штету

Идемпотентан, сигуран

тајно управљање

тврдо кодирано

Променљиви/скривени унос

поништити

Ниједан

Корак резервне копије + враћања

Уобичајене грешке

  • Покретање деструктивне скрипте без рада на суво. Ако не видите скрипту која садржи рм, Ремове-Итем, ДРОП прво у сувом режиму кошта диск.
  • Прескочи проверу нулте променљиве. Празна променљива путање чини / уместо /бацкупс/; : Обавезно потврдите са „${ВАР:?}“.
  • Заборављајући Идемпотенција. Скрипта се поквари када се покрене два пута, што аутоматизацију чини непоузданом.
  • Тајне тврдог кодирања. Уписивање лозинке и кључа у скрипту је цурење када делите ту скрипту.
  • Испитивање у производњи. Одрадити прву продукцију значи вежбати на сцени; прво тестирајте машину.
Пажња: Не прихватајте скрипту коју је дала АИ само зато што је „функционисала, то значи да је тачна“. Само зато што функционише не значи да није деструктивно. Скрипта се може покренути на срећном путу и ​​избрисати податке у ивичном стању; Прави тест су ивични случајеви.

Укратко

Скрипте за аутоматизацију елиминишу понављање и смањују људске грешке; АИ је невероватно брз у генерисању, објашњавању и учвршћивању ових скрипти. Али скрипта је радна снага: ако је погрешна, брише, зауставља, прекида. Зато успоставите циклус „произвести, очврснути, проверити“. Укључујте руковање грешкама, идемпотенцију, покретање на суво и резервно коришћење у сваку деструктивну скрипту. Извуците тајне у променљиву, урадите прво покретање на тест машини. АИ скрипта пише; Ваш је посао да га прочитате, тестирате и преузмете одговорност за његово покретање.

Задатак апликације

Изаберите задатак који ћете ручно понављати у свом послу (нпр. чишћење дневника, отварање корисника, провера здравља). Затражите нацрт од АИ помоћу шаблона „Сецуре Басх сцрипт“ или „ПоверСхелл безбедна аутоматизација“ изнад. Прочитајте генерисану скрипту ред по ред и означите деструктивне линије. Покрените га прво у режиму рада на суво на машини за тестирање, упоредите излаз са вашим очекивањем. Затим вратите скрипту вештачкој интелигенцији и усавршите је помоћу шаблона "очврстите" и забележите 5 разлика између две верзије.

контролна листа

  • [ ] Да ли сам укључио ограничења као што су ОС, верзија љуске, путање и права у промпт?
  • [ ] Да ли је скрипта отпорна на грешке са сет -еуо пипефаил / $ЕррорАцтионПреференце='Стоп'?
  • [ ] Да ли су деструктивне операције иза рада на суво/-ВхатИф и захтевају експлицитну заставицу за проверу?
  • [ ] Да ли је скрипта идемпотентна (сигурна при другом покретању)?
  • [ ] Да ли сам издвојио тајне на променљиви/тајни унос уместо да их чврсто кодирам?
  • [ ] Да ли сам урадио прво покретање на машини за тестирање и припремио план повратка?