Шаблон Zimbra-zabbix

Zimbra — открытый программный продукт для автоматизации и упрощения совместной деятельности. Почтовый сервер, протоколы POP/POPS и IMAP/IMAPS
Фильтрация спама и антивирусная проверка почты при помощи ClamAV
сервис мгновенного обмена сообщениями (Jabber),
Календарь с возможностью планирования событий, систему управления контактами,
систему обмена документами с полноценным WYSIWYG редактором Zimbra Document. И множество других функций и задач.
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 804
Стаж: 5 лет 1 месяц
Откуда: Вологодская область
Поблагодарили: 33 раза
Контактная информация:

Шаблон Zimbra-zabbix

Сообщение Артём Мамзиков »

Сделал я свой шаблон на основе просмотренных готовых решений
Zimbra Services
Zimbra App AndreyNasonov
Зимбра-Сотрудничество RUS

Тестирование команд процесс создания шаблона
Команды примеры сбор данных с Zimbra для zabbix

Скачать
zabbix-zimbra.zip
zabbix-zimbra.zip
(14.94 КБ) 129 скачиваний
Скачать
zabbix-zimbra-16.11.2021.zip
zabbix-zimbra-16.11.2021.zip
(30.62 КБ) 65 скачиваний
Скачать
28.12.2021-Zimbra-zabbix.zip
28.12.2021-Zimbra-zabbix.zip
(14.9 КБ) 49 скачиваний
Скачать
25.01.22-zabbix-zimbra.zip
25.01.22-zabbix-zimbra.zip
(17.52 КБ) 104 скачивания
Изменения под более новую версию 8.8.15 (была Release 8.6.0)
Скачать
14.08.2022-Zimbra-zabbix.zip
14.08.2022-Zimbra-zabbix.zip
(17.97 КБ) 102 скачивания
Так же рекомендую к загрузке шаблон Zimbra Statistics GOID1989-rus
Изменения
Показать
14.08.2022
Некоторые Изменения под более новую версию 8.8.15 (была Release 8.6.0)
Числовые значения если с лога нет данных строка не найдена , предобработкой для пустого значение формируем 0 (иначе будет писать ошибка для числового значения)
Изменения в поиске служб
Убираем строку полностью
grep -iv "^Host\|is not running"
более подробно ниже.

25.01.2022
Добавлен Порт, Имя узла
проверка, на превышение квоты (места) пользователей Каждый триггер на конкретного пользователя, после выполнение действия отправка сообщения в месенджер: "Ваш ящик переполнен, Вы не сможете ни принимать не отправлять письма. В случае если ящик не будет очищен через сутки, будет произведена автоматическая очистка всего ящика(удаление всех писем безвозвратно)"

Сделано через LLD при появлении пользователя сразу срабатывает триггер, как пользователь пропадает триггер с элементом сразу же удаляется.
Поиск Пользователей у которых Превышение квоты
Прототипы элементов данных 1
Прототипы триггеров 1
zabbix-zimbra.sh[{HOST.CONN},{$HOST.PORTS},emailquota,{$USER_ZIMBRA},{HOST.HOST}] 30m Внешняя проверка Активирован

Проверка: ./zabbix-zimbra.sh 192.168.175.23 10050 "emailquota" "zimbra" "DNS.ru"
curl -X POST -d "accounts[]=mamzikovaa@DNS.ru" https://DNS.ru/data_server/sendSpark.php

Действие:
Имя триггера содержит Превышение квоты пользователя Zimbra
curl -X POST -d "accounts[]={EVENT.TAGS}" https://DNS.ru/data_server/sendSpark.php

Были другие попытки отправка через траппер циклом по пользователю множественный триггер, но открывается бесконечно дублирующие триггеры если делать корреляцию по тегам.
Варианты для триггеров каждого пользователя
Показать
как можно реализовать множественный триггер,
например есть входные данные виде строк электронной почты у кого почтовый ящик переполнен.
логин1@домен.ru
пользователь2@домен.com
логин3@домен.ru

Можно задать регуляркой .iregexp(\@)}=1 тут точно все строки за 1 раз попадут
строковое .str(@,#1)}=1 на множественном при каждом получении данных открывается новый триггер
задать условие и and .diff(0)}=1 тут если пропал или добавился почтовый адрес срабатывает.

Закрытие можно сделать по сравнению тегов.

Но вопрос вот в чем строки все разом попадают в триггер если смотреть {ITEM.VALUE} {ITEM.LASTVALUE}
Можно как то в данном случае задать условие в триггере только чтоб он брал построчно и на каждую строку открывал свой триггер.
Чтобы сэкономить на "пустых" lld я как делал два итема - кол-во юзеров с превышением и список с превышением.

Хотя это были не юзеры, а неработающие камеры.
Так то вам число и динамика числа по каждому ящику пригодится
у меня просто формирую json, в котором я возвращаю { "count": 2, "NomeraIZ": "1,2,3" }

их раскладываю в зависимые итемы, count и и номера проблемных сущностей, через запятую/встолбик/пофиг.
триггер на такое условие:
{blabla.count.last()}>0
and
{blabla.NomeraIZ.strlen()}>0
and
{blabla.NomeraIZ.diff()}=1
срабатывает количество проблемных сущностей стало больше 0 или изменились в своем составе

ну вместо json можно на js напарсить, количество строк и собственно строки.

нюанс - чтобы перемена местами двух проблемных сущностей не взводила триггер их надо еще по сортировать.
ну и у меня такие сущности, что "в норме их не должно быть". count практически всегда 0
Мы делали подобный дискаверинг юзеров, когда мониторили коммиты юзеров в проектах.
Суть том, что когда прилетает список проблемных пользователей, он обрабатывается 2 раза с некоторым интервалом (или просто запрашивается 2 раза). Сначала дискаверятся юзеры, для каждого создается зависимый айтем, а потом парсится список в разрезе юзеров и пишутся данные.
В следующий раз, если юзера в списке нет, он пометится на удаление, но при большом заданном интервале хранения это не страшно. А в айтем для этого юзера через обработку ошибок препроцессинга запишется 0.
Тебе нужны ящики переполненные, а не все.
Я б Дискавери по таким ящикам сделал

Тогда будут только всегда "проблемные" айтемы.

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

Что бы не было срабатываний на внешнюю почту например "gmail" d в строке ключа и скрипте "-c \"postqueue -p\"| grep -i -A 1 \"over quota\" | grep @ВАШ-ДОМЕН" прописать в место @ написать @ВАШ-ДОМЕН будет работать конкретно для вашего домена!
Как прописать если несколько доменов нужно
Показать
В скрипте вместо | grep @ написать
grep -E '@домен1.ru|@домен3.ru' какие строки отображать
losst grep
или
|sed -n '/'@домен1.ru\|@домен2.ru\|@домен3.ru'/Ip' -с каким содержимым строки отображать
|sed -e '/'@домен1.ru\|@домен2.ru\|@домен3.ru'/d' - с каким содержимым строки скрывать
возможно нужно будет экранировать символ @
losst sed

Аналогично в элементе данных проверки квоты если не обходимо
Превышение квоты
system.run["su - {$USER_ZIMBRA} -c \"postqueue -p\"| grep -i -A 1 \"over quota\" | grep @ | sort | uniq|sed -e 's/^ *//'"]
Текст
Выводит электронный адрес пользователя
/opt/zimbra/postfix/sbin/postqueue -p | grep -i -A 1 "over quota" | grep @ | sort | uniq |sed -e 's/^ *//'

Триггер
Превышение квоты пользователя Zimbra {ITEM.VALUE}
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"postqueue -p\"| grep -i -A 1 \"over quota\" | grep @ | sort | uniq|sed -e 's/^ *//'"].iregexp(\@)}=1 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"postqueue -p\"| grep -i -A 1 \"over quota\" | grep @ | sort | uniq|sed -e 's/^ *//'"].nodata(2h)}=1
Описание:
Последнее значение: {ITEM.VALUE} {ITEM.LASTVALUE} ({TIME})
или нет данных 2 часа
Использовалось

05.08.2022 На более новой версии 8.8.15 (была Release 8.6.0.GA.1153.UBUNTU14.64 FOSS edition)
cbpolicyd Running
dnscache Stopped
dnscache is not running.
ldap Running

Убираем строку полностью
grep -iv "^Host\|is not running"

