Оглавление:

Панель мониторинга состояния Pi: 3 шага
Панель мониторинга состояния Pi: 3 шага

Видео: Панель мониторинга состояния Pi: 3 шага

Видео: Панель мониторинга состояния Pi: 3 шага
Видео: Создании шаблонов для мониторинг SNMP устройств 2024, Ноябрь
Anonim
Image
Image

Raspberry Pi используются для реализации большого количества проектов. Пи сначала были приняты учителями и любителями, но теперь производители и предприятия осознали удивительную силу Пи. Несмотря на то, что ваш Pi небольшой, удобный и недорогой, он содержит впечатляющее количество сложных подсистем, которые должны работать, чтобы ваш проект продолжал работать. Это делает возможность контролировать состояние вашего Pi важной во многих приложениях, от текущего обслуживания долгосрочного проекта до профилирования производительности нового прототипа.

Мы собираемся создать нашу собственную панель управления на основе браузера для мониторинга работоспособности и производительности Raspberry Pi, подключенного к Интернету. Для выполнения этой задачи мы запустим простой скрипт Python, который будет собирать системную информацию с Pi и отправлять ее на облачную платформу, которая специализируется на панелях мониторинга, аналитике и визуализации.

В этом пошаговом руководстве вы:

  • узнайте, как собирать системную информацию с вашего Pi с помощью простого скрипта Python
  • узнайте, как использовать Initial State для создания собственной панели мониторинга работоспособности / производительности системы для вашего Pi

Шаг 1: исходное состояние

Настройте свою панель управления
Настройте свою панель управления

Мы хотим передавать все данные об использовании нашей системы Pi в облачный сервис, и этот сервис превращает наши данные в информационную панель. Нашим данным нужен пункт назначения, поэтому в качестве пункта назначения будет использоваться начальное состояние.

Зарегистрируйтесь для учетной записи с начальным состоянием

Перейдите на https://iot.app.initialstate.com и создайте новую учетную запись. Вы получаете 14-дневную бесплатную пробную версию, и любой, у кого есть адрес электронной почты edu, может зарегистрироваться для бесплатного студенческого плана.

Установите ISStreamer

Установите модуль Python начального состояния на свой Raspberry Pi. В командной строке выполните следующую команду:

$ cd / home / pi /

$ / curl -sSL https://get.initialstate.com/python -o - | sudo bash

Сделайте немного автомагии

После шага 2 вы увидите что-то похожее на следующий вывод на экран:

pi @ raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o - | sudo bash

Пароль: Начало простой установки ISStreamer Python! Установка может занять пару минут, выпейте кофе:) Но не забудьте вернуться, у меня будут вопросы позже! Найдено easy_install: setuptools 1.1.6 Найдено pip: pip 1.5.6 из /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip major version: 1 pip minor version: 5 ISStreamer обнаружен, обновление… Требование уже актуально: ISStreamer в /Library/Python/2.7/site-packages Очистка… Хотите автоматически получить пример сценария? [да / нет] Где вы хотите сохранить пример? [по умолчанию:./is_example.py] Выберите, какое приложение начального состояния вы используете: 1. app.initialstate.com 2. [НОВИНКА!] iot.app.initialstate.com Введите вариант 1 или 2: введите iot.app Имя пользователя.initialstate.com: Введите пароль iot.app.initialstate.com:

Когда вас спросят, хотите ли вы автоматически получить пример сценария, поставьте «y» вместо «да» и нажмите клавишу ввода, чтобы сохранить сценарий в папке по умолчанию. Чтобы задать вопрос о том, какое приложение вы используете, выберите 2 (если вы не зарегистрировались до ноября 2018 г.) и введите свое имя пользователя и пароль.

Запустите пример сценария

Запустите тестовый сценарий, чтобы убедиться, что мы можем создать поток данных для вашей учетной записи в исходном состоянии. Напишите следующую команду:

$ python is_example.py

Пример данных

Вернитесь к своей учетной записи в исходном состоянии в веб-браузере. Слева на полке журнала должна появиться новая корзина данных под названием «Пример потока Python» (возможно, вам придется обновить страницу). Нажмите на эту корзину, чтобы просмотреть свои данные.

Шаг 2: Psutil

Мы будем использовать psutil, чтобы получить легкий доступ к большей части системной информации, которую мы будем использовать для создания нашей информационной панели. Чтобы установить библиотеку psutil Python, перейдите в терминал на своем Pi и введите:

$ sudo pip install psutil

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

$ cd / home / pi /

