Мониторинг ssh логинов в zabbix

9 Проверки через SSH [Zabbix Documentation 3.0]

ru:manual:config:items:itemtypes:ssh_checks

SSH проверки выполняются без какого-либо агента. Zabbix агент не требуется для проверок выполняемых по SSH.

Для выполнения SSH проверок Zabbix сервер должен быть изначально сконфигурирован с поддержкой SSH2.

Минимально поддерживаемой версией библиотеки libssh2 является версия 1.0.0.

Проверки SSH предоставляют два метода аутентификации, пара логин пользователя/пароль и на основе ключа-файла.

Если вы не собираетесь использовать ключ, то никакой дополнительной настройки не требуется, при компиляции из исходных кодов, необходима также привязка библиотеки libssh2 к Zabbix.

Для использования элементов данных SSH на основе аутентификации по ключу необходимо произвести некоторые изменения в конфигурации сервера.

Откройте файл конфигурации Zabbix сервера (zabbix_server.conf) из под root и найдите следующую строку:

# SSHKeyLocation=

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

SSHKeyLocation=/home/zabbix/.ssh

Затем сохраните файл и перезапустите zabbix_server.

Где /home/zabbix домашняя папка для аккаунта zabbix пользователя и .ssh папка, куда будут по умолчанию сгенерированы с помощью команды ssh-keygen публичные и приватные ключи.

Обычно при установке пакетов zabbix-server на разных дистрибутивах ОС создается аккаунт zabbix пользователя с домашней папкой в не очень известных местах (как для системных аккаунтов). Например, для CentOS папка /var/lib/zabbix, для Debian она /var/run/zabbix.

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

Эти шаги можно пропустить, если аккаунт zabbix добавлен вручную в соответствии с разделом установки, потому что в этом случае домашняя папка, скорее всего, уже расположена в /home/zabbix.

Для изменения этой настройки у аккаунта zabbix пользователя все работающие процессы, которые его используют должны быть остановлены:

# service zabbix-agent stop
# service zabbix-server stop

Для изменения размещения домашней папки с попыткой переместить её (если папка существует), вы должны выполнить команду:

# usermod -m -d /home/zabbix zabbix

Вполне возможно, что домашняя папка не существует в старом месте (в CentOS, например), поэтому её необходимо создать в новом месте. Безопасная попытка, чтобы сделать это:

# test -d /home/zabbix || mkdir /home/zabbix

Чтобы быть уверенным что всё безопасно, можно выполнить дополнительные команды для установки разрешений к домашней папке:

# chown zabbix:zabbix /home/zabbix
# chmod 700 /home/zabbix

Теперь можно запустить ранее остановленные процессы:

# service zabbix-agent start
# service zabbix-server start

Теперь шаги генерирования публичных и приватных ключей можно выполнить командой:

# sudo -u zabbix ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/zabbix/.ssh/id_rsa): Created directory '/home/zabbix/.ssh'.
Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/zabbix/.ssh/id_rsa.
Your public key has been saved in /home/zabbix/.ssh/id_rsa.pub.
The key fingerprint is:
90:af:e4:c7:e3:f0:2e:5a:8d:ab:48:a2:0c:92:30:b9 [email protected]
The key's randomart image is:
+–[ RSA 2048]—-+
| |
| . |
| o |
| . o |
|+ . S |
|.+ o = |
|E . * = |
|=o . ..* . |
|… oo.o+ |
+—————–+

Возьмите на заметку: публичные и приватные ключи (id_rsa.pub и id_rsa соответственно) генерируются по умолчанию в папку /home/zabbix/.ssh, которая соответствует параметру конфигурации SSHKeyLocation Zabbix сервера.

Ключи других типов кроме “rsa” могут быть использованы, если поддерживаются утилитой ssh-keygen и библиотекой libssh2, которая используется Zabbix.

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

При использовании следующей команды, файл публичного ключа будет установлен на удаленный хост 10.10.10.10, для того чтобы потом можно было выполнять SSH проверки при помощи аккаунта root:

# sudo -u zabbix ssh-copy-id [email protected]
The authenticity of host '10.10.10.10 (10.10.10.10)' can't be established.
RSA key fingerprint is 38:ba:f2:a4:b5:d9:8f:52:00:09:f7:1f:75:cc:0b:46.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.10.10.10' (RSA) to the list of known hosts.
[email protected]'s password: Теперь попытайтесь зайти на машину с помощью “ssh '[email protected]'” и проверьте там: .ssh/authorized_keys
чтобы убедиться, что мы не добавили дополнительные ключи, которые нежелательны.

Теперь можно проверить вход по SSH с использованием приватного ключа по умолчанию (/home/zabbix/.ssh/id_rsa) у аккаунта zabbix пользователя:

# sudo -u zabbix ssh [email protected]

Если вход успешен, то часть настройки в командной строке завершена и удаленное соединение по SSH можно закрыть.

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

Поля, которые требуют специфичную информацию SSH элементов данных:

Источник: https://www.zabbix.com/documentation/3.0/ru/manual/config/items/itemtypes/ssh_checks

Мониторинг ssh логинов в zabbix

Заголовок немного кривоватый получился, не придумал, как правильно сформулировать. Суть в том, что я хочу мониторить с помощью zabbix удаленные подключения к серверам по ssh. Заббикс будет хранить у себя записи лога с информацией о ssh подключении, а в случае необходимости, отправлять об успешных входах оповещения.

Содержание:

  • 1 Введение
  • 2 Шаблон для мониторинга за SSH подключениями
  • 3 Заключение

Введение

Все будет сделано очень просто. Я буду мониторить системный log файл, который содержит информацию о ssh подключениях. В rpm дистрибутивах, в частности, в Centos это /var/log/secure. В deb дистрибутивах Debian/Ubuntu это /var/log/auth.log.

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

Потом передумал, так как если у вас используется стандартный ssh порт 22, то лог подключений по ssh будет огромного размера. Хранить его полностью в zabbix — забивать понапрасну базу данных.

В итоге решил хранить только информацию об успешных авторизациях.

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

Все будет сделано с использованием штатного функционала zabbix. На хостах не нужно ничего настраивать, кроме выдачи прав на чтение к лог-файлу группе zabbix. Так что придется немного пожертвовать локальной политикой безопасности. По-умолчанию, системный лог не может читать никто, кроме рута. Исправляем это в Centos:

# chgrp zabbix /var/log/secure
# chmod 640 /var/log/secure

и то же самое делаем в Debian/Ubuntu

# chgrp zabbix /var/log/auth.log
# chmod 640 /var/log/auth.log

На хосте все готово. Все остальное делаем на сервере мониторинга.

Если у вас еще нет своего сервера для мониторинга, то рекомендую материалы на эту тему. Для тех, кто предпочитает систему CentOS:

  1. Установка CentOS 7.
  2. Настройка CentOS 7.
  3. Установка и настройка zabbix сервера.

