Оглавление:

Установка и настройка сетевого монитора Shinken на Raspberry Pi: 14 шагов
Установка и настройка сетевого монитора Shinken на Raspberry Pi: 14 шагов

Видео: Установка и настройка сетевого монитора Shinken на Raspberry Pi: 14 шагов

Видео: Установка и настройка сетевого монитора Shinken на Raspberry Pi: 14 шагов
Видео: Что, черт возьми, не так с моим сервером 2024, Ноябрь
Anonim
Установите и настройте сетевой монитор Shinken на Raspberry Pi
Установите и настройте сетевой монитор Shinken на Raspberry Pi

ПРИМЕЧАНИЕ: последний раз shinken обновлялся в MAR2016 до стабильной версии 2.4.3. Итак, несколько лет назад я перешел к другим способам мониторинга домашней сети. Кроме того, похоже, что php5 недоступен

Поэтому, пожалуйста, не используйте это руководство!

Установите и настройте последнюю версию shinken Network Monitor для дома или малого бизнеса.

На работе моя команда разрабатывает программное обеспечение для более чем 75 классов серверов, с более чем 300 экземплярами в нескольких центрах обработки данных и точках присутствия. Существует опытная операционная группа, которая контролирует и поддерживает работу этих серверов 24 часа в сутки, 7 дней в неделю. У меня нет ничего близкого к их знаниям или опыту. Кроме меня, у меня нет никого, кто поддерживает мою домашнюю сеть. И я хочу тратить нулевое время на мониторинг и обслуживание моей домашней сети.

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

  • ноутбуки и планшеты
  • читатели электронных книг
  • сотовые телефоны
  • гнездовые термостаты, звонки в дверь
  • система безопасности, система орошения
  • смарт-телевизоры, ресиверы U-verse и видеорегистраторы
  • серверы потокового мультимедиа (Apple TV, Roku, ChromeCast FireStick)
  • проекты домашней автоматизации raspberry pi

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

Почему в доме должен быть сетевой монитор? В домашней сети есть важные серверы и службы. Примеры критически важных серверов: шлюз ISP, точка беспроводного доступа, система безопасности и система орошения. Примеры критически важных услуг: резервное копирование ПК или MAC, обеспечение работы Wi-Fi или Интернета с необходимой скоростью. Чтобы убедиться, что критически важные службы / серверы работают, их следует регулярно проверять вручную, что требует много времени. В качестве альтернативы серверы следует автоматически проверять с помощью сетевого монитора, который пытается исправить проблему и отправляет предупреждение, если это невозможно.

Shinken - это сетевой монитор, который работает на любом компьютере. В этом руководстве я заставлю его запустить Raspberry Pi (2 или 3) с Diet-Pi или raspbian.

Существует множество отличных приложений для мониторинга сети. Примеры: SolarWinds, NetCool и nagios. Эти приложения могут отслеживать, выявлять проблемы, самостоятельно исправлять и отправлять предупреждения.

В общем, я старался, чтобы моя сеть была недорогой и простой в обслуживании и обновлении. Я сосредоточился на приложениях с открытым исходным кодом, написанных на небольшом количестве языков. Мои предпочтительные языки: python, bash, html и css.

Shinken - это переписанный nagios с открытым исходным кодом на Python. Итак, shinken вписывается в мои ограничения и отвечает моим потребностям.

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

Шаг 1: Соберите детали

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

Получите запчасти и инструменты (цены в долларах США):

  • Raspberry Pi 2 модель B (Pi 3) Element14 35 долларов (39 долларов)
  • Адаптер Panda 300n WiFi Amazon $ 16,99 (не требуется, если используется Pi 3)
  • USB-адаптер питания 5,2 В, 2,1 А от Amazon $ 5,99
  • Кабель Micro USB - USB 3 фута от Amazon $ 4,69
  • Кабель Ethernet CAT5e / 6 $ x.xx, в зависимости от длины
  • Чехол от Amazon $ 6,99
  • SanDisk Ultra 16 ГБ microSDHC класса 10 с адаптером (SDSQUAN-016G-G4A) от Amazon $ 8,99
  • Обычные или многоразовые предметы:

    • MacBook Pro (я использую MAC, потому что он работает под управлением Linux в качестве базовой ОС. Однако можно использовать ПК с Windows)
    • FTDI TTL-232R-RPI Последовательный USB-кабель от Mouser $ 15
    • ТВ с портом HDMI
    • USB-клавиатура
    • USB-мышь
    • Кабель HDMI (нужен только при первом проходе)