04.10.2021
В скрипте, если ответ zmopendkimctl is not Running создавался элемент zmopendkimctl is not ,вместо zmopendkimctl
добавлено | sed -e 's/ is//; s/ not//' для удаления is not
Не помогло
opendkim Stopped
zmopendkimctl is not running.
Пример отдельно проверки
Показать
zmamavisdctl status
amavisd is running.
amavisd-mc is running.
zmcbpolicydctl status
policyd is running.
ldap status
slapd running pid: 1856
zmmailboxdctl status
mailboxd is running.
zmmemcachedctl status
memcached is running.
zmopendkimctl status
zmopendkimctl is running with pid: 4877
zmconfigdctl status
zmconfigd is running.
Данные статусы у нас попадают в ответ при запросе zmcontrol status
все они содержат ctl в имени уберем данные строки из вывода чтоб не создавались элементы добавив |sed -e '/'ctl'/d'

В шаблоне
Запрос версии zimbra прямо из шаблона, было через скрипт.

Добавлено 2 триггера, изначально они деактивированы
Проверка списка служб - Zimbra Статус служб zmcontrol
Проверка списка состояния журналов сборщиков данных

В них регуляркой проверяются все ли службы, процессы присутствуют которые должны быть (лишние можно убрать, что не используется)
так как правило обнаружения ставит на мониторинг то что есть в ответе, если нет то ничего не создаться и ошибки мы не увидим для этого сделаны 2 триггера.
Установка:

1. Импорт шаблона

2. Обнаружение LLD работает через скрипт zabbix-zimbra.sh скрипт необходимо скопировать на заббикс сервер в папку /usr/local/share/zabbix/externalscripts путь может отличаться смотреть в zabbix_server.conf параметр ExternalScripts=
Дать права на скрипт chmod 775 /usr/local/share/zabbix/externalscripts/zabbix-zimbra.sh

Проверка работы скрипта команды
Скрипты без порт до 25.01.2022
./zabbix-zimbra.sh 192.168.xxx.xxx discovery_zmcontrol zimbra
./zabbix-zimbra.sh 192.168.xxx.xxx version zimbra
./zabbix-zimbra.sh 192.168.xxx.xxx discovery_zmstatctl zimbra

Для новой версии с Портом
Имя-Скрипта IP-zimbra Порт(10050) Имя-запускаемого-блока-скрипта Имя-пользователя(zimbra) Имя-узла-zimbra
/usr/local/share/zabbix/externalscripts/zabbix-zimbra.sh 192.168.xxx.xxx 10050 discovery_zmcontrol zimbra
/usr/local/share/zabbix/externalscripts/zabbix-zimbra.sh 192.168.xxx.xxx 10050 emailquota zimbra HOSTHOST
/usr/local/share/zabbix/externalscripts/zabbix-zimbra.sh 192.168.xxx.xxx 10050 version zimbra
/usr/local/share/zabbix/externalscripts/zabbix-zimbra.sh 192.168.xxx.xxx 10050 discovery_zmstatctl zimbra


3. Добавляем шаблон к Узлу

4. Zabbix Agent - должен работать от пользователя root или другова пользователя у которого будут права для выполнения команд su zimbra - c "команда" , от пользователя zabbix у меня не хватило прав.

Примечание
В конфигурации Заббикс Агента
Нужно раскомментировать строку EnableRemoteCommands = 1, иначе агент не сможет принимать команды.
начиная с Zabbix 5.0 system.run
Параметр EnableRemoteCommands теперь устарел.
Удаленные команды по-прежнему отключены по умолчанию, но в новых конфигурационных файлах, которые выражаются с помощью нового параметра
DenyKey (DenyKey=system.run[*]) черный список,
AllowKey=system.run[*] разрешить все.
Удаленные команды можно включить, удалив (или закомментировав) ключ DenyKey=system.run[*]
и раскомментировать AllowKey=system.run[*] либо вместо * прописать конкретные разрешения на запуск определенных команд.


В чём отличие от скриптов и шаблонов других авторов:
Сервер может быть по разному сконфигурирован
например: где-то прокси применяется где-то нет, проверка орфографии включена, а где-то нет и т.д.
В связи с этим у нас разное количество служб работает (запущенно), не нужно создавать элементы вручную и прописывать их проверку в конфигурациях.
Тут же скрипт сам создает службы которые есть в списке команды zmcontrol status и ставит их на мониторинг.
Команды запускаются не из скриптов через Крон, а через элемент данных заббикс агента system.run

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

Для обнаружения Сервисов Зимбра указать пользователя в макросе {$USER_ZIMBRA} обычно zimbra

Но так же есть получение данных и через вывод лога так как лог большой нет смысла тянуть его в заббикс базу
report.txt формируется он элементом system.run["/opt/zimbra/libexec/zmdailyreport > /opt/zimbra/log/report.txt",nowait]
и далее элементы уже запрашивают данные с него.

Команды применяемые для получения данных:
/opt/zimbra/bin/zmcontrol status -Получаем список сервисов zimbara и их состояние
/opt/zimbra/bin/zmcontrol -v - Получаем версию zimbara
/opt/zimbra/bin/zmstatctl status - Состояния журналов сборщиков данных
/opt/zimbra/libexec/zmdailyreport - Подробный отчет
postfix check - Проверка наличия ошибок MTA разрешений
/opt/zimbra/libexec/zmqstat - Количества сообщений в каждой очереди
mailq - Очередь сообщений zimbra
zmapachectl status - Сервис apache
zmauditswatchctl status - Сервис auditswatch
zmclamdctl status - Сервис clamd
zmconvertctl status - Сервис convert
zmlogswatchctl status - Сервис logswatch
zmperditionctl status - Сервис perdition
zmprov gs '{HOST.HOST}' zimbraServiceEnabled - Zimbra Статус сервисов zimbraServiceEnabled
zmproxyctl status - Сервис proxy
zmsaslauthdctl status - Сервис saslauthd
zmspellctl status - Сервис spell
zmstorectl status - Сервис store
zmswatchctl status - Сервис swatch
telnet mail.{HOST.HOST} 25 - Проверка порта SMTP-соединения 25
host -t mx hostname - Записи DNS MX для домена на машине zimbra
host -t a mail.hostname - IP - адреса внешние для доменного имени zimbra
egrep -i 'error|warn|fatal' /var/log/zimbra.log - Признаки неприятностей от службы Zimbra MTA
iptables -L -n - Правила IPTables

Работа процессов в самой системе OS
proc.num[,,,postfix] - Процессы postfix
proc.num[,,,python] - Процессы python
proc.num[cron] - Работа службы cron
httpd proc.num[httpd] - Работа службы
proc.num[java] - Работа службы java
proc.num[mysqld] - Работа службы SQL
proc.num[zmlogger] - Service zmlogger

Скрипт

Код: Выделить всё

#!/bin/bash
#2021/10/04 v1.1
# Автор Мамзиков Артём Андреевич Описание по скрипту

# Объявим входные переменные(variable) и если входная переменная пустая задаем дефолтные настройки для некоторых переменных
IP=$1
PORT=${2:-10050}
BLOCSCRIPT=$3
USERZ=${4:-zimbra}
HOSTHOST=$5

zabbixServer='192.168.175.111' # Или localhost 127.0.0.1

# Получение списка 

if [[ $BLOCSCRIPT = "discovery_zmcontrol" ]]
then
# Получаем список сервисов zimbara
get=`zabbix_get -s $IP -p $PORT -k system.run["su - $USERZ -c \"/opt/zimbra/bin/zmcontrol status\""]`

# Список сервисов| убрать первую строку имя хоста и строку повтор не запущено| выводим столбец| убираем is not|убираем строки с ctl| удалить в конце пробелы| подставить макрос| закрытие скобки| удаление табуляции и переноса строк| удаление последней запятой| Сделаем читаемый вид
obr=`echo "${get}"|  grep -iv "^Host\|is not running"| awk '{$(NF--)=""; print}'|sed -e 's/ is//; s/ not//'|sed -e '/'ctl'/d'| sed -e 's/^ *//'| sed 's/^/\t{\"{#ZIMBRASERVICE}\":\"/'| sed 's/\ $/\"},/'| tr -d '\t\n'| sed 's/,\+$//'| sed 's/\.*"},/"},\n/g'`

# Формируе Вывод
JSONCONTROL="[\n""${obr}""\n]"
echo -e "${JSONCONTROL}"
fi


