Приветствую вас! Один из частых вопросов — как установить систему мониторинга Zabbix server 3.2 на Ubuntu. Предлагаю сегодня в этом разобраться.
![]()
В прошлых статьях я уже рассматривал:
В данной статье рассмотрим, как на имеющийся Ubuntu Server 16.04 установить систему мониторинга Zabbix.
Прежде чем устанавливать zabbix server, я настоятельно рекомендую обновить все пакеты на вашем сервере командой:
sudo apt-get update -y
sudo apt-get upgrade -y
- Подготовка у установке
- Установка MySQL
- Установка Apache2
- Установка zabbix на Ubuntu Server 16
- Заключение
- Настройки php для zabbix
- Описание проблемы
- Решение
- Интеллектуальная рекомендация
- Учебник по началу работы с ASP. NET Core 9, Промежуточное ПО ASP. NET Core (промежуточное ПО) Начало работы
- Elasticsearch Psychology Query
- Vscode настройки китайского языка
- Идея установки Tomcat, сервер Jetty
- Отслеживание кода приложения камеры Android9
- Zabbix php опция date timezone
- Мониторинг времени на сервере с помощью Zabbix
- Введение
- Элемент данных для мониторинга за временем
- Триггер для оповещения о неправильном времени
- Проверка работы
- Php option date timezone unknown fail zabbix
- Разница между ArrayList и LinkedList
- Nginx скомпилируйте и установите
- Используйте Matlab, чтобы нарисовать трехмерный график разложения Фурье
- Поговорим о статусе IPv6 и переходе
- Макросы в интервалах времени
- Пару слов о макросах
- Интервалы обновления и хранения истории
- Варианты использования
- В низкоуровневом обнаружении
- Где еще?
- В итоге
- 11 ответов
- Cannot Set date. timezone In php. ini file
- 12 Answers 12
Подготовка у установке
Прежде чем нам установить сам zabbix server, нам необходимо подготовить наш сервер. Для этого нам необходимо установить MySQL для базы данных сервера и Apache, чтобы мы имели возможность заходить на сервер.
Установка MySQL
Данной командой устанавливаем MySQL сервер:
sudo apt install mysql-server mysql-client -y
Во время установки нас попросят придумать пароль для пользователя root пользователя mysql

Вводим пароль и нажимаем Enter, нас просят его повторить. Повторяем и снова нажимаем Enter.
Теперь заходим в командную строку mysql сервера:
sudo mysql -u root -p
Нас попросят ввести пароль нашего пользователя root, который мы только что придумали.
Теперь нам необходимо создать базу и пользователя для нашего сервера, для этого в консоли mysql вводим (точка с запятой (;) в конце каждой строчки обязательна!):
Установка Apache2
Наш следующий этап — установка и подготовка Apache2 к работе. Начнем с установки:
sudo apt-get install apache2 -y
Установим PHP зависимости, они нам пригодятся:
sudo apt-get install php-mbstring php-bcmath php-xml -y
sudo apt-get install libapache2-mod-php7.0
sudo service apache2 reload
Пока на этом все, позже вернемся к его дальнейшей настройке. Переходим к непосредственной установке zabbix server’ a.
Установка zabbix на Ubuntu Server 16
Перед установкой, нам необходимо подключить репозиторий с zabbix сервером:
sudo wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb
sudo dpkg -i zabbix-release_3.2-1+xenial_all.deb
sudo apt-get update
Устанавливаем сервер и Web морду для него
sudo apt-get install zabbix-server-mysql
sudo apt-get install zabbix-frontend-php -y
Теперь устанавливаем временной пояс в настройках PHP.
sudo mcedit /etc/apache2/conf-available/zabbix.conf
Приводим его к следующему виду:
Импортируем базу данных:
Вводим пароль zabbix и ожидаем пока пройдет импорт базы.
Далее редактируем файл настроек zabbix сервера /etc/zabbix/zabbix_server.conf и приводим данные параметры к такому виду:
Запускаем службу zabbix-server:
sudo service zabbix-server start
Осталось зайти на сам сервер, набрав в адресной строке http://ip-сервера/zabbix
Данные для входа:
Заключение
Вот так не хитро была произведена установка zabbix server на Ubuntu Server 16.04. Я надеюсь что выполнив пошагово данную инструкцию, у вас все получилось сделать.
Теперь можно установить zabbix-agent на наш сервер. Я уже писал как это сделать в этой статье — Установка zabbix agent на Ubuntu Server 16.04

