• Zabbix, мониторинг сети

 #10526   IgorA100
 22 апр 2022, 22:07
Выбираем необходимы тип установки и выполняем шаги: https://www.zabbix.com/ru/download
Руководство по Zabbix: https://www.zabbix.com/documentation/current/ru/manual
  1. Настраиваем мониторинг систем видеонаблюдения с помощью Zabbix: https://habr.com/ru/company/devline/blog/371325/
  2. Мониторинг камер видеонаблюдения Линия (Devline) в Zabbix: https://serveradmin.ru/monitoring-kamer ... /#__zabbix
  3. Установка и настройка системы мониторинга видеокамер (Zabbix) в Докер контейнере: https://kb.insentry.io/pages/viewpage.a ... Id=7110971
  4. Мониторинг коммутаторов Cisco, D-Link, 3Com, Zyxel в системе Zabbix (статья старая, но мысли можно использовать): https://habr.com/ru/post/154723/ В описании присутствует генератор шаблонов на PHP исходники которого прикреплены к сообщению.
    Исходники скрипта генератор шаблонов на PHP
    (12.3 КБ) 21 скачивание
  5. Спорный алгоритм мониторинга скорости интернет каналов в Zabbix: https://habr.com/ru/post/590775/
Проверка слушания портов:
Код: Выделить всёnetstat -ltupn| grep zabbix_server

Рекомендуется увеличить значения в /etc/zabbix/zabbix-server.conf, которые по умолчанию очень низкие
Код: Выделить всёCacheSize=512M
HistoryCacheSize=256M
TrendCacheSize=128M
HistoryTextCacheSize=256M
ValueCacheSize=128M


Просмотр установленной версии:
Код: Выделить всёzabbix_server -V


Обновление: https://www.zabbix.com/documentation/cu ... ian_ubuntu

АЛЬТЕРНАТИВА: Munin
 #10528   IgorA100
 23 апр 2022, 23:23
Пример создания шаблона SNMP для Zabbix: https://diyit.ru/viewtopic.php?t=91 с использованием бесплатной версии MIB Browser версии 10. На официальном сайте доступна более свежая версия
MIB Browser версии 10
(15.37 МБ) 3 скачивания
 #10529   IgorA100
 24 апр 2022, 22:43
Делаем подписи:
Текст может быть добавлен в фигуры. Макросы - выражения поддерживаются в тексте, но только с функциями avg, last, minи maxсо временем в качестве параметра (например,
Код: Выделить всё{?avg(/host/key,1h)}
).

https://www.zabbix.com/documentation/6. ... g-elements
 #10530   IgorA100
 24 апр 2022, 23:29
Установка агента на Centos:
1. Выбираем необходимый репозиторий для установки, например для Zabbix версии "6.x" и Centos версии "7" будет такой пакет: https://repo.zabbix.com/zabbix/6.0/rhel ... noarch.rpm
2. Устанавливаем репо:
Код: Выделить всёyum install https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-1.el7.noarch.rpm

3. Устанавливаем самого агента из вновь добавленного репозитория:
Код: Выделить всёyum install zabbix-agent

4. Настройка агента: По адресу "/etc/zabbix/zabbix_agentd.conf" находится конфиг, в котором указываем IP адрес Zabbix servera:
Код: Выделить всёServer=192.168.1.105

Вместо IP адреса сервера можно указать его DNS-имя.
Желательно указать имя хоста:
Код: Выделить всёHostname=agent.dmosk.local

5. Настройка Firewall: Zabbix агент по умолчанию работает на TCP порту 10050 (открываем пор на вход из вне).
6. Разрешаем автозапуск агента:
Код: Выделить всёsystemctl enable zabbix-agent

7. И запускаем его:
Код: Выделить всёsystemctl start zabbix-agent

8. Проверяем, если нужно:
Код: Выделить всёsystemctl status zabbix-agent


Установка агента на Ubuntu:
1. Выбираем необходимый репозиторий для установки, например для Zabbix версии "6.2" и Ubuntu версии "22.04" будет такой пакет:
https://repo.zabbix.com/zabbix/6.2/ubun ... 04_all.deb
2. Устанавливаем репо:
Код: Выделить всёwget https://repo.zabbix.com/zabbix/6.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.2-4%2Bubuntu22.04_all.deb
sudo dpkg -i zabbix-release_6.2-4+ubuntu22.04_all.deb
sudo apt update

3. Устанавливаем самого агента из вновь добавленного репозитория:
Код: Выделить всёsudo apt install zabbix-agent

3.1. Проверяем все ли хорошо:
Код: Выделить всёsudo systemctl status zabbix-agent

4-8 - Аналогичные как и для Centos
 #10531   IgorA100
 25 апр 2022, 12:52
Подключаем мониторинг ESXi хоста.
1. Создаем пользователя "zabbix" на ESXi хосте. Host->Manage->Security&Users->Add user
2. Добавляем права для вновь созданного пользователя: https://docs.vmware.com/en/VMware-vSphe ... E9EE8.html
- Right-click Host in the VMware Host Client inventory and click Permissions.
- Click Add user.
- Click the arrow next to the Select a user text box and select the user that you want to assign a role to.
- Click the arrow next to the Select a role text box and select a role from the list.
- (Optional) Select Propagate to all children or Add as group.
If you set a permission at a vCenter Server level and propagate it to the children objects, the permission applies to data centers, folders, clusters, hosts, virtual machines, and other objects in the vCenter Server instance.
- Click Add and click Close.


Далее: https://osbsd.com/configuring-monitorin ... abbix.html или https://habr.com/ru/sandbox/135130/ или https://blog.airmeno.ru/?p=1168
 #10539   IgorA100
 04 май 2022, 20:01
Мониторинг состояния nginx посредством Zabbix:

Часть 1. Настройка nginx
Для того чтобы nginx отдавал свое состояние нужно добавить ему в конфиг строки:
Код: Выделить всёlocation = /nginx_status {
       stub_status on;
       access_log off;
               
       allow 127.0.0.1;
       deny all;
}

Разрешаем просмотр состояния только с локальной машины, так как zabbix-агент установлен на самом сервере. Перезачитываем конфиг:
Код: Выделить всё/etc/init.d/nginx reload


Часть 2. Скрипт
Первоисточник данного скрипта взят на официальном форуме Zabbix и немного обработан напильником. Итак, сохраним как ~/zabbix/scripts/nginx_status.sh:

Код: Выделить всё#!/bin/bash

HOST=`/bin/hostname`
SERVER='zabbix.yourdomain.com'
CURL=/usr/bin/curl
TMPF="/tmp/zabbix_ng_".`/bin/date +%H%M`

$CURL -s "http://${HOST}/nginx_status" > ${TMPF}

active=`cat $TMPF | grep "Active connections" | cut -d':' -f2`
accepts=`cat $TMPF | sed -n '3p' | cut -d" " -f2`
handled=`cat $TMPF | sed -n '3p' | cut -d" " -f3`
requests=`cat $TMPF | sed -n '3p' | cut -d" " -f4`
reading=`cat $TMPF | grep "Reading" | cut -d':' -f2 | cut -d' ' -f2`
writing=`cat $TMPF | grep "Writing" | cut -d':' -f3 | cut -d' ' -f2`
waiting=`cat $TMPF | grep "Waiting" | cut -d':' -f4 | cut -d' ' -f2`

echo "${HOST} nginx.active $active" > ${TMPF}
echo "${HOST} nginx.accepts $accepts" >> ${TMPF}
echo "${HOST} nginx.handled $handled" >> ${TMPF}
echo "${HOST} nginx.requests $requests" >> ${TMPF}
echo "${HOST} nginx.reading $reading" >> ${TMPF}
echo "${HOST} nginx.writing $writing" >> ${TMPF}
echo "${HOST} nginx.waiting $waiting" >> ${TMPF}

~/zabbix/bin/zabbix_sender --zabbix-server ${SERVER} -s ${HOST} \
 --port '10051' -i ${TMPF} > /dev/null 2>&1
rm ${TMPF}
echo "1"
exit 0


Часть 3. Настройка агента
В Конфиг агента добавляем строку:

Код: Выделить всёUserParameter=nginx.all,~/zabbix/scripts/nginx_status.sh

После чего перезапускаем:

Код: Выделить всё/etc/init.d/zabbix-agent restart


Часть 4. Шаблон
Готовый шаблон с графиками:
Template_NginxServer.xml
(1.25 КБ) 3 скачивания


Источник: https://rascal.su/blog/2010/09/10/монит ... ом-zabbix/
 #10552   IgorA100
 11 май 2022, 18:53
Мониторинг доступности порта на устройстве.
Например, необходимо мониторить 80 порт на сервере с IP адресом 1.2.3.4
Порядок действий:
Настройки — Узлы сети — Создать узел сети
Заполняем Имя узла сети и выбираем необходимую Группу, сохраняем. Переходим в элементы данных и создаем новый элемент данных.
Имя: Любое имя
Тип: Простая проверка
Ключ: net.tcp.service[«tcp»,1.2.3.4,»80″]

Дальше требуется создать триггер для информирования.

Заполняем Имя и выбираем Важность, дальше заполняем Выражение.

Должно получиться к примеру вот так: {1.2.3.4:net.tcp.service[«tcp»,1.2.3.4,»80″].last(0)}=0

Выражение само генерируется исходя из элементов данных.
 #10553   IgorA100
 11 май 2022, 19:22
Скрипт для Zabbix, который позволяет автоматически выводить информацию сетевого оборудования различных вендоров в удобном для чтения формате:
  1. Состояние интерфейсов;
  2. Системная информация;
  3. MAC-адреса на портах;
  4. Диагностика кабелей;
  5. VLAN на портах;
  6. Логи.

Источник: https://github.com/ig-rudenko/Zabbix-Devices-Output
 #10593   IgorA100
 02 июн 2022, 00:22
Бэкап и восстановление Zabbix сервера
Список того, что надо забэкапить будет таким:

  1. Базу данных в которой zabbix хранит настройки и данные.
  2. Директорию /etc/zabbix с настройками zabbix агента и сервера.
  3. Директорию /usr/share/zabbix с файлами веб-интерфейса и скриптами.
  4. Выборочно или целиком директорию /etc/httpd или /etc/apache2с настройками apache агента и сервера.
  5. Директорию /etc/letsencrypt c ssl сертификатом.

Простой скрипт, без учета версионности и без копирования на какой-либо третий сервер copy_zabbix_server.sh:
Код: Выделить всё#!/bin/bash
 
ROPT="-v -az --delete"
 
#RSYNC
rsync $ROPT /etc/zabbix/ /backup/zabbix_server/etc_zabbix
rsync $ROPT /usr/share/zabbix/ /backup/zabbix_server/usr_share_zabbix
rsync $ROPT /etc/httpd/ /backup/zabbix_server/etc_httpd
rsync $ROPT /etc/letsencrypt/ /backup/zabbix_server/etc_letsencrypt
 
#STOP ZABBIX
systemctl stop zabbix-server
sleep 3
 
#MYSQLDUMP
mysqldump -u USERNAME -pPASSWORD zabbix_db > /backup/zabbix_server/zabbix_db.sql
 
#START ZABBIX
systemctl start zabbix-server
 
#TAR
tar -czvf /backup/zabbix_server.tar.gz -C /backup/ zabbix_server