if [[ $BLOCSCRIPT = "emailquota" ]]
then
# Запрос Email Превышение квоты почтовых ящиков
emailquota=`zabbix_get -s $IP -p $PORT -k system.run["su - $USERZ -c \"postqueue -p\"| grep -i -A 1 \"over quota\" | grep @ | sort | uniq|sed -e 's/^ *//'|sed -e 's/\s\+/\n/g'"]`
#emailquota=`echo "login1@dns.ru login2@dns.ru login3@dns.ru"|sed -e 's/\s\+/\n/g'`
#|sed -E 's/[ ]+/\n/g'`

IFS=$'\n'
# Разбиваем эл. адреса по штучно по переносу строки
for outemail in $emailquota
do
#zabbix_sender -z $zabbixServer -p 10051 -s "${HOSTHOST}" -k emailquotauser -o "${outemail}" >/dev/null |echo -e "${outemail}"

# Данные придун на 2 запрос после создания элемента данных
zabbix_sender -z $zabbixServer -p 10051 -s "${HOSTHOST}" -k emailquotauser["\"${outemail}"\"] -o "${outemail}" >/dev/null

# Сделаем черз LLD найденые будут сразу в ошибке, пропавшие сразу удалятся.
JSONQOTA=$JSONQOTA"$SEP\n{\"{#EMAILUSER}\":\"$outemail\"}"
SEP=", "
done
# Выводим результат в json
JSONQOTA="["$JSONQOTA"\n]"
echo -e "${JSONQOTA}"
fi


if [[ $BLOCSCRIPT = "version" ]]
then
# Получаем версию zimbara
VERS=`zabbix_get -s $IP -p $PORT -k system.run["su - $USERZ -c \"/opt/zimbra/bin/zmcontrol -v\""]`
echo -e "${VERS}"
fi

if [[ $BLOCSCRIPT = "discovery_zmstatctl" ]]
then
# Получаем список состояния журналов сборщиков данных
zap=`zabbix_get -s $IP -p $PORT -k system.run["su - $USERZ -c \"/opt/zimbra/bin/zmstatctl status\""]`

# Список сервисов| вывести последний столбец| удалить в конце пробелы| подставить макрос| закрытие скобки| удаление табуляции и переноса строк| удаление последней запятой| Сделаем читаемый вид
spisok=`echo "${zap}"|sed -e 's/.*: //'| sed -e 's/^ *//'| sed 's/^/{\"{#ZIMBRAZMSTAT}\":\"/'| sed 's/\$/\"},/'| tr -d '\t\n'| sed 's/,\+$//'| sed 's/\.*"},/"},\n/g'`

# Формируе Вывод
JSONSTAT="[\n""${spisok}""\n]"
echo -e "${JSONSTAT}"
fi
zabbix-zimbra.sh
Показать
#!/bin/bash
#2021/11/16 v1.3
# Автор Мамзиков Артём Андреевич Описание по скрипту
# Получение списка

if [[ $2 = "discovery_zmcontrol" ]]
then
# Получаем список сервисов zimbara
get=`zabbix_get -s $1 -k system.run["su - $3 -c \"/opt/zimbra/bin/zmcontrol status\""]`

# Список сервисов| убрать первую строку имя хоста| выводим столбец| убираем is not|убираем строки с ctl| удалить в конце пробелы| подставить макрос| закрытие скобки| удаление табуляции и переноса строк| удаление последней запятой| Сделаем читаемый вид
obr=`echo "${get}"| grep -v ^Host| awk '{$(NF--)=""; print}'|sed -e 's/ is//; s/ not//'|sed -e '/'ctl'/d'| sed -e 's/^ *//'| sed 's/^/\t{\"{#ZIMBRASERVICE}\":\"/'| sed 's/\ $/\"},/'| tr -d '\t\n'| sed 's/,\+$//'| sed 's/\.*"},/"},\n/g'`

# Формируе Вывод
JSONCONTROL="[\n""${obr}""\n]"
echo -e "${JSONCONTROL}"
fi

if [[ $2 = "version" ]]
then
# Получаем версию zimbara
VERS=`zabbix_get -s $1 -k system.run["su - $3 -c \"/opt/zimbra/bin/zmcontrol -v\""]`
echo -e "${VERS}"
fi

if [[ $2 = "discovery_zmstatctl" ]]
then
# Получаем список состояния журналов сборщиков данных
zap=`zabbix_get -s $1 -k system.run["su - $3 -c \"/opt/zimbra/bin/zmstatctl status\""]`

# Список сервисов| вывести последний столбец| удалить в конце пробелы| подставить макрос| закрытие скобки| удаление табуляции и переноса строк| удаление последней запятой| Сделаем читаемый вид
spisok=`echo "${zap}"|sed -e 's/.*: //'| sed -e 's/^ *//'| sed 's/^/{\"{#ZIMBRAZMSTAT}\":\"/'| sed 's/\$/\"},/'| tr -d '\t\n'| sed 's/,\+$//'| sed 's/\.*"},/"},\n/g'`

# Формируе Вывод
JSONSTAT="[\n""${spisok}""\n]"
echo -e "${JSONSTAT}"
fi
Шаблон Zimbra-zabbix.jpg
Шаблон Zimbra-zabbix.jpg
Группы элементов данных:
Сообщения Zimbra
Процессы
Zimbra Сервис
Zimbra Ошибки
Zimbra Анти Спам
Zimbra


Элементы данных
Элементы данных Zimbra-zabbix
Элементы данных Zimbra-zabbix
Элементы данных 2 Zimbra-zabbix
Элементы данных 2 Zimbra-zabbix
Элементы данных 3 Zimbra-zabbix
Элементы данных 3 Zimbra-zabbix
Элементы данных
Показать
Отображение количества сообщений в каждой очереди: Кол-во собщений очередь Активных Триггеры 2
Зависимый элемент данных
active 90d 90d Zimbra Активировано

Отображение количества сообщений в каждой очереди: Кол-во собщений очередь Поврежденных Триггеры 2
Зависимый элемент данных
corrupt 90d 90d Zimbra Активировано

Отображение количества сообщений в каждой очереди: Кол-во собщений очередь Отложенных Триггеры 2
Зависимый элемент данных
deferred 90d 90d Zimbra Активировано

Отображение количества сообщений в каждой очереди: Кол-во собщений очередь Удеражанных Триггеры 2
Зависимый элемент данных
hold 90d 90d Zimbra Активировано

Отображение количества сообщений в каждой очереди: Кол-во собщений очередь Входящих Триггеры 2
Зависимый элемент данных
incoming 90d 90d Zimbra Активировано

Процессы postfix Триггеры 1
proc.num[,,,postfix]
1m 90d 90d Zabbix агент Процессы Активировано

Процессы python Триггеры 1
proc.num[,,,python]
1m 90d 90d Zabbix агент Процессы Активировано

Работа службы cron Триггеры 1
proc.num[cron]
1m 90d 90d Zabbix агент Процессы Активировано

Работа службы httpd Триггеры 1
proc.num[httpd]
1m 90d 90d Zabbix агент Процессы Активировано

Работа службы java Триггеры 1
proc.num[java]
1m 90d 90d Zabbix агент Процессы Активировано

Работа службы SQL Триггеры 1
proc.num[mysqld]
1m 90d 90d Zabbix агент Процессы Активировано

Service zmlogger Триггеры 1
proc.num[zmlogger]
1m 90d 90d Zabbix агент Процессы Активировано

Формирование Почтового отчета в Лог
system.run["/opt/zimbra/libexec/zmdailyreport > /opt/zimbra/log/report.txt",nowait]
5h 90d Zabbix агент Zimbra Активировано

Отображение количества сообщений в каждой очереди
system.run["/opt/zimbra/libexec/zmqstat"]
3m 90d Zabbix агент Zimbra Активировано

Блокировка сообщений Списком b.barracudacentral.org ежедневно кол-во
system.run["cat /opt/zimbra/log/report.txt|awk '/blocked using b.barracudacentral.org/{print $5}'|sed -e 's/).*//g'"]
6h 90d 90d Zabbix агент Zimbra Анти Спам Активировано

Блокировка сообщений Списком bl.spamcop.net ежедневно кол-во
system.run["cat /opt/zimbra/log/report.txt|awk '/blocked using bl.spamcop.net/{print $5}'|sed -e 's/).*//g'"]
6h 90d 90d Zabbix агент Zimbra Анти Спам Активировано

Блокировка сообщений Списком dbl.spamhaus.org ежедневно кол-во
system.run["cat /opt/zimbra/log/report.txt|awk '/blocked using dbl.spamhaus.org/{print $5}'|sed -e 's/).*//g'"]
6h 90d 90d Zabbix агент Zimbra Анти Спам Активировано

Блокировка сообщений Списком psbl.surriel.com ежедневно кол-во
system.run["cat /opt/zimbra/log/report.txt|awk '/blocked using psbl.surriel.com/{print $5}'|sed -e 's/).*//g'"]
6h 90d 90d Zabbix агент Zimbra Анти Спам Активировано

Блокировка сообщений Списком zen.spamhaus.org ежедневно кол-во
system.run["cat /opt/zimbra/log/report.txt|awk '/blocked using zen.spamhaus.org/{print $5}'|sed -e 's/).*//g'"]
6h 90d 90d Zabbix агент Zimbra Анти Спам Активировано

Кол-во отвергнутых писем Helo - Хост не найден
system.run["cat /opt/zimbra/log/report.txt|awk '/Helo command rejected: Host not found/{print $8}'|sed -e 's/).*//g'"]
6h 90d 90d Zabbix агент Zimbra Ошибки Активировано

Кол-во Письма отвергнуты Helo - Хозяин не квалифицирован
system.run["cat /opt/zimbra/log/report.txt|awk '/Helo command rejected: need fully-qualified hostname/{print $8}'|sed -e 's/).*//g'"]
6h 90d 90d Zabbix агент Zimbra Ошибки Активировано

Кол-во ежедневной Блокировки электронной почты, несоответствия в обратном
system.run["cat /opt/zimbra/log/report.txt|awk '/reverse hostname/{print $7}'|sed -e 's/).*//g'"]
6h 90d 90d Zabbix агент Zimbra Анти Спам Активировано

Кол-во об отклонении не удается найти ваше имя хоста
system.run["cat /opt/zimbra/log/report.txt|grep -E '(cannot find your hostname .*total: [0-9])'|sed 's/.*(\|[(total:.*)]//g'|tr -d ' '"]
6h 90d 90d Zabbix агент Zimbra Ошибки Активировано

Подробная информация об отсрочке сообщения lmtp
system.run["cat /opt/zimbra/log/report.txt|grep -E '(lmtp .*total: [0-9])'|sed 's/.*(\|[(total:.*)]//g'|tr -d ' '"]
6h 90d 90d Zabbix агент Zimbra, Сообщения Zimbra Активировано

Кол-во Адрес получателя отклонен {HOST.HOST}
system.run["cat /opt/zimbra/log/report.txt|grep -E '(Recipient address rejected: {HOST.HOST} .*total: [0-9])'|sed 's/.*(\|[(total:.*)]//g'|tr -d ' '"]
6h 90d 90d Zabbix агент Zimbra Ошибки Активировано

Кол-во Отклонено Отказано в ретрансляционном доступе
system.run["cat /opt/zimbra/log/report.txt|grep -E '(Relay access denied .*total: [0-9])'|sed 's/.*(\|[(total:.*)]//g'|tr -d ' '"]
6h 90d 90d Zabbix агент Zimbra Ошибки Активировано

Кол-во Отклоненых адресов отправителя: Доступ запрещен
system.run["cat /opt/zimbra/log/report.txt|grep -E '(Sender address rejected: Access denied .*total: [0-9])'|sed 's/.*(\|[(total:.*)]//g'|tr -d ' '"]
6h 90d 90d Zabbix агент Zimbra Ошибки Активировано

Подробная информация об отсрочке сообщения smtp
system.run["cat /opt/zimbra/log/report.txt|grep -E '(smtp .*total: [0-9])'|sed 's/.*(\|[(total:.*)]//g'|tr -d ' '"]
6h 90d 90d Zabbix агент Zimbra, Сообщения Zimbra Активировано

Предупреждения smtpd
system.run["cat /opt/zimbra/log/report.txt|grep -E '(smtpd .*total: [0-9])'|sed 's/.*(\|[(total:.*)]//g'|tr -d ' '"]
6h 90d 90d Zabbix агент Zimbra, Сообщения Zimbra Активировано

Кол-во ежедневной Отстрочек писем
system.run["cat /opt/zimbra/log/report.txt|grep -E '([0-9].*deferrals)'|sed 's/.*(\|[(deferrals)]//g'|tr -d ' '"]
6h 90d 90d Zabbix агент Zimbra, Сообщения Zimbra Активировано

Фатальные ошибки Триггеры 1
system.run["cat /opt/zimbra/log/report.txt|grep -E 'Fatal Errors:'|sed 's/Fatal Errors: //g'"]
6h 90d Zabbix агент Zimbra Ошибки Активировано

Сообщения главного демона
system.run["cat /opt/zimbra/log/report.txt|grep -E 'Master daemon messages:'|sed 's/Master daemon messages: //g'"]
6h 90d Zabbix агент Zimbra Ошибки Активировано

Подробности удаления сообщения
system.run["cat /opt/zimbra/log/report.txt|grep -E 'message discard detail:'|sed 's/message discard detail: //g'"]
6h 90d Zabbix агент Zimbra Активировано

Подробности удержания сообщения
system.run["cat /opt/zimbra/log/report.txt|grep -E 'message hold detail:'|sed 's/message hold detail: //g'"]
6h 90d Zabbix агент Zimbra Активировано

Подробности предупреждения об отклонении сообщения
system.run["cat /opt/zimbra/log/report.txt|grep -E 'message reject warning detail:'|sed 's/message reject warning detail: //g'"]
6h 90d Zabbix агент Zimbra Активировано

Паника
system.run["cat /opt/zimbra/log/report.txt|grep -E 'Panics:'|sed 's/Panics: //g'"]
6h 90d Zabbix агент Zimbra Ошибки Активировано

Cбои доставки smtp
system.run["cat /opt/zimbra/log/report.txt|grep -E 'smtp delivery failures:'|sed 's/smtp delivery failures: //g'"]
6h 90d Zabbix агент Zimbra Активировано

Кол-во ежедневно отскочивших писем
system.run["cat /opt/zimbra/log/report.txt|grep -E '[0-9].*bounced'|awk '/bounced/{print $1}'"]
6h 90d 90d Zabbix агент Zimbra, Сообщения Zimbra Активировано

Кол-во ежедневной Отстрочки писем
system.run["cat /opt/zimbra/log/report.txt|grep -E '[0-9].*deferred'|awk '/deferred/{print $1}'"]
6h 90d 90d Zabbix агент Zimbra, Сообщения Zimbra Активировано

Кол-во ежедневно отброшенных писем
system.run["cat /opt/zimbra/log/report.txt|grep -E '[0-9].*discarded'|awk '/discarded/{print $1}'"] 6h 90d 90d Zabbix агент Zimbra, Сообщения Zimbra Активировано

Кол-во ежедневно Отброшенных писем в %
system.run["cat /opt/zimbra/log/report.txt|grep -E '[0-9].*discarded'|sed 's/.*(\|[(%)]//g'"]
6h 90d 90d Zabbix агент Zimbra Анти Спам, Сообщения Zimbra Активировано

Кол-во ежедневно Отправленных писем system.run["cat /opt/zimbra/log/report.txt|grep -E '[0-9].*forwarded'|awk '/forwarded/{print $1}'"]
6h 90d 90d Zabbix агент Zimbra, Сообщения Zimbra Активировано

Кол-во ежедневно удержано писем
system.run["cat /opt/zimbra/log/report.txt|grep -E '[0-9].*held'|awk '/held/{print $1}'"]
6h 90d 90d Zabbix агент Zimbra, Сообщения Zimbra Активировано

Кол-во ежедневно предупреждений об отклонении писем
system.run["cat /opt/zimbra/log/report.txt|grep -E '[0-9].*reject '|awk '/reject/{print $1}'"] 6h 90d 90d Zabbix агент
Zimbra Анти Спам, Сообщения Zimbra Активировано

Кол-во ежедневно Отклонённых писем
system.run["cat /opt/zimbra/log/report.txt|grep -E '[0-9].*rejected'|awk '/rejected/{print $1}'"] 6h 90d 90d Zabbix агент Zimbra Анти Спам, Сообщения Zimbra Активировано

Кол-во ежедневно Отклонённых писем в %
system.run["cat /opt/zimbra/log/report.txt|grep -E '[0-9].*rejected'|sed 's/.*(\|[(%)]//g'"]
6h 90d 90d Zabbix агент Zimbra Анти Спам, Сообщения Zimbra Активировано

Кол-во ежедневных предупреждений об отклонении писем
system.run["cat /opt/zimbra/log/report.txt|grep -E '[0-9].*reject warnings'|awk '/reject warnings/{print $1}'"]
6h 90d 90d Zabbix агент Zimbra Ошибки Активировано

Кол-во ежедневных Отправляющих Хостов/Доменов
system.run["cat /opt/zimbra/log/report.txt|grep -E '[0-9].*sending'|awk '/sending/{print $1}'"]
6h 90d 90d Zabbix агент Zimbra, Сообщения Zimbra Активировано

Кол-во ежедневно Доставленных писем
system.run["cat /opt/zimbra/log/report.txt|grep -vE 'bytes'|grep -E '[0-9].*delivered'|awk '/delivered/{print $1}'"]
6h 90d 90d Zabbix агент Zimbra, Сообщения Zimbra Активировано

Кол-во ежедневно Полученных писем
system.run["cat /opt/zimbra/log/report.txt|grep -vE 'bytes'|grep -E '[0-9].*received'|awk '/received/{print $1}'"]
6h 90d 90d Zabbix агент Zimbra, Сообщения Zimbra Активировано

Кол-во ежедневных Получателей Хоста/Домена
system.run["cat /opt/zimbra/log/report.txt| grep -vE 'top'|grep -E '[0-9].*recipient '|awk '/recipient/{print $1}'"]
6h 90d 90d Zabbix агент Zimbra, Сообщения Zimbra Активировано

Кол-во ежедневных Получателей писем
system.run["cat /opt/zimbra/log/report.txt|grep -vE 'top'|grep -E '[0-9].*recipients'|awk '/recipients/{print $1}'"]
6h 90d 90d Zabbix агент Zimbra, Сообщения Zimbra Активировано

Кол-во ежедневных Отправителей писем
system.run["cat /opt/zimbra/log/report.txt| grep -vE 'top'|grep -E '[0-9].*senders'|awk '/senders/{print $1}'"]
6h 90d 90d Zabbix агент Zimbra, Сообщения Zimbra Активировано

Признаки неприятностей от службы Zimbra MTA Триггеры 1
system.run["egrep -i 'error|warn|fatal' /var/log/zimbra.log"]
30m 90d Zabbix агент Zimbra Деактивировано

Правила IPTables
system.run["iptables -L -n"]
6h 90d Zabbix агент Zimbra Деактивировано

Zimbra Статус служб zmcontrol
system.run["su - {$USER_ZIMBRA} -c \"/opt/zimbra/bin/zmcontrol status\"| grep -v ^Host| sed -e 's/^\t*//g'"]
1m 90d Zabbix агент Zimbra Сервис Активировано

Zimbra Статус журналов сборщиков данных zmstat
system.run["su - {$USER_ZIMBRA} -c \"/opt/zimbra/bin/zmstatctl status\""]
1m 90d Zabbix агент Zimbra Сервис Активировано

IP - адреса внешние для доменного имени zimbra
system.run["su - {$USER_ZIMBRA} -c \"host -t a mail.{HOST.HOST}\""]
4h 90d Zabbix агент Zimbra Активировано

Записи DNS MX для домена на машине zimbra
system.run["su - {$USER_ZIMBRA} -c \"host -t mx {HOST.HOST}\""]
4h 90d Zabbix агент Zimbra Активировано

Очередь сообщений zimbra Триггеры 2
system.run["su - {$USER_ZIMBRA} -c \"mailq\"|grep Request |awk '{print $5}'"]
1m 90d 90d Zabbix агент Zimbra Активировано

Проверка наличия ошибок MTA разрешений Триггеры 1
system.run["su - {$USER_ZIMBRA} -c \"postfix check\""]
30m 90d Zabbix агент Zimbra Активировано

Сервис apache Триггеры 1
system.run["su - {$USER_ZIMBRA} -c \"zmapachectl status\""]
1m 90d Zabbix агент Процессы Активировано

Сервис auditswatch Триггеры 1
system.run["su - {$USER_ZIMBRA} -c \"zmauditswatchctl status\""]
1m 90d Zabbix агент Процессы Активировано

Сервис clamd Триггеры 1
system.run["su - {$USER_ZIMBRA} -c \"zmclamdctl status\""]
1m 90d Zabbix агент Процессы Активировано

Сервис convert Триггеры 1
system.run["su - {$USER_ZIMBRA} -c \"zmconvertctl status\""]
1m 90d Zabbix агент Процессы Деактивировано

Сервис logswatch Триггеры 1
system.run["su - {$USER_ZIMBRA} -c \"zmlogswatchctl status\""]
1m 90d Zabbix агент Процессы Активировано

Сервис perdition Триггеры 1
system.run["su - {$USER_ZIMBRA} -c \"zmperditionctl status\""]
1m 90d Zabbix агент Процессы Деактивировано

Zimbra Статус сервисов zimbraServiceEnabled
system.run["su - {$USER_ZIMBRA} -c \"zmprov gs '{HOST.HOST}' zimbraServiceEnabled\""]
1m 90d Zabbix агент Zimbra Сервис Деактивировано

Сервис proxy Триггеры 1
system.run["su - {$USER_ZIMBRA} -c \"zmproxyctl status\""]
1m 90d Zabbix агент Процессы Активировано

Сервис saslauthd Триггеры 1
system.run["su - {$USER_ZIMBRA} -c \"zmsaslauthdctl status\""]
1m 90d Zabbix агент Процессы Активировано

Сервис spell Триггеры 1
system.run["su - {$USER_ZIMBRA} -c \"zmspellctl status\""]
1m 90d Zabbix агент Процессы Активировано

Сервис store Триггеры 1
system.run["su - {$USER_ZIMBRA} -c \"zmstorectl status\""]
1m 90d Zabbix агент Процессы Активировано

Сервис swatch Триггеры 1
system.run["su - {$USER_ZIMBRA} -c \"zmswatchctl status\""]
1m 90d Zabbix агент Процессы Активировано

Проверка порта SMTP-соединения 25
system.run["telnet mail.{HOST.HOST} 25"]
20m 90d Zabbix агент Zimbra Деактивировано

Размер Доставленых сообщений B
system.run[cat /opt/zimbra/log/report.txt|awk '/bytes delivered/{print $1}'|sed -e 's/m.*//g']
6h 90d 90d Zabbix агент Zimbra, Сообщения Zimbra Активировано

Размер Полученных сообщений B
system.run[cat /opt/zimbra/log/report.txt|awk '/bytes received/{print $1}'|sed -e 's/m.*//g']
6h 90d 90d Zabbix агент Zimbra, Сообщения Zimbra Активировано

Zimbra Версия Триггеры 1
zabbix-zimbra.sh[{HOST.CONN},version,{$USER_ZIMBRA}]
24h 90d Внешняя проверка Zimbra Активировано
Триггеры
Триггеры Zimbra-zabbix
Триггеры Zimbra-zabbix
Триггеры
Показать
Средняя
Ошибки MTA разрешений доступа
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"postfix check\""].iregexp(^\s*$)}=0 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"postfix check\""].iregexp([a-zA-z0-9_а-яА-ЯёЁ\xDO\x90-\xd0\xbf\xd1\x80-\xd1\x8f\xd0\x81\xd1\x91?!]$)}=1
Активировано

Высокая
on zimbra is not started logswatch
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmlogswatchctl status\""].iregexp(running)}=0 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmlogswatchctl status\""].iregexp(not)}=1 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmlogswatchctl status\""].nodata(24h)}=1
Активировано
Тег logswatch

Средняя
on zimbra is not started postfix
{Zimbra-zabbix:proc.num[,,,postfix].max(5m)}<1
Активировано
Тег postfix

Высокая
on zimbra is not started store
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmstorectl status\""].iregexp(running)}=0 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmstorectl status\""].iregexp(not)}=1 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmstorectl status\""].nodata(24h)}=1
Активировано
Тег store

Высокая
Очередь Zimbra больше 500 Сообщений
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"mailq\"|grep Request |awk '{print $5}'"].last()}>500
Активировано

Высокая
Кол-во очереди Zimbra Входящих Сообщений больше 500
{Zimbra-zabbix:incoming.last()}>500
Активировано

Высокая
on zimbra is not started spell
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmspellctl status\""].iregexp(running)}=0 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmspellctl status\""].iregexp(not)}=1 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmspellctl status\""].nodata(24h)}=1
Активировано
spell

Внимание Предупреждение Очередь Zimbra больше 200 Сообщений
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"mailq\"|grep Request |awk '{print $5}'"].last()}>200 and
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"mailq\"|grep Request |awk '{print $5}'"].last()}<500
Активировано

Внимание
Предупреждение Кол-во очереди Zimbra Входящих Сообщений больше 200
{Zimbra-zabbix:incoming.last()}>200 and {Zimbra-zabbix:incoming.last()}<500
Активировано

Высокая
on zimbra is not started saslauthd
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmsaslauthdctl status\""].iregexp(running)}=0 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmsaslauthdctl status\""].iregexp(not)}=1 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmsaslauthdctl status\""].nodata(24h)}=1
Активировано
saslauthd

Высокая
Кол-во очереди Zimbra Удеражанных Сообщений больше 500
{Zimbra-zabbix:hold.last()}>500
Активировано

Средняя
Фатальные ошибки
{Zimbra-zabbix:system.run["cat /opt/zimbra/log/report.txt|grep -E 'Fatal Errors:'|sed 's/Fatal Errors: //g'"].iregexp(^\s*$)}=0 and
{Zimbra-zabbix:system.run["cat /opt/zimbra/log/report.txt|grep -E 'Fatal Errors:'|sed 's/Fatal Errors: //g'"].iregexp(none)}=0
Активировано

Внимание
Предупреждение Кол-во очереди Zimbra Удеражанных Сообщений больше 200
{Zimbra-zabbix:hold.last()}>200 and {Zimbra-zabbix:hold.last()}<500
Активировано

Высокая
on zimbra is not started perdition
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmperditionctl status\""].iregexp(running)}=0 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmperditionctl status\""].iregexp(not)}=1 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmperditionctl status\""].nodata(24h)}=1
Активировано
Тег perdition

Средняя
on zimbra is not started logger
{Zimbra-zabbix:proc.num[zmlogger].max(20m)}<1
Активировано
Тег logger

Высокая
Кол-во очереди Zimbra Отложенных Сообщений больше 500
{Zimbra-zabbix:deferred.last()}>500
Активировано

Высокая cron is not running on {HOSTNAME}
{Zimbra-zabbix:proc.num[mysqld].max(5m)}<1
Активировано
Тег mysqld

ВниманиеПредупреждение
Кол-во очереди Zimbra Активных Сообщений больше 200
{Zimbra-zabbix:active.last()}>200 and {Zimbra-zabbix:active.last()}<500
Активировано

Внимание Предупреждение
Кол-во очереди Zimbra Отложенных Сообщений больше 200
{Zimbra-zabbix:deferred.last()}>200 and {Zimbra-zabbix:deferred.last()}<500
Активировано

Высокая
on zimbra is not started swatch
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmswatchctl status\""].iregexp(running)}=0 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmswatchctl status\""].iregexp(not)}=1 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmswatchctl status\""].nodata(24h)}=1
Активировано
Тег swatch

Средняя
on zimbra is not process python
{Zimbra-zabbix:proc.num[,,,python].max(5m)}<1
Активировано
Тег postfix

Высокая
on zimbra is not started apache
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmapachectl status\""].iregexp(running)}=0 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmapachectl status\""].iregexp(not)}=1 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmapachectl status\""].nodata(24h)}=1
Активировано
Тег apache

Высокая
Кол-во очереди Zimbra Активных Сообщений больше 500
{Zimbra-zabbix:active.last()}>500
Активировано
Высокая
on zimbra is not Web Antispam
{Zimbra-zabbix:web.test.fail[Веб Антиспам Почта].min(5m)}>0
Активировано
Тег apache

Высокая
cron is not running on {HOSTNAME}
{Zimbra-zabbix:proc.num[cron].max(5m)}<1
Активировано
Тег cron

Высокая
on zimbra is not started auditswatch
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmauditswatchctl status\""].iregexp(running)}=0 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmauditswatchctl status\""].iregexp(not)}=1 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmauditswatchctl status\""].nodata(24h)}=1
Активировано
Тег auditswatch

Внимание Предупреждение
Кол-во очереди Zimbra Поврежденных Сообщений больше 200
{Zimbra-zabbix:corrupt.last()}>200 and {Zimbra-zabbix:corrupt.last()}<500
Активировано

Информационная
Версия Zimbra изменилась
{Zimbra-zabbix:zabbix-zimbra.sh[{HOST.CONN},version,{$USER_ZIMBRA}].diff(0)}>0
Активировано

Высокая
httpd is not running on {HOSTNAME}
{Zimbra-zabbix:proc.num[httpd].max(5m)}<1
Активировано
Тег httpd

Высокая
on zimbra is not started clamd
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmclamdctl status\""].iregexp(running)}=0 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmclamdctl status\""].iregexp(not)}=1 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmclamdctl status\""].nodata(24h)}=1
Активировано
Тег clamd

Высокая
Кол-во очереди Zimbra Поврежденных Сообщений больше 500
{Zimbra-zabbix:corrupt.last()}>500
Активировано

Высокая
java is not running on {HOSTNAME}
{Zimbra-zabbix:proc.num[java].max(5m)}<1
Активировано
Тег java

Высокая
on zimbra is not started convert
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmconvertctl status\""].iregexp(running)}=0 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmconvertctl status\""].iregexp(not)}=1 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmconvertctl status\""].nodata(24h)}=1
Активировано
Тег convert

Высокая
on zimbra is not started proxy
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmproxyctl status\""].iregexp(running)}=0 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmproxyctl status\""].iregexp(not)}=1 or
{Zimbra-zabbix:system.run["su - {$USER_ZIMBRA} -c \"zmproxyctl status\""].nodata(24h)}=1
Деактивировано
Тег proxy

Средняя
Признаки неприятностей от службы Zimbra MTA
{Zimbra-zabbix:system.run["egrep -i 'error|warn|fatal' /var/log/zimbra.log"].iregexp(^\s*$)}=0 and
{Zimbra-zabbix:system.run["egrep -i 'error|warn|fatal' /var/log/zimbra.log"].iregexp([a-zA-z0-9_а-яА-ЯёЁ\xDO\x90-\xd0\xbf\xd1\x80-\xd1\x8f\xd0\x81\xd1\x91?!]$)}=1 or
{Zimbra-zabbix:system.run["egrep -i 'error|warn|fatal' /var/log/zimbra.log"].iregexp(error|warn|fata)}=1
Деактивировано
Графики
Статистика сообщений
Статистика Ошибок
Статистика Отклоненых Писем
Очередь сообщений zimbra раздельно
Очередь сообщений zimbra общая
Кол-во Блокировок сообщений Списками
Графики Zimbra-zabbix
Графики Zimbra-zabbix
Графики
Показать
Статистика сообщений
1: Кол-во ежедневно Доставленных писем
2: Кол-во ежедневно Полученных писем
3: Кол-во ежедневных Отправителей писем
4: Кол-во ежедневных Отправляющих Хостов/Доменов
5: Подробная информация об отсрочке сообщения lmtp
6: Подробная информация об отсрочке сообщения smtp
7: Кол-во ежедневно Доставленных писем
8: Кол-во ежедневно Отклонённых писем
9: Кол-во ежедневно Полученных писем
10: Кол-во ежедневной Отстрочек писем
11: Кол-во ежедневной Отстрочки писем
12: Кол-во ежедневно отброшенных писем
13: Кол-во ежедневно отскочивших писем
14: Кол-во ежедневно предупреждений об отклонении писем
15: Кол-во ежедневно удержано писем
16: Кол-во ежедневных Отправителей писем
17: Кол-во ежедневных Отправляющих Хостов/Доменов
18: Кол-во ежедневных Получателей Хоста/Домена
19: Кол-во ежедневных Получателей писем


Статистика Ошибок
1: Кол-во ежедневно Доставленных писем
2: Кол-во ежедневно Полученных писем
3: Кол-во ежедневных Отправителей писем
4: Кол-во ежедневных Отправляющих Хостов/Доменов
5: Подробная информация об отсрочке сообщения lmtp
6: Подробная информация об отсрочке сообщения smtp
7: Кол-во ежедневно Доставленных писем
8: Кол-во ежедневно Отклонённых писем
9: Кол-во ежедневно Полученных писем
10: Кол-во ежедневной Отстрочек писем
11: Кол-во ежедневной Отстрочки писем
12: Кол-во ежедневно отброшенных писем
13: Кол-во ежедневно отскочивших писем
14: Кол-во ежедневно предупреждений об отклонении писем
15: Кол-во ежедневно удержано писем
16: Кол-во ежедневных Отправителей писем
17: Кол-во ежедневных Отправляющих Хостов/Доменов
18: Кол-во ежедневных Получателей Хоста/Домена
19: Кол-во ежедневных Получателей писем


Статистика Отклоненых Писем
1: Кол-во ежедневно предупреждений об отклонении писем
2: Кол-во ежедневно Отклонённых писем


Очередь сообщений zimbra раздельно
1: Кол-во собщений очередь Активных
2: Кол-во собщений очередь Входящих
3: Кол-во собщений очередь Отложенных
4: Кол-во собщений очередь Поврежденных
5: Кол-во собщений очередь Удеражанных

Очередь сообщений zimbra общая
1: Очередь сообщений zimbra

Кол-во Блокировок сообщений Списками
1: Блокировка сообщений Списком b.barracudacentral.org ежедневно кол-во
2: Блокировка сообщений Списком bl.spamcop.net ежедневно кол-во
3: Блокировка сообщений Списком dbl.spamhaus.org ежедневно кол-во
4: Блокировка сообщений Списком psbl.surriel.com ежедневно кол-во
5: Блокировка сообщений Списком zen.spamhaus.org ежедневно кол-во
Правило обнаружения Веб-мониторинг Zimbra-zabbix
Правило обнаружения Веб-мониторинг Zimbra-zabbix
Правила обнаружения
Обнаружение Сервисов Зимбра zmcontrol
Обнаружение Сервисов Зимбра zmcontrol
Обнаружение Сервисов Зимбра zmcontrol
Прототипы элементов данных 1
Прототипы триггеров 1
zabbix-zimbra.sh[{HOST.CONN},discovery_zmcontrol,{$USER_ZIMBRA}]
12h
Внешняя проверка
Активировано

