Ставлення, яке я намагаюся притримуватись:
- Абсолютна впевненість, що спричиняє та наслідує, діє, і нічого не є магією. Нічого не відбувається, що насправді дивно, лише речі, які я не розумію.
- Абсолютна впевненість у тому, що якщо я продовжуватиму його наполягати, я вирішу це (це може включати перенесення до когось більш обізнаного, навчання, прохання про допомогу, важку роботу тощо).
- Нарікання про те, що налаштування, програма чи сценарій погано розроблені чи справді дурні, просто не допомагають, тому не робіть цього. (Мені це важко, бурчання - це весело).
Це ставлення, яке мені корисно дотримуватися - вони перестають мене розкидати руки в повітрі, оголошуючи щось "химерним", а потім здаюсь, або стаю нещасним, тому що воно відчуває себе "нерозв'язним".
Способи, які я думаю про усунення несправностей:
- Системи мають багато частин, якщо вони з'єднані разом або налаштовані випадковим чином, тоді вони не працюватимуть за бажанням. Є одна-дві дуже специфічні конфігурації, які будуть працювати - з усіх мільйонів способів набивати цеглу та метал, лише кілька - це мости, і лише один-два - досить хороші мости. Причиною може бути символ у текстовому файлі або невдалий сервер, але кожна частина повинна бути правильною, щоб вся справа була правильною. Мені потрібно бути готовим бути ретельним і ретельним, якщо потрібно. Системи не можуть робити "шоу має продовжуватися".
- Ви починаєте з цілої системи, як карта, уявляєте, що хмара ймовірностей пливе над картою, що представляє "де проблема", і ваше завдання полягає в тому, щоб використовувати досвід і знаходити тести, щоб відштовхувати ймовірність від одних областей і до інших, і щоб ущільнити його до точок, які є проблемними місцями з високою ймовірністю, а потім атакувати їх. Це повертається до причини та наслідків - проблема в системі, це не магія. Це проблема, яка існує, тому вона повинна десь існувати.
- Налаштувати все можна будь-яким чином, хто хоче. Єдиний спосіб, як ми можемо визначити одну поведінку як "ОК", а іншу як "проблему", тому що те, що хтось отримує, - це не те, чого вони хочуть. Ви повинні розуміти, чого вони хочуть, що вони отримують чітко і конкретно.
Процес усунення несправностей:
- В чому проблема. Переконайтесь, що ви бачите, що це відбувається, і зможете відтворити його самостійно, щоб не було жодної комунікації. Тож часто проблеми виникають через декількох людей у нашій службі технічної допомоги до моменту, коли вони потрапляють до мене, і все ще ніхто не може мені пояснити, у чому проблема.
- Це рекурсивна бісекція знову - розділяйте і перемагайте, двійковий пошук - ви придумали тест, який доведе, чи проблема в цій стороні тесту чи тієї сторони, і зробить тест, щоб він максимально усунув. Повторіть, поки не вирішиться.
- Не вчіться, чи зможете цього уникнути - краще заблокувати обліковий запис бази даних і довести, що проблема все-таки виникає, коли база даних не задіяна, ніж витрачати години на вивчення, як використовується база даних.
- Це занадто просто, щоб знайти себе, думаючи, що "я не знаю, що робити далі". Зверніть увагу, коли це станеться, і поверніться до розробки тестів, які визначають проблему.
Інтернет не працює? Перевірте проблему, знайдіть веб-сайт, на який вони не можуть потрапити. Швидкі тести включають їхнє підключення до Інтернету (працює), чи завантажується воно для мене (ні). Швидкі тести вказують на те, що це сайт. Бачачи, що ця проблема трапляється зі мною, я швидко відштовхнув цю ймовірність від їхнього ПК, браузера, DNS, брандмауера офісних кабінетів користувачів тощо.
Отже, сайт не завантажується, що тепер? Це ще не можна виправити, тому шукайте місця, щоб вирішити проблему на менший. Сервер увімкнено? Це пінг? чи працює DNS? Так. Чи відповідає служба на порту 80? Ні. Чи працює служба? Ні. Це починається? Ні. Це помилки в журналі подій / журналах подій? Так! Що вони кажуть?
Це ефективне та швидке усунення несправностей, оскільки воно невблаганно фокусується на звуженні обсягу проблеми. Якби я прийняв їхній звіт про те, що Інтернет не працює, я б помилково вважав це збоєм у зв’язку. Якби я прийняв своє перше бачення, що це не завантажує їх, я б витрачав час на їхньому комп’ютері, думаючи, що це винен.
Викресліть шматки "речей, яких не може бути" якомога більше.
Розуміти систему. Чим більше я загальних знань про систему, тим легше вона стає. Там, де я маю слабке розуміння, проблеми є більш загрозливими, складнішими, повільнішими і швидше закінчуються шляхом вирішення проблеми, ніж виправлення, або з великим німим повільним виправленням (перевстановлення), ніж невеликим, точним хірургічним виправленням.