Инструменты пользователя

Инструменты сайта


faq:zabbix

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
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:​|Обратно к инструкциям]]
  
  
faq/zabbix.1606736475.txt.gz · Последние изменения: 2020/11/30 11:41 — Портнов Алексей