Прототипы элементов данных
Zimbra Статус служб zmcontrol: Zimbra service {#ZIMBRASERVICE}
Зависимый прототип Zimbra service {#ZIMBRASERVICE}
Зависимый прототип Zimbra service {#ZIMBRASERVICE}
Zimbra Статус служб zmcontrol: Zimbra service
Показать
Имя: Zimbra service {#ZIMBRASERVICE}
Тип: Зависимый элемент данных
Ключ: proc.num[,,,{#ZIMBRASERVICE}]
Основной элемент данных: Zimbra-zabbix: Zimbra Статус служб zmcontrol
Тип информации: Текст
Период хранения истории: 90d
Группы элементов данных: Zimbra Сервис
Описание:
Служба {#ZIMBRASERVICE}

ключ proc.num отображает не все статусы процессов , по этому делаем зависимый элемент данных и берем состояние из него.

amavis - Модуль антиспама
antispam - Антиспамовые компоненты
antivirus - Антивирусные компоненты
cbpolicyd - Защита от спама плагин
ldap -Аутентификация пользователя
logger - Инструменты агрегирования и отчетности
mailbox - Выполняет задачи по управлению почтовыми ящиками
memcached - При установке пакета Zimbra-Proxy и предоставляет доступ к Memcached
mta - Агент передачи почты
opendkim - e-mail аутентификации, проверке подлинности цифровой подписи. (защищали получателя письма от рассылок подменой адреса отправителя)
service webapp -
snmp - Для мониторинга
stats - средства диагностики (Логи /opt/zimbra/zmstat/zmstat.out и /var/log/zimbra-stats.log)
zimbra webapp - Запускает веб-приложения
zimbraAdmin webapp - Веб интерфейс администратора
zimlet webapp -
zmconfigd - отслеживает определенные глобальные атрибуты и атрибуты конфигурации сервера и перезапускать соответствующий процесс ZCS, если эти атрибуты конфигурации изменяются, перезапуска для работы с новой конфигурацией.

Создать активированным: V

Предобработка
Регулярное выражение ({#ZIMBRASERVICE} .*) Вывод \1
Прототипы триггеров
Триггер on zimbra zmcontrol is not started {#ZIMBRASERVICE}
Триггер on zimbra zmcontrol is not started {#ZIMBRASERVICE}
on zimbra zmcontrol is not started
Показать
Имя: on zimbra zmcontrol is not started {#ZIMBRASERVICE}
Важность: Высокая
Выражение
{Zimbra-zabbix:proc.num[,,,{#ZIMBRASERVICE}].iregexp(Running)}=0 or
{Zimbra-zabbix:proc.num[,,,{#ZIMBRASERVICE}].iregexp(not)}=1 or
{Zimbra-zabbix:proc.num[,,,{#ZIMBRASERVICE}].nodata(24h)}=1

Разрешить закрывать вручную: V

Описание:
Служба {#ZIMBRASERVICE}
Последнее значение: {ITEM.VALUE} {ITEM.LASTVALUE} ({TIME})

Проверка что служба Running
или нет данных более 24 часов

iregexp
1 - найдено
0 - в противном случае

amavis - Модуль антиспама
antispam - Антиспамовые компоненты
antivirus - Антивирусные компоненты
cbpolicyd - Защита от спама плагин
ldap -Аутентификация пользователя
logger - Инструменты агрегирования и отчетности
mailbox - Выполняет задачи по управлению почтовыми ящиками
memcached - При установке пакета Zimbra-Proxy и предоставляет доступ к Memcached
mta - Агент передачи почты
opendkim - e-mail аутентификации, проверке подлинности цифровой подписи. (защищали получателя письма от рассылок подменой адреса отправителя)
service webapp -
snmp - Для мониторинга
stats - средства диагностики (Логи /opt/zimbra/zmstat/zmstat.out и /var/log/zimbra-stats.log)
zimbra webapp - Запускает веб-приложения
zimbraAdmin webapp - Веб интерфейс администратора
zimlet webapp -
zmconfigd - отслеживает определенные глобальные атрибуты и атрибуты конфигурации сервера и перезапускать соответствующий процесс ZCS, если эти атрибуты конфигурации изменяются, перезапуска для работы с новой конфигурацией.

Теги:
Имя: {#ZIMBRASERVICE}
Прототипы элементов данных
Обнаружение состояния журналов сборщиков данных zmstatctl
Прототипы элементов данных 1
Прототипы триггеров 1
zabbix-zimbra.sh[{HOST.CONN},discovery_zmstatctl,{$USER_ZIMBRA}]
12h
Внешняя проверка
Активировано
Обнаружение состояния журналов сборщиков данных zmstatctl
Обнаружение состояния журналов сборщиков данных zmstatctl

Прототипы элементов данных
Zimbra service {#ZIMBRAZMSTAT}
Zimbra service {#ZIMBRAZMSTAT}
Содержимое Zimbra service {#ZIMBRAZMSTAT}
Показать
Имя: Zimbra service {#ZIMBRAZMSTAT}
Тип: Заббикс Агент
Ключ: proc.num[{#ZIMBRAZMSTAT}]
Интервал обновления: 1m
Период хранения истории: 90d
Период хранения динамики изменений: 90d
Отображение значения: Как есть
Группы элементов данных: Процессы
Описание:
zmstat-vm
zmstat-allprocs
zmstat-io-x
zmstat-fd
zmstat-mysql
zmstat-proc
zmstat-ldap
zmstat-io
zmstat-df
zmstat-mtaqueue
zmstat-cpu

Если ключ proc.num не видит все процессы, можно сделать прототип зависимым элементом данных от обычного элемента данных Zimbra Статус журналов сборщиков данных zmstat, выставить пред обработку регулярным выражением (.*): {#ZIMBRAZMSTAT} вывод \1
Получаем статус Running
Выражение триггера будет
{Zimbra-zabbix:proc.num[{#ZIMBRAZMSTAT}].iregexp(Running)}=0

Создать активированным: V
Прототипы триггеров
on zimbra zmstatctl is not started {#ZIMBRAZMSTAT}
on zimbra zmstatctl is not started {#ZIMBRAZMSTAT}
Содержимое триггера
Показать
Имя: on zimbra zmstatctl is not started {#ZIMBRAZMSTAT}
Важность: Средняя
Выражение:
{Zimbra-zabbix:proc.num[{#ZIMBRAZMSTAT}].max(20m)}<1 or
{Zimbra-zabbix:proc.num[{#ZIMBRAZMSTAT}].nodata(24h)}=1

Разрешить закрывать вручную: V

Описание:
Служба {#ZIMBRASERVICE}
Последнее значение: {ITEM.VALUE} {ITEM.LASTVALUE} ({TIME})
Если нет данных более 24 часа

журналов сборщиков данных
zmstat-vm
zmstat-allprocs
zmstat-io-x
zmstat-fd
zmstat-mysql
zmstat-proc
zmstat-ldap
zmstat-io
zmstat-df
zmstat-mtaqueue
zmstat-cpu

Создать активированным: V

Теги
Имя: statc

ДЕЙСТВИЯ

Для чего у нас сделаны Теги в триггерах
Действия Сервисов на ZIMBRA
Действия Сервисов на ZIMBRA
Действие ПереЗапуск Сервисов на ZIMBRA
Действие ПереЗапуск Сервисов на ZIMBRA
Имя: ПереЗапуск Сервисов на ZIMBRA
Тип вычисления: И/ИЛИ A or B or C or D
Условия
Подпись Имя Действие
A Имя триггера содержит on zimbra zmstatctl is not starte
B Имя триггера содержит on zimbra zmcontrol is not started
C Имя триггера содержит on zimbra is not Web Antispam
D Имя триггера содержит on zimbra is not started

Активировано: V
Действия Операции ПереЗапуск Сервисов на ZIMBRA
Действия Операции ПереЗапуск Сервисов на ZIMBRA
Операции
Длительность шага операции по умолчанию: 4m
Приостановить операции для подавленных проблем: V
Операции:
1 Выполнить удаленные команды на текущем узле сети Незамедлительно По умолчанию
Детали операции:
Шаги: 1-1
Длительность шага: 0
Тип операции: Удаленная команда
Список целей: Текущий узел сети
Тип: Пользовательский скрипт
Выполнять на: Zabbix агент
Команды:
su - zimbra -c "zm{EVENT.TAGS}ctl restart"
su - zimbra -c "zm{EVENT.TAGS}ctl start"
su - zimbra -c "zm{EVENT.TAGS}dctl restart"
su - zimbra -c "zm{EVENT.TAGS}dctl start"
su - zimbra -c "{EVENT.TAGS} restart"
su - zimbra -c "{EVENT.TAGS} start"


Операции 2 3 4 аналогично операции 1 отличие только в шагах 2-2 , 3-3 , 4-4 Это 4 попытки перезапуска служб интервалом в 4 минуты.

Действие:
Действие ПереЗапуск Сервисов на ZIMBRA zmcontrol разом
Действие ПереЗапуск Сервисов на ZIMBRA zmcontrol разом
Имя: ПереЗапуск Сервисов на ZIMBRA zmcontrol разом после 15 минут
Условия: A Имя триггера содержит on zimbra zmcontrol is not started
Активировано: V

Операции:
Длительность шага операции по умолчанию: 15m
Приостановить операции для подавленных проблем: V
Операции: Выполнить удаленные команды на текущем узле сети 00:15:00
Шаги: 2-2
Длительность шага: 0
Тип операции: Удаленная команда
Список целей: Текущий узел сети
Тип: Пользовательский скрипт
Выполнять на: Zabbix агент
Команды: su - zimbra -c "zmcontrol restart"

Действия для самой OS Linux описаны Запуск служб Linux


Веб-сценарии
Веб Антиспам Почта
Web-Zimbra
Веб сценарий ZIMBRA
Веб сценарий ZIMBRA
Триггеры
Высокая on zimbra is not Web Antispam {Zimbra-zabbix:web.test.fail[Веб Антиспам Почта].min(5m)}>0 Активировано Тег apache
Высокая No Web-Zimbra {Zimbra-zabbix:web.test.fail[Web-Zimbra].min(5m)}>0 Активировано
количество слов: 4258
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 804
Стаж: 5 лет 1 месяц
Откуда: Вологодская область
Поблагодарили: 33 раза
Контактная информация:

Шаблон Zimbra-zabbix

Сообщение Артём Мамзиков »

16.11.2021
Не помогло так как в рабочем состоянии у нас не должно быть zmopendkimctl
opendkim Stopped
zmopendkimctl is not running.


Данная ситуация может быть и сдругими
Пример отдельно проверки
zmamavisdctl status
amavisd is running.
amavisd-mc is running.
zmcbpolicydctl status
policyd is running.
ldap status
slapd running pid: 1856
zmmailboxdctl status
mailboxd is running.
zmmemcachedctl status
memcached is running.
zmopendkimctl status
zmopendkimctl is running with pid: 4877
zmconfigdctl status
zmconfigd is running.
Для исправления
Для исправления
Данные статусы у нас попадают в ответ при запросе zmcontrol status
все они содержат ctl в имени уберем данные строки из вывода чтоб не создавались элементы добавив |sed -e '/'ctl'/d'

Убрана Data теперь обычный JSON, вывод echo включен в блок if fi пустые строки при выводе.

Внесены небольшие изменения в шаблон и скрипт
04.10.2021
В скрипте, если ответ zmopendkimctl is not Running создавался элемент zmopendkimctl is not ,вместо zmopendkimctl
добавлено | sed -e 's/is//; s/not//' для удаления is not

В шаблоне
Запрос версии zimbra прямо из шаблона, было через скрипт.

Добавлено 2 триггера, изначально они деактивированы
Проверка списка служб - Zimbra Статус служб zmcontrol
Проверка списка состояния журналов сборщиков данных

В них регуляркой проверяются все ли службы, процессы присутствуют которые должны быть (лишние можно убрать, что не используется)
так как правило обнаружения ставит на мониторинг то что есть в ответе, если нет то ничего не создаться и ошибки мы не увидим для этого сделаны 2 триггера.
количество слов: 89
unixm
Гость
Сообщения: 4
Стаж: 1 год 1 месяц

Шаблон Zimbra-zabbix

Сообщение unixm »

./zabbix-zimbra.sh: line 59: zabbix_get: command not found
количество слов: 10
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 804
Стаж: 5 лет 1 месяц
Откуда: Вологодская область
Поблагодарили: 33 раза
Контактная информация:

Шаблон Zimbra-zabbix

Сообщение Артём Мамзиков »

unixm писал(а): Вт янв 31, 2023 10:15zabbix_get
не установлен или не видит его, проверить просто в терминале ее. Примеры тестирования есть.
количество слов: 6
unixm
Гость
Сообщения: 4
Стаж: 1 год 1 месяц

Шаблон Zimbra-zabbix

Сообщение unixm »

Да, доустановил... Вы бы добавили это в инструкцию :)
количество слов: 0
Аватара пользователя
Игорь Слисаренко
Гость
Сообщения: 1
Стаж: 1 год 1 месяц

Шаблон Zimbra-zabbix

Сообщение Игорь Слисаренко »

Добрый день!
подскажите плиз ...
с забикса тестирую команды скрипта
банально
/usr/local/share/zabbix/externalscripts/zabbix-zimbra.sh бла-бла 10050 version zimbra
получаю в консоль su: must be run from a terminal
на Зимбре агент забикса запущен от рута...
спасибо!
количество слов: 18
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 804
Стаж: 5 лет 1 месяц
Откуда: Вологодская область
Поблагодарили: 33 раза
Контактная информация:

Шаблон Zimbra-zabbix

Сообщение Артём Мамзиков »

Игорь Слисаренко, Добрый день.
Ему что то не нравиться "su: должен запускаться с терминала"
Пользователь zimbra - Без пароля ? возможно как то настроено sudo и вместо su использовать sudo
Посмотреть в логах заббикс агента какая прилетает команда и проверить ее не посредственно в терминале почтаря под root
количество слов: 6
unixm
Гость
Сообщения: 4
Стаж: 1 год 1 месяц

Шаблон Zimbra-zabbix

Сообщение unixm »

А у меня так и не завелся, скрипты в терминле типа запускаются, но в заббиксе ничего. Версия Zimbra 9/Zabbix 6.2
количество слов: 5
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 804
Стаж: 5 лет 1 месяц
Откуда: Вологодская область
Поблагодарили: 33 раза
Контактная информация:

Шаблон Zimbra-zabbix

Сообщение Артём Мамзиков »

unixm, если скрипты на заббиксе работают , должно и в заббиксе запуститься, странно конечно что не работает но это уже надо смотреть разбираться.
количество слов: 1
unixm
Гость
Сообщения: 4
Стаж: 1 год 1 месяц

Шаблон Zimbra-zabbix

Сообщение unixm »

Вот такие ошибки получаю:
Изображение
количество слов: 0
Ответить Вложения 24 Пред. темаСлед. тема

Вернуться в «Zimbra»