Примечания:

  • Текст, заключенный в пиктограмму, например ♣ replace-this ♣, следует заменить фактическим значением. Конечно, убрать лопаты.
  • Команды обозначаются символом $. Если вы выполняете команды вырезания и вставки, не копируйте $.

Шаг 2: Настройте Raspberry Pi

Используйте это руководство для настройки Raspberry Pi с DietPi. Если хотите, с этой инструкцией можно использовать Raspbian.

Я изменил имя хоста на «имя-монитора». Замените элементы в ♣ фактическими значениями.

Шаг 3. Откройте окно терминала и войдите в систему

Перед каждым из следующих шагов:

  • Откройте окно терминала на MacBook или ПК, а затем
  • Войдите в Raspberry Pi

$ ssh pi @ ♣ raspberry-pi-ip-адрес ♣

Если вы установили avahi-daemon на свой Raspberry Pi, вы можете войти в систему таким образом (я ленив и не хочу запоминать IP-адреса):

$ ssh pi ♣ имя хоста ♣.local

Шаг 4. Всегда обновляйте и обновляйте

Перед установкой новых пакетов на сервер всегда обновляйте и обновляйте.

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

$ sudo apt-get update -y

$ sudo apt-get upgrade -y $ sudo apt-get autoremove $ sudo reboot

Или вы можете пропустить все оставшиеся шаги и использовать автоматическую установку в одном из приложений.

Шаг 5: Установите зависимости Shinken

Часто shinken запускается на очень большом сервере и устанавливается на виртуальной машине (ВМ). На большом сервере можно запускать несколько виртуальных машин. Виртуальные машины имеют много преимуществ при администрировании нескольких серверов или нескольких экземпляров одного и того же сервера. Виртуальные машины эффективно используют дорогостоящие серверные ресурсы.

Виртуальная машина может работать на Raspberry Pi. Однако многие преимущества запуска виртуальной машины на Raspberry Pi за 35 долларов теряются. Shinken НЕ требует виртуальной машины. Эта инструкция не использует виртуальную машину.

Установите зависимости shinken: sqlite3, php5, python3 и некоторые библиотеки python:

$ sudo apt-get install sqlite3 -y

$ sudo apt-get install php5 -y $ sudo apt-get install python3 -y $ sudo apt-get install python-pip python-pycurl python-cherrypy3 python-setuptools -y

Шаг 6: Установите Shinken

Добавьте пользователя shinken и установите его с помощью pip.

$ sudo adduser shinken

$ sudo pip install shinken $ sudo adduser shinken sudo

Вышеупомянутое устанавливает shinken и некоторые демоны в /etc/init.d:

  • синкен-поллер
  • синкен-реакционер
  • синкен-приемник
  • shinken-scheduler
  • синкен-брокер

Шаг 7: Инициализируйте и запустите Shinken

На случай, если shinken запущен, остановите его. Также создайте каталог журнала и установите разрешения.

$ sudo mkdir / var / log / shinken

$ sudo chmod 777 / var / log / shinken $ sudo service shinken stop

Для инициализации и запуска shinken выполните следующее:

$ sudo shinken --init

$ sudo /etc/init.d/shinken start

Убедитесь, что shinken настроен правильно:

$ / usr / bin / синкен-арбитр -v -c /etc/shinken/shinken.cfg

Сделайте запуск shinken при загрузке

$ sudo update-rc.d shinken по умолчанию

Шаг 8: установка и настройка Sqlite3

Настройте sqlite в качестве базы данных shinken:

$ sudo shinken install sqlitedb

Создайте файл конфигурации для добавления sqlite:

$ sudo nano /etc/shinken/modules/sqlitedb.cfg

Я использую sqlite3. Неясно, как это отображается в sqlite3 или в конкретный файл базы данных sqlite.

define module {

имя_модуля sqlitedb тип_модуля sqlitedb uri /var/lib/shinken/webui.db}

Изменить права доступа к файлу

$ sudo chmod 777 /etc/shinken/modules/sqlitedb.cfg

Шаг 9: Установите Shinken Web UI

Установите веб-интерфейс Shinken:

$ sudo / usr / bin / shinken поиск в webui

$ sudo / usr / bin / shinken install webui Захват: webui ОК, webui

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

$ sudo nano /etc/shinken/modules/webui.cfg