То же самое на Debian 9, если предпочитаете его:

  1. Установка Debian 9.
  2. Базовая настройка Debian 9.
  3. Установка и настройка zabbix на debian.

Шаблон для мониторинга за SSH подключениями

Я подготовил простой шаблон, который состоит из:

  1. Элемента данных SSH auth, с ключом log[/var/log/secure,»^.*sshd.*(Accepted|closed).*»,,,,,] и типом данных — Журнал (лог) 
  2. Триггера с условием {SSH Auth:log[/var/log/secure,»^.*sshd.*(Accepted|closed).*»,,,,,].str(Accepted,#1)}=1, который ищет в элементе данных строку Accepted и срабатывает, если ее находит. 

Не забудьте проверить, где у вас в системе находится лог с информацией о ssh авторизациях, и заменить этот путь в элементе данных.

На практике это все выглядит так. Когда вы подключаетесь по ssh на сервер, в zabbix приходит следующая информация.

Если включен триггер, то на почту получите уведомление, где сразу в тексте уведомления будет видно пользователя и адрес, с которого он подключился к серверу. Это удобно.

После того, как пользователь завершит свой сеанс, получите еще одно уведомление.

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

Скачиваем шаблон для версии 3.4 тут ssh-auth.xml. С другими версиями не проверял.

Заключение

Источник: http://problem-info.ru/monitoring-ssh-loginov-v-zabbix.html

Настройка SSH проверок в Zabbix

Понадобилось как-то для некоторых Linux серверов настроить SSH проверки, чтобы не устанавливать на них Zabbix-agent.
Сам Zabbix-server у меня установлен на Ubuntu Server.

Ниже по порядку опишу как настроить SSH проверки в Zabbix.

Авторизацию по SSH настроим по ключу вместо пароля, для этого остановим zabbix-agent и zabbix-server:

sudo service zabbix-agent stop sudo service zabbix-server stop

Создадим домашнюю директорию пользователя Zabbix (для хранения ssh ключей):

sudo usermod -m -d /home/zabbix zabbix sudo chown zabbix:zabbix /home/zabbix sudo chmod 700 /home/zabbix

Запустим обратно zabbix-agent и zabbix-server:

sudo service zabbix-agent start sudo service zabbix-server start

Откроем конфигурационный файл /etc/zabbix/zabbix_server.conf (в редакторе nano комбинация клавиш Ctrl+O и Enter означает сохранение, Ctrl+X выход):

sudo nano /etc/zabbix/zabbix_server.conf

Раскомментируем строку SSHKeyLocation и укажем путь к директории с ключами:

SSHKeyLocation=/home/zabbix/.ssh

Перезапустим zabbix-server:

sudo service zabbix-server restart

Генерируем ssh ключ:

sudo -u zabbix ssh-keygen -t rsa Нажмем Enter если предлагается путь /home/zabbix/.ssh/id_rsa На предложение зашифровать файл ключа нажмем Enter чтобы не шифровать его или введем два раза любой пароль (им будет зашифрован файл ключа и при подключении его придется указывать)

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

sudo -u zabbix ssh-copy-id -i /home/zabbix/.ssh/id_rsa.pub -p 22 [email protected]

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

И попробуем подключится к удаленному серверу без ввода пароля командой:

sudo -u zabbix ssh -p 22 [email protected]

Теперь в Zabbix добавим элемент данных к шаблону или хосту:
Имя: любое
Тип: SSH агент
Ключ: ssh.run[описание,ip,порт,кодировка] (например ssh.run[cpu,192.168.0.

55,22,utf8]
Метод аутентификации: Публичный ключ
Имя пользователя (на удаленном хосте): root
Файл публичного ключа: id_rsa.

pub
Файл приватного ключа: id_rsa
Фраза-пароль ключа: оставим пустым если не шифровали ключ паролем
Выполняемый скрипт: команда выполняемая на удаленном сервер, примеры ниже

Приведу ниже пример команд для Linux которые можно выполнить и получить различную информацию.
Загрузка процессора за 1мин/5мин/15мин:

cat /proc/loadavg |cut -d ” ” -f1 cat /proc/loadavg |cut -d ” ” -f2 cat /proc/loadavg |cut -d ” ” -f3

Количество текущих запущенных процессов указанной программы:

pgrep apache2|wc -l pgrep -c sshd

Свободное пространство в точке монтирования «/» (в мегабайтах):

df -m|grep “/$”|awk '{print $4}'

Занятое пространство в точке монтирования «/» (в процентах):

df|grep “/$”|awk '{print $5}'|tr -d “%”

Получено байт на сетевой интерфейс eth0:

cat /proc/net/dev|grep eth0|awk '{print $2}'

Отправлено байт на сетевой интерфейс eth0:

Читайте также:  Asterisk 11 и freepbx установка на debian 7 wheezy

cat /proc/net/dev|grep eth0|awk '{print $10}'

Количество свободной оперативной памяти:

Источник: https://ixnfo.com/zabbix-ssh-checks.html

Забыт пароль на Web-оснастку Zabbix | Реальные заметки Ubuntu & Windows

Итак, я вдруг ни с того ни с сего получил отказ в аутентификации в системе мониторинга Zabbix 3.2.6, ранее я использовал доменную авторизацию, но и локальная не подходит.

Может кто-то что-то делал, но он конечно же не признается, а система Zabbix мне пока еще нужна. Итак как же восстановить доступ, первое что я сделал это вернул аутентификацию на дефолтную, т. е. Локальную задействовав заметку.

Отлично! А вот пароль на учетную запись Admin не подходит.

Как же быть, ответ представлен в шагах ниже:

aollo@work:~$ ssh -l aollo 10.9.9.121

aollo@srv-zabbix:~$ cat /etc/apache2/sites-available/000-default.conf | grep DocumentRoot

DocumentRoot /var/www/html/zabbix

aollo@srv-zabbix:~$ cat /var/www/html/zabbix/conf/zabbix.conf.php | grep '$DB'

global $DB;

$DB['TYPE'] = 'MYSQL';

$DB['SERVER'] = 'localhost';

$DB['PORT'] = '0';

$DB['DATABASE'] = 'db_zabbix';

$DB['USER'] = 'user_zabbix';

$DB['PASSWORD'] = '612mbddr@';

$DB['SCHEMA'] = '';

Зная базу zabbix, административный логин и пароль к ней произвожу процедуру сброса пароля на Административную Web—учетку в интерфейс:

ekzorchik@srv-host:~$ mysql -u user_zabbix -p612mbddr@ db_zabbix

mysql> select passwd from users where alias='Admin';

+———————————-+

| passwd |

+———————————-+

| 5fce1b3e34b520afeffb37ce08c7cd66 |

+———————————-+

1 row in set (0.01 sec)

mysql> update users set passwd=md5('712mbddr@') where alias='Admin';

Query OK, 0 rows affected (0.05 sec)

Rows matched: 1 Changed: 0 Warnings: 0

mysql> exit

Теперь открываю браузер и уже в Web-интерфейс администрирования Zabbix я попаду с новыми Административными данными в виде логина и пароля:

http://IP&DNS/zabbix — user&pass (Admin&712mbddr@) нажимаю Enter и попадаю в Zabbix как и было задумано.

Заметка работоспособна. Теперь у меня есть все заметки имя которые я смогу восстановить доступ в систему мониторинга Zabbix. На этом у меня все, с уважением автор блога Олло Александр aka ekzorchik.

Источник: http://www.ekzorchik.ru/2017/12/forgot-password-on-zabbix-web-snap-in/

Zabbix | Система мониторинга серверов

Zabbix – довольно простая но в тоже время функциональная система мониторинга, которая проста как в установке так и в самой настройке.

Предоставляет если не всю, то почти всю информацию которая нужна, а то что не предоставляет, можно настроить самому отдельно.

В своё время я пользовался несколькими мониторингами: SpiceWorks и Catci.

Но в определённый момент решил попробовать Zabbix, и был приятно удивлён: прост в установке, быстр в настройке, довольно функционален, поддерживает русский язык 🙂
 

Как я уже говорил выше установка проста. Ставить мы будем на Centos 7. Вдаваться в подробности того как установить систему в минимальной конфигурации, я не буду. Просто сразу приступим к делу. После установки сразу же обновим систему:yum updateПосле чего обновляем само ядро системыrpm –import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.

el7.elrepo.noarch.

rpm yum install yum-plugin-fastestmirror yum –enablerepo=elrepo-kernel install kernel-mlСтавим загрузку по умолчанию с нового ядраgrub2-set-default 0Отключим фаерволsystemctl stop firewalld systemctl disable firewalldСтавим редктор nanoyum -y install nanoПосле чего расскоментируем строчки Port 22 и PermitRootLogin yes в файле /etc/ssh/sshd_confignano /etc/ssh/sshd_configотключим SElinuxnano /etc/sysconfig/selinuxМеняем значение SELINUX на disabledпосле чего перегружаемсяrebootТак же установим webmin, можно этого не делать, но считаю его всё равно полезным.создадим файлnano /etc/yum.repos.d/webmin.repoсо следующим содержимым[Webmin] name=Webmin Distribution Neutral #baseurl=http://download.webmin.com/download/yum mirrorlist=http://download.webmin.com/download/yum/mirrorlist enabled=1импортируем ключrpm –import http://www.webmin.com/jcameron-key.ascи устанавливаем webminyum install -y webminТеперь собственно приступим к установке самого zabbix. Для начала нам понадобиться БД. Поставим mariadbyum install mariadb mariadb-serverПосле чего стартуем и добавляем в автозагрузкуsystemctl start mariadb systemctl enable mariadb.serviceВыполняем скрипт/usr/bin/mysql_secure_installationПодключаем офф репозиторий. Следите за обновлениями. Мейби уже есть и новееrpm -Uvh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpmЗапускаем установку забикса вместе с веб панелью и поддержкой мускуляyum install zabbix-server-mysql zabbix-web-mysqlПосле чего создадим базу для работы zabbix. Я это делаю в heidisql, но можно и через консольmysql -uroot -ppassword > create database zabbix character set utf8 collate utf8_bin; > grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbixpass';Выйти из консоли БД можно командой exit.Теперь нужно импортировать схему БДzcat /usr/share/doc/zabbix-server-mysql-3.4.*/create.sql.gz | mysql -uroot -ptopsecret zabbixЗа место звёздочки укажите нужную версию.Конфигурируемnano /etc/zabbix/zabbix_server.conf
DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbixpassПосле чего стартуем сервер и добавляем в автозагрузкуsystemctl start zabbix-server systemctl enable zabbix-serverпроверяем лог на наличие ошибокtail -f /var/log/zabbix/zabbix_server.log
 Если вы видите тоже самое примерно, значит всё получилось и Zabbix работает. Если всё нормально и ни каких ошибок нет, то стартуем httpd и можно переходить в веб панельsystemctl start httpd systemctl enable httpdДля дальнейшей установки забикса переходим на адрес http://ip-address/zabbix

Жмём Next step. При проверке, у меня ругался на то что в конфигах php не указана временная зона. Исправим это. Открываем конфигnano /etc/httpd/conf.d/zabbix.confи раскомментируем/добавим строчкуphp_value date.timezone Asia/KrasnoyarskВременную зону ставьте свою ) после чего рестартуем httpdservice restart httpdи продолжаем установку.На следующем щаге спросит данные для доступа к мускуля. Указываем свои, после чего жмём всё время далее пока не увидим поздравления с тем что мы установили zabbix, после чего нас редиректнет на главную страницу веб панели.

Логин Admin
Пароль zabbix

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

Вдохновлялся статьями с портала serveradmin.ru

Источник: http://ya-hz.ru/experiment/nix/14-zabbix-sistema-monitoringa-serverov.html

Мониторинг коммутаторов Cisco, D-Link, 3Com, Zyxel в системе Zabbix

Мониторинг — это один из столпов обеспечения высокой доступности

ИТ-систем. Как правило, системные администраторы при установке системы мониторинга в первую очередь настраивают ее на проверку параметров серверов и обнаружение недоступности сервисов, запущенных на этих серверах.

Безусловно это приоритетная задача, но не стоит забывать и о другом оборудовании: ИБП, системах кондиционирования, сетевом оборудовании.

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

) в системе Zabbix с помощью пары полезных инструментов. В результате вы сможете получить полную картину происходящего в сети.

Включаем мониторинг

Думаю, я не ошибусь, если скажу, что большинству системных администраторов приходится работать с унаследованным «зоопарком» оборудования различных моделей и вендоров. К счастью, большинство моделей поддерживает открытый протокол SNMP

. Именно по нему мы и будем получать информацию о состоянии сетевых интерфейсов.

Предположим, что Zabbix у вас уже установлен. Чтобы воспользоваться SNMP нужно:

  1. включить поддержку SNMP на сетевом устройстве (команды зависят от производителя)
  2. добавить соответствующие item в Zabbix — по одному на каждый параметр; для этого нужно указать используемую версию SNMP, корректный идентификатор параметра SNMP OID и SNMP community (что-то типа имени пользователя)
  3. добавить триггеры для отслеживания нежелательных значений item

С учетом того, что у каждого сетевого порта может быть несколько отслеживаемых параметров, у типичного свитча — 24, а то и 48 портов, а свитчей в сети могут быть десятки, ручная конфигурация чересчур трудоемка.Для облегчения задачи необходимо использовать шаблоны (templates). Шаблон содержит в себе все необходимые item'ы, триггеры и графики — остается только завести хост и подключить к нему шаблон.

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

мануале. Если вы не нашли нужный шаблон, не расстраивайтесь: как правило, производители используют стандартные OID'ы из RFC1213 и RFC2233:

sysName.0 имя узла
.1.3.6.1.2.1.1.3.0 uptime
.1.3.6.1.2.1.2.2.1.8.X статус порта: 1(up) / 2(down) X — номер порта; у Cisco номер порта пятизначный: 100XX для 100 Мбитных портов,101XX для 1 Гбит/c
.1.3.6.1.2.1.2.2.1.16.X отправлено байт
.1.3.6.1.2.1.2.2.1.10.X принято байт
.1.3.6.1.2.1.31.1.1.1.5.X отправлено broadcast пакетов
.1.3.6.1.2.1.31.1.1.1.3.X принято broadcast пакетов
.1.3.6.1.2.1.31.1.1.1.4.X отправлено multicast пакетов
.1.3.6.1.2.1.31.1.1.1.2.X принято multicast пакетов
.1.3.6.1.2.1.2.2.1.17.X отправлено unicast пакетов
.1.3.6.1.2.1.2.2.1.11.X принято unicast пакетов
.1.3.6.1.2.1.2.2.1.20.X ошибок при отправке
.1.3.6.1.2.1.2.2.1.14.X ошибок при получении

Помимо этого можно считать имя интерфейса, MTU, скорость и другие параметры. Полный список смотрите на сайте Cisco

.Cisco Catalyst, как правило, поддерживают дополнительно:.1.3.6.1.4.1.9.9.109.1.1.1.1.5.1 — процент загрузки CPU.1.3.6.1.4.1.9.9.48.1.1.1.5.1 — занятая память (в байтах).1.3.6.1.4.1.9.5.1.2.13.0 — статус температуры (1 — нормальная, 2 — повышенная, 3 — критическая)

Генератор шаблонов

Заметив, то что идентификаторы стандартизованы, я написал простенький скрипт на PHP, который позволяет сгенерировать XML-шаблон для Zabbix с нужными OID для всех портов. Мы протестировали его на оборудовании Cisco (500G, 2960. 3550 и 3750), 3Com (2426, 2924, 2948), паре D-Link и Zyxel 4012. (Кто хочет, может скачать исходники).
Генератор создает шаблоны, которые умеют:

  • отслеживать параметры интерфейсов (см. таблицу выше) и выводить их на графике;
  • устанавливать триггер на падение порта;
  • устанавливать триггер на превышение скорости прироста ошибок на порте;
  • отслеживать загрузку процессора, памяти и температуры для Cisco.

После того, как вы сгенерировали и сохранили шаблон для устройства, сымпортируйте его: перейдите в Configuration → Templates и нажмите справа вверху кнопку Import. Создайте новый Host или отредактируйте существующий — привяжите к нему ваш шаблон.

Если вы хотите изменить какие-либо параметры (например, SNMP community), то это можно сделать прямо в Zabbix: зайдите в шаблон в Configuration → Templates , в Items выделите нужные элементы галочками и внизу выберите из выпадающего списка Mass update

Отладка

Если прошло несколько минут после добавления к устройству шаблона, а данные от SNMP так и не появились, необходимо проверить, может ли сервер Zabbix считать данные с устройства.

Делается это утилитой snmpget:snmpget -v версия_протокола -c комьюнити адрес_устройства OIDНапример, получим число отправленных байт на первом гигабитном порту для Cisco:snmpget -v 2c -c qwerty 192.168.1.1 .1.3.6.1.2.1.2.2.1.16.10101
IF-MIB::ifOutOctets.

10101 = Counter32: 2044250092snmpget -v 2c -c qwerty 192.168.1.2 .1.3.6.1.2.1.2.2.1.16.1
IF-MIB::ifOutOctets.1 = Counter32: 1691279168

Если вы получаете сообщение

Timeout: No Response from …, значит вам нужно убедиться, что SNMP включен на устройстве и серверу разрешено соединяться с портом 161/UDP коммутатора.
Сообщение No Such Object available on this agent at this OIDговорит о том, что запрашиваемый параметр не поддерживается.Чтобы прочитать полный список параметров с устройства выполните:snmpwalk -v версия_протокола -c комьюнити адрес_устройстваЛюбители GUI для чтения SNMP-данных с устройства могут воспользоваться программами типа MIB Browser.

Карта сети

Карту придется кропотливо составлять вручную. Тут надо знать пару трюков. Чтобы над соединительными линиями между оборудованием показывать скорость, добавьте в подпись вызов соответствующего item в фигурных скобках. Например:↑ {02-CS-42-3750:ifOutOctets.10112.

last(0)}
{02-CS-42-3750:ifInOctets.10112.last(0)} ↓02-CS-42-3750:ifOutOctets.10112.last(0) означает получить у хоста 02-CS-42-3750 последнее по времени значение параметра ifOutOctets (отправлено байт). ↑ и ↓ это просто коды стрелочек ↑ и ↓ для красоты.

Также в свойствах Link вы можете настроить отображении линии красным в случае падения порта в down.

Мониторинг состояния портов

К сожалению, в Zabbix нет удобного инструмента для просмотра состояния отдельных портов устройств, поэтому его пришлось написать. Информация импортируется из Zabbix и выводится администратору в удобном виде:

Серый цвет порта обозначает, то что он находится в down. Цвет от зеленого до красного меняется в зависимости от загрузки порта. Гигабитные порты выделены рамочкой.

Минус скрипта в том, что он писался «для себя», поэтому установка достаточно корявая (-:.

Скачайте исходники

Производительность

Нельзя не упомянуть о возможной проблеме с производительностью zabbix-сервера. Предположим, что вы раз в минуту получаете информацию об 11 параметрах каждого порта 50-ти 24-портовых свитчей. На базу данных zabbix-сервера ляжет нагрузка в среднем 220 записей в секунду.

Для слабой машины она может оказаться непосильной. Поэтому рекомендуется ограничивать количество item'ов или увеличивать интервал проверки. Мы считаем достаточным запрашивать статус порта, трафик, количество ошибок и широковещательных пакетов раз в 60 секунд.

Планы

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

Источник: https://webhamster.ru/mytetrashare/index/mtb0/13540544221yu2nhi7nv

Debian 8+ZABBIX+PPTP+MikroTik+Let’s Encrypt SSL — Блог

Создадим ZABBIX комбайн для мониторинга сетевого оборудования MikroTik (и не только), которое находится у наших клиентов за NAT или не имеет статики.

1. Покупаем VDS хостинг

Самый дешевый вариант нахождения в Москве — ruvds.com (кому нужна скидка — пишите в комментарии, дам промо-код)

Хостинг предлагает 1×2.2ГГц, 0.5Гб RAM, 10Гб HDD, 1IP за 130руб в месяц или 190руб в месяц при SSD. При оплате на год соответственно будет 91 руб в месяц при HDD и 133 руб в месяц при SSD

Купив VDS, ждем его создания и письма на почту с данными для входа. Нам нужен IP адрес и root пароль

2. Подключаемся и настраиваем

Скачиваем PuTTY, устанавливаем. В поле Host Name указываем IP нашего VDS, выбираем SSH, указываем название в Saved Session и жмем Save

Теперь можно выбрать сохраненную сессию и нажать Open

При подключении сразу меняем пароль от root пользователя командой

# passwd

Входить под root это не по фэншую, по этому добавим нового пользователя командой

# adduser moron

Проходим весь процесс добавления и создания пароля

Сменить пользователя можно командой

# su user

Обновляем Debian командой

# apt-get update && apt-get upgrade && reboot

3. Авторизация по ключу

Вводить каждый раз пароль не совсем безопасно

Создадим открытый и закрытый ключи и поместим открытый на наш сервер:

Скачиваем PuTTY Gen и генерируем 4096 битный ключ:

Сохраняем приватный и публичные ключи

От имени нужного пользователя вносим открытый ключ из PuTTY Gen:

# mkdir ~/.ssh # chmod 700 ~/.ssh # touch ~/.ssh/authorized_keys # chmod 600 ~/.ssh/authorized_keys # nano ~/.ssh/authorized_keysssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAgEA1eX4RWjq44OwcC31XLXCK28uP11jGY3skja2tW5vGciXp6RLdnV6EuJ+UdbMMVW8gCHowvJJWyu6ksZNuxtUF+X19YRmeCfBNTYLSzDZ729sQS2Rc6xkxJY+iZJEX0doU0WudDgAH9exRveuIpzqFSEjxwQnNmbSLllhrMdODETb8B3N/ya4eqVVZD+OwcDVU/pcHdQAKMePmKYecNNRERQ5VsrHgFTPj0ewDn+OClg58jE3wmFqLGWVOhHY4I2OQ36ctnVyBxRF984Cw9ctzgupRWht9rmjYHqAprWOijJkwZfZDbjqgyHZGoPty+jMmCByQWn8xpC6CIZzNUQKYpgAZ5Q2hTjJJaOwMBXb40bB70fle2rBhC8eSq/RoErOQ32QitxfNvbLjLCMrt3vqideliiJIPwh46aLzNE4SMUyB3ndzZDC4+7NjpiMvF0d1MUNeJD1yMqmznMHcC/1NNXDWigKQMiIh/EeV8bljo3mDyPN8yGwCj1mcsQTAVoV275TkxaK3Du0NFbHcPFKprDJQH4d+gDZyjXjgu3Njarr13VV2/J+E87ja00IjlkT0zbkujJbjaCuwsQBCBBjK6BoSL4oXDeeXQpXPCkmvdUzFeELsoZ+6E+N/9O/z9eE7YbFqW0QwEKtFNWKoIk02vzAO9Y2LfSGfnK+LkdpZ1s= moronСохраняем командой Ctrl+O

Включаем авторизацию по ключу:

# nano /etc/ssh/sshd_configPubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys RhostsRSAAuthentication no HostbasedAuthentication no PermitEmptyPasswords no

Теперь можно авторизироваться без ввода пароля
В PuTTY указываем приватный ключ
Connection => SSH => Auth => Выбираем ключ

4. Покупаем и настраиваем домен

Покупаем по ссылке домен и паркуем его на pdd.yandex.ru

В редакторе DNS указываем хост — наш поддомен z, тип — A и значение записи — адрес нашего VDS.

Аналогично с поддоменом v

5. Установка Apache2

Установим веб сервер

# apt-get install apache2

Создадим директории для двух сайтов:

# mkdir -p /var/www/z.1Side.ru/public_html # mkdir -p /var/www/v.1Side.ru/public_html

И выдадим на них права:

# chown -R $USER:$USER /var/www/z.1Side.ru/public_html # chown -R $USER:$USER /var/www/v.1Side.ru/public_html # chmod -R 755 /var/www

Для большей ясности создадим в этих директориях по файлу html:

# nano /var/www/z.1Side.ru/public_html/index.html Это сайт zabbix # nano /var/www/v.1Side.ru/public_html/index.html Это сайт vpn

И откроем в браузере данные сайты, и они будут открывать страницу apache, так как не настроен виртуальный хост

Создадим виртуальный хост для v.1Side.ru:

# cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/v.1Side.ru.conf

Откроем его:

# nano /etc/apache2/sites-available/v.1Side.ru.conf

Укажем в нем:

ServerName v.1Side.ru ServerAdmin [email protected] DocumentRoot /var/www/v.1side.ru/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined

Включаем созданный виртуальный хост:

# a2ensite v.1Side.ru.conf # service apache2 reload

Виртуальный хост создан и теперь по адресу v.1Side.ru будет доступен наш сайт из директории /var/www/v.1Side.ru/public_html

Второй виртуальный хост будет доступ по https, создадим его по http:

# cp /etc/apache2/sites-available/v.1Side.ru.conf /etc/apache2/sites-available/z.1Side.ru.conf

Укажем в нем:

ServerName z.1Side.ru ServerAdmin [email protected] DocumentRoot /var/www/z.1Side.ru/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined

Включаем созданный виртуальный хост:

# a2ensite z.1Side.ru.conf # service apache2 reload

6. Let’s Encrypt SSL сертификат

Нам нужен certbot, но его в репозитории нет. По этому мы подключим тестовый репозиторий:

# nano /etc/apt/sources.list

Добавим:

deb http://httpredir.debian.org/debian jessie-backports main contrib non-free# apt-get update

Теперь установим certbot:

# apt-get install python-certbot-apache -t jessie-backports

Перейдем в директорию крона:

# cd /etc/cron.d # nano certbot

И к заданию по обновлению ключа добавим перезапуск apache:

0 */12 * * * root test -x /usr/bin/certbot -a ! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew && service apache2 reload

Получаем сертификат:

# certbot –apache

Выбираем наш сайт и вводим запрашиваемые данные

Теперь сайт доступен по https

Настроим переадресацию на https:

В файлах /etc/apache2/sites-available/z.1Side.ru.conf и v.1Side.ru.conf

Добавим:

Redirect / https://адрес_сайта/

И включим alias

# a2enmod alias # service apache2 restart

7. Установка ZABBIX

Вся процедура установки хорошо задокументирована в официальной справке zabbix

Установим пакет конфигурации репозитория:

# cd /tmp # wget http://repo.zabbix.com/zabbix/3.2/debian/pool/main/z/zabbix-release/zabbix-release_3.2-1+jessie_all.deb # dpkg -i zabbix-release_3.2-1+jessie_all.deb # apt-get update

Установим сервер и веб интерфейс ZABBIX:

# apt-get install zabbix-server-mysql zabbix-frontend-php

Во время установки MySQL попросит ввести пароль для root пользователя:

jghsduf7yohjuksd6f78ihjsdtf

Укажите пароль для root

Подтвердите ввод пароля

Создаем базу данных zabbix

Пароль MySQL zabbix пользователя сделаем jhsdfky7ihjiohi76yyyh87

Введем команды в консоль (перед паролем стоит -p):

shell> mysql -uroot -pjghsduf7yohjuksd6f78ihjsdtf mysql> create database zabbix character set utf8 collate utf8_bin; mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'jhsdfky7ihjiohi76yyyh87'; mysql> quit;

Импортируем данные (попросит zabbix пароль для MySQL):

# zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix

Настраиваем zabbix сервер:

# nano /etc/zabbix/zabbix_server.conf DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=jhsdfky7ihjiohi76yyyh87

Настраиваем php:

# nano /etc/apache2/conf-enabled/zabbix.conf php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value max_input_time 300 php_value always_populate_raw_post_data -1 php_value date.timezone Europe/Moscow

Перезапускаем apache:

# service apache2 restart

Открываем http://z.1Side.ru/zabbix или http://v.1Side.ru/zabbix

Будет автоматическое перенаправление на https и откроется страница настройки ZABBIX

Выбираем базу MySQL, указываем расположение localhost, название базы, логин zabbix и пароль MySQL от пользователя zabbix —

jhsdfky7ihjiohi76yyyh87

ZABBIX установлен!

Логин/пароль для входа Admin/zabbix

После перезагрузки сервера, zabbix не запускается. Сделаем автозапуск: systemctl start zabbix-server

systemctl enable zabbix-server

Но нам нужно получать доступ только по адресу z.1Side.ru и сразу попадать в ZABBIX

Так как ZABBIX установился как алиас — укажем явное расположение

# nano /etc/apache2/conf-enabled/zabbix.conf

Закомментируем:

# # Alias /zabbix /usr/share/zabbix #

И укажем путь к ZABBIX в настройках хоста:

# nano /etc/apache2/sites-available/z.1Side.ru-le-ssl.conf ServerName z.1Side.ru ServerAdmin [email protected] DocumentRoot /usr/share/zabbix ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLCertificateFile /etc/letsencrypt/live/z.1Side.ru/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/z.1Side.ru/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf

И перезапустим apache

# service apache2 restart

Теперь ZABBIX доступен только по https://z.1Side.ru

Добавим в него шаблон
Настройка -> Шаблоны -> Импорт

Меняем имя пользователя и пароль в
Администрирование -> Пользователи

Если у вас выбор русского языка не активен —
смотрим какие локализации установлены:

# locale -a

Какие нам доступны:

# cat /usr/share/i18n/SUPPORTED | grep ru_ ru_RU.UTF-8 UTF-8 ru_RU.KOI8-R KOI8-R ru_RU ISO-8859-5 ru_RU.CP1251 CP1251 ru_UA.UTF-8 UTF-8 ru_UA KOI8-U

Установим локализации:

# locale-gen ru_RU

Смотрим какой русский доступен, его и ставим:

# locale-gen ru_RU.UTF8

Выбираем пробелом нужную локализацию:

# dpkg-reconfigure locales

Перезагружаем apache и выбираем русский язык в ZABBIX:

# service apache2 restart

Теперь доступен выбор русского языка.

8. Установка PPTPD VPN сервера

Для мониторинга оборудования без белого IP нам нужен VPN сервер.
Устанавливаем:

# apt-get install pptpd

Указываем диапазон IP:

Источник: https://moron.1side.ru/lokalnye-seti/debian-8zabbixpptpmikrotiklets-encrypt-ssl.php

Мониторинг микроклимата и датчиков типа “сухого контакта” при помощи SMS-уведомлений, отправляемых в Zabbix

Мониторинг микроклимата в серверноожно осуществлять, например, с помощью . Однако при пропадании электропитания или сети данное устройство уже не сможет отправлять уведомления в . Д с целью конвертации SMS в SNMP TRAP сообщения с последующей их отправкой в систему мониторинга Zabbix.

Требования

Для реализации представленного решения потребуется следующее оборудование:

Используется следующий принцип мониторинга:

  • Устройство мониторинга микроклимата UniPing server solution v3/SMS при наличии проблем отправляет SMS;
  • Данное SMS принимается шлюзом , расположенном в том же сегменте локальной сети, что и мониторинга Zabbix;
  • Zabbix при получении SNMP TRAP создает событие

Настройка UniPing server solution v3/SMS (настройка SMS-уведомлений)

Для настройки SMS-уведомлений об изменении температуры или влажности необходимо установить SIM-карту в устройство мониторинга микроклимата с установленным GSM-шлюзом ().

На вкладке “SMS” веб-интерфейса устройства необходимо указать номер, на который должна производиться отправка SMS. Возможно указать до 4х телефонных номеров, поэтому кроме SMS-шлюза сообщение может быть отправлено системному администратору.

После ввода номеров телефона необходимо нажать кнопку “Применить изменения”.

Теперь настроим SMS-уведомления при изменении показателей с датчиков. Для примера возьмем термодатчик.

на вкладку “ТЕРМОДАТЧИКИ”.

Укажите описание датчика (поле “Памятка”) и задайте границы температурного диапазона, при пересечении которых необходимо отправлять SMS-уведомление. После изменения настроек необходимо нажать кнопку “Применить изменения”.

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

В данном разделе мы настроим SMS-шлюз, чтобы он пересылал полученные от UniPing server solution v3/SMS сообщения в виде SNMP TRAP на Zabbix. В качестве SMS-шлюза будет использоваться NetPing SMS.

Откройте страницу “НАСТРОЙКИ” веб-интерфейса и задайте адрес для посылки SNMP TRAP в Zabbix и SNMP-community.

Настройка Zabbix

Система мониторинга Zabbix может быть развёрнута как в виртуальной машине, так и на выделенном физическом сервере, подключенном в локальную сеть или в сеть Интернет.

Если Zabbix работает на удалённом оборудовании в сети Интернет, а также используется маршрутизатор/роутер с функцией NAT и/или Firewall, то необходимо разрешить входящие пакеты по протоколу UDP (порт 162) в сторону Zabbix – для возможности получения SNMP TRAP извне.

 За дополнительной информацией следует обратиться к документации на маршрутизатор/роутер или к администратору сети. В данной статье будет рассмотрена упрощённая схема, когда устройство NetPing SMS и сервер с системой мониторинга Zabbix находятся в одной локальной сети.

Для примера будет использоваться готовый официальный образ виртуальной машины на основе openSUSE 12.3 (x86_64) с предустановленной системой Zabbix 2.2.2.

По умолчанию для доступа в консоль и по ssh – логин: root, пароль: zabbix

Настройка брандмауэра

Сначала для возможности получения SNMP TRAP сообщений необходимо сконфигурировать встроенный в openSUSE сетевой фильтр пакетов, также известный как брандмауэр (firewall). Следует отредактировать следующую строку в файле /etc/sysconfig/SuSEfirewall2 с целью добавления 162 UDP-порта:

FW_SERVICES_EXT_UDP=”162″

Затем необходимо выполнить команду для перезапуска брандмауэра:

# /sbin/SuSEfirewall2

За дополнительной информацией по настройке брандмауэра можно обратиться к документации.

Пакет Net-SNMP

Далее следует перейти к настройке системы на приём и обработку поступающих SNMP TRAP сообщений. Для их приёма и передачи в Zabbix используется уже предустановленный пакет утилит Net-SNMP и perl скрипт zabbix_trap_receiver.pl.

В случае, если пакет утилит Net-SNMP отсутствует, его необходимо установить. За информацией об установке дополнительного ПО рекомендуется обратиться к соответствующей документации используемой операционной системы. Потребуются следующие пакеты:

  • «net-snmp-utils»;
  • «net-snmp-perl»;
  • «net-snmp»

Скрипт zabbix_trap_receiver.pl

Perl скрипт zabbix_trap_receiver.pl для передачи трапов в Zabbix доступен по ссылке в данной статье или в исходных кодах Zabbix. Для этого нужно скачать и извлечь архив:

# wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.2.2/zabbix-2.2.2.tar.gz/download

# tar -zxvf zabbix-2.2.2.tar.gz

На момент написания статьи актуальный Zabbix 2.2 – 2.2.6

Скопировать скрипт и установить ему права на выполнение:

# cp ./zabbix-2.2.1/misc/snmptrap/zabbix_trap_receiver.pl /usr/local/bin

# chmod a+x /usr/local/bin/zabbix_trap_receiver.pl

Демон snmptrapd и Zabbix trapper

Для приёма входящих SNMP TRAP сообщений будет использоваться демон snmptrapd из набора утилит Net-SNMP. Его конфигурационный файл /etc/snmp/snmptrapd.conf должен выглядеть следующим образом:

disableAuthorization yes

perl do “/usr/local/bin/zabbix_trap_receiver.pl”; 

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

# systemctl restart snmptrapd

# chkconfig snmptrapd on

Далее в конфигурационном файле Zabbix сервера /etc/zabbix_server.conf необходимо активировать опцию по обработке трапов:

StartSNMPTrapper=1

SNMPTrapperFile=/tmp/zabbix_traps.tmp

Путь к SNMPTrapperFile должен совпадать с тем, который указан в скрипте zabbix_trap_receiver.pl. По умолчанию это /tmp/zabbix_traps.tmp

Перезапустить Zabbix:

# systemctl restart zabbix_server

Таким образом, при получении SNMP TRAP сообщения демон snmptrapd будет передавать его на обработку скрипту zabbix_trap_receiver.pl, а скрипт будет записывать данные в файл /tmp/zabbix_traps.tmp. Демон Zabbix постоянно проверяет данный файл на изменения и при их появлении передает данные на обработку.

Ротация zabbix_traps.tmp

При необходимости, чтобы избежать переполнения /tmp, может быть настроена ротация файла /tmp/zabbix_traps.tmp. Для этого следует создать директорию:

# mkdir -p /var/log/zabbix_traps_archive

И файл /etc/logrotate.d/zabbix_traps следующего содержания: 

/tmp/zabbix_traps.tmp {

    weekly

    size 10M

    compress

    compresscmd /usr/bin/bzip2

    compressoptions -9

    notifempty

    dateext

    dateformat -%Y%m%d

    missingok

    maxage 365

    rotate 10

}

Архивные копии файла /tmp/zabbix_traps.tmp будут перемещаться в директорию /var/log/zabbix_traps_archive при достижении размера 10 Мб.

Настройка шаблона Zabbix

Для использования SNMP TRAP нам необходимо добавить их поддержку в шаблоне (создать “Item” и “Trigger”). Для этого создайте новый шаблон или отредактируйте . Делается это в настройках шаблонов (Configuration→Templates). Также вы можете ознакомиться со статьёй “Настройка шаблонов Zabbix для устройств NetPing”.

Необходимо зайти в новый (или выбранный заранее) шаблон и перейти на вкладку “Items”.

Для каждого уведомления необходимо создать отдельный объект типа Item и типа Trigger. Я покажу настройку на примере оповещения “Температура выше нормы”. Нажмите кнопку “Create Item”.

На странице настройки нового “Item” указываете его название, тип (SNMP trap), ключ и тип информации (Log).

Поле “ключ”/”key” должно содержать текст из оповещения вида (snmptrap[“TEXT_SMS”]) или snmptrap.failback, если необходима “сработка” при любом SNMP TRAP.

Например, при превышении порогового значения UniPing server solution v3/SMS отправляет SMS следующего содержания:

TEMP.SENSOR 5 “Server room” ABOVE SAFE RANGE (20 TO 40C), NOW 42C

В качестве регулярного выражения возьмите “ABOVE SAFE RANGE”.

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

Для этого перейдите на вкладку “Triggers” и нажмите кнопку “Create Trigger”

В поле “Expression” введите текст вида

{:

Добавление хоста

Для добавления устройства NetPing SMS, с которого будут поступать SNMP TRAP сообщения, нужно перейти в раздел «Configuration» (1), подраздел «Hosts» (2) и нажать кнопку «Create host»:

Укажите название, группу хостов и IP.

Далее перейдите на вкладку “Templates” и укажите шаблон, в который мы добавляли Item и Trigger.

Проводим тестовое срабатывание датчика: принудительно выставим верхнюю границу на 5 градусов ниже текущей, чтобы UniPing server solution v3/SMS принял решение об оповещении по превышению верхней границы порога.

Затем – поместим нижнюю и верхнюю границы выше текущей температуры.

И наконец – вернём все в норму.

Через 5 минут статус событий сменится с “Problem” на “OK”, и эти события исчезнут из списка “последние 20 проблем”.

Источник: http://www.Netping.ru/Blog/monitoring-mikroklimata-i-datchikov-tipa-suhogo-kontakta-pri-pomoschi-sms-uvedomlenij-otpravlyaemyh-v-zabbix

Установка системы мониторинга Zabbix 3.2 на операционную систему Ubuntu 16.04

О системе.

Zabbix – это система мониторинга серверов и сетевого оборудования. Система состоит из сервера и клиента. Эта система мониторинга является системой с открытым исходным кодом. Система предлагает отличные функции визуализации и оповещения.

Основные возможности:

  • автоматическое обнаружение серверов и сетевых устройств;
  • распределенный мониторинг с централизованным администрированием;
  • нативные высокопроизводительные агенты (клиентское программное обеспечение);
  • мониторинг без использования агентов (ICMP, ssh, dns, и другое);
  • безопасная аутентификация пользователя;
  • гибкие пользовательские разрешения;
  • веб-интерфейс;
  • уведомления по электронной почте или смс;
  • отличные функции визуализации, построение графиков;

На сервера, за которыми мы будем следить устанавливается zabbix-client, который опрашивает систему и передает zabbix серверу параметры, например загруженность процессора, загруженность сетевых интерфейсов, использование оперативной памяти, сколько времени работает сервер без перезагрузки (uptime) и многое другое.

Для мониторинга за сетевым оборудованием используется протокол SNMP. Если на сетевом оборудовании есть возможность использовать этот протокол, то zabbix сервер будет по этому протоколу собирать информацию о сетевом устройстве.

В системе есть триггеры, это определенные условия, достигая которые система будет уведомлять администратора zabbix сервера. Уведомлять система Zabbix умеет по эл. почте, или sms (используя JSM модем).

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

Zabbix сервер может быть установлен только на Linux.

Zabbix агент может быть установлен на многие системы: Linux, Windows, FreeBSD, FreNAS.

Помимо агента и сервера существует zabbix-proxy, благодаря которому можно наблюдать за удаленными серверами, через proxy, который будет находиться в локальной сети вместе с удаленными серверами.

Процесс установки.

Устанавливать будем на Ubuntu server 16.04

И так, у вас чистая система, сразу после установки. Первым делом обновляемся:

 
$ sudo apt update

$ sudo apt dist-upgrade
 

Далее, вам потребуется установить mysql сервер и вебсервер apache.

 
$ sudo apt install mysql-server mysql-client apache2
 

В процессе установки mysql нужно будет придумать пароль для root-mysql:

И повторить его:

Скачиваем два пакета: zabbix-server-mysql и zabbix-frontend-php.

 
$ wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix/zabbix-server-mysql_3.2.0-1+xenial_amd64.deb

$ wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix/zabbix-frontend-php_3.2.0-1+xenial_all.deb
 

Или заходим на страницу скачивания и нажимаем на кнопку Download напротив вашей системы.  На открывшейся странице нужно скачать 2 актуальных пакета zabbix-server-mysql и zabbix-frontend-php. Далее эти пакеты нужно будет перенести на систему Ubuntu 16.04, где мы устанавливаем zabbix. Сделать это можно например с помощью Filezilla или Winscp.

Установим zabbix-server-mysql:

 
$ sudo dpkg -i zabbix-server-mysql_3.2.0-1+xenial_amd64.deb
 

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

 
$ sudo apt-get -f install
 

Установим zabbix-frontend-php и исправим зависимости:

 
$ sudo dpkg -i zabbix-frontend-php_3.2.0-1+xenial_all.deb
$ sudo apt-get -f instal
 

После установки всех пакетов и зависимостей перезагружаем вебсервер apache2:

 
$ sudo service apache2 reload
 

Пробуем открыть страницу по адресу http://you-server-ip/zabbix. Если все правильно сделали у вас должна открыться страница zabbix. Здесь пока ничего не трогаем.

Вначале устанавливаем параметр временной зоны, для этого возвращаемся в консоль:

 
$ sudo nano /etc/apache2/conf-available/zabbix.conf
 

И убираем знак #(комментария) в строке:

# php_value date.timezone Europe/Riga

Приводя к виду:

 

php_value max_execution_time 300

php_value memory_limit 128M

php_value post_max_size 16M

php_value upload_max_filesize 2M

php_value max_input_time 300

php_value always_populate_raw_post_data -1

php_value date.timezone Europe/Minsk

php_value max_execution_time 300

php_value memory_limit 128M

php_value post_max_size 16M

php_value upload_max_filesize 2M

php_value max_input_time 300

php_value always_populate_raw_post_data -1

php_value date.timezone Europe/Minsk

 

Следующим шагом нам нужно создать базу данных, пользователя для нее и наполнить её таблицами.

Заходим в командную строку mysql сервера:

 
$ sudo mysql -u root -p
 

Потребуется ввести пароль от mysql-root, который мы придумывали при установки mysql-server.

Далее в командной строке mysql – вводим команды, обязательно в конце ставьте точку с запятой (;):

 
CREATE DATABASE zabbix;

GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'zabbix' WITH GRANT OPTION;

FLUSH PRIVILEGES;

exit;
 

Теперь разберем, что мы тут сделали:

  • Подключились к mysql серверу;

  • Создали базу данных с именем zabbix;

  • Создали пользователя zabbix и предоставляем пользователю привилегии для базы zabbix;

  • Обновили привилегии;

  • Вышли из консоли mysql.

Пользователь создан, теперь нужно наполнить базу данных таблицами. Таблицы находятся в архиве который расположен по адресу /usr/share/doc/zabbix-server-mysql. Если этого не сделать, то на шаге конфигурации базы данных у вас будет появляться ошибка “The frontend does not match Zabbix database”.

Наполняем базу таблицами:

 
$ cd /usr/share/doc/zabbix-server-mysql

$ sudo gzip -d create.sql.gz

$ mysql -u zabbix -p zabbix < create.sql  

Вводим пароль (zabbix) и ожидаем пока база наполнится страницами.

Опять перезапускаем apache:

 
$ sudo service apache2 reload
 

Далее возвращаемся к web-странице, где продолжаем установку.

Нажимаем далее:

И оказывается мы не все доделали:

Возвращаемся в терминал и исправляем, устанавливая необходимые пакеты:

 
$ sudo apt install php-mbstring php-bcmath php-xml
 

Перезагрузим снова apache:

 
$ sudo service apache2 reload
 

Возвращаемся к web-странице, перезагружаем её, и видим, что ошибки ушли.:

Вводим параметры для подключения к базе данных. Напоминаю что базу данных мы создавали с паролем zabbix.

Далее указываем имя хоста и порт:

На следующей странице проверяем все параметры:

И завершаем установку:

Для входа в систему используйте логин – admin, пароль – zabbix.

Также после установки нужно отредактировать файл /etc/zabbix/zabbix_server.conf, раскомментировать и указать значения:

 
DBHost=localhostDBName=zabbixDBUser=zabbix

DBPassword=zabbix

 

Редактируем:

 
$ sudo nano /etc/zabbix/zabbix_server.conf
 

И запускаем службу zabbix-server:

 
$ sudo service zabbix-server start
 

Далее желательно создать пользователя. Делается это в меню Administration / Users. Нажимаете кнопку “Create user

Вводите данные, желательно добавить нового пользователя в группу “Zabbix administrators”. И на вкладке Permissions укажите тип пользователя – Zabbix Super Admin.

Также поменяйте пароль у пользователя Admin.

И выключите пользователя Guest, делается это в Administration / User groups. Снимаем флаг “Enabled”.

 

На этом первая статья о Zabbix закончена, будут и другие!

Источник: https://yvision.kz/post/712604

Ссылка на основную публикацию