Ваш покорный слуга — компьютерщик широкого профиля: системный администратор, вебмастер, интернет-маркетолог и много чего кто. Вместе с Вами, если Вы конечно не против, разовьем из обычного блога крутой технический комплекс.
Настройки php для zabbix
Для zabbix необходимо внести изменения:
Не подскажите какой вариант правильный?

Хм. А если не секрет где такое написано? Просто недавно поднимали сервак на Debian и пару проксей на Centos7, все по этому руководству, про приведенные вами параметры php.ini чет ни слова не встретил.

Файл конфигурации Apache для Zabbix веб-интерфейса располагается в /etc/apache2/conf-enabled/zabbix.conf. Некоторые настройки PHP уже выполнены. Однако, необходимо раскомментировать “date.timezone” настройку и указать корректный для вас часовой пояс.
простите, вы каким местом читаете?
Ну так и я про то же, что:
Я использую nginx. а не apache.
Ну если Nginx, я бы следовал тогда материалам из archwiki. А вних говориться про php.ini Проверка значений параметров в файле /etc/php/php.ini
Хотя зачем изобретать велосипед если на апаче все работает из коробки?
Зарегистрирован: 24.08.2014Пользователь #: 153,074Сообщения: 362
Зарегистрирован: 16.02.2015Пользователь #: 155,697Сообщения: 569
Описание проблемы
После установки Zabbix, если показан следующий рисунок, это связано с тем, что часовой пояс в нашем файле конфигурации имеет проблемы, система является европейским часовым поясом, и необходимо перейти на наш часовой пояс Шанхай.

Решение
Просмотр и изменение конфигурации файла конфигурации php.ini:
Просмотр и изменение конфигурации файла конфигурации /etc/httpd/conf.d/zabbix.conf
Перезагрузите сервис httpd
Наконец, повторно обновите веб-страницу.
Интеллектуальная рекомендация
![]()
Учебник по началу работы с ASP. NET Core 9, Промежуточное ПО ASP. NET Core (промежуточное ПО) Начало работы
![]()
Elasticsearch Psychology Query
![]()
Vscode настройки китайского языка
1. После установки vscode перейдите вИнтерфейс запуска наCtrl + Shift + P Появится окно команд, показанное ниже, и введите «display», Введите; как показано ниже 2. Удалите содержимое перед д.
![]()
Идея установки Tomcat, сервер Jetty
Веб-сервер установки IDEA часто встречает установку и неудачи, запустить сбой. В сочетании с IDEA используется, расчесывание процесс установки веб-сервера, рекомендуется для загрузки серверов Tomcat и.
![]()
Отслеживание кода приложения камеры Android9
Доброе утро всем, на этот раз я предлагаю вам прочитать код приложения камеры Android9.0, которое не только для рабочих нужд, но и для личных заметок, чтобы помочь вам учиться. Местоположение исходног.
Zabbix php опция date timezone


1. View and modify the configuration of the php.ini configuration file
Before the change

After the change After the change

2. View and modify the configuration of the /etc/httpd/conf.d/zabbix.conf configuration file


3. Restart the httpd service
Мониторинг времени на сервере с помощью Zabbix

