Мониторинг компьютера на raspberry pi

Raspberry Pi и система мониторинга Nagios

Что такое Nagios? Это свободная система с открытым исходным кодом, предназначенная для мониторинга компьютерных сетей и серверов. Система используется для контроля состояния сетевых служб и устройств, а также для оповещения администраторов сети о возникающих неисправностях или отказах.

С помощью Nagios и Raspberry Pi можно создать недорогой сервер для выполнения таких задач, как работа по мониторингу, сканирование сети, а также наблюдение за сетевой активностью.

В этой статье я хочу рассказать об установке Nagios на Raspberry Pi.

В качестве операционной системы я использовал SD карту с образом Debian «squeeze» (прим. переводчика: в настоящее время актуальная версия ОС — Raspbian «wheezy», который построен на основе Debian «wheeze». Скачать версию, указанную в статье можно здесь, актуальные версии доступны здесь). Инструкции по установке образа системы можно найти в этой статье. Для установки понадобится SD карта, объемом не менее 2 Гб (желательно больше).

Как только SD карта будет готова — вставляйте её в Raspberry Pi и включайте его! Хорошим ходом будет запустить ssh демон, чтобы иметь возможность работать удалённо, но это на ваш выбор.

Нам придется устанавливать много пакетов с помощью apt-get, поэтому будет лучше обновить его базу данных (если вы находитесь за прокси-сервером, используйте «export http_proxy=http://xxx.xxx.xxx.xxx:yyyyyy» для указания адреса прокси программе apt-get).

Обратите внимание, что Debian имеет заранее скомпилированный пакет Nagios (3.2), который можно очень просто установить командой: apt-get install nagios3.

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

udvnl

Не так давно нашел для себя довольно полезную утилиту RPI Monitor для контроля и мониторинга своего одноплатного компьютера Rasspberry, Orange Pi.
В связи с ошибками, возникающими при установке этой утилиты, по русскоязычным инструкциями, приведу свою.

RPi-Monitor это основанное на веб программное обеспечение для контроля за платами Raspberry Pi. Также имеется возможность установки на Orange Pi.
Данный инструмент может быть полезен, чтобы контролировать использование дискового пространства, нагрузку на процессор, память и сетевой трафик, температуру.
RPI Monitor довольно прост в установке, и наглядно показывает информацию о системе. а также обеспечивает аккуратное визуальное представление по многим данным.
Первым делом приведу ссылку на первоисточнок: XavierBerger/RPi-Monitor

Устанавливаем RPi-Monitor‘s публичный ключ и добавляем RPI Monitor в доверенные репризитории:

sudo apt-get install dirmngr
sudo apt-key adv —recv-keys —keyserver keyserver.ubuntu.com 2C0D3C0F
Добавляем RPI Monitor в список репозитория:

Добавление сенсоров на главный экран.

Чтоб добавить данные сенсоры на главный экран, после перезагрузки системы необходимо зайти на вкладку “Обзор” далее нажать на плюсик. Далее в открывшемся окне можно выбрать, что мы хотим добавить. Каточки или объекты. Для наглядности лучше выбрать карточки и выбрать какой карточкой мы хотим это наблюдать. Либо графиком, либо шкалой, либо объектом. Пример выглядит так:

После выбора нужной нам карточки, появится настройка карточки и здесь нам нужно в поле “Объект” выбрать из списка наш сенсор который мы в конфигах добавили ранее. С каждым разом при добавлении новых вещей в конфиг, количество объектов будет увеличиваться. Вот на следующем скрине видно, как в поле “объект” мы выбрали sensor.proccessor_temperature. Это какраз сенсор отслеживающий температуру малинки.

Ну и после добавления всех сенсоров, Главный экран Home Assistant Будет выглядеть примерно так как скрин начала статьи.

Так же все это п шагам и подробно рассказываю и показываю в видео:

Мониторинг температуры платы Raspberry

Задача: провести замер изменения температуры на плате миникомпьютера Raspberry Pi 3 Model B по части температуры процессора и видеочипа.

Ранее я затрагивал тему, где выводил градусы до установки кулера на миникомпьютер и после. Но ты было разово для сравнения. Сейчас же я поставлю сбор этих значений и визуализацию в Zabbix с целью наглядно наблюдения за пиками сильной нагрузки. Да и просто интернесно.

Т.к. для того чтобы получать информацию о температуре видеочипа пользователь должен быть в группе video, то добавим пользователя zabbix в эту группу: usermod -G video zabbix

pi@raspberrypi:~ $ cat /etc/group | grep video

pi@raspberrypi:~ $ sudo usermod -G video zabbix

Далее создаем скрипт который будет дергать Zabbix на определение температуры процессора:

pi@raspberrypi:~ $ sudo nano /usr/lib/zabbix/externalscripts/cputemp

pi@raspberrypi:~ $ sudo chmod +x /usr/lib/zabbix/externalscripts/cputemp

pi@raspberrypi:~ $ sudo /usr/lib/zabbix/externalscripts/cputemp

Далее создаем скрипт который будет дергать Zabbix на определение температуры видеочипа:

pi@raspberrypi:~ $ sudo nano /usr/lib/zabbix/externalscripts/gputemp

/usr/bin/vcgencmd measure_temp | cut -c 6-9

pi@raspberrypi:~ $ sudo chmod +x /usr/lib/zabbix/externalscripts/gputemp

pi@raspberrypi:~ $ sudo /usr/lib/zabbix/externalscripts/gputemp

pi@raspberrypi:~ $ sudo chmod 755 /usr/lib/zabbix/externalscripts/*

Теперь нужно в файл агент Zabbix установленного также на системе Raspbian миникомпьютера Raspberry Pi 3 Model B внести следующие изменения:

pi@raspberrypi:~ $ sudo nano /etc/zabbix/zabbix_agentd.conf

pi@raspberrypi:~ $ sudo service zabbix-agent restart

pi@raspberrypi:~ $ sudo zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf -t cputemp

pi@raspberrypi:~ $ sudo zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf -t gputemp

После по аналогии с этой заметкой добавляю элементы данных в Zabbix

  • один элемент данный Decimel
  • второй элемент данных Float т. к. в выводе идет число потом точка потом число.

У меня ошибка когда натравил шаблон на хост:

Проблема с активацией Zabbix агента на плате Raspberry Pi 3 Model B

Received empty response from Zabbix Agent at 10.7.8.53. Assuming that agent dropped connection because of access permissions

pi@raspberrypi:~ $ sudo tail -f /var/log/zabbix/zabbix_agentd.log

2988:20170505:170045.515 TLS support: YES

2988:20170505:170045.516 using configuration file: /etc/zabbix/zabbix_agentd.conf

2988:20170505:170045.517 agent #0 started main process

2990:20170505:170045.519 agent #1 started collector

2991:20170505:170045.523 agent #2 started listener #1

2992:20170505:170045.526 agent #3 started listener #2

2994:20170505:170045.538 agent #4 started listener #3

2995:20170505:170045.541 agent #5 started active checks #1

2994:20170505:170138.035 failed to accept an incoming connection: connection from «10.7.8.53» rejected, allowed hosts: «127.0.0.1»

Нужно в конфигурационном файле агента выставить значение параметра Server в значение текущего IP адреса клиентской части где установлен Zabbix Agent:

pi@raspberrypi:~ $ sudo nano /etc/zabbix/zabbix_agentd.conf

pi@raspberrypi:~ $ sudo service zabbix-agent restart

pi@raspberrypi:~ $ sudo service zabbix-server restart

После ошибка пропадает. Хорошо когда логи расширенные.

Плата Zabbix успешно заведена в Zabbix

Через некоторое время открываю график и см., в текущий момент кроме Zabbix и созданного Template на системе ничего нет.

Так выглядит график снимаемых показателей температуры

Итого, я сделал что и задумывал. Температура процессора и видеочипа стоит на мониторинге и если сильно не нагружать, как у меня сейчас то и они не греются, в прочем, оно из этого и вытекает. Для меня же это был просто эксперимент, а сильно ли отличается работа с Ubuntu и Windows системами от системы Raspbian, как оказалось ничем, все просто. Ставишь задачу, пишем план и по этапно решаешь. На этом у меня все, с уважением автор блога Олло Александр aka ekzorchik.

Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:

Поблагодари автора и новые статьи

будут появляться чаще 🙂

Карта МКБ: 4432-7300-2472-8059

Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.

Шаг 3. Работа с LCD-дисплеем

Вывод данных на LCD-дисплей с использованием пакета lcd — элементарная задача. Пакет представляет собой слой абстракции, расположенный над низкоуровневыми механизмами, предназначенными для работы с дисплеем. Применение подобного пакета избавляет нас от необходимости решать массу мелких задач при выводе данных на дисплей.

Вот код, который отвечает за работу с дисплеем.

Сначала мы создаём объект lcd , передавая соответствующему конструктору объект с параметрами, содержащий, кроме прочего, сведения о пинах, используемых для подключения дисплея к плате.

Свойства объекта с параметрами cols и rows задают количество столбцов и строк дисплея. Здесь используется дисплей 16×2. Если вы используете другой дисплей, например, имеющий 8 столбцов и 1 строку, замените числа 16 и 2, соответственно, на 8 и 1.

Для того чтобы вывести что-то на дисплей, нужно последовательно использовать следующие методы объекта lcd :

  • lcd.setCursor() — выбор позиции, начиная с которой будут выводиться данные.
  • lcd.print() — вывод данных.

Сейчас у вас уже должно получиться вывести что-то на дисплей. Например, выполнение команды writeToLcd(0,0,’Hello World’) должно привести к выводу на дисплее, в первой строке, начиная с первого столбца, текста Hello World .

Контролируем сеть с помощью Raspberry Pi

Привет, Хабр! Представляю вашему внимаю перевод статьи из журнала APC.

image

Безопасность сети – неотъемлемое условие для обеспечения целостности ваших данных и аппаратного оборудования. Несомненно, брандмауэр на маршрутизаторе и средства защиты ПО необходимы, однако, чтобы знать больше о том, что происходит в сети, нужно иметь инструмент для её наблюдения и контроля.

Может показаться, что средство для мониторинга сети, которое бы посылало сигналы компьютеру о попытке взлома, является лишь элементом сюжета фантастического фильма, однако такой инструмент имеет место в реальности. По сути это означает, что вы можете быстро узнать, когда устройства, находящиеся в пределах вашей сети, были отключены от Интернета (например, приложения для умного дома или Интернет вещей), и обнаружить неавторизованное подключение к своему роутеру или сетевому аппаратному обеспечению. Всё, что вам потребуется, это одноплатный компьютер Raspberry Pi и программа Nagios.

Программа Nagios, как и одноплатный компьютер Raspberry Pi, доступна в нескольких версиях. Для простоты понимания здесь будут рассмотрены два варианта инсталляции программы: создание образа диска и ручная установка на текущую ОС.

NEMS (Nagios Enterprise Monitoring Server) — корпоративный контрольный сервер Nagios, он устанавливается на Raspberry Pi и доступен по ссылке: bit.ly lxf253nems. Для него потребуется карта памяти ёмкостью по меньшей мере 16 Гб, но лучше всего выбрать 32 Гб. Для работы рекомендуется использовать Raspberry Pi 3B+, хотя подойдёт любая версия, кроме Raspberry Pi1 Model A и Raspberry Pi Compute Module. Заметьте, что пакет NEMS может быть загружен только через BitTorrent. Однако другие образы диска Nagios находятся в свободном доступе. После загрузки пакета используйте инструмент создания образа диска и записи файлов IMG на SD карту.

Как только NEMS будет готов к запуску на одноплатном компьютере, подсоедините Raspberry Pi к роутеру через кабель Ethernet. И хотя сервер может работать через Wi-Fi, Ethernet всё же является более надёжным средством для мониторинга сети. Вставьте SD-карту, запустите Raspberry Pi и дождитесь завершения настройки NEMS. В процессе произойдёт автоматическое изменение размера файловой системы, так что начальная загрузка продлится дольше, чем обычно. С помощью протокола безопасной оболочки (SSH) подключитесь к NEMS, используя nemsadmin в качестве имени пользователя и пароля.
Затем впишите команду:

После этого начнётся установка NEMS. На данном этапе нужно будет выполнить региональную настройку, выбрать способ кодировки, создать аккаунт и добавить e-mail адрес, на который будут приходить уведомления. Для этого в браузере на рабочем столе откройте ссылку nems.local (или используйте IP-адрес Raspberry Pi), чтобы начать настройку.

Ручная инсталляция

В качестве альтернативы можно установить Nagios вручную на любую операционную систему для Raspberry Pi, например, Raspbian. Чтобы добиться лучших результатов, начните с чистой инсталляции ОС, затем запустите SSH-сеанс. Для этого сначала обновите базы данных:

Затем установите Nagios:

Дождитесь появления диалогового окна, чтобы создать учётную запись администратора, создайте и запишите пароль, потому что он понадобится вам позже. Данный процесс не займёт много времени. После этого вы получите доступ к Nagios с другого устройства через IP-адрес 192.168.1.10/nagios3. Используйте логин nagiosadmin и пароль, созданный раннее, когда потребуется.

Мониторинг сети

image

После инсталляции Nagios на Raspberry Pi вы получите готовую к запуску систему непрерывного мониторинга. Осталось только настроить её под ваши нужды. Если программа была установлена вручную, то хост-узел конфигурируется через терминал. Для этого нужно создать файл настройки. Для примера, назовём его monitor.cfg:

Добавьте в него сведения об устройстве, которое вы хотите отслеживать. Допустим, у вас имеется сервер Minecraft на Raspberry Pi. Введите следующие команды:

Команда generic-host здесь является темплейтом. Его можно найти в папке generic-host_nagios2.cfg. Темплейты используются для экономии времени при создании установки для сеанса текущего контроля на устройстве. Для этого вам нужно лишь создать множественные записи, основанные на заданном определении и поменять host_name (имя вычислительного узла), alias (дополнительное имя), и address (IP-адрес) устройства, за которым вы хотите наблюдать.
Нажмите Ctrl-X, чтобы сохранить изменения и выйти, затем перезагрузите Nagios:

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

Она проверит правильность файлов конфигурации. После этого не забудьте перезагрузить Nagios.
Как правило, мониторинг сети осуществляется через браузер. Вкладку можно оставлять открытой на неопределённое время. Дистанционное наблюдение также можно запустить на рабочем столе Raspberry Pi через VNC (система управления удалённым компьютером).

Помимо терминала, Nagios настраивается через веб-браузер. Вам нужно лишь открыть меню настройки и конфигуратор NEMS, а затем добавить описание узла с теми же учётными данными, которые требовались для ручной установки, и необходимые уведомления.

Используйте раздел меню «Отчёты», чтобы следить за работой Nagios. Внешняя часть программы может быть представлена в двух версиях: модернизированный пользовательский интерфейс Adagios и созданный несколько лет назад интерфейс Nagios Core. Оба они полностью пригодны для работы.

Возможности Nagios велики, так что стоит потратить время на то, чтобы ознакомиться с функционалом программы, добавить устройства, проверить журналы сетевой активности, включить визуализацию и т. д. Если вы используете NEMS, то легко можете настроить хост-узел посредством интерфейса браузера таким же образом.

Вот и всё – ваш Raspberry Pi с установленной Nagios готов для мониторинга сети. Он будет работать в фоновом режиме и оповестит вас о любой проблеме с подключением оборудования и подозрительной активности в пределах вашей сети.

Adblock
detector