ພາບລວມຂອງລະບົບການຕິດຕາມແບບປະສົມຂອງ Okerr

ສອງປີກ່ອນຂ້ອຍໄດ້ໂພດແລ້ວ ຄວາມລົ້ມເຫຼວທີ່ງ່າຍດາຍສໍາລັບເວັບໄຊທ໌ ກ່ຽວກັບ ໂອເຄ. Сейчас есть некоторое развитие проекта, а еще я опубликовал ລະຫັດແຫຼ່ງຂ້າງເຊີບເວີ okerr ພາຍໃຕ້ ໃບອະນຸຍາດເປີດ, поэтому и решил написать на хабр этот небольшой обзор.

ພາບລວມຂອງລະບົບການຕິດຕາມແບບປະສົມຂອງ Okerr
[ ຂະຫນາດເຕັມ ]

ອາດຈະມີຄວາມສົນໃຈກັບໃຜ

ນີ້ອາດຈະເປັນຄວາມສົນໃຈສໍາລັບທ່ານຖ້າທ່ານເຮັດວຽກຢູ່ໃນທີມຂະຫນາດນ້ອຍຫຼືຄົນດຽວ. ທ່ານບໍ່ມີການຕິດຕາມ ແລະທ່ານບໍ່ແນ່ໃຈວ່າທ່ານຕ້ອງການມັນແທ້ຫຼືບໍ່. ບໍ່ວ່າທ່ານຈະພະຍາຍາມຕິດຕາມຢ່າງຈິງຈັງທີ່ເປັນທີ່ນິຍົມ "ສໍາລັບເດັກຊາຍໃຫຍ່", ແຕ່ມັນ "ບໍ່ໄດ້ເອົາອອກ" ສໍາລັບທ່ານ, ຫຼືມັນເຮັດວຽກຢູ່ໃນການຕັ້ງຄ່າເກືອບໃນຕອນຕົ້ນແລະບໍ່ໄດ້ປ່ຽນແປງຊີວິດຂອງເຈົ້າຫຼາຍ. ແລະຍັງ - ຖ້າທ່ານແນ່ນອນບໍ່ໄດ້ວາງແຜນທີ່ຈະຈັດສັນພະນັກງານທັງຫມົດ (ຫຼືແມ້ກະທັ້ງພະແນກ) ເພື່ອຕິດຕາມກວດກາ dashboard ຕິດຕາມກວດກາຢ່າງຫນ້ອຍສອງສາມຊົ່ວໂມງຕໍ່ມື້ຫຼື configure ມັນ.

ເປັນຫຍັງ okerr ຈຶ່ງຜິດປົກກະຕິ

Дальше я покажу интересные особенности окерра, которые отличают его от некоторых других мониторингов.

Okerr ເປັນການຕິດຕາມແບບປະສົມ

При внутреннем мониторинге на наблюдаемых машинах крутится «агент», который передает данные на сервер мониторинга (например, свободное место на дисках). При внешнем — сервер по сети выполняет проверки (например, ping или доступность вебсайта). У каждого подхода свои ограничения. Okerr использует оба варианта. Проверки внутри серверов выполняются очень легким (30Kb) агентом или вашими собственными скриптами и приложениями, а сетевые — через сенсоры okerr в разных странах.

okerr — это не просто софт, но еще и сервис

ສ່ວນຫນຶ່ງຂອງເຄື່ອງແມ່ຂ່າຍຂອງການກວດສອບໃດໆແມ່ນຂະຫນາດໃຫຍ່ແລະສະລັບສັບຊ້ອນ, ມັນຍາກທີ່ຈະຕິດຕັ້ງແລະຕັ້ງຄ່າ, ແລະມັນຕ້ອງການຊັບພະຍາກອນ. ດ້ວຍ okerr ທ່ານສາມາດຕິດຕັ້ງເຄື່ອງແມ່ຂ່າຍຕິດຕາມກວດກາຂອງທ່ານເອງ (ມັນບໍ່ເສຍຄ່າແລະ opensource), ຫຼືທ່ານພຽງແຕ່ສາມາດນໍາໃຊ້ສ່ວນລູກຄ້າແລະໃຊ້ບໍລິການຂອງເຄື່ອງແມ່ຂ່າຍຂອງພວກເຮົາ. ນອກຈາກນີ້ຍັງບໍ່ເສຍຄ່າ.

ຖ້າການຕິດຕາມຊ່ວຍໃຫ້ທ່ານສາມາດຊົດເຊີຍແລະກວມເອົາການຂາດຄວາມຫນ້າເຊື່ອຖືໃນເຄື່ອງແມ່ຂ່າຍແລະແອັບພລິເຄຊັນ, ຫຼັງຈາກນັ້ນຄໍາຖາມທາງ philosophical ເກີດຂື້ນ - ໃຜເປັນຜູ້ປົກປ້ອງ? ການຕິດຕາມຈະບອກພວກເຮົາແນວໃດກ່ຽວກັບບັນຫາຖ້າວ່າຕົວມັນເອງ "ຕາຍ" ດ້ວຍເຫດຜົນບາງຢ່າງ, ແຍກຕ່າງຫາກຫຼືຮ່ວມກັນກັບຊັບພະຍາກອນອື່ນໆຂອງເຈົ້າ (ຕົວຢ່າງ, ຊ່ອງທາງໄປຫາສູນຂໍ້ມູນຫຼຸດລົງ)? ເມື່ອໃຊ້ບໍລິການ okerr ພາຍນອກ - ບັນຫານີ້ຖືກແກ້ໄຂ - ທ່ານຈະໄດ້ຮັບການແຈ້ງເຕືອນເຖິງແມ່ນວ່າສູນຂໍ້ມູນທັງຫມົດກັບເຄື່ອງແມ່ຂ່າຍຂອງທ່ານບໍ່ມີພະລັງງານຫຼືຖືກໂຈມຕີໂດຍ zombies.

ແນ່ນອນ, ມີຄວາມສ່ຽງທີ່ເຄື່ອງແມ່ຂ່າຍຂອງ okerr ຕົວຂອງມັນເອງຈະບໍ່ສາມາດໃຊ້ໄດ້, ນີ້ແມ່ນຄວາມຈິງ (ຕາມທີ່ທ່ານຮູ້, 90% ຂອງຄວາມຫນ້າເຊື່ອຖືແມ່ນສະເຫມີໄດ້ຮັບຢ່າງງ່າຍດາຍແລະ "ຟຣີ", 99% ທີ່ມີຄວາມພະຍາຍາມຢ່າງຫນ້ອຍ, ແລະແຕ່ລະເກົ້າຕໍ່ມາແມ່ນ. exponentially ມີຄວາມຫຍຸ້ງຍາກຫຼາຍ). ແຕ່, ກ່ອນອື່ນ ໝົດ, ໂອກາດທີ່ຈະເກີດຂື້ນແມ່ນຕໍ່າກວ່າ, ແລະອັນທີສອງ, ບັນຫາອາດຈະບໍ່ມີໃຜສັງເກດເຫັນພຽງແຕ່ຖ້າມັນເກີດຂື້ນກັບບັນຫາໃນເຄື່ອງແມ່ຂ່າຍຂອງພວກເຮົາ. ຖ້າພວກເຮົາມີຄວາມຫນ້າເຊື່ອຖື 99.9%, ແລະທ່ານມີ 99.9% (ຕົວເລກບໍ່ສູງເກີນໄປ), ຫຼັງຈາກນັ້ນ, ໂອກາດຂອງຄວາມລົ້ມເຫຼວທີ່ບໍ່ໄດ້ກວດພົບແມ່ນ 0.1% ຂອງ 0.1% = 0.0001%. ການເພີ່ມສາມເກົ້າກັບຄວາມຫນ້າເຊື່ອຖືຂອງທ່ານເກືອບບໍ່ມີຄວາມພະຍາຍາມແລະບໍ່ມີຄ່າໃຊ້ຈ່າຍແມ່ນດີຫຼາຍ!

Еще одно преимущество мониторинга как сервиса — хостинг-провайдер или веб-студия может установить у себя сервер okerr и предоставлять доступ клиентам как платную или бесплатную дополнительную услугу. У ваших конкурентов просто хостинг и сайты — а у вас надежный хостинг с мониторингом.

Okerr ແມ່ນກ່ຽວກັບຕົວຊີ້ວັດ

Индикатор — это «лампочка». У него два основных состояния — зеленый (OK) или красный (ERR). В проекте — множество сгруппированных (например, по серверам) индикаторов. На главной странице проекта вы сразу видите, либо у вас все зеленое (и можно закрывать), либо что-то горит красненьким и нужно исправлять. При переходе между этими состояниями — высылается оповещение. Раз в сутки в то время как настроите — высылается сводка по проекту.