$ mkdir pihealth $ cd pihealth

Оказавшись в новом каталоге, создайте сценарий, выполнив следующие действия:

$ nano pihealth.py

Откроется текстовый редактор. Скопируйте и вставьте код из этого репозитория Github в текстовый редактор.

В строке 8 вы увидите раздел Пользовательские настройки:

# --------- Пользовательские настройки ---------

# Настройки начального состояния BUCKET_NAME = ": computer: Pi3 Performance" BUCKET_KEY = "pi0708" ACCESS_KEY = "ЗАСТАВЬТЕ СВОЙ НАЧАЛЬНЫЙ КЛЮЧ ACCESS_KEY ЗДЕСЬ" # Установите время между проверками MINUTES_BETWEEN_READS = 1 METRIC_UNITS = False # --------- ------------------------

Вам нужно будет поместить ключ доступа к исходному состоянию в назначении переменной ACCESS_KEY. Чтобы найти это, перейдите на главную страницу исходного состояния, щелкните свое имя пользователя в правом верхнем углу, перейдите в мои настройки и найдите там ключ доступа к потоковой передаче. Если вы этого не сделаете, ваши данные не будут переданы в вашу учетную запись начального состояния, что вас очень огорчит и расстроит.

Переменную MINUTES_BETWEEN_READS важно установить в зависимости от вашего приложения. Если вы собираетесь запускать этот скрипт в течение нескольких дней / недель / месяцев, вы захотите увеличить это число, например, каждые 2-5 минут. Если вы запускаете этот сценарий для мониторинга производительности краткосрочного приложения, вам может потребоваться обновление каждые несколько секунд.

После обновления текста сохраните и выйдите из текстового редактора. Мы готовы приступить к сбору системных данных. Чтобы запустить файл Python, введите следующую команду:

$ python pihealth.py

Совет: если вы хотите запустить этот сценарий в фоновом режиме и быть уверенным, что он не завершится, если ваше SSH-соединение разорвано или терминал закрыт, вы можете использовать следующую команду:

$ nohup python pihealth.py &

Ошибка python.h: если вы получаете сообщение об ошибке со ссылкой на python.h всякий раз, когда пытаетесь использовать psutil в скрипте, установка библиотек разработки python может устранить ошибку:

$ sudo apt-get install gcc python-dev

$ sudo pip install psutil

Шаг 3. Настройте панель инструментов

Настройте свою панель управления
Настройте свою панель управления
Настройте свою панель управления
Настройте свою панель управления

Перейдите в свою учетную запись начального состояния и щелкните новое ведро данных под названием Pi3 Performance. Это ваша панель управления. Давайте настроим и систематизируем данные на этой панели во что-нибудь полезное.

На этой панели есть много плиток и потоков данных. Давайте сделаем плитки меньше и выведем всю информацию на один экран. Нажмите кнопку «Редактировать плитки» в верхнем левом углу и снимите флажок «Всегда помещать плитки». Это переводит макет нашей панели в ручной режим. Затем измените размер каждой плитки до 1/4 ее исходного размера, щелкнув и перетащив угол каждой плитки в режиме редактирования. Вы можете перетащить каждую плитку в любое место на экране, которое вам нравится.

Одна из многих отличных вещей, которые вы можете сделать с помощью этой панели инструментов, - это создать несколько плиток и представлений данных для каждого потока данных. Например, вы можете создать плитки, чтобы увидеть линейный график температуры процессора, а также график датчика и последнее значение. Чтобы добавить новую плитку, нажмите Edit Tiles, затем + Add Tile. Появится новое окно конфигурации Tiles. Выберите поток данных, который будет управлять этой плиткой в поле SignalKey, затем выберите Тип плитки и создайте заголовок для этой плитки.

На своей приборной панели я транслировал три Pi в одну приборную панель, чтобы сравнить использование процессора и температуру.

График датчика чрезвычайно полезен для потоков данных, таких как использование диска (%) и использование процессора (%). Когда вы выбираете вид графика шкалы, вы можете установить минимальное и максимальное значение для шкалы в Конфигурации плитки. Важно установить минимальное / максимальное значение 0/100 для индикаторов использования диска (%) и использования процессора (%), чтобы плитки имели смысл.

Вы можете добавить фоновое изображение на свою панель инструментов, чтобы дать вам больше контекста.

Вот публичные акции двух созданных мною дашбордов:

  1. https://go.init.st/6g3spq4
  2. https://go.init.st/ynkuqxv

Рекомендуемые: