Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
faq:zabbix [2020/11/30 11:41] Портнов Алексей создано |
faq:zabbix [2024/04/12 10:18] Бекетов Николай |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Настройка Zabbix агента v.5 ====== | + | ====== Zabbix агент v.5 ====== |
[[faq:|Обратно к инструкциям]] | [[faq:|Обратно к инструкциям]] | ||
+ | |||
+ | <note warning>Эта инструкция устарела, новая инструкция по модулю доступна в нашей новой документации! [[https://docs.mikopbx.com/mikopbx/modules/miko/module-zabbix-agent]]</note> | ||
+ | |||
+ | ===== Настройка MikoPBX ===== | ||
+ | |||
Опишем ручной способ настройки и запуска Zabbix агента. | Опишем ручной способ настройки и запуска Zabbix агента. | ||
Строка 7: | Строка 12: | ||
- Создадим рабочие каталоги: <code>mkdir -p /storage/usbdisk1/mikopbx/custom_modules/zabbix/scripts</code> | - Создадим рабочие каталоги: <code>mkdir -p /storage/usbdisk1/mikopbx/custom_modules/zabbix/scripts</code> | ||
- Опишем файл настроек zabbix <code>cat > /storage/usbdisk1/mikopbx/custom_modules/zabbix/zabbix_agentd.conf</code> | - Опишем файл настроек zabbix <code>cat > /storage/usbdisk1/mikopbx/custom_modules/zabbix/zabbix_agentd.conf</code> | ||
- | - Вставляем содержимое файла <code>Server=172.16.156.181 | + | - Вставляем содержимое файла <code>Server=172.16.156.185 |
- | ServerActive=172.16.156.181 | + | ServerActive=172.16.156.185 |
Hostname=mikopbx | Hostname=mikopbx | ||
AllowRoot=1 | AllowRoot=1 | ||
- | LogType=system | + | # LogType=system |
- | UserParameter=asterisk[*],/storage/usbdisk1/mikopbx/custom_modules/zabbix/scripts/asterisk-stats.sh $1</code> | + | UserParameter=asterisk[*],/storage/usbdisk1/mikopbx/custom_modules/zabbix/scripts/asterisk-stats.sh $1 |
+ | |||
+ | LogType=file | ||
+ | LogFile=/storage/usbdisk1/mikopbx/custom_modules/zabbix/full.log | ||
+ | DebugLevel=0 | ||
+ | LogFileSize=2</code> | ||
- **IP / Адрес** сервера укажите свой. | - **IP / Адрес** сервера укажите свой. | ||
- **Hostname** укажите тот же, что и в интерфейсе Zabbix сервера | - **Hostname** укажите тот же, что и в интерфейсе Zabbix сервера | ||
- Нажмите комбинацию клавиш CTRL + D для заверения редактирования файла | - Нажмите комбинацию клавиш CTRL + D для заверения редактирования файла | ||
- | - Создадим скрипт для получения информации о системе <code>cat > /etc/zabbix/scripts/asterisk-stats.sh</code> | + | - Создадим каталог для скриптов <code>mkdir -p /storage/usbdisk1/mikopbx/custom_modules/zabbix/scripts</code> |
+ | - Создадим скрипт для получения информации о системе <code>cat > /storage/usbdisk1/mikopbx/custom_modules/zabbix/scripts/asterisk-stats.sh</code> | ||
- Вставьте содержимое : <code>#!/bin/sh | - Вставьте содержимое : <code>#!/bin/sh | ||
Строка 66: | Строка 77: | ||
### Execute the argument | ### Execute the argument | ||
$1</code> | $1</code> | ||
- | * Нажмите комбинацию клавиш CTRL + D для заверения редактирования файла | + | - Нажмите комбинацию клавиш CTRL + D для заверения редактирования файла |
- | * Добавим права на исполнение скрипта <code>chmod +x /storage/usbdisk1/mikopbx/custom_modules/zabbix/scripts/*</code> | + | - Опишем скрипт для запуска zabbix агента: |
+ | - Создадим скрипт для получения информации о системе <code>cat > /storage/usbdisk1/mikopbx/custom_modules/zabbix/scripts/starter.sh</code> | ||
+ | - Вставьте содержимое : <code>#!/bin/sh | ||
+ | |||
+ | confFile="$(/bin/busybox dirname "$(/bin/busybox dirname "$0")")/zabbix_agentd.conf"; | ||
+ | pidData=$(/bin/busybox ps | /bin/busybox grep "$confFile" | /bin/busybox grep -v grep); | ||
+ | if [ -z "$pidData" ];then | ||
+ | /usr/sbin/zabbix_agentd -c "$confFile"; | ||
+ | fi</code> | ||
+ | - Добавим права на исполнение скрипта <code>chmod +x /storage/usbdisk1/mikopbx/custom_modules/zabbix/scripts/*</code> | ||
+ | - Нажмите комбинацию клавиш CTRL + D для заверения редактирования файла | ||
+ | - Добавим задачу в cron на проверку и запуск zabbix | ||
+ | - Перейдите в раздел **Система** -> **Кастомизация системных файлов**.\\ {{ :providers:many_hosts:2019-02-04_173507.png |}} | ||
+ | - Откройте для редактирования конфигурационный файл **/var/spool/cron/crontabs/root**. Установите режим "**Добавлять в конец файла**" | ||
+ | - Добавьте задачу <code>*/5 * * * * /storage/usbdisk1/mikopbx/custom_modules/zabbix/scripts/starter.sh > /dev/null 2> /dev/null</code> | ||
+ | - Теперь каждые 5 минут будет запускаться скрипт стартер, если Zabbix процесса нет, то скрипт его запустит | ||
+ | |||
+ | ===== Описание доступных ключей ===== | ||
+ | * "**asterisk[status]**" - проверка запущен ли asterisk | ||
+ | * "**asterisk[statusReload]**" - как давно был выполнен reload конфигурации | ||
+ | * "**asterisk[statusUptime]**" - длительность работы текущего процесса asterisk | ||
+ | * "**asterisk[callsActive]**" - количество текущих активных звонков | ||
+ | * "**asterisk[channelsActive]**" - количество текущих активных каналов | ||
+ | * "**asterisk[callsProcessed]**" - количество обработанных телефонных звонков текущим процессом Asterisk | ||
+ | * Есть возможность расширить набор ключей, для этого необходимо доработать скрипт **asterisk-stats.sh**. В квадратных скобках описывается имя функции, ее необходимо описать в shell скрипте | ||
+ | |||
+ | [[https://www.zabbix.com/documentation/2.0/ru/manual/config/items/item/key|Описание ключей элементов данных]] | ||
+ | |||
+ | ===== Настройка Zabbix сервера ===== | ||
+ | |||
+ | - В разделе "**Configuration**" - "**Tamplates**" настройте новый шаблон, добавьте описанные выше ключи. Пример файла шаблона: <code>{ | ||
+ | "zabbix_export": { | ||
+ | "version": "6.2", | ||
+ | "date": "2022-07-22T05:50:22Z", | ||
+ | "template_groups": [ | ||
+ | { | ||
+ | "uuid": "1d12408342854fd5a4436dd6d5d1bd4a", | ||
+ | "name": "Templates/Telephony" | ||
+ | } | ||
+ | ], | ||
+ | "templates": [ | ||
+ | { | ||
+ | "uuid": "f4990f9a568d4d8abfb6f972fd3e40e8", | ||
+ | "template": "asterisk mikopbx", | ||
+ | "name": "asterisk mikopbx", | ||
+ | "groups": [ | ||
+ | { | ||
+ | "name": "Templates/Telephony" | ||
+ | } | ||
+ | ], | ||
+ | "items": [ | ||
+ | { | ||
+ | "uuid": "122ccdda2a6544ccb61bcc29c0064f7a", | ||
+ | "name": "active calls", | ||
+ | "key": "asterisk[callsActive]" | ||
+ | }, | ||
+ | { | ||
+ | "uuid": "8b1a6cbc57584eb1948da54fbf959dcf", | ||
+ | "name": "calls processed", | ||
+ | "key": "asterisk[callsProcessed]", | ||
+ | "history": "1d", | ||
+ | "trends": "1d" | ||
+ | }, | ||
+ | { | ||
+ | "uuid": "3b49a30b1b164814b3bad48e5aed4d79", | ||
+ | "name": "active channels", | ||
+ | "key": "asterisk[channelsActive]" | ||
+ | }, | ||
+ | { | ||
+ | "uuid": "84e98b4e6c53487b96afe205e05055b8", | ||
+ | "name": "asterisk last reload", | ||
+ | "key": "asterisk[statusReload]", | ||
+ | "history": "1d", | ||
+ | "trends": "0", | ||
+ | "value_type": "TEXT" | ||
+ | }, | ||
+ | { | ||
+ | "uuid": "19524424a4f940ada1e0e33eddf92256", | ||
+ | "name": "system uptime", | ||
+ | "key": "asterisk[statusUptime]", | ||
+ | "history": "1d", | ||
+ | "trends": "0", | ||
+ | "value_type": "TEXT" | ||
+ | }, | ||
+ | { | ||
+ | "uuid": "2a394e224dea41c381273d7bffc28e15", | ||
+ | "name": "enable", | ||
+ | "key": "asterisk[status]", | ||
+ | "description": "Is the asterisk process running" | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | }</code> Сохранив текст шаблона в файл, его можно импортировать в Zabbix. | ||
+ | - В разделе "**Configuration**" - "**Hosts**" добавьте новый хост {{ :faq:zabbix_docker_configuration_of_hosts.png |}}, можно также импортировать json <code>{ | ||
+ | "zabbix_export": { | ||
+ | "version": "6.2", | ||
+ | "date": "2022-07-22T05:49:34Z", | ||
+ | "host_groups": [ | ||
+ | { | ||
+ | "uuid": "dc579cd7a1a34222933f24f52a68bcd8", | ||
+ | "name": "Linux servers" | ||
+ | } | ||
+ | ], | ||
+ | "hosts": [ | ||
+ | { | ||
+ | "host": "mikopbx", | ||
+ | "name": "mikopbx", | ||
+ | "ipmi_authtype": "NONE", | ||
+ | "templates": [ | ||
+ | { | ||
+ | "name": "asterisk mikopbx" | ||
+ | } | ||
+ | ], | ||
+ | "groups": [ | ||
+ | { | ||
+ | "name": "Linux servers" | ||
+ | } | ||
+ | ], | ||
+ | "interfaces": [ | ||
+ | { | ||
+ | "ip": "172.16.156.223", | ||
+ | "interface_ref": "if1" | ||
+ | } | ||
+ | ], | ||
+ | "inventory_mode": "DISABLED" | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | }</code> | ||
+ | - При описание **Host** укажите IP адрес MikoPBX | ||
+ | - "**Host name**" должен совпадать с "**Hostname**" в конфигурационном файле **zabbix_agentd.conf** | ||
+ | |||
+ | |||
+ | ==== Настройка firewall MikoPBX ==== | ||
+ | |||
+ | Через веб интерфейс отредактируйте файл **/etc/firewall_additional** | ||
+ | |||
+ | Добавьте строчку где **172.16.16.16/32** замените на адрес zabbix сервера. | ||
+ | |||
+ | <code> | ||
+ | iptables -I INPUT 2 -s 172.16.16.16/32 -p tcp -m multiport --dports 10050 -j ACCEPT | ||
+ | </code> | ||
+ | |||
+ | ===== Полезные ссылки ===== | ||
+ | |||
+ | * [[https://www.zabbix.com/documentation/current/en/manual/installation/containers | Installation Zabbix Server from containers]] | ||
+ | * [[https://www.zabbix.com/documentation/current/en/manual/quickstart/host|Настройка Hosts]] | ||
+ | * [[https://www.zabbix.com/documentation/current/en/manual/quickstart/template|Настройка Template]] | ||
[[faq:|Обратно к инструкциям]] | [[faq:|Обратно к инструкциям]] | ||