ພາບລວມຂອງລະບົບການຕິດຕາມແບບປະສົມຂອງ Okerr

ແຕ່ລະຕົວຊີ້ບອກ okerr ມີເງື່ອນໄຂທີ່ມັນປ່ຽນສະຖານະ (ໃນ Zabbix ອັນນີ້ເອີ້ນວ່າຕົວກະຕຸ້ນ). ຕົວຢ່າງ, ຄ່າສະເລ່ຍການໂຫຼດຄວນຈະບໍ່ເກີນ 2 (ແນ່ນອນ, ນີ້ແມ່ນສາມາດຕັ້ງຄ່າໄດ້). ແລະສໍາລັບແຕ່ລະການກວດສອບພາຍໃນ (load average, disk free, ... ) ມີ watchdog ເປັນ. ຖ້າສໍາລັບເຫດຜົນບາງຢ່າງທີ່ພວກເຮົາບໍ່ໄດ້ຮັບການຢືນຢັນຢ່າງສໍາເລັດຜົນໃນເວລາກໍານົດ, ຂໍ້ຜິດພາດຈະຖືກບັນທຶກແລະການແຈ້ງເຕືອນຖືກສົ່ງ.

Обычная схема работы у нас — утренняя проверка почты, там среди прочих писем смотрим сводку (ее время назначаем на начало работы). Если в ней все окей — занимаемся другими важными делами (но можем для надежности быстро глянуть в дашборд окерра, убедиться, что и в эту минуту все зеленое). Если приходит алерт — реагируем.

ແນ່ນອນ, ມັນເປັນໄປໄດ້ທີ່ຈະພຽງແຕ່ຮັກສາ "ຂໍ້ມູນ" ຕົວຊີ້ວັດ (ເພື່ອເບິ່ງຮູບພາບຂອງເຄືອຂ່າຍຈາກການຕິດຕາມ), ແຕ່ທຸກສິ່ງທຸກຢ່າງແມ່ນເຮັດເພື່ອງ່າຍດາຍ, ງ່າຍດາຍແລະລວດໄວສ້າງຕົວຊີ້ວັດໂດຍສະເພາະສໍາລັບການຕິດຕາມແລະສົ່ງການແຈ້ງເຕືອນອັດຕະໂນມັດ.

Смысл, ради которого вы настраиваете okerr — в алертах, в том чтобы вы могли за минуту создать индикатор, он может быть год бы «спал», просто принимал апдейты, а когда через год у вас что-то поломается — он загорелся и выслал алерт. Минута, которую потратили однажды на создание индикатора, окупилась, вы узнали о проблеме сразу, раньше всех. Возможно, что и починили, до того, как кто-то заметил. ບາງສິ່ງບາງຢ່າງທີ່ຍົກຂຶ້ນມາຢ່າງໄວວາບໍ່ໄດ້ຖືວ່າຫຼຸດລົງ!

ຄວາມປອດໄພ

ມັນຈະເປັນຄວາມອັບອາຍຖ້າທ່ານຕັ້ງການຕິດຕາມເພື່ອຄວາມຫນ້າເຊື່ອຖືທີ່ເພີ່ມຂຶ້ນ, ແຕ່ຜົນໄດ້ຮັບ, ທ່ານຖືກໂຈມຕີຜ່ານເຄືອຂ່າຍໂດຍຜ່ານມັນ, ແລະມີຊ່ອງໂຫວ່ເຄືອຂ່າຍຫຼາຍໃນເຄື່ອງມືຕິດຕາມກວດກາທີ່ແຕກຕ່າງກັນ (Zabbix, Nagios).

ຕົວແທນ (okerrmod ຈາກຊຸດ okerrupdate) ແລ່ນຢູ່ໃນລະບົບບໍ່ແມ່ນເຄື່ອງແມ່ຂ່າຍເຄືອຂ່າຍ, ແຕ່ລູກຄ້າ. ດັ່ງນັ້ນ, ບໍ່ມີພອດເປີດເພີ່ມເຕີມໃນເຊີບເວີທີ່ຖືກກວດສອບ, ລູກຄ້າສາມາດເຮັດວຽກຢູ່ເບື້ອງຫຼັງໄຟວໍຫຼື NAT ໄດ້ງ່າຍແລະມີຄວາມຫຍຸ້ງຍາກຫຼາຍ (ຂ້ອຍຈະເວົ້າວ່າ "ເປັນໄປບໍ່ໄດ້") ທີ່ຈະ hack ຜ່ານເຄືອຂ່າຍ, ເພາະວ່າໃນຫຼັກການມັນບໍ່ຟັງເຄືອຂ່າຍ. ເຕົ້າຮັບ.

ການຄຸ້ມຄອງການຕິດຕາມຢ່າງເຕັມທີ່

Сейчас у нас правило — мы узнаем о всех технических проблемах из okerr. Если вдруг правило нарушилось (okerr не предупредил о ее скором наступлении (если это возможно) или о том, что она уже наступила) — мы добавляем проверки в okerr.

Внешние проверки

Довольно типовой набор:

  • ping
  • ສະຖານະ http
  • ການ​ກວດ​ສອບ​ຄວາມ​ຖືກ​ຕ້ອງ​ແລະ​ສົດ​ຂອງ​ໃບ​ຢັ້ງ​ຢືນ SSL (ຈະ​ເຕືອນ​ຖ້າ​ຫາກ​ວ່າ​ມັນ​ກໍາ​ລັງ​ຈະ​ຫມົດ​ອາ​ຍຸ​)
  • ເປີດພອດ TCP ແລະປ້າຍໂຄສະນາໃສ່ມັນ
  • http grep (ໜ້າ [ຕ້ອງບໍ່] ມີຂໍ້ຄວາມສະເພາະ)
  • sha1 hash ເພື່ອຈັບການປ່ຽນແປງຫນ້າ.
  • DNS (DNS запись должна иметь определенное значение)
  • WHOIS (ຈະເຕືອນຖ້າໂດເມນຈະບໍ່ດີ)
  • Antispam DNSBL (проверка хоста сразу по 50+ антиспамерским блеклистам)

Внутренние проверки

ນອກຈາກນີ້, ຊຸດມາດຕະຖານທີ່ຂ້ອນຂ້າງ (ແຕ່ສາມາດຂະຫຍາຍໄດ້ງ່າຍ).

  • df (ພື້ນທີ່ດິສກ໌ຟຣີ)
  • ໂຫຼດສະເລ່ຍ
  • opentcp (открытые слушающие TCP сокеты — уведомит, если что-то запустилось или упало)
  • uptime — просто uptime сервере. Уведомит, если он изменился вниз (т.е. сервер перегрузился)
  • client_ip
  • dirsize - ພວກເຮົາໃຊ້ມັນເພື່ອຕິດຕາມເວລາທີ່ເຄື່ອງ virtual ຂອງພວກເຮົາ rootfs ເກີນຂະຫນາດທີ່ອະນຸຍາດ, ໂດຍບໍ່ມີການແນະນໍາຂໍ້ຈໍາກັດທີ່ເຄັ່ງຄັດ, ແລະຂະຫນາດຂອງໄດເລກະທໍລີເຮືອນຂອງຜູ້ໃຊ້.
  • empty и nonempty — следят за файлами которые должны быть пустыми (или не пустыми). Например, error log самого сервера okerr — должен быть пустой, и если в нем есть хоть строчка — я получу уведомление и проверю. А вот mail.log на почтовом сервере должен быть НЕ пустым (через N минут после ротации). А иногда у нас бывал пустым, после обновления системы, когда logrotate не мог правильно рестартануть rsyslog.
  • linecount - ຈໍານວນແຖວໃນໄຟລ໌ (ເຊັ່ນ: wc -l). ພວກເຮົາໃຊ້ມັນເປັນການທົດແທນທີ່ອ່ອນກວ່າສໍາລັບການຫວ່າງເປົ່າ, ເມື່ອບັນທຶກຄວາມຜິດພາດຍັງສາມາດເຕີບໂຕໄດ້, ແຕ່ວ່າພຽງແຕ່ຊ້າໆ (ຕົວຢ່າງ, Googlebot ຕີບາງຫນ້າທີ່ປິດ). ມີຂອບເຂດຈໍາກັດຂອງ 2 ສາຍໃນ 20 ນາທີ. ຖ້າມັນສູງກວ່າ, ຈະມີການແຈ້ງເຕືອນ

ການກວດສອບພາຍໃນທີ່ຫນ້າສົນໃຈ

