Изменит ли COVID-19 восприятие удаленной работы?

Простые инструменты для контроля ваших систем во время COVID-19, пока вы дома

Это пандемия! COVID-19, также известный как коронавирус, был недавно объявлен Всемирной организацией здравоохранения эпидемией. Для многих компаний, если у вас не было политики удаленной работы (удивительно, что некоторые компании категорически против этого), вы получите ускоренный курс по Slack, Zoom и другим популярным удаленным компьютерам. инструмент для совместной работы, они могут быстро получить корпоративную лицензию. Но как насчет систем, оставшихся позади, ведь все начинают работать из дома. Когда я только начал работать из дома, все было так просто, как подключиться через VPN и SSH к любой системе, которая мне нужна. Но по мере того, как состояние того, за чем я следил, росло, росли и многочисленные панели мониторинга, будь то измерение производительности, доступности или мониторинга показателей безопасности. Итак, я нашел два инструмента, которые помогут мне не отставать от моих серверов и баз данных. Иногда мне все еще нужно иметь возможность контролировать, даже когда я дома.

Поговорим о мониторинге

Мониторинг производительности в режиме реального времени обычно является хорошим индикатором того, насколько хорошо ваша система работает, когда вас нет рядом. А как насчет базы данных? Хотите знать, как ваш MongoDB работает в режиме реального времени, не оставляя следов? Вы всегда можете запустить команду top и сесть и проанализировать каждую систему… или вы можете установить Netdata!

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

Как мне его установить?

# make sure you run `bash` for your shell
bash 

# install Netdata directly from GitHub source
bash <(curl -Ss https://my-netdata.io/kickstart.sh)

Могу ли я запустить его в Докере?

Да, ты можешь!

docker run -d --name=netdata \
  -p 19999:19999 \
  -v /etc/passwd:/host/etc/passwd:ro \
  -v /etc/group:/host/etc/group:ro \
  -v /proc:/host/proc:ro \
  -v /sys:/host/sys:ro \
  -v /var/run/docker.sock:/var/run/docker.sock:ro \
  --cap-add SYS_PTRACE \
  --security-opt apparmor=unconfined \
  netdata/netdata

Как это работает?

Особенность Netdata заключается в том, что ее можно интегрировать со Slack для отправки сигналов тревоги! Таким образом, во время этой эпидемии COVID-19, если возникнет ситуация, когда вам может потребоваться физически вернуться в офис или центр обработки данных, можно настроить триггеры тревоги, которые уведомят вас или канал о том, что что-то идет не так. Также можно группировать системы и фактически просматривать несколько систем, на которых запущена Netdata в вашем поместье. Раньше я управлял 12 удаленными устройствами IoT, иногда мне нужно было посмотреть, как они работают, или узнать, когда они отключились, Netdata был идеальным инструментом для этого.

Поскольку это были Rasperry Pi, мне не удалось настроить серверы пересылки для Elasticsearch из-за того, что Raspberry Pi имеет материнские платы ARM и несовместим с Filebeat.

Как я это использую

В настоящее время я использую один из своих Raspberry Pis для запуска блокировщика рекламы Pihole. Хотя можно использовать веб-сервер Piholes для просмотра показателей, если бы я хотел просмотреть график DNS-запросов в режиме реального времени, а также просмотреть загрузку системы, это было бы сложно. На самом деле я мог бы установить будильник, поэтому, если мой Pihole получит X запросов, дайте мне знать.

Но не всем нравятся графические интерфейсы!

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

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

Требования

  • python 2.7,>=3.4
  • psutil>=5.3.0 (лучше с последней версией)

Примечание для пользователей Python 2.6

Glances больше не поддерживает Python 2.6. Обновите Python до минимальной версии 2.7 / 3.4 + или перейдите на Glances 2.6.2 (последняя версия с поддержкой Python 2.6).

Установка

Чтобы установить обе зависимости и последнюю готовую к работе версию Glances (также известную как ветка master), просто введите следующую командную строку:

curl -L https://bit.ly/glances | /bin/bash

А для Докера:

docker pull nicolargo/glances

Запустите контейнер в консольном режиме:

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock:ro --pid host --network host -it docker.io/nicolargo/glances

Поскольку Glances написан на Python, это означает, что он может работать на разных платформах, пока установлен Python. Однако недостаток Glances в том, что он не может управлять процессами. Он не может уничтожить процессы, но возможности увидеть, что израсходовало ваши ресурсы, иногда может быть достаточно, чтобы начать расследование. Но Glances имеет большой размер, где такие инструменты, как top, могут иметь влияние на CPU%, может быть, 2–5%, Glances иногда может работать до 30% CPU%. Но если вы используете его в полной мере, иногда это того стоит. Если вы знаете, что ваша система выйдет из строя, я бы посоветовал использовать Netdata.

Отлично, я вижу свои системы, что теперь?

Что ж, мир твоя устрица! Причина, по которой я выбрал эти два инструмента, заключается в том, что они могут интегрироваться со Slack, а также с Elasticsearch. Поскольку ELK - это система, которую я часто использую для панели управления, мне часто нужно, чтобы мои системы могли отправлять данные в ELK. То же самое со Slack, можно отправлять уведомления из ELK в Slack, а с Netdata я могу фактически вырезать посредника (ELK) и отправлять их непосредственно себе в качестве уведомлений о проблемах с производительностью. Данные важны! Работая в высшем образовании, понимание системных нагрузок было важной частью моей роли, поскольку студенты часто активны в начале семестра, во время экзаменов, а также при случайном наплыве пользователей, когда университет проводит специальные мероприятия. Понимание данных о загрузке системы означало, что я мог лучше подготовить системы и фактически предсказать периоды времени, когда мне потребуется масштабировать системы. Даже когда дело доходит до производительности базы данных, часто, если сервер выходит из строя, я могу «перемотать» Netdata, чтобы увидеть, в чем основная причина.

Эффект короны!

COVID-19 как эпидемия - это то, к чему мы все готовились, верно? В каждом плане аварийного восстановления и плане непрерывности всегда упоминается стихийное бедствие или болезнь, когда мы теряем доступ к сайтам. Что ж, это один из первых крупных тестов, которые мы видели, и он действительно проверит некоторые компании, которые так противятся удаленной работе. Они будут неподготовленными. Такие страны, как Италия, отложили капитализм в сторону и потребовали закрытия определенных предприятий, но это не так просто для компаний, базирующихся в других странах, у которых могут быть центры обработки данных, расположенные в этих областях. Удаленная работа предполагает элемент доверия, и в этот технологический век мы видим, что все больше компаний предпочитают внедрять гибкие методы работы. Те, кто подготовился, будут в порядке, а те, кто этого не сделает, станут дорогостоящим упражнением в догонялки.

Дальнейшее чтение:

Автор Стивен Чапендама