Очередная статья на тему использования современной универсальной системы мониторинга. Расскажу, как с помощью zabbix настроить мониторинг времени на серверах и предупреждать при слишком больших расхождениях. На мой взгляд, полезная метрика, которой почему-то нет в базовых проверках.
Введение
Задача по мониторингу времени на сервере на первый взгляд кажется тривиальной, но с ней не все так просто. Я несколько раз брался за эту задачу и не доводил ее до конца. Сейчас уже не помню всех подробностей, так как поделиться решил финальной версией, которая уже некоторое время у меня функционирует. Основная проблема там в том, что время с агента берется в один момент, а время заббикс сервера берется в другой момент. И когда они сравниваются, может быть большое расхождение именно потому, что бралось время для сравения в разные моменты, а не потому, что время реально расходится.
Сравнение времени идет между временем сервера zabbix и локальным временем на сервере, где установлен агент, с помощью встроенной функции fuzzytime. Я для себя решил, что мне достаточно проверять время раз в минуту. Если расхождение будет более 60 секунд в трех последних проверках, то срабатывает триггер.
Теоретически, к этому триггеру можно прицепить action, который будет что-то исполнять на сервере. К примеру, запуск утилиты ntpdate для синхронизации времени. Но я не стал это настраивать, так как на всех серверах у меня всегда работает служба ntpd или chrony. Так что если время неактуальное, то надо идти на сервер и проверять, что со службой синхронизации времени.
Приступаем к настройке.
Если у вас еще нет своего сервера для мониторинга, то рекомендую материалы на эту тему. Для тех, кто предпочитает систему CentOS:
То же самое на Debian 10, если предпочитаете его:
Элемент данных для мониторинга за временем
В финальном варианте я предлагаю следующий элемент данных для мониторинга локального времени на сервере.

Это вычисляемый элемент данных. Формула:
В данном случае фукнция fuzzytime сравнивает время на сервере zabbix с локальным временем наблюдаемого сервера. Если разница больше 60 секунд, функция возвратит 0, если меньше, то 1.
С помощью вычисляемого элемента в базу сразу идет конкретный результат проверки на текущий момент времени, который потом легко использовать в триггере. Не нужно делать каких-то вычислений и сравнений в нем. Я просто беру 3 последних проверки и если они все три вернули значение 0, значит триггер сработает.
Вместо вычисляемого элемента можно было бы сделать обычный с ключом system.localtime, а затем функцию fuzzytime использовать уже в триггере. Но там может получаться большая погрешность, если интервал обновления будет большой (несколько минут), а проверяемая разница небольшая (десятки секунд). Мне не понравилось, как это работало, поэтому переделал на вычисляемое значение сразу в итеме.
Триггер для оповещения о неправильном времени
Вот пример самого триггера для оповещений.

Если 3 последние проверки были с ошибкой, то их сумма будет равно 0. После этого шлем уведомление. Как только время будет синхронизировано, триггер сразу же перейдет в нормальное состояние.
Вот готовый шаблон с элементом и триггером zabbix_time.xml.. Проверки работают как на linux, так и windows серверах. Шаблон выгружен с серера версии 4.0.
Проверка работы
Для проверки работы мониторинга за временем, достаточно на каком-то сервере установить время с отставанием или опережением более чем на 60 секунд. После этого подождать 3 неудачные проверки.

После этого сработает триггер.

Этим я создал отставание на полторы минуты. Подождал несколько минут, потом обратно запустил службу ntpd и дождался, когда она проведет синхронизацию.
Такая проверка времени серверов работает нормально и ложных срабатываний почти нет. Если вам нужны более жесткие интервалы проверки, то могут быть трудности. К примеру, если вам надо сделить за временем и предупреждать, когда разница становится 5 секунд. Если сделать, как показано у меня, то будет работать не надежно.
Точно не знаю, с чем это связано. Возможно сетевые задержки, или в работе вычисляемых значений. Тут надо внимательно смотреть в реализацию fuzzytime. Мне это было не нужно. Если кто-то решал подобную задачу, прошу поделиться в комментариях, как это делали вы.
Читайте мои остальные статьи по мониторингу с помощью zabbix.
Во время установки (после проверки соединения с БД, кодировки и создания учётки администратора) появляются ошибки:
Apache/2.2.22 (Debian)
PHP Version 5.5.17-1~dotdeb.1
Server API CGI/FastCGI
System Linux 2.6.32-042stab094.7 #1 SMP Wed Oct 22 12:43:21 MSK 2014 i686 (Время отстаёт на два часа), в настройках пользователя стоит Moscow/Europe
Php option date timezone unknown fail zabbix
![]()
Разница между ArrayList и LinkedList
ArrayList: Нижний слой представляет собой массив, хорошо подходящий для поиска данных (доступа) LinkedList: Базовый связанный список, удобный для изменения данных (включая добавление и удаление данных.
![]()
Nginx скомпилируйте и установите
nginx скомпилируйте и установите 1. Установите среду компиляции 2. Установите программный пакет pcre (сделайте так, чтобы nginx поддерживал модуль перезаписи http) 3. Установите openssl-devel (сделайт.
![]()
Используйте Matlab, чтобы нарисовать трехмерный график разложения Фурье
цель: Изучите анализ преобразования Фурье и другие методы анализа. Понять взаимосвязь между частотной областью преобразования Фурье и временной областью. Используйте MATLAB, чтобы нарисовать трехмерну.
Поговорим о статусе IPv6 и переходе
1. Текущее состояние3 февраля 2011 года адреса IPv4 были выделены, и основные операторы ждут, чтобы исчерпать свои сбережения. Люди все больше полагаются на проводные и беспроводные маршрутизаторы, та.
Макросы в интервалах времени
Привет. Продолжаем освещать нововведения Zabbix 3.4. Сегодня поговорим об использовании макросов в интервалах обновления и других временных периодах.
Пару слов о макросах
Пользовательские макросы – давно зарекомендовавший себя механизм, используемый в Zabbix повсеместно и дающий системе мониторинга необходимую ей гибкость. По сути это переменные, которые вы можете назначать с глобальным уровнем видимости, шаблона или узла сети. Использование макросов всячески приветствуется и рекомендуется, например в шаблонах, что делает их настраиваемыми в других окружениях и другими пользователями. Выглядят пользовательские макросы следующим образом, вы их наверняка уже встречали:
Интервалы обновления и хранения истории
Zabbix позволяет гибко настраивать время опроса метрик: у каждой метрики может быть свой собственный интервал.
Обновления каждой метрики также могут быть «гибкими»(см. Пользовательские интервалы), а значит происходить по определенному расписанию («раз в сутки ночью» или «в 9:00 утра в будни»).
Аналогичным образом мы можем определить время хранения истории и трендов для каждого элемента данных отдельно.
Подобная тонкость настройки нужна далеко не всегда, поэтому использование макросов дает пару новых идей по настройке этих параметров.
Варианты использования
Во-первых, интервалы обновления метрик (как обычные, так и пользовательские интервалы), о которых сказано выше, теперь поддерживают пользовательские макросы. Во-вторых, использовать макросы можно и в интервалах хранения истории и трендов. В итоге это выглядит вот так:
Просто задайте значения этих макросов глобально, а потом переназначайте на уровне шаблона или узла сети, если требуется:
В общем, для интервалов обновлений можно создать небольшой глобальный набор макросов, которые затем использовать по умолчанию для всех новых элементов данных, в зависимости от их типа и важности. Например:
Это позволит не тратить каждый раз время на обдумывание «я хочу собирать эту метрику раз в 60 или раз в 61 секунду? или может раз в 5 минут будет достаточно?», а просто использовать принятые на вашем сервере и проекте правила по сбору и хранению элементов данных, зафиксированные в глобальных макросах. Хотя, возможно, такой вариант подойдет не всем 🙂
В низкоуровневом обнаружении
Поддерживается и контекст макросов, что может быть очень полезно, например, при LLD. Представьте, что мы собираем трафик сетевых интерфейсов на множестве устройств. Чтобы не нагружать Zabbix, мы бы хотели сделать следующим образом:
Затем используем их в прототипе элемента данных интерфейса, но уже с контекстом (в данном случае это будет имя интерфейса ifName):
Уже на уровне узла сети укажем новое значение макроса с контекстом для ключевого интерфейса (для примера возьмем Gi0/0.114):
Теперь посмотрим частоту обновления и время хранения для различных интерфейсов в «Последних данных». Как видно, у нашего очень важного Gi0/0.114 теперь свои правила хранения и сбора:
Если же мы захотим изменить общий интервал или увеличить частоту опроса или времени хранения еще одного интерфейса — нам нужно будет просто переназначить макросы на уровне хоста. Изменять шаблон, прототип и ждать обнаружения не потребуется — все применится сразу. На самом деле, даже доступ на запись к шаблону не требуется.
Где еще?
А еще макросы теперь можно применять в других ситуациях, где нужно было указывать время или период. Например, в действиях:
или указать через макрос время доступности инженера для автоматических уведомлений:
С точным списком мест, в которых возможно применение макросов, можно ознакомиться здесь.
В итоге
Новые возможности макросов в 3.4 открывают парочку неплохих возможностей: с одной стороны — для более тонкой настройки (для LLD), а с другой стороны — для централизации и управления временем опроса и хранения. И кстати, в интервалах времени появилась поддержка суффиксов s,m,h,d,w — мелочь, а удобно 🙂
Check of pre-requisites
Minimum required limit on execution time of PHP scripts is 300 (configuration option «max_execution_time»).
Minimum required limit on input parse time for PHP scripts is 300 (configuration option «max_input_time»).
Time zone for PHP is not set (configuration parameter «date.timezone»).
Я использую php5.5 и получение этой ошибки всякий раз, когда я использовал функцию даты в PHP:
загруженный файл конфигурации находится здесь:
поэтому я изменил дату.установка часового пояса в это:
затем я перезапускаю сервер:
Я проверил php.разрешение ini-файла, но все еще не работает пожалуйста, направьте меня, чтобы решить эту проблему, спасибо..
11 ответов
давайте найдем правильный php.ini. Запустите это в apache / nginx / любом веб-сервере, который вы используете (потому что версия командной строки может отличаться от используемой ею).
после php.ini edit, просто перезапустите веб-сервер (apache или nginx).
наконец-то решил мою проблему, это мой загруженный файл конфигурации:
изменена дата.часовой пояс здесь, но он не работает.
затем я ищу дату.часовой пояс у всех файлов в этой папке, но не нашел.
Я изменил файл /etc/php5 с/apache2 не/конф.d / 20-xdebug.ini, и добавил эту строку:
вы должны проверить, найдите php.в, если где-то есть еще один.
для меня. там должен быть CLI для интерфейса командной строки:
это работает для меня сейчас.
другим решением для меня после компиляции PHP из исходного кода было проверить php.ini фактически загружал файл конфигурации. Из командной строки
еще раз, проблема произошла для меня только с PHP 5.6.4. Когда я изменил опцию на сервере с PHP 5.6.11, она вела себя точно так, как я ожидал.
Он работал для меня, когда я заметил, что дата.запись часового пояса в PHP.ini был прокомментирован. После удаления точки с запятой часовой пояс был установлен правильно.
некоторые установщики приложений php командной строки (например, установщик symfony или даже когда PHP-скрипты запускаются из cli) используют ini-файл внутри каталога php-cli
это решило мою аналогичную проблему в процессе проверки зависимостей при установке Symfony.
я исправил это в Mac OSX El Captain, создав структуру папок: / Library/Server/Web/Config / php, а затем создав php.ini внутри этой новой папки php только с датой.директива часового пояса.
Если вы установили дату.значение часового пояса в PHP.ini но он не работает (т. е.. локальное значение и основное значение разные), то вам может потребоваться обновить что-то вроде этого в файле конфигурации apache:
в моем случае у меня было 2 date.timezone= записи в php.ini-файл и последний был переопределен первым. удаление одного из них решило мою проблему.
также не забывайте, что вам нужно перезапустить процесс веб-сервера.
Cannot Set date. timezone In php. ini file
I’m using php5.5 and getting this error whenever I used the date function in PHP:
the loaded configuration file is here:
so I changed the date.timezone setting into this:
Then I restart the server:
I’ve checked the php.ini file permission, but still not working please guide me to solve this problem, thanks..
12 Answers 12
Let’s locate the correct php.ini. Fire this within apache / nginx / whatever web server deamon your using (because the command line version may be different by the one used by it).
finally solved my problem, this is my Loaded Configuration File:
modified the date.timezone here but it’s not working.
then I search date.timezone from all files in that folder but found none.
I modified /etc/php5/apache2/conf.d/20-xdebug.ini, and appended this line:
You should check out by locate php.in, if there somewhere has another one.
for me. there should have CLI for command line interface:
change the /etc/php5/cli/php.ini
It works for me now.

Another solution for me after compiling PHP from source was to check php.ini was actually loading a config file. From command line

One more time, the issue happened for me only with PHP 5.6.4. When I changed the option on the server with PHP 5.6.11 it behaved exactly like I expected.