ຖ້າທ່ານໄດ້ອ່ານ "ເສັ້ນຂວາງ" ຈົນເຖິງຈຸດນີ້, ດຽວນີ້ມັນຈະເປັນຫນ້າສົນໃຈທີ່ຈະອ່ານຢ່າງລະມັດລະວັງ.

ສໍາຮອງຂໍ້ມູນ

Следит за бэкапами в каталоге. У нас файлы бэкапов имеют имена вроде «ServerName-20200530.tar.gz». По каждому серверу в okerr создается индикатор ServerName-DATE.tar.gz (фактическая дата меняется на строчку «DATE»). Отслеживается и само наличие свежего бэкапа и его размер (например, он не может быть меньше чем 90% от предыдущего бэкапа).

ສິ່ງທີ່ຕ້ອງເຮັດສໍາລັບການສໍາຮອງຂໍ້ມູນໃຫມ່ເພື່ອເລີ່ມຕົ້ນການຕິດຕາມຫຼັງຈາກທີ່ພວກເຮົາໄດ້ເລີ່ມຕົ້ນສ້າງມັນແລະວາງມັນໄວ້ໃນໄດເລກະທໍລີນີ້? ບໍ່ມີຫຍັງ! ນີ້ແມ່ນວິທີການທີ່ສະດວກຫຼາຍໃນເວລາທີ່ທ່ານຕ້ອງການ "ບໍ່ມີຫຍັງ" ເພາະວ່າ:

  • Сделать «ничего» — довольно быстро, это экономит время
  • Сложно забыть сделать «ничего»
  • ມັນເປັນການຍາກທີ່ຈະເຮັດ "ບໍ່ມີຫຍັງ" ຜິດ, ມີຄວາມຜິດພາດ. ບໍ່ມີຫຍັງເປັນວິທີການທີ່ເຊື່ອຖືໄດ້ຫຼາຍທີ່ສຸດ

ຖ້າໄຟລ໌ສໍາຮອງຂໍ້ມູນສົດໆຢຸດເຊົາປະກົດຂຶ້ນ, ຈະມີການແຈ້ງເຕືອນ. ສໍາລັບຕົວຢ່າງ, ທ່ານໄດ້ປິດການໃຊ້ງານຫນຶ່ງຂອງເຄື່ອງແມ່ຂ່າຍ, ແລະບໍ່ຄວນມີການສໍາຮອງຂໍ້ມູນຫຼາຍ, ທ່ານຈະຕ້ອງລຶບຕົວຊີ້ວັດ (ຜ່ານການໂຕ້ຕອບຂອງເວັບຫຼືຈາກ shell ຜ່ານ API).

maxfilesz