Отредактируйте главный брокер, включив в него модули веб-интерфейса.

$ sudo nano /etc/shinken/brokers/broker-master.cfg

Измените строку:

модули

к

модули webui

Перезапустить shinken

$ sudo /etc/init.d/shinken перезапуск

Шаг 10: Добавьте пользователей и пароли

Убедитесь, что установлен метод авторизации пользователей shinken

$ sudo shinken install auth-cfg-password Редактировать конфигурацию веб-интерфейса shinken

$ sudo nano /etc/shinken/modules/webui.cfg

Измените так, чтобы он выглядел:

модули auth-cfg-password

Vince35 предполагает, что на этом этапе необходим перезапуск:

$ sudo /etc/init.d/shinken перезапуск

Откройте окно браузера и войдите в систему, используя пароль и имя пользователя: admin, admin. Введите в URL-адрес браузера следующее (удалите пробелы вокруг двоеточия):

♣hostname♣.local:7767

войти с помощью администратора, raspberry-pi-password

И должно работать!

Шаг 11: Приложение: ссылки

Сетевой мониторинг

Интересный обзорный документ по мониторингу сети

Сетевые мониторы

  • fing:
  • HowToGeek.com - отличный источник
  • MRTG:
  • Netbeez:
  • Компьютерщик Raspberry Pi:
  • Shinken: переписать Nagios на python:
  • Shinken Install:
  • Настройка веб-интерфейса Shinken:
  • GitHub systemd:
  • Роб Лейтон: Настройка сервера мониторинга Shinken вручную

Шаг 12: Приложение: обновления

15OCT2016: обновленное изображение обложки с добавлением логотипов Shinken и Raspberry Pi

16OCT2016: Некоторые отрывки перефразированы. Без технических изменений.

19OCT2016: Обновлены инструкции и UAI для запуска shinken при перезагрузке.

Будущие улучшения:

Добавьте системы, которые нужно отслеживать, либо в инструкциях, либо в приложении с примерами сценариев

Шаг 13: Приложение: Устранение неполадок

Изменить права доступа к каталогам

/ usr / bin

/etc/init.d / etc / shinken / var / lib / shinken / modules / webui / / etc / shinken / modules /

Я перезапустил Raspberry Pi, но shinken не запускался. Я не мог писать в каталоги журналов. Итак, я внес следующие изменения:

sudo mkdir / var / log / shinken

sudo chmod 777 / var / log / shinken

shinken localhost вниз

Если localhost отображается как down.

$ sudo nano / и т. д. / сеть / интерфейсы

По какой-то причине мой файл / etc / network / interfaces обычно испорчен. Измените эту строку:

auto lo iface lo inet loopback

к этим двум строкам:

авто лоу

iface lo inet loopback

И перезагружаемся

$ sudo перезагрузка

Init.d должен запуститься автоматически, но мне пришлось сделать это:

$ sudo /etc/init.d/shinken перезапуск

Шаг 14: Приложение: автоматическая установка

Сделайте установку и настройку shinken очень простой, автоматизируя инструктируемые шаги с помощью сценария автоматической установки bash. Сценарий предполагает, что Raspberry Pi работает под управлением raspbian или Dietpi, который был настроен с использованием одной из встроенных ссылок.

Доделал скрипт на github и

  • проверил источник на Dietpi
  • протестировал скрипт автоматической установки на Dietpi

    • бежал один раз
    • запускался несколько раз, с прерываниями CTRL-c
  • протестировал скрипт автоматической установки на raspbian и diet-pi

В сценарии предполагается, что имя пользователя = pi и пароль = raspberry, и сценарий пытается установить shinken. Если это не так, отредактируйте файл соответствующим образом.

Откройте окно терминала на MacBook или ПК и выполните следующие команды:

$ ssh pi @ ♣ IP-адрес ♣

$ sudo wget https://raw.githubusercontent.com/dumbo25/uai_install_shinken_rpi/master/shinken_uai.sh $ sudo chmod o + x shinken_uai.sh $ sudo bash shinken_uai.sh $ sudo reboot $ sudo /etc/init.d/ shinken перезапуск

Скрипту требуется несколько минут для запуска на Diet-Pi.

Обязательно перезагрузите Raspberry Pi и дождитесь запуска shinken

Откройте браузер и в окне URL введите:

♣ ip-адрес ♣: 7767

Войдите в систему, используя admin и ♣ raspberry-pi-password ♣

И должно работать!

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