ຕິດຕາມຂະຫນາດຂອງໄຟລ໌ທີ່ໃຫຍ່ທີ່ສຸດ (ໂດຍປົກກະຕິ: /var/log/*). ນີ້ອະນຸຍາດໃຫ້ທ່ານສາມາດຈັບບັນຫາທີ່ບໍ່ສາມາດຄາດເດົາໄດ້, ຕົວຢ່າງ, ລະຫັດຜ່ານບັງຄັບ brute ຫຼືສົ່ງ spam ຜ່ານເຄື່ອງແມ່ຂ່າຍ.

runstatus/runline

Это два важных proxy модуля, для запуска других программ на сервере. Runstatus сообщает в индикатор код выхода программы. Например, в okerr нет (не требуется) модуля для проверки того, что systemd сервисы работают. Это делается через runstatus (смотрите ниже). Runline — сообщает на сервер строку, которую выдает программа. Например, temp_RUN="cat /sys/class/thermal/thermal_zone0/temp" ໃນ Runline config ເທິງເຊີບເວີຂອງພວກເຮົາສ້າງຕົວຊີ້ບອກ servername:temp ກັບອຸນຫະພູມຂອງໂປເຊດເຊີ.

sql

ປະຕິບັດການສອບຖາມຕົວເລກໄປຫາ MySQL ແລະລາຍງານຜົນໄດ້ຮັບໄປຫາຕົວຊີ້ວັດ. ໃນກໍລະນີທີ່ງ່າຍດາຍ, ທ່ານສາມາດເຮັດໄດ້, ສໍາລັບການຍົກຕົວຢ່າງ, "SELECT 1" - ນີ້ຈະກວດເບິ່ງວ່າ DBMS ທັງຫມົດເຮັດວຽກ.

ແຕ່ຄໍາຮ້ອງສະຫມັກທີ່ຫນ້າສົນໃຈຫຼາຍແມ່ນ, ສໍາລັບຕົວຢ່າງ, ການຕິດຕາມຈໍານວນຄໍາສັ່ງໃນຮ້ານອອນໄລນ໌. ຖ້າທ່ານຮູ້ວ່າທ່ານມີຄໍາສັ່ງ 100 ຫຼືຫຼາຍກວ່ານັ້ນຕໍ່ຊົ່ວໂມງ, ທ່ານສາມາດກໍານົດຂອບເຂດຈໍາກັດຕໍາ່ສຸດທີ່ 100 ຫຼື 80. ຫຼັງຈາກນັ້ນ, ຖ້າການຂາຍຂອງທ່ານຫຼຸດລົງຢ່າງກະທັນຫັນ, ທ່ານຈະໄດ້ຮັບການແຈ້ງເຕືອນແລະທ່ານສາມາດຄິດອອກໄດ້.

ໃຫ້ສັງເກດວ່າມັນບໍ່ສໍາຄັນສໍາລັບເຫດຜົນທີ່ບໍ່ສາມາດຄາດເດົາໄດ້ວ່ານີ້ເກີດຂຶ້ນ:

  • Сервер просто недоступен (обесточен или без сети), а алерт пришел от того, что индикатор «протух».
  • ເຊີບເວີມີການໂຫຼດຫຼາຍເກີນໄປ, ມັນເຮັດວຽກຊ້າໆຫຼືແພັກເກັດຫາຍໄປ, ມັນບໍ່ສະດວກສໍາລັບຜູ້ໃຊ້ແລະພວກເຂົາອອກໄປໂດຍບໍ່ມີການຊື້.
  • ເຊີບເວີຖືກລວມຢູ່ໃນລາຍຊື່ spam ແລະອີເມວຈາກມັນບໍ່ໄດ້ຮັບການຍອມຮັບ, ຜູ້ໃຊ້ບໍ່ສາມາດລົງທະບຽນໄດ້
  • Кончился бюджет рекламной кампании, баннеры не крутятся.

ມັນສາມາດມີເຫດຜົນໃດກໍ່ຕາມ, ແລະພວກມັນທັງຫມົດບໍ່ສາມາດຄາດເດົາໄດ້ລ່ວງຫນ້າ, ແລະມັນຍາກທີ່ຈະຕິດຕາມທາງດ້ານວິຊາການ. ແຕ່ທ່ານສາມາດຕິດຕາມຕົວກໍານົດການສຸດທ້າຍ (ຄໍາສັ່ງ) ໄດ້ສະດວກແລະກໍານົດຈາກພວກເຂົາວ່າສະຖານະການທີ່ຫນ້າສົງໄສແລະສົມຄວນທີ່ຈະຈັດການກັບ.

ຕົວຊີ້ວັດເຫດຜົນ

Позволяет использовать логические выражения (синтаксис Python) через модуль ຢືນຢັນ(ບົດ​ຄວາມ​ກ່ຽວ​ກັບ Habre). ຂໍ້ມູນຈາກໂຄງການແລະຕົວຊີ້ວັດຂອງມັນສາມາດໃຊ້ໄດ້ສໍາລັບການສະແດງອອກ. ຕົວຢ່າງ, ໃນບົດກ່ຽວກັບການກວດສອບ SQL ຂ້າງເທິງ, ທ່ານອາດຈະສັງເກດເຫັນຈຸດອ່ອນ - ໃນມື້ທີ່ພວກເຮົາສາມາດມີການຂາຍ 100 ຕໍ່ຊົ່ວໂມງ, ແຕ່ໃນຕອນກາງຄືນ - 20, ແລະນີ້ແມ່ນທົ່ວໄປ, ບໍ່ແມ່ນບັນຫາ. ຂ້ອຍ​ຄວນ​ເຮັດ​ແນວ​ໃດ? ຕົວຊີ້ວັດຈະຕົກຕະລຶງຢ່າງຕໍ່ເນື່ອງໃນຕອນກາງຄືນ.

Можно создать два индикатора, дневной и ночной. Оба сделать «тихими» (они не будут слать оповещения). И создать логический индикатор, который требует до 20:00 чтобы дневной индикатор был OK, а после 20:00 достаточно чтобы ночной индикатор был ОК.

ຕົວຢ່າງອີກອັນຫນຶ່ງຂອງການນໍາໃຊ້ຕົວຊີ້ວັດທີ່ມີເຫດຜົນແມ່ນ ເພີ້ມຂຶ້ນ. ຕົວຢ່າງເຊັ່ນ, ຜູ້ຈັດການໂຄງການຍົກເລີກການແຈ້ງເຕືອນ (ລາວບໍ່ຈໍາເປັນຕ້ອງເຮັດແນວນີ້, admins ຄວນຕອບສະຫນອງຕໍ່ບັນຫາປົກກະຕິ), ແຕ່ສະຫມັກກັບຕົວຊີ້ວັດທີ່ມີເຫດຜົນທີ່ປ່ຽນເປັນສີແດງຖ້າຕົວຊີ້ວັດໃດໆໃນໂຄງການບໍ່ໄດ້ຮັບການແກ້ໄຂພາຍໃນເວລາທີ່ໄດ້ຮັບ.

ນອກຈາກນີ້, ມັນເປັນໄປໄດ້ທີ່ຈະກໍານົດເວລາທີ່ອະນຸຍາດໃຫ້ເຮັດວຽກ, ຕົວຢ່າງ, ຈາກ 3 ຫາ 5 ໂມງເຊົ້າ. ພວກເຮົາບໍ່ສົນໃຈວ່າເຊີບເວີ ແລະ ເວັບໄຊຂັດຂ້ອງໃນລະຫວ່າງນີ້. ແຕ່ເວລາ 5:00 ເຂົາເຈົ້າຕ້ອງເຮັດວຽກ. ຖ້າພວກເຂົາບໍ່ເຮັດວຽກໃນເວລາອື່ນ - ເຕືອນ. ຕົວຊີ້ບອກເຫດຜົນຍັງອະນຸຍາດໃຫ້ທ່ານຄໍານຶງເຖິງການຊ້ໍາຊ້ອນຂອງເຄື່ອງແມ່ຂ່າຍ. ຖ້າທ່ານມີ 5 ເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌, ຫຼັງຈາກນັ້ນຜູ້ເບິ່ງແຍງສາມາດປິດ 1-2 ເຄື່ອງແມ່ຂ່າຍໄດ້ທຸກເວລາ. ແຕ່ຖ້າມີເຄື່ອງແມ່ຂ່າຍຫນ້ອຍກວ່າ 3 ໃນ 5 ໃນການຕໍ່ສູ້, ຈະມີການແຈ້ງເຕືອນ.

ຕົວຢ່າງຂ້າງເທິງບໍ່ແມ່ນຫນ້າທີ່ oker, ບໍ່ແມ່ນບາງລັກສະນະທີ່ຕ້ອງໄດ້ຮັບການເປີດໃຊ້ງານແລະກໍາຫນົດຄ່າ. Okerra ບໍ່ມີຫນ້າທີ່ທັງຫມົດເຫຼົ່ານີ້, ແຕ່ມີໂມດູນທີ່ມີເຫດຜົນທີ່ຊ່ວຍໃຫ້ທ່ານສາມາດປະຕິບັດຫນ້າທີ່ນີ້ (ປະມານໃນພາສາການຂຽນໂປຼແກຼມ - ຖ້າພວກເຮົາມີຕົວປະຕິບັດການເລກຄະນິດສາດ, ພວກເຮົາບໍ່ຈໍາເປັນຕ້ອງມີຟັງຊັນພິເສດສໍາລັບການຄິດໄລ່ 20% VAT. ຈາກ​ພາ​ສາ​, ທ່ານ​ສະ​ເຫມີ​ສາ​ມາດ​ເຮັດ​ໄດ້​ດ້ວຍ​ຕົນ​ເອງ​ເຮັດ​ໃຫ້​ມັນ​ເຫມາະ​ສົມ​ກັບ​ຄວາມ​ຕ້ອງ​ການ​ຂອງ​ທ່ານ​)​.

Logic Indicator ແມ່ນອາດຈະເປັນຫນຶ່ງໃນຫົວຂໍ້ທີ່ຂ້ອນຂ້າງສັບສົນໃນ okerr, ແຕ່ຂ່າວດີແມ່ນວ່າເຈົ້າບໍ່ຈໍາເປັນຕ້ອງເຮັດມັນຈົນກວ່າເຈົ້າຕ້ອງການ. ແຕ່ໃນເວລາດຽວກັນ, ພວກເຂົາຂະຫຍາຍຄວາມສາມາດຢ່າງຫຼວງຫຼາຍ, ໃນຂະນະທີ່ຮັກສາລະບົບຕົວມັນເອງຂ້ອນຂ້າງງ່າຍດາຍ.

ເພີ່ມການກວດສອບຂອງທ່ານເອງ

Я бы очень хотел донести мысль, что okerr — это не набор из тысячи готовых проверок на все случаи жизни, а наоборот — в первую очередь — простой движок с простой возможностью создавать свои проверки. Создание своих проверок в okerr — это не задача для хакеров, со-разработчиков системы, или хотя бы продвинутых юзеров okerr, а посильная задача для любого админа, который месяц назад впервые поставил linux.

ການກວດສອບຄ່າຈ້າງຂັ້ນຕໍ່າແມ່ນເຮັດຜ່ານໂມດູນ ສະຖານະແລ່ນ:

ເສັ້ນນີ້ຢູ່ໃນ config ສະຖານະແລ່ນ оповестит, если вдруг /bin/true не запустится или вернет не 0.

true_OK=/bin/true

Всего одна строчка — и вот мы уже немного расширили ຟັງຊັ່ນ okerr.

ເຖິງແມ່ນວ່າການກວດສອບດັ່ງກ່າວມີມູນຄ່າຂອງມັນແລ້ວ: ຖ້າທັນທີທັນໃດເຄື່ອງແມ່ຂ່າຍຂອງທ່ານຂັດຂ້ອງ, ຕົວຊີ້ວັດທີ່ສອດຄ້ອງກັນຢູ່ໃນເຄື່ອງແມ່ຂ່າຍ okerr ຈະບໍ່ຖືກປັບປຸງໃຫ້ທັນເວລາ, ແລະຫຼັງຈາກເວລາຜ່ານໄປ, ການແຈ້ງເຕືອນຈະປາກົດ.

ການກວດສອບນີ້ຈະແຈ້ງໃຫ້ຊາບວ່າເຄື່ອງແມ່ຂ່າຍ apache2 ໄດ້ຂັດຂ້ອງ (ດີ, ທ່ານບໍ່ເຄີຍຮູ້ ...):

apache_OK="systemctl is-active --quiet apache2"

Так что, если вы владеете любым языком программирования, хотя бы можете писать shell скрипты — то вы уже можете добавлять собственные проверки.

Более сложно — можно написать (на любом языке) свой модуль для okerrmod. В простейшем случае он выглядит так:

#!/usr/bin/python3

print("STATUS: OK")

ມັນບໍ່ຍາກຫຼາຍບໍ? ໂມດູນຕ້ອງເຮັດການກວດສອບຕົວມັນເອງແລະສົ່ງຜົນໄດ້ຮັບໄປຫາ STDOUT. ໂມດູນທີ່ສັບສົນຫຼາຍໃຫ້, ສໍາລັບການຍົກຕົວຢ່າງ, ນີ້:

$ okerrmod --dump df
NAME: pi:df-/
TAGS: df
METHOD: numerical|maxlim=90
DETAILS: 49.52%, 13.9G/28.2G used, 13.0G free
STATUS: 49.52

NAME: pi:df-/boot
TAGS: df
METHOD: numerical|maxlim=90
DETAILS: 84.32%, 53.1M/62.9M used, 9.9M free
STATUS: 84.32

ມັນປັບປຸງຕົວຊີ້ວັດຫຼາຍຢ່າງໃນເວລາດຽວກັນ (ແຍກອອກໂດຍເສັ້ນຫວ່າງ), ສ້າງພວກມັນຖ້າຈໍາເປັນ, ຊີ້ບອກລາຍລະອຽດການກວດສອບແລະແທັກທີ່ມັນງ່າຍທີ່ຈະຊອກຫາຕົວຊີ້ວັດທີ່ຈໍາເປັນໃນ dashboard.

ໂທລະເລກ

Есть Telegram bot @OkerrBot. Вам не нужно захламлять телефон отдельными приложениями (сам не люблю, что для Пятерочки нужно одно приложение с картой, для Ленты другое, для МТС третье, и так для всех-всех-всех). Один телеграмм — достаточно. Через телеграм можно и получать алерты сразу же и проверять статус проекта и отдать команду на перепроверку всех проблемных индикаторов. Вышли из театра/самолета, два часа не держали руку на пульсе, включили тел, нажали одну кнопку в чат-боте, и убедились, что все в порядке.

ຫນ້າສະຖານະ

В наше время, страницы статуса — уже почти must have для любого бизнеса у которого есть IT, ответственное отношение к надежности и который уважительно относится к своим клиентам/пользователям.

Представьте ситуацию — пользователь хочет что-то сделать, посмотреть информацию или оформить заказ, и что-то не работает. Он не знает в чем дело, на чьей стороне проблема и когда она решится. Может у вашей фирмы просто нерабочий сайт? Или поломалось полгода назад, и починится через два года? А холодильник-то надо купить уже сейчас, он уже в корзине… И совсем другое дело, когда человек видит, что у вас что-то не в порядке (хотя бы ясно, что проблема не на его стороне), что проблема обнаружена, что вы над ней уже работаете, и может быть даже написали примерное время исправления. Пользователь может подписаться и получить на почту уведомление, когда проблема будет исправлена и можно будет сделать то, что он хотел (купить холодильник).

ພາບລວມຂອງລະບົບການຕິດຕາມແບບປະສົມຂອງ Okerr

Проблемы, даунтайм — бывают у всех. Но пользователи и партнеры больше доверяют тем, кто более прозрачен и ответственно подходит к этому.

ທີ່ນີ້ обзор 10 других проектов, которые позволяют делать страницы статуса. Вот примеры, как выглядят эти страницы у проектов Python и Dropbox. ຫນ້າສະຖານະ oker.

failover

ເພື່ອບໍ່ໃຫ້ບົດຄວາມນີ້ຕໍ່ໄປອີກແລ້ວ, ຂ້ອຍຈະອ້າງເຖິງບົດຄວາມທີ່ຜ່ານມາຂອງຂ້ອຍ - ຄວາມລົ້ມເຫຼວທີ່ງ່າຍດາຍສໍາລັບເວັບໄຊທ໌ . ຖ້າທ່ານສາມາດສ້າງເຄື່ອງແມ່ຂ່າຍທີ່ຊ້ໍາກັນ, ຫຼັງຈາກນັ້ນການນໍາໃຊ້ຄວາມລົ້ມເຫລວ, ໂດຍພື້ນຖານແລ້ວທ່ານຈະບໍ່ມີເວລາຢຸດຍາວ - ທັນທີທີ່ບັນຫາຖືກກວດພົບ, ຜູ້ໃຊ້ຈະຖືກໂອນໄປຫາເຄື່ອງແມ່ຂ່າຍສໍາຮອງຂໍ້ມູນທີ່ເຮັດວຽກໂດຍອັດຕະໂນມັດ. ແລະມັນເບິ່ງຄືວ່າຂ້ອຍເປັນລັກສະນະທີ່ຫນ້າສົນໃຈຫຼາຍ, ສົດໃສທີ່ບໍ່ຄ່ອຍມີຢູ່ທຸກບ່ອນ.

ຄວາມຕ້ອງການລະບົບຕ່ໍາ

ສໍາລັບເຄື່ອງແມ່ຂ່າຍ okerr, ພວກເຮົາໃຊ້ເຄື່ອງທີ່ມີ RAM ຈາກ 2Gb. ສໍາລັບເຊັນເຊີເຄືອຂ່າຍ, ເຖິງແມ່ນວ່າ 512Mb ແມ່ນພຽງພໍ. ສ່ວນລູກຄ້າໂດຍທົ່ວໄປແມ່ນເກືອບສູນ. (ຖົງ​ຢາງ okerrupdate весит 26 Kb, но требует Python3 и стандартных библиотек). Клиент запускается из крон скрипта, так что имеет нулевое постоянное потребление памяти. Среди наблюдаемых машин у нас есть сенсоры (супер-дешевые VPSки с 512Mb RAM) и Raspberry Pi. Можно даже без клиентской части ສົ່ງການປັບປຸງຜ່ານ curl! (см ниже)

ການພິຈາລະນານີ້ເຂົ້າໄປໃນບັນຊີ - okerr, ອາດຈະເປັນ наиболее бесплатная система мониторинга из имеющихся, ведь даже чтобы использовать другую бесплатную опен-сорсную систему вроде Zabbix или Nagios, нужно выделить ей ресурсы (сервер), а это уже деньги. Кроме того — все таки требуется некоторое обслуживание сервера. С okerr — эту часть можно убрать. А можно и не убирать и использовать собственный сервер — смотря как вам больше нравится.

API ແລະການເຊື່ອມໂຍງເຂົ້າໃນຊອບແວທີ່ເປັນເຈົ້າຂອງ

Простая и открытая архитектура. У okerr есть довольно простой API, с которым легко работать. Нужно создать 1000 индикаторов? Один шелл-скрипт в 3-4 строчки это сделает. Нужно перенастроить 1000 индикаторов? Тоже очень легко. Например, мы хотим перепроверить все наши HTTPS сертификаты именно с российского сенсора:

#!/bin/sh

for indicator in `okerrclient --api-filter sslcert`
do
    echo set location for $indicator
    okerrclient --api-set location=ru retest=1 --name $indicator
done

ທ່ານສາມາດປັບປຸງຕົວຊີ້ວັດໂດຍໃຊ້ໂມດູນລູກຄ້າຂອງພວກເຮົາ, ເຖິງແມ່ນວ່າບໍ່ມີມັນ, ພຽງແຕ່ຜ່ານ curl.

# short and nice (using okerrupdate and config file)
$ okerrupdate MyIndicator OK

# only curl is enough!
$ curl -d 'textid=MyProject&name=MyIndicator&secret=MySecret&status=OK' https://bravo.okerr.com/

ທ່ານສາມາດປັບປຸງຕົວຊີ້ວັດໂດຍກົງຈາກໂຄງການຂອງທ່ານ. ສໍາລັບຕົວຢ່າງ, ການສົ່ງສັນຍານການເຕັ້ນຂອງຫົວໃຈເພື່ອໃຫ້ okerr ຮູ້ວ່າມັນແລ່ນແລະປຸກເຕືອນຖ້າຫາກວ່າມັນຂັດຫຼື freezes. ໂດຍວິທີທາງການ, ອົງປະກອບ okerr ເຮັດພຽງແຕ່ວ່າ - okerr ຕິດຕາມກວດກາຕົວມັນເອງ, ແລະບັນຫາໃນເກືອບທຸກໂມດູນຈະຖືກກວດພົບແລະສ້າງການແຈ້ງເຕືອນກ່ຽວກັບບັນຫາ. (ແລະໃນກໍລະນີຂອງ "ເກືອບ" ນີ້ - ພວກເຂົາຖືກກວດສອບຈາກເຄື່ອງແມ່ຂ່າຍອື່ນ).

ນີ້ແມ່ນລະຫັດ (ງ່າຍ) ໃນ bot telegram ຂອງພວກເຮົາ:

from okerrupdate import OkerrProject, OkerrExc

op = OkerrProject()
uptimei = op.indicator("{}:telebot_uptime".format(hostname))
...
uptimei.update('OK', 'pid: {} Uptime: {} cmds: {}'.format(
        os.getpid(), dhms(uptime), commands_cnt))

ມີຫ້ອງສະຫມຸດສໍາລັບການປັບປຸງຕົວຊີ້ວັດຈາກໂຄງການ Python okerrupdate, для любых других языков — библиотек нет, но можно либо вызвать скрипт okerrupdate, либо выполнить HTTP запрос к серверу okerr.

oker ຊ່ວຍພວກເຮົາແນວໃດ

Okerr ປ່ຽນຊີວິດຂອງພວກເຮົາ. ຢ່າງ​ແທ້​ຈິງ. ບາງທີລະບົບການຕິດຕາມອື່ນກໍ່ສາມາດເຮັດໄດ້ຄືກັນ, ແຕ່ການເຮັດວຽກກັບ okerr ແມ່ນງ່າຍແລະງ່າຍດາຍສໍາລັບພວກເຮົາແລະມັນມີຫນ້າທີ່ທັງຫມົດທີ່ພວກເຮົາຕ້ອງການ (ພວກເຮົາໄດ້ເພີ່ມສິ່ງທີ່ມັນບໍ່ມີ). ໂດຍວິທີທາງການ, ຖ້າມີບາງລັກສະນະທີ່ຂາດຫາຍໄປ, ຖາມແລະຂ້ອຍຈະເພີ່ມພວກມັນ (ຂ້ອຍບໍ່ສັນຍາ, ແຕ່ຂ້ອຍຕ້ອງການ okerr ເປັນລະບົບການຕິດຕາມທີ່ດີທີ່ສຸດສໍາລັບໂຄງການຂະຫນາດນ້ອຍ - ກາງ). ຫຼືດີກວ່າ, ເພີ່ມມັນຕົວທ່ານເອງ - ມັນງ່າຍ.

У нас получилось жить по принципу «обо всех проблемах узнать из окерра». Если вдруг случилась проблема, о которой мы узнали не от okerr — мы добавляем проверку в okerr. (в данном случае под «мы» — я понимаю нас как пользователей системы, а не со-разработчиков). Поначалу это было часто, но сейчас стало очень редким.

ການຕິດຕາມ

Через okerr мы следим за размерами логов на всех серверах. Вдумчиво читать глазами каждую строчку лога — конечно, невозможно, но вот просто слежение за скоростью роста — уже многое дает. Через это мы обнаруживали и рассылку спама и брутфорс перебор паролей, и когда какие-то из приложений «сходят с ума», у них что-то не получается и они повторяют снова и снова (каждый раз добавляя пару строчек в лог).

SSL сертификаты. Почти сразу после запуска LetsEncrypt ລູກຄ້າຂອງພວກເຮົາເລີ່ມສະຫນອງໃບຢັ້ງຢືນ SSL ຟຣີໃຫ້ກັບລູກຄ້າຂອງຕົນ (ປະມານຫນຶ່ງພັນຄົນຂອງພວກເຂົາ). ແລະມັນໄດ້ກາຍເປັນພຽງແຕ່ hell ສໍາລັບການບໍລິຫານ! ຄວາມຈິງແມ່ນວ່າສະຖານທີ່ແມ່ນ "ດໍາລົງຊີວິດ", ລູກຄ້າແຕ່ລະໄລຍະຂໍໃຫ້ພວກເຂົາເຮັດບາງສິ່ງບາງຢ່າງ, ນັກຂຽນໂປລແກລມເຮັດມັນ. ພວກເຂົາສາມາດໂອນເວັບໄຊທ໌ໄປ DocumentRoot ອື່ນໄດ້ໂດຍບໍ່ເສຍຄ່າ, ສໍາລັບການຍົກຕົວຢ່າງ. ຫຼືເພີ່ມການ Rewrite ທີ່ບໍ່ມີເງື່ອນໄຂໃຫ້ກັບ virtualhost config. ຕາມທໍາມະຊາດ, ຫຼັງຈາກນີ້, ການຕໍ່ອາຍຸອັດຕະໂນມັດຂອງໃບຢັ້ງຢືນທໍາລາຍ. ໃນປັດຈຸບັນພວກເຮົາມີໂຮດ SSL ທັງຫມົດຖືກເພີ່ມໃສ່ okerr ໂດຍອັດຕະໂນມັດໂດຍຜ່ານອຸປະກອນທີ່ເປັນປະໂຫຍດຂອງພວກເຮົາຈາກຊຸດອື່ນ a2conf. ໃຫ້ຂອງພຽງແຕ່ເປີດຕົວ a2okerr.py — ແລະ​ຖ້າ​ຫາກ​ວ່າ​ເວັບ​ໄຊ​ໃຫມ່​ຈໍາ​ນວນ​ຫນຶ່ງ​ປາ​ກົດ​ຢູ່​ໃນ​ເຄື່ອງ​ແມ່​ຂ່າຍ​, ພວກ​ເຂົາ​ເຈົ້າ​ຈະ​ສະ​ແດງ​ໃຫ້​ເຫັນ​ອັດ​ຕະ​ໂນ​ມັດ​ໃນ okerr​. ຖ້າທັນທີທັນໃດສໍາລັບເຫດຜົນບາງຢ່າງທີ່ໃບຢັ້ງຢືນບໍ່ໄດ້ຕໍ່ອາຍຸ, ສາມອາທິດກ່ອນທີ່ໃບຢັ້ງຢືນຈະຫມົດອາຍຸ, ພວກເຮົາຢູ່ໃນຄວາມຮູ້, ແລະພວກເຮົາຈະຄິດວ່າເປັນຫຍັງມັນບໍ່ໄດ້ຖືກປັບປຸງ, ຫມາດັ່ງກ່າວ. a2certbot.py ຈາກຊຸດດຽວກັນ - ມັນຊ່ວຍຫຼາຍໃນເລື່ອງນີ້ (ມັນທັນທີກວດເບິ່ງບັນຫາທີ່ເປັນໄປໄດ້ທີ່ສຸດ - ແລະຂຽນສິ່ງທີ່ຖືກກວດສອບດີ, ແລະບ່ອນທີ່ມີບັນຫາຫຼາຍທີ່ສຸດ).

Мы следим за сроком истечения всех наших доменов. А все наши почтовые сервера, которые отсылают почту — еще и проверяются по 50+ различным блеклистам. (И иногда попадают в них). Кстати, знаете ли вы, что почтовые сервера google тоже в блеклистах? Просто для самотестирования мы добавили mail-wr1-f54.google.com к отслеживаемым серверам, и он таки в блеклисте SORBS! (Это к вопросу о ценности «антиспамеров»)

Бэкапы — выше я уже написал, как просто за ними следить с okerr. Но мы следим и за свежими бэкапами на нашем сервер, и (с помощью отдельной утилитки, которая использует okerr) — за бэкапами, которые мы заливаем на Amazon Glacier. И, да — периодически проблемы случаются. Не зря следили.

ພວກເຮົາໃຊ້ຕົວຊີ້ວັດການເພີ່ມຂຶ້ນ. ມັນສະແດງໃຫ້ເຫັນວ່າບັນຫາບາງຢ່າງບໍ່ໄດ້ຮັບການແກ້ໄຂເປັນເວລາດົນນານ. ແລະຂ້ອຍເອງ, ເມື່ອຂ້ອຍແກ້ໄຂບັນຫາບາງຢ່າງ, ບາງຄັ້ງຂ້ອຍສາມາດລືມກ່ຽວກັບພວກມັນ. ການເພີ່ມຂຶ້ນເປັນການເຕືອນທີ່ດີ, ເຖິງແມ່ນວ່າທ່ານກໍາລັງຕິດຕາມຕົວທ່ານເອງ.

В целом, я считаю, что качество нашей работы повысилось на порядок. Даунтайма почти нет (ну или клиент не успевает его заметить. Только тссс!), при этом объем работы стал меньше а условия работы — спокойнее. Мы перешли от авральной работы с латанием пробоин скотчем к спокойной и размеренной работе, когда многие проблемы предсказываются заранее и есть время, чтобы их предотвратить. Даже свершившиеся проблемы — тоже исправлять стало проще: во-первых, мы о них узнаем до того, как клиенты устраивают панику, во-вторых, часто бывает так, проблема связана с недавней работой (пока делал одно, поломал другое) — поэтому по горячим следам с ней проще разобраться.

А вот еще был случай…

Знаете ли вы, что в популярном Debian 9 (Stretch) такой популярный пакет как phpmyadmin до сих пор (уже много месяцев!) находится в статусе vulnerable? (CVE-2019-6798). ເມື່ອຊ່ອງໂຫວ່ເກີດຂື້ນ, ພວກເຮົາປົກປິດມັນຢ່າງວ່ອງໄວດ້ວຍວິທີຕ່າງໆ. ແຕ່ຂ້ອຍຕັ້ງການຕິດຕາມຄວາມປອດໄພຂອງຫນ້າຕິດຕາມໃນ okerr ເພື່ອຮູ້ວ່າການແກ້ໄຂ "ທີ່ສວຍງາມ" ຈະອອກມາເມື່ອໃດ (ຜ່ານ SHA1 ລວມຂອງເນື້ອຫາ). ຕົວຊີ້ວັດໄດ້ twitched ຂ້າພະເຈົ້າຫຼາຍຄັ້ງ, ຫນ້າມີການປ່ຽນແປງ, ແຕ່ຕາມທີ່ທ່ານສາມາດເບິ່ງ, ມັນຍັງຄົງ (ນັບຕັ້ງແຕ່ເດືອນມັງກອນ 2019!) ບໍ່ໄດ້ຊີ້ໃຫ້ເຫັນວ່າບັນຫາໄດ້ຖືກແກ້ໄຂ. ບາງທີ, ໂດຍວິທີທາງການ, ຜູ້ໃດຜູ້ຫນຶ່ງຮູ້ວ່າບັນຫາແມ່ນຫຍັງທີ່ຊຸດທີ່ສໍາຄັນດັ່ງກ່າວຍັງມີຄວາມສ່ຽງຫຼາຍກວ່າຫນຶ່ງປີບໍ?

ເວລາອື່ນໃນສະຖານະການທີ່ຄ້າຍຄືກັນ: ຫຼັງຈາກຄວາມອ່ອນແອໃນ SSH, ມັນຈໍາເປັນຕ້ອງປັບປຸງເຄື່ອງແມ່ຂ່າຍທັງຫມົດ. ແລະໃນເວລາທີ່ທ່ານກໍານົດວຽກງານ, ທ່ານຈໍາເປັນຕ້ອງຄວບຄຸມການປະຕິບັດ. (ຜູ້​ຍ່ອຍ​ມັກ​ເຂົ້າ​ໃຈ​ຜິດ, ລືມ, ສັບສົນ, ແລະ​ເຮັດ​ຜິດ). ດັ່ງນັ້ນ, ທໍາອິດພວກເຮົາໄດ້ເພີ່ມການກວດສອບສະບັບ SSH ກັບ okerr ໃນເຄື່ອງແມ່ຂ່າຍທັງຫມົດ, ແລະໂດຍຜ່ານ okerr ພວກເຮົາໃຫ້ແນ່ໃຈວ່າການປັບປຸງໄດ້ຖືກ rolled ອອກໃນເຄື່ອງແມ່ຂ່າຍທັງຫມົດ. (ສະດວກ! ຂ້ອຍເລືອກຕົວຊີ້ບອກປະເພດນີ້, ແລະເຈົ້າສາມາດເຫັນໄດ້ທັນທີວ່າເຊີບເວີມີລຸ້ນໃດ). ເມື່ອພວກເຮົາແນ່ໃຈວ່າວຽກງານໄດ້ຖືກສໍາເລັດໃນເຄື່ອງແມ່ຂ່າຍທັງຫມົດ, ພວກເຮົາເອົາຕົວຊີ້ວັດອອກ.

ສອງ​ສາມ​ຄັ້ງ​ທີ່​ມີ​ສະ​ຖາ​ນະ​ການ​ທີ່​ມີ​ບັນ​ຫາ​ສະ​ເພາະ​ໃດ​ຫນຶ່ງ​ທີ່​ເກີດ​ຂຶ້ນ​, ແລະ​ຫຼັງ​ຈາກ​ນັ້ນ​ກໍ​ຫາຍ​ໄປ​ດ້ວຍ​ຕົນ​ເອງ​. (ອາດຈະຄຸ້ນເຄີຍກັບທຸກຄົນ?). ເມື່ອເຈົ້າສັງເກດເຫັນ, ເມື່ອເຈົ້າກວດເບິ່ງ - ແລະບໍ່ມີຫຍັງທີ່ຈະກວດສອບ - ທຸກຢ່າງເຮັດວຽກໄດ້ດີແລ້ວ. ແຕ່ຫຼັງຈາກນັ້ນມັນແຕກອີກເທື່ອຫນຶ່ງ. ພວກເຮົາເຄີຍມີສິ່ງດັ່ງກ່າວເກີດຂຶ້ນ, ຕົວຢ່າງເຊັ່ນ, ກັບຜະລິດຕະພັນທີ່ພວກເຮົາອັບໂຫຼດໃສ່ Amazon Marketplace (MWS). ໃນບາງຈຸດ, ສິນຄ້າຄົງຄັງທີ່ໂຫລດບໍ່ຖືກຕ້ອງ (ຈໍານວນສິນຄ້າຜິດແລະລາຄາທີ່ບໍ່ຖືກຕ້ອງ). ພວກເຮົາຄິດອອກ. ແຕ່ເພື່ອຄິດອອກ, ມັນເປັນສິ່ງສໍາຄັນທີ່ຈະຊອກຫາບັນຫາທັນທີ. ແຕ່ຫນ້າເສຍດາຍ, MWS, ຄືກັບການບໍລິການ Amazon ທັງຫມົດ, ແມ່ນຊ້າເລັກນ້ອຍ, ດັ່ງນັ້ນມັນມີຄວາມຊັກຊ້າຢູ່ສະເຫມີ, ແຕ່ຢ່າງນ້ອຍ, ພວກເຮົາສາມາດເຂົ້າໃຈໄດ້ປະມານການເຊື່ອມຕໍ່ລະຫວ່າງບັນຫາແລະສະຄິບທີ່ເຮັດໃຫ້ເກີດມັນ (ພວກເຮົາໄດ້ກວດສອບ, ຕິດຢູ່. ມັນໄປຫາ okerr, ແລະກວດເບິ່ງມັນທັນທີໄດ້ຮັບການແຈ້ງເຕືອນ).

ບໍ່ດົນມານີ້, ກໍລະນີທີ່ຫນ້າສົນໃຈໄດ້ຖືກເພີ່ມເຂົ້າໃນການເກັບກໍາໂດຍເຈົ້າພາບເອີຣົບຂະຫນາດໃຫຍ່ແລະລາຄາແພງ, ເຊິ່ງລູກຄ້າຂອງພວກເຮົາໃຊ້. ທັນໃດນັ້ນ, ເຊີບເວີທັງໝົດຂອງພວກເຮົາຫາຍໄປຈາກ radar! ທໍາອິດ, ລູກຄ້າເອງ (ໄວກວ່າ okerra!) ສັງເກດເຫັນວ່າເວັບໄຊທ໌ທີ່ລາວເຮັດວຽກກັບບໍ່ໄດ້ເປີດແລະເຮັດປີ້ກ່ຽວກັບມັນ. ແຕ່ບໍ່ພຽງແຕ່ເວັບໄຊທ໌ຫນຶ່ງໄດ້ຫຼຸດລົງ, ແຕ່ທັງຫມົດຂອງພວກເຂົາ! (Natasha, ພວກເຮົາຫຼຸດລົງທຸກສິ່ງທຸກຢ່າງ!). ທີ່ນີ້ Okerr ເລີ່ມຕົ້ນສົ່ງຜ້າຫໍ່ຕີນຍາວດ້ວຍຕົວຊີ້ວັດທັງຫມົດທີ່ສະຫວ່າງສໍາລັບລາວ. panic, panic, ພວກເຮົາແລ່ນເປັນວົງ (ສິ່ງທີ່ພວກເຮົາສາມາດເຮັດໄດ້ອີກ?). ຫຼັງຈາກນັ້ນ, ທຸກສິ່ງທຸກຢ່າງເພີ່ມຂຶ້ນ. ມັນ turns ໃຫ້​ເຫັນ​ວ່າ​ມີ​ການ​ບໍາ​ລຸງ​ຮັກ​ສາ​ເປັນ​ປົກ​ກະ​ຕິ​ໃນ​ສູນ​ຂໍ້​ມູນ (ຫນຶ່ງ​ຄັ້ງ​ທຸກໆ​ປີ​) ແລະ​, ແນ່​ນອນ​, ພວກ​ເຮົາ​ຄວນ​ຈະ​ໄດ້​ຮັບ​ການ​ເຕືອນ​. ແຕ່ບາງບັນຫາເກີດຂຶ້ນກັບເຂົາເຈົ້າ ແລະເຂົາເຈົ້າບໍ່ໄດ້ເຕືອນພວກເຮົາ. ດີ, ການໂຈມຕີຫົວໃຈຫຼາຍ, ການໂຈມຕີຫົວໃຈຫນ້ອຍ. ແຕ່ຫຼັງຈາກທຸກສິ່ງທຸກຢ່າງຖືກຟື້ນຟູ, ທ່ານຈໍາເປັນຕ້ອງກວດເບິ່ງທຸກສິ່ງທຸກຢ່າງ! ຂ້ອຍບໍ່ສາມາດຈິນຕະນາການວ່າຂ້ອຍຈະເຮັດມັນດ້ວຍມືຂອງຂ້ອຍໄດ້ແນວໃດ. Okerr ໄດ້ທົດສອບທຸກຢ່າງໃນສອງສາມນາທີ. ມັນໄດ້ຫັນອອກວ່າເຄື່ອງແມ່ຂ່າຍສ່ວນໃຫຍ່ບໍ່ສາມາດໃຊ້ໄດ້ຊົ່ວຄາວ, ແຕ່ພວກມັນເຮັດວຽກ. ບາງຄົນມີນໍ້າໜັກເກີນ, ແຕ່ກໍຢືນຂຶ້ນຕາມທີ່ຄວນ. ຂອງການສູນເສຍທັງຫມົດ, ພວກເຮົາໄດ້ສູນເສຍການສໍາຮອງຂໍ້ມູນສອງອັນ, ເຊິ່ງອີງຕາມເຮືອນຍອດຄວນຈະຖືກສ້າງຂື້ນແລະໂຫລດໃນຂະນະທີ່ຫມາກກ້ວຍເຕັມທີ່ກໍາລັງດໍາເນີນຕໍ່ໄປ. ຂ້າ​ພະ​ເຈົ້າ​ບໍ່​ໄດ້​ຫຍຸ້ງ​ກ່ຽວ​ກັບ​ການ​ສ້າງ​ໃຫ້​ເຂົາ​ເຈົ້າ​, ພຽງ​ແຕ່​ມື້​ຕໍ່​ມາ​ການ​ແຈ້ງ​ເຕືອນ​ໄດ້​ມາ​ເຖິງ​ວ່າ​ທຸກ​ສິ່ງ​ທຸກ​ຢ່າງ​ແມ່ນ​ດີ​, ການ​ສໍາ​ຮອງ​ຂໍ້​ມູນ​ໄດ້​ປາ​ກົດ​ຂຶ້ນ​. ຂ້າພະເຈົ້າມັກຕົວຢ່າງນີ້ເພາະວ່າ okerr ໄດ້ກາຍເປັນປະໂຫຍດຫຼາຍໃນສະຖານະການທີ່ພວກເຮົາບໍ່ໄດ້ຄິດກ່ຽວກັບການລ່ວງຫນ້າ, ແຕ່ນັ້ນແມ່ນຈຸດປະສົງຂອງການຕິດຕາມ - ເພື່ອຕ້ານກັບສິ່ງທີ່ບໍ່ສາມາດຄາດເດົາໄດ້.

ສໍາລັບເຊັນເຊີ Okerr, ພວກເຮົາໃຊ້ໂຮດຕິ້ງທີ່ມີລາຄາຖືກທີ່ສຸດ (ບ່ອນທີ່ຄຸນນະພາບແລະຄວາມຫນ້າເຊື່ອຖືບໍ່ສໍາຄັນ, ພວກເຂົາຮັບປະກັນເຊິ່ງກັນແລະກັນ). ດັ່ງນັ້ນ, ພວກເຮົາບໍ່ດົນມານີ້ໄດ້ພົບເຫັນການເປັນເຈົ້າພາບທີ່ດີຫຼາຍແລະລາຄາຖືກທີ່ສຸດ, ດັດຊະນີແມ່ນຫນ້າຫວາດສຽວ. ແຕ່ ... ບາງຄັ້ງມັນປາກົດວ່າການເຊື່ອມຕໍ່ຂາອອກຈາກເຄື່ອງ virtual ແມ່ນເຮັດຈາກ IP ອື່ນ (ເພື່ອນບ້ານ). ມະຫັດສະຈັນ. ໂມດູນ Client_ip ກັບ https://diagnostic.opendns.com/myip получает не тот IP. Да и по серверным логам индикатора видно, что апдейт пришел тоже с этого соседнего IP. Разбираемся сейчас с саппортом. Хорошо, что заметили это в мирное время. Но, например, часто ведь бывает так, что доступ прописывается по белому списку IP — и если сервер будет иногда на короткое время так моргать — можно очень долго пытаться отловить эту проблему.

ແລ້ວ, ສິ່ງຫນຶ່ງອີກ - ນັບຕັ້ງແຕ່ພວກເຮົາກໍາລັງເວົ້າກ່ຽວກັບ VPS hosting - ພວກເຮົາສະເຫມີໃຊ້ລາຄາບໍ່ແພງ (hetzner, ovh, scaleway). ຂ້ອຍມັກມັນທັງດ້ານມາດຕະຖານ ແລະຄວາມໝັ້ນຄົງ. ພວກເຮົາຍັງໃຊ້ Amazon EC2 ລາຄາແພງກວ່າສໍາລັບໂຄງການອື່ນໆ. ດັ່ງນັ້ນ, ຂໍຂອບໃຈກັບ okerr, ພວກເຮົາມີຄວາມຄິດເຫັນຂອງຕົນເອງຂອງພວກເຮົາ. ພວກເຂົາທັງສອງຕົກ. ແລະຂ້າພະເຈົ້າຈະບໍ່ເວົ້າວ່າໃນໄລຍະເວລາດົນນານຂອງການສັງເກດການຂອງພວກເຮົາ, hosting ລາຄາຖືກເຊັ່ນ hetzner ໄດ້ກາຍເປັນທີ່ສັງເກດເຫັນຫນ້ອຍທີ່ຫມັ້ນຄົງກ່ວາ EC2. ດັ່ງນັ້ນ, ຖ້າທ່ານບໍ່ຕິດກັບລັກສະນະອື່ນໆຂອງ Amazon, ເປັນຫຍັງຕ້ອງຈ່າຍຫຼາຍ? 🙂

ຈະເປັນແນວໃດຕໍ່ໄປ?

Если на этом этапе я вас еще не сильно отпугнул от Okerr’а — то попробуйте! Прямо по этой ссылке можно зайти в демонстрационный аккаунт okerr (Кликните прямо сейчас!). Но учитывайте — что демо аккаунт один на всех, поэтому, если вы что-то делаете — кто-то другой в этом же аккаунте может в это же время помешать вам. Или (лучше) зарегистрируейтесь через ссылку на офсайте okerr - ທຸກສິ່ງທຸກຢ່າງແມ່ນງ່າຍດາຍ, ໂດຍບໍ່ມີການ SMS. ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ບໍ່​ຕ້ອງ​ການ​ທີ່​ຈະ​ນໍາ​ໃຊ້​ອີ​ເມວ​ທີ່​ແທ້​ຈິງ​ຂອງ​ທ່ານ​, ທ່ານ​ສາ​ມາດ​ໃຊ້​ຫນຶ່ງ​ທີ່​ໃຊ້​ຖິ້ມ​ໄດ້​, ເຊັ່ນ​: mailinator (ຂ້າ​ພະ​ເຈົ້າ​ແນະ​ນໍາ​ໃຫ້​. getnada.com). ບັນ​ຊີ​ດັ່ງ​ກ່າວ​ອາດ​ຈະ​ຖືກ​ລົບ​ໃນ​ໄລ​ຍະ​ເວ​ລາ​, ແຕ່​ພວກ​ເຂົາ​ເຈົ້າ​ຈະ​ດີ​ສໍາ​ລັບ​ການ​ທົດ​ສອບ​.

После регистрации будет предложено пройти тренинг (выполнить несколько не очень сложных обучающих задач). Изначальные лимиты очень небольшие, но для тренинга или одного сервера их достаточно. После прохождения тренинга — лимиты (например, максимальное количество индикаторов) будут повышены.

Из документации — в первую очередь WIKI ຂ້າງເຊີບເວີ ແລະລູກຄ້າ (okerrupdate wiki). ແຕ່ຖ້າບາງສິ່ງບາງຢ່າງບໍ່ຊັດເຈນ, ຂຽນເພື່ອສະຫນັບສະຫນູນ (ຢູ່) okerr.com ຫຼືອອກຈາກປີ້ - ພວກເຮົາຈະພະຍາຍາມແກ້ໄຂທຸກຢ່າງຢ່າງໄວວາ.

Если будете использовать всерьез и этих повышенных лимитов будет не хватать — тоже, напишите в саппорт, увеличим (бесплатно).

Захотите поставить сервер okerr на свой сервер? Вот okerr-dev repository. Мы рекомендуем ставить на чистую виртуалку, тогда получится это просто сделать установочным скриптом. На своей виртуалке — никаких ограничений :-). Ну и опять же — если что — всегда постараемся помочь.

ພວກ​ເຮົາ​ຕ້ອງ​ການ​ໃຫ້​ໂຄງ​ການ​ນີ້​ຈະ​ເອົາ​ໄປ, ດັ່ງ​ນັ້ນ​ໂລກ​ໄດ້​ກາຍ​ເປັນ​ຄວາມ​ເຊື່ອ​ຖື​ໄດ້​ຫຼາຍ​ຂຶ້ນ​ກັບ​ພວກ​ເຮົາ. ຂໍຂອບໃຈກັບຊອບແວແລະການບໍລິການຟຣີ, ໂລກໄດ້ກາຍເປັນມິດແລະກໍາລັງພັດທະນາແບບເຄື່ອນໄຫວຫຼາຍ. ແຫຼ່ງຂໍ້ມູນສາມາດຖືກເກັບໄວ້ໃນ github ຟຣີ, ແລະສໍາລັບ mail ທ່ານສາມາດນໍາໃຊ້ gmail ໄດ້ຟຣີ. ພວກເຮົາໃຊ້ຟຣີ ໝາກ ໄມ້ສົດ для саппорта. Ни для чего этого не нужно оплачивать сервера, не нужно скачивать и настраивать и решать разные проблемы с эксплуатацией. Каждый новый проект, каждая команда — сразу и имеет и почту, и репозитории и CRM. И все это очень качественное и бесплатно и сразу. Мы хотим, чтобы для мониторинга было так же — небольшие компании и проекты могли бы бесплатно использовать okerr и даже на этапе рождения и роста иметь надежность как у взрослых серьезных проектов.

ແຫຼ່ງຂໍ້ມູນ: www.habr.com