Установка и настройка zabbix 4.0

Установка Zabbix 3.2 на Ubuntu Server 16.04

Приветствую вас! Один из частых вопросов — как установить систему мониторинга Zabbix server 3.2 на Ubuntu. Предлагаю сегодня в этом разобраться.

В прошлых статьях я уже рассматривал:

В данной статье рассмотрим, как на имеющийся Ubuntu Server 16.04 установить систему мониторинга Zabbix.

Прежде чем устанавливать zabbix server, я настоятельно рекомендую обновить все пакеты на вашем сервере командой:

sudo apt-get update -y sudo apt-get upgrade -y

Подготовка у установке

Прежде чем нам установить сам 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 вводим (точка с запятой (;) в конце каждой строчки обязательна!):

CREATE DATABASE zabbix character set utf8 collate utf8_bin; GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'zabbix' WITH GRANT OPTION; FLUSH PRIVILEGES; exit;

Установка 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

Перезапускаем Apache2:

sudo service apache2 reload

Пока на этом все, позже вернемся к его дальнейшей настройке. Переходим к непосредственной установке zabbix server’a.

Установка zabbix на Ubuntu Server 16.04

Перед установкой, нам необходимо подключить репозиторий с 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

Приводим его к следующему виду:

php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value max_input_time 300 php_value always_populate_raw_post_data -1 php_value date.timezone Europe/Moscow php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value max_input_time 300 php_value always_populate_raw_post_data -1 php_value date.timezone Europe/Moscow

Перегружаем апач:

sudo service apache2 reload

Импортируем базу данных:

cd /usr/share/doc/zabbix-server-mysql sudo gzip -d create.sql.gz mysql -u zabbix -p zabbix < create.sql

Вводим пароль zabbix и ожидаем пока пройдет импорт базы.

Далее редактируем файл настроек zabbix сервера /etc/zabbix/zabbix_server.conf и приводим данные параметры к такому виду:

DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix

Запускаем службу zabbix-server:

sudo service zabbix-server start

Осталось зайти на сам сервер, набрав в адресной строке http://ip-сервера/zabbix

Данные для входа:

Логин: Admin (обязательно с большой буквы)

Пароль: zabbix

Заключение

Вот так не хитро была произведена установка zabbix server на Ubuntu Server 16.04. Я надеюсь что выполнив пошагово данную инструкцию, у вас все получилось сделать.

Теперь можно установить zabbix-agent на наш сервер. Я уже писал как это сделать в этой статье — Установка zabbix agent на Ubuntu Server 16.04

Ubuntu, zabbix, Операционные системы • ubuntu, zabbix, установка

Источник: https://sysadmin-note.ru/ustanovka-zabbix-3-2-na-ubuntu-server-16-04/

Установка системы мониторинга — zabbix

Доброго времени суток. В данную серию статей я хочу посвятить одной из замечательных систем мониторинга — zabbix. По долгу службы пришлось мне искать систему мониторинга. Я останавливался на nagios, cacti, mrtg. Но они мне не подошли. И вот я нашел zabbix. Ознакомившись с документацией, я понял, что zabbix — это то, что надо…

И так, что же такое zabbix? Zabbix — это система распределенного мониторинга, которая позволяет мониторить многочисленные параметры сети и узлов сети. Zabbix распространяется под лицензией GPL, а это означает — она бесплатна.

Как я уже говорил выше, zabbix обладает огромными возможностями, а конкретно:

  • мониторинг доступности
  • мониторинг по SNMP
  • мониторинг по IPMI
  • мониторинг по JMX
  • собственная настройка порогов срабатывание проблемы
  • настройка оповещений
  • группировка по хостам, по собираемым данным
  • использование шаблонов
  • система прав доступа
  • и многое другое

Сразу хочу отметить, что установку я буду производить на Linux, а точнее на Ubuntu Server.
Установку я буду производить из исходников. Поэтому давайте в начале скачаем исходный код Zabbix с официального сайта. Разархивируем скачанный архив. Для этого переходим в директорию с архивом и вводим комманду:
 
 $ tar -zxvf zabbix-2.0.0.tar.gz
 
 Отлично. Следующим этапом необходимо подготовить нашу систему к установке zabbix. Нам понадобятся следующие пакеты:

  • snmp
  • libsnmp-dev
  • snmpd
  • libcurl4-openssl-dev
  • fping

Этих пакетов достаточно для того, чтобы zabbix смог опрашивать узлы на доступность и собирать информацию по SNMP.
Если данные пакеты не установлены в системе, установим их:

sudo apt-get install snmp libsnmp-dev snmpd libcurl4-openssl-dev fping
 

После того как все необходимые пакеты установлены, необходимо создать группу zabbix и пользователя zabbix:
 
groupadd zabbix
useradd -g zabbix zabbix
 
Теперь нужно подготовить базу данных. Zabbix может работать как с MySQL, так и с PostgreSQL. (поддерживает и другие, Вы можете ознакомиться в официальной документации). Производитель рекомендует использовать в качестве сервера базы данных PostgreSQL, если Вы собираетесь мониторить более 50 узлов.
Но я использую MySQL и на данный момент у меня на мониторинге стоит 123 узла — пока проблем не наблюдал. В дальнейшем планируется увеличение узлов, тогда и посмотрим. И так, создаем базу данных в MySQL:
 
shell> mysql -u -p

mysql> create database zabbix character set utf8
mysql> quit
 
Теперь заходим в директорию с разархивированными исходниками zabbix. В ней в директории ./database/mysql/ находятся три файла:

  1. schema.sql
  2. images.sql
  3. data.sql

И запускаем их на исполнение:

mysql -u -p < schema.sql

или из самого mysql:

mysql>use zabbix
mysql>source schema.sql
 

По аналогии запускаем и остальные файлы images.sql и data.sql
Порядок обязателен.
Все на этом этап подготовки к установке завершен. Теперь можно приступить к самой установке zabbix.
Переходим в директорию с кодом zabbix и запускаем:
 
sudo ./configure —enable-server —enable-agent —with-mysql —with-net-snmp  —with-libcurl
 
Мы подключаем сам zabbix сервер, zabbix агент, поддержку snmp.
Если все прошло хорошо (а об ошибках с которыми я столкнулся и как их решить я опишу ниже) запускаем установку:
 
sudo make install
 
На этом установка завершена. Осталось произвести небольшую конфигурацию сервера и агента zabbix.
Для работы zabbix сервера необходимо произвести первоначальные настройки. Открываем файл конфигурации /usr/local/etc/zabbix_server.conf (так в Ubuntu) и редактируем его:
 
DBName=[имя базы данных, у меня zabbix]
DBUser = [имя пользователя доступа к MySQL]
DBPassword = [пароль доступа к базе данных]
 
Вот в принципе и все. Если у Вас MySQL настроен по умолчанию, то все должно заработать.
Теперь настроим агент zabbix. Если zabbix агент находится на той же машине, где и zabbix сервер, то ничего менять не надо. Если же zabbix агент находиться на другой машине, то открываем /usr/local/etx/zabbix_agentd.conf ищем строку Server=127.0.0.1 и заменяем на Server=[адрес zabbix сервера]
Вот и все. Запускаем zabbix сервер и агент командами:
 
zabbix_server
zabbix_agentd
 
Пришло время к установке web интерфейса для zabbix.
 Создаем виртуальный хост zabbix, как это сделать я писал в своей статье про создание виртуального хоста. Копируем в директорию созданного виртуального хоста файлы из директории с zabbix/frontends/php
Заходим на наш хост. Тут нужно немного подправить наш php.ini согласно требованиям zabbix.

  • memory_limit — задает максимальную величину использования памяти скриптом
  • post_max_size — устанавливает максимальный размер данных передаваемых методом POST
  • upload_max_filesize — максимальный размер загружаемого файла
  • max_execution_time — время выполнения скрипта
  • max_input_time — максимальное время в секундах, в течение которого скрипт должен разобрать все входные данные
  • timezone — в php.ini date.timezone, устанавливает часовой пояс

Дальше идут расширения PHP

  • datebase support — тип базы данных
  • bcmath — вычисления с произвольной точностью
  • mbstring — работа с многобайтными строками
  • sockets — работа с сокетами
  • gd — графическая библиотека
  • и др.

Перезапускаем сервер apache.
После того как все требования zabbix будут удовлетворены, можно перейти к следующему шагу.

На этом шаге нам надо выбрать тип базы данных (в моем случае это MySQL), укаазать адрес сервера (у меня localhost), название базы данных (для моего случае это zabbix), логин и пароль для доступа к базе данных:

 После ввода всех данных жмем “Test connection”, если тест прошел успешно переходим к следующему шагу, если же нет, то проверяем введенные данные.
На следующем шаге вводим информацию по zabbix серверу: адрес, порт, название.
 Переходим к следующему шагу. На этом шаге проверяем всю введенную информацию
 Если вся информация введена правильно — переходим к установке, нет — возвращаемся и исправляем.
 Как видите у меня все прошло успешно. Учтите, что файл zabbix.conf.php должен быть открыт на запись. Как это сделать я описывал в своей статье об изменении прав доступа Жмем “Finish”. И переходим к окну авторизации.
 По умолчанию логин — Admin, пароль — zabbix.
На этом установка завершена.
Давайте рассмотрим проблемы с которыми я столкнулся при установке zabbix и как их решить.

Во время установки мониторинга я столкнулся с двумя ошибками:

  1. При выполнении configure у меня выскочила ошибка “MySQL library not found”. Решается данная проблема легко, путем установки libmysqlclient16-dev
  2. Вторая ошибка выскочила при выполнении make install “The programm ‘make’ is currently not installed”. Тут все просто, у меня не установлена программа make.

Больше при установке zabbix проблем не возникло. Если же у Вас что-то пошло не так и Вы не знаете как это решить или решили — делитесь в комментариях. Думаю это будет полезно всем.
А на этом я завершаю статью, посвященную установке мониторинга zabbix. В следующей статье мы познакомимся с основными понятиями, затем разберем интерфейс и перейдем к настройке мониторинга хостов (устройств нашей сети). Так, что следите за выходом новых статей.

Источник: http://zloykolobok.blogspot.com/2012/10/zabbix.html

Установка Zabbix на CentOS 6.3 minimal

Исходные требования. Предполагается, что CentOS 6.3 minimal установлен Настроены ip адрес, имя хоста, и есть подключение к сети интернет. При необходимости обновляем ядро yum update kernel* -y reboot Если установка производится на VM, то устанавливаем инструменты паравиртуализации.

Установка Apache, PHP и прочих пакетов требующихся для настройки zabbix

yum install wget gcc crontab make freetype freetype-devel zlib-devel libpng-devel php php-mysql php-ldap php-xml php-mbstring php-bcmath php-gd gd gd-devel perl httpd policycoreutils-python fping libxml2 libxml2-devel  -y

Правим настройки PHP /etc/php.ini

max_execution_time = 300 max_input_time = 300 post_max_size = 16M date.timezone = «Europe/Moscow»

Правим настройки HTTP /etc/httpd/conf/httpd.conf

ServerName :80 DirectoryIndex index.html index.html.var index.php

Создаем пользователя под которым будет работать zabbix сервер

groupadd zabbix useradd -g zabbix zabbix passwd zabbix

Скачиваем дистрибутив Zabbix и распаковываем

cd /tmp wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.4/zabbix-2.0.4.tar.gz tar -zxvf zabbix-2.0.4.tar.gz

Устанавливаем MySQL

Читайте также:  Установка elastix с созданием raid 1

yum install mysql mysql-server mysql-devel -y

Настраиваем кодировку mysql на utf8 /etc/my.cnf

[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] default-character-set = utf8 collation-server = utf8_unicode_ci init-connect='SET NAMES utf8' character-set-server = utf8

Запускаем mysql и настраиваем пароль для root в MySQL и отключаем все не нужное

service mysqld start /usr/bin/mysql_secure_installation

Заходим в MySQL, создаем базу данных zabbixDB. Создаем пользователя zabbix, и даем разрешения ему вносить изменения в базу zabbixDB. Инициализируем базу данных

mysql -p CREATE DATABASE zabbixDB CHARACTER SET utf8;

CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON zabbixDB.* TO 'zabbix'@'localhost'; CONNECT zabbixDB; SOURCE /tmp/zabbix-2.0.4/database/mysql/schema.sql; SOURCE /tmp/zabbix-2.0.4/database/mysql/images.sql; SOURCE /tmp/zabbix-2.0.4/database/mysql/data.sql; Ctrl-C

Устанавливаем дополнительные пакеты, если будут использованы соответствующие ключи при установке zabbix

yum install curl curl-devel net-snmp net-snmp-devel net-snmp-utils libssh2 libssh2-devel openladp openldap-devel -y

Запускаем установку zabbix сервера с zabbix агентом и доп. опциями

cd /tmp/zabbix-2.0.4 ./configure —enable-server —enable-agent —with-mysql —with-net-snmp —with-libcurl —with-ldap —with-ssh2 —with-libxml2 make install

Создаем папку для логов

mkdir /var/log/zabbix chmod 777 /var/log/zabbix

Создаем папку для pid файлов и пингера

mkdir -p /var/run/zabbix chown zabbix /var/run/zabbix chgrp zabbix /var/run/zabbix

Правим настройки агента (если установлен) /usr/local/etc/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log

Правим настройки сервера /usr/local/etc/zabbix_server.conf

LogFile=/var/log/zabbix/zabbix_server.log DBName=zabbixDB DBUser=zabbix

DBPassword=password

TmpDir=/var/run/zabbix   PidFile=/var/run/zabbix/zabbix_server.pid

Устанавливаем Web интерфейс zabbix (frontend)

mkdir /var/www/html/zabbix cd /tmp/zabbix-2.0.4/frontends/php/ cp -a . /var/www/html/zabbix chmod 777 /var/www/html/zabbix/conf

Создать файл index.php (если требуется редирект из корня сразу на zabbix)

cat > /var/www/html/index.php press CTRL+D to save file

Применить политику SELinux для корректной работы httpd и разрешаем использовать порт 10051

chcon -Rv —type=httpd_sys_content_t /var/www/html/ chcon —type=zabbix_var_run_t /usr/sbin/fping  semanage port -a -t http_port_t -p tcp 10051

Разрешаем 80 порт для http и 10051 порт для zabbix сервера на файрволе iptables

iptables -I INPUT -p tcp —dport 80 -m state —state NEW,ESTABLISHED -j ACCEPT iptables -I OUTPUT -p tcp —sport 80 -m state —state ESTABLISHED -j ACCEPT iptables -I INPUT -p tcp —dport 443 -m state —state NEW,ESTABLISHED -j ACCEPT iptables -I OUTPUT -p tcp —sport 443 -m state —state ESTABLISHED -j ACCEPT iptables -I INPUT -p tcp -m state —state NEW,ESTABLISHED -m tcp —dport 10051 -j ACCEPT iptables -I OUTPUT -p tcp —sport 10051 -m state —state ESTABLISHED -j ACCEPT service iptables save

Настраиваем автозагрузку zabbix_server и zabbix_agentd (здесь конфиг для CentOS совместим с Fedora)

cp /tmp/zabbix-2.0.4/misc/init.d/fedora/core5/zabbix_server /etc/init.d/ cp /tmp/zabbix-2.0.4/misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/

Включаем автозагрузку

chkconfig mysqld on chkconfig httpd on chkconfig zabbix_server on chkconfig zabbix_agentd on

И запускаем все службы или просто перезагружаемся

service httpd start service zabbix_server start service zabbix_agentd start или reboot

Запускаем

http://zabbix_server

если не делали редирект то

http://zabbix_server/zabbix

 Входим: Admin, пароль zabbix
 Если все нормально zabbix сервер должен отображаться запущенным

Источник: http://va0816.blogspot.com/2013/02/zabbix-centos-6.html

Установка ZABBIX из исходников — Ubuntu Server

Чем отличается данная статья от множества других на просторах интернета? В данном материале помимо процесса установки Zabbix из исходных кодов, Вы найдете решения ряда известных проблем.

Например: отправка 3 смс на одно событие (вместо одного смс сообщения); правильная настройка скриптов автозапуска (при установке из исходников это делается в ручную); публикация frontend на веб сервере Apache2; описаны варианты компиляции Zabbix а также необходимые пакеты окружения.

Данный материал является полностью работоспособной инструкцией в рамках версий программного обеспечения указанного в статье.

Установка Zabbix будет происходить на подготовленный и настроенный сервер (Ubuntu Server 14.04 LTS). Для работы Zabbix нам потребуется установленный и настроенный WEB сервер.

Внимание! Вышла новая версия Zabbix 3.0 LTS

Установка и настройка Zabbix 3.0

Настройка хостовой машины

В данной статье я использую имя хоста zabbix.local, IP-адрес 192.168.13.50 и шлюз 192.168.13.241 эти параметры могут отличаться от Ваших, поэтому придется заменить их на свои.

Веб интерфейс Zabbix будет доступен в локальной сети по ip — 192.168.13.50; по именам zabbix.local и www.zabbix.local (для обращения к веб интерфейсу по имени у Вас должны быть указанны соответствующие параметры на DNS сервере, либо в файле hosts Вашей локальной машины).

Получение привилегий ROOT

Так как дальнейшая настройка системы и установка сервисов Zabbix потребует привилегий супер пользователя root, рассмотрим более подробно данный вопрос.

Просто добавьте sudo перед Вашей командой она будет выполнена от имени пользователя root. Например обновим систему:

Можно воспользоваться командой sudo su, она позволит Вам приключиться на пользователя root внутри терминала (не активируя его).

Вы также можете полностью активировать пользователя root (по умолчанию отключен в Ubuntu):

и указать пароль. После этого можно войти в систему как root, но это не одобряется разработчиками Ubuntu и сообществом по различным причинам.

Созданный по умолчанию пользователь в Ubuntu (при установке системы) может решать все административные задачи через sudo. Активировать пользователя root для доступа к системе мне кажется не обоснованным решением.

Установка SSH

Если Вы не установили OpenSSH сервер во время установки системы, Вы можете сделать это сейчас:

С этого момента Вы можете использовать SSH клиента, такого как PuTTY и связаться с Вашей машиной Ubuntu server 14.04.

Если вы хотите использовать пользователя root отредактируйте sshd_config:

Созданный по умолчанию пользователь в Ubuntu (при установке системы) может решать все административные задачи через sudo. Создавать возможность root доступа по SSH мне кажется не обоснованным решением.

Необходимо внести только одно изменение (выделено красным):

Внимание! Неправильно настроенный SSH-сервер — серьезная уязвимость в безопасности системы. В данной статье SSH сконфигурирован  (по умолчанию) для  удобства настройки системы  и не является безопасным! Рекомендую Вам  ознакомиться со статьей  «Установка и настройка SSH – Ubuntu»  в ней Вы найдете несколько полезных примеров для повышения безопасности подключения по SSH.

Настройка сети

Поскольку установка Ubuntu настроила систему на получение настроек сети через DHCP, то сейчас мы должны изменить это, что бы сервер имел статический IP-адрес. Отредактируем /etc/network/interfaces и настроим его под свои нужды (в данном примере установки я буду использовать IP-адрес 192.168.13.50):

Настраиваем сетевые параметры:

# The primary network interface auto eth0 iface eth0 inet static     address 192.168.13.50     netmask 255.255.255.0     network 192.168.13.0     broadcast 192.168.13.255     gateway 192.168.13.241

    dns-nameservers 192.168.13.241

Затем отредактируйте /etc/hosts :

Сделаем что бы файл выглядел следующим образом:

Отредактируем /etc/hostname:

Приводим к следующему виду:

Перезапустим машину для применения всех настроек:

Подготовка окружения

Если Вы не выбирали LAMP при установке Ubuntu Server, следуйте инструкциям ниже.

Установка:

LAMP (Краткое описание)

LAMP — акроним, обозначающий набор (комплекс) серверного программного обеспечения . LAMP назван по первым буквам входящих в его состав компонентов:

Linux — операционная система Linux;

Apache — веб-сервер;

MariaDB / MySQL — СУБД;

PHP — язык программирования, используемый для создания веб-приложений.

Другими словами LAMP — это минимальный набор программного обеспечения, необходимый для работы WEB сервера.

В процессе установки Вам будет предложено ввести пароль пользователя root для MySQL, вводим пароль и подтверждение.

Для работы Zabbix нам потребутся пакет GD для php5. Этот пакет обеспечивает обработку графики непосредственно из PHP-скриптов. Он поддерживает PNG, JPEG, XPM форматы. Для установки выполним:

Также нам нужно подготовить окружение. Для этого установим gcc и make.

Все процессы демонов Zabbix требуют непривилегированного пользователя. Если демон Zabbix запущен от аккаунта пользователя без привилегий, то он будет работать под этим пользователем.

Однако, если демон запущен из под аккаунта 'root', демон переключится на аккаунт пользователя 'zabbix', который должен существовать. Для создания такого аккаунта пользователя (принадлежащего к своей группе, “zabbix”), выполните:

Получаем исходные коды ZABBIX

Проверяем последнюю доступную версию Zabbix (мой выбор остановился на последней LTS версии 2.2.10):

Проверяем имя необходимого архива:

Скачиваем:

Распаковываем и переходим в директорию:

Создаем базу данных ZABBIX в MySQL

Подключаемся к MySQL серверу:

Вводим пароль пользователя root (мы устанавливали его в начале статьи) нажимаем Enter.

Создание базы данных:

Желательно сразу выбрать базу данных mysql, т.к. все настройки дальнешие будут вноситься в нее.

Создаем пользователя zabbix c с паролем Zaq12wsx для базы данных zabbix:

Отключаемся от MySQL сервера:

Переходим в каталог с sql скриптами:

Выолняем по очереди (ввод пароя пользователя zabbix в нашем примере Zaq12wsx, нажимаем Enter, и дожидаемся выполнения каждого из скриптов):

Проверяем:

Видем вывод таблиц созданных в результате выполнения скриптов.

Отключаемся

На этом создание базы данных для Zabbix завершено.

Сконфигурируем исходный код

Узнаем возможные варианты компиляции, выполним команду:

В случае необходимости, с помощью ключей мы сможем переназначить пути установки. В нашем примере я все оставлю по умолчанию.

Описание возможных вариантов компиляции Zabbix и необходимых пакетов

Рассмотрим подробнее секцию Optional Features, точнее ряд ключей:

  • –enable-server Этот ключ включает сборку сервера.
  • –enable-proxy Этот ключ включает сборку прокси. В рамках этой статьи мы не будем его использовать.
  • –enable-agent Этот ключ включает сборку. Так как сервер будет мониторить в т.ч. сам себя, поставим его обязательно.
  • –enable-java Если есть потребность в мониторинге Java, нужна компиляция с этим ключом. Для его использования нам потребуется Java, которую можно поставить командой:
  • –enable-ipv6 Ключ включает поддержку ipv6.

Перейдем к секции Optional Packages:

Важно. Сервер не может быть скомпилирован с поддержкой нескольких баз. В рамках данной статьи я опущу ключи, не относящиеся к конфигурации Zabbix + MySQL.

  • –with-mysql[=ARG] Данный ключ укажет, что необходима компиляция с поддержкой MySQL. В нашем случае он обязателен. Если сервер MySQL стоит на отдельном сервере либо не стоит полного MySQL – требуется установка:
  • –with-jabber[=DIR] Если мы захотим использовать Jabber для уведомлений, укажем этот ключ. Требуется установка:
  • –with-libcurl[=DIR] Если мы хотим мониторить Web сервисы, укажем этот ключ. Требуется установка:
  • –with-iodbc[=ARG ] или –with-unixodbc[=ARG] Если мы захотим мониторить базы данных, нам понадобится один из этих ключей в зависимости от окружения. В примере используется iodbc. Требуется установка:
  • –with-net-snmp[=ARG] или –with-ucd-snmp[=ARG] При использовании проверок SNMP, нам потребуется один из ключей. Так как NET-SNMP является продолжением UCD-SNMP, по возможности используйте его. Требуется установка:
  • –with-ssh2[=DIR] Ключ необходим при проверках SSH.
  • –with-openipmi[=DIR] Если нам потребуется мониторинг по IPMI, укажем этот ключ. По возможности избегайте частых проверок по причине тормознутости модулей IPMI (будь то решения от Supermicro или от HP. Требуется установка:
  • –with-ldap[=DIR] Включение поддержки проверок ldap.

Мы будем компилировать Zabbix со следующими ключами: —enable-server —enable-agent —with-mysql —with-net-snmp —with-libcurl —with-jabber.

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

Соответственно Вам нужно установить необходимые пакеты из списка выше, иначе компиляция Zabbix выполнена не будет.

В данной конфигурации Вы получите Zabbix server с поддержкой MySQL, Zabbix agent, мониторинг по протоколу SNMP, мониторинг WEB ресурсов, уведомления на Email, SMS оповещения, уведомления с помощью Jabber.

Но приступать к компиляции рано. Если вы планируете использовать СМС оповещения, то стоит обратить внимание на одну известную проблему.

В неоторых случаях при отправке сервером Zabbix смс уведомления оно затраивается (на одно событие у Вас приходит 3 смс), что в свою очередь влечет увеличение затрат на мобильную связь.

Если Вы не собираетесь использовать смс оповещения можете пропустить правку скрипта sms.c

Читайте также:  Установка и настройка vestacp - бесплатной панели управления хостингом

Zabbix сервер отправляет 3 sms (Решение)

Происходит затраивание смс по разным причинам: 3/4G модемы Huawei не возвращают параметр «OK»; gsm шлюзы EasyGate не возвращают параметр «+CMGS: «. Zabbix не получив ожидаемых ответов от данных устройств выполняет повторную отправку AT комманд. Именно это и является причиной отправки нескольких сообщений на одно собитие.

Итак решение, редактиреум:

Нас интересует участок кода отвечающий за инициализацию устройства и отправку смс уведомления:

Приводим его к следующему виду (выделено красным) и сохраняем:

На этом правка скрипта окончена.

Создаем конфигурационный скрипт.

Если при конфигурировании возникают ошибки, убедитесь, что вы не забыли поставить что-либо из требуемого окружения.

Собираем и устанавливаем ZABBIX

Теперь нам осталось только запустить make install.

Отредактируем конфигурационные файлы

Отредактируйте файл конфигурации Zabbix агента /usr/local/etc/zabbix_agentd.conf

В файле вы должны указать IP адрес Zabbix сервера. Подключения с остальных хостов будут отклонены. Укажите также ListenIP.

Отредактируйте файл конфигурации Zabbix сервера /usr/local/etc/zabbix_server.conf

Вы должны указать имя базы данных, пользователя и пароль.

Автозапуск демонов ZABBIX при старте системы

Скопируем стартовые скрипты с каталога исходного кода zabbix в /etc/init.d

Даем права на запуск и помещаем их в стартовый скрипт загрузки операционной системы:

Перезагрузим систему:

Проверим запустились ли службы:

Все необходимые службы работают. Zabbix сервер и Zabbix агент стартуют автоматически при загрузке системы.

Устанавливаем веб интерфейс

Создадим каталог где будет расположен веб интерфейс Zabbix:

Скопируем frontend с исходных кодов в созданный каталог:

Мы подготовили структуру директорий. Теперь для корректной работы Apache необходимо изменить владельца:

Так же необходимо отредактировать права доступа, чтобы убедиться, что доступ на чтение разрешен к общей веб-директории и всем файлам и папкам, содержащимся в ней. Это необходимо для того, чтобы страницы сайта отображались корректно:

Создадим конфигурационный файл виртуального хоста:

Указываем необходимые настройки и сохраняем:

Для включения виртуального хоста используется утилита a2ensite:

Перезапустим веб сервер:

Откройте URL Zabbix в нашем случае 192.168.13.50

Нас встречает помощник установки веб-интерфейса.

Убедитесь, что все требования к программному обеспечению выполнены.

Укажите информацию для подключения к базе данных (база данных — zabbix, пользователь — zabbix, пароль — Zaq12wsx).

Введите подробные сведения о сервере Zabbix.

Проверим указанные настройки.

Завершение установки.

Веб-интерфейс Zabbix готов! По умолчанию имя пользователя admin, пароль zabbix.

На этом установка Zabbix из исходных кодов завершена.

Внимание! Вышла новая версия Zabbix 3.0 LTS

Установка и настройка Zabbix 3.0

Источник: https://a-rm.ru/materials/unix-servera/ustanovka-zabbix-iz-ishodnikov-ubuntu-server

Использование Dependent items в Zabbix 4.0 на примере HPE MSA 2040/2050

Все, кто пользуется системой мониторинга Zabbix и следит за её развитием, знают, что с выходом Zabbix 3.4 у нас появилась замечательная функциональная возможность — Dependent Items (зависимые элементы данных), о который уже был соответствующий пост в блоге Zabbix. Однако, в том виде, в котором она была представлена в 3.

4, использовать её «на всю катушку» было проблематично ввиду того, что макросы LLD не поддерживались для использования в правилах препроцессинга (ZBXNEXT-4109), а так же в качестве «родительского» элемента данных можно было выбрать только тот, что создан самим правилом LLD (ZBXNEXT-4200).

Короче говоря, приходилось делать всё ровно так, как рассказывается по ссылке выше — работать руками, что при большом количестве метрик доставляло много неудобств. Однако, с выходом Zabbix 4.0alpha9 всё изменилось.

Для меня описанный функционал был важен в связи с тем, что на нашем предприятии используется несколько СХД от HP, а именно HP MSA 2040/2050, метрики с которых снимаются запросами к их XML API с использованием Python-скрипта.

В самом начале, когда встала задача наблюдения за обозначенным оборудованием и был найден вариант с использованием API, выяснилось, что в самом простом случае, чтобы узнать, скажем, состояние здоровья одного компонента СХД, требовалось сделать два запроса:

  • Запрос токена аутентификации (session key);
  • Сам запрос, возвращающий информацию по компоненту.

Теперь представьте, что хранилище состоит из 24 дисков (а может и больше), двух блоков питания, пары контроллеров, вентиляторов, нескольких дисковых пулов и пр. — умножаем всё это на 2 и получаем более 50 элементов данных, что равно стольким же запросам к API при ежеминутных проверках.

Если попробовать пойти по такому пути, API быстро «ложится», а ведь мы говорим только о запросе «здоровья» компонентов, не учитывая остальные возможные и интересные метрики — температура, наработка на часы для жестких дисков, скорость вращения вентиляторов и т.д. Первым решением, которое я сделал чтобы разгрузить API, еще до выхода Zabbix версии 3.

4, было создание кэша для получаемого токена, значение которого записывалось в файл и хранилось N-минут. Это позволило снизить количество обращений к API ровно в два раза, однако, ситуацию сильно не изменило — что-то помимо состояния здоровья получать было проблематично.

Примерно в это время я посетил Zabbix Moscow Meetup 2017, устроенный компанией Badoo, где и узнал о упомянутом выше функционале зависимых элементов данных.

Скрипт был доработан до возможности отдавать подробные JSON объекты, содержащие интересующую нас информацию по различным компонентам хранилища и вывод его стал выглядеть примерно так вместо одиночных строковых или числовых значений:{«1.1»:{«health»:»OK»,»health-num»:»0″,»error»:»0″,»temperature»:»24″,»power-on-hours»:»27267″},»1.

2″:{«health»:»OK»,»health-num»:»0″,»error»:»0″,»temperature»:»23″,»power-on-hours»:»27266″},»1.3″:{«health»:»OK»,»health-num»:»0″,»error»:»0″,»temperature»:»24″,»power-on-hours»:»27336″}, … }Это пример с отдаваемыми данными по всем дискам хранилища.

По остальным компонентам картина схожая — ключом является ID компонента, а значением — объект JSON, содержащий нужные метрики. Всё было хорошо, но быстро всплыли нюансы, описанные в начале статьи — все зависимые метрики приходилось создавать и обновлять вручную, что было довольно мучительно (порядка 300 метрик на одну СХД плюс триггеры и графики). Нас могло бы спасти LLD, но тут, при создании прототипа, оно не позволяло нам указывать в качестве родительского айтема тот, что не был создан самим правилом, а грязный хак с созданием фиктивного айтема через LLD и подменой его itemid в БД на нужный, ронял сервер Zabbix. В багтрекере Zabbix быстро появились упомянутые фичреквесты, что указывало на то, что данный функционал важен не только мне. Т.к. все подготовительные операции с моей стороны были завершены, я решил потерпеть и не плодить временных решений, таких как динамическая генерация шаблона и ждал только закрытия указанных в начале статьи ZBXNEXT'ов и вот совсем недавно это было сделано.

Как всё выглядит теперь

Для демонстрации новых возможностей Zabbix мы возьмем:

  • СХД HPE MSA 2040 доступную по протоколу HTTP/HTTPS;
  • Сервер Zabbix 4.0alpha9, установленный из официального репозитория на CentOS 7.5.1804;
  • Скрипт, написанный на Python третьей версии и предоставляющий нам возможность обнаруживать компоненты СХД (LLD) и возвращать данные в формате JSON для парсинга на стороне сервера Zabbix с использованием JSON Path.

Родительский элемент данных будет представлять собой «внешнюю проверку» (external check), вызывающую скрипт с необходимыми аргументами и хранить полученные данные как текст.

Подготовка

Python-скрипт устанавливается в соответствии с документацией и имеет в зависимостях Python библиотеку «requests».

Если у вас RHEL-based дистрибутив, установить её можно с помощью пакетного менеджера yum:[root@zabbix]# yum install python3-requests
Или с помощью pip:[root@zabbix]# pip install requests
Протестировать работу скрипта можно из оболочки, запросив, например, данные LLD о дисках:[root@zabbix]# ./zbx-hpmsa.

py -m MSA_DNS_NAME_OR_IP -d -c disks
{«data»:[{«{#DISK.ID}»:»1.1″,»{#DISK.SN}»:»KFGY7LVF»},{«{#DISK.ID}»:»1.2″,»{#DISK.SN}»:»Z0K02QVG0000C4297CH3″},{«{#DISK.ID}»:»1.3″,»{#DISK.SN}»:»KLK7XG0F»}, … }

Настройка хоста

Для начала нужно создать родительские элементы данных, которые будут содержать все необходимые нам метрики. В качестве примера создадим такой элемент для физических дисков:

Имя — указываем произвольно;

Тип — внешняя проверка;
Ключ — вызов скрипта с нужными параметрами (см. документацию скрипта на GitHub);
Тип информации — текст;
Интервал обновления — в примере используется пользовательский макрос {$UPDATE}, разворачивающийся в значение «1m»;
Период хранения истории — один день. Думаю, что хранить родительский элемента данных дольше смысла не имеет. Проверяем последние данные по созданному элементу:Приходит JSON, значит всё сделано правильно. Следующим будет настройка правил обнаружения, которые отыщут все доступные для мониторинга компоненты и создадут зависимые айтемы и триггеры. Продолжая пример с физическими дисками, выглядеть оно будет так:После создания правила LLD потребуется создать прототипы элементов данных. Создадим такой прототип, на примере данных о температуре:

Имя — указываем произвольно;

Тип — зависимый. В качестве родительского элемента данных выбираем соответствующий созданный ранее элемент;
Ключ — проявим фантазию, но нужно учесть, что каждый ключ должен быть уникальным, поэтому включим в него макрос LLD;
Тип информации — в данном случае числовой;
Период хранения истории — в примере это пользовательский макрос, указывается по вашему усмотрению;
Период хранения трендов — опять же, пользовательский макрос; Так же я добавил прототип «Приложения» — к нему можно удобно привязывать метрики, относящиеся к одному компоненту. На вкладке «Препроцессинг» создадим шаг типа «JSON Path» с правилом, извлекающим показания температуры:

Выражение шага выглядит так: $['{#DISK.ID}']['temperature']

Обратите внимание, что теперь в выражении можно использовать макросы LLD, что не просто значительно упрощает нам работу, но и вообще дает проделывать подобные штуки довольно просто (раньше вас бы направили в Zabbix API).

Далее, по аналогии с температурой, создадим оставшиеся прототипы элементов данных:На этом этапе можно проверить получаемый результат, зайдя в «Последние данные» по хосту. Если там вас всё устраивает, продолжаем работу дальше.

Я в итоге получил следующую картину:Ждем пока обновится конфигурационный кэш или толкаем его обновление вручную:[root@zabbix]# zabbix_server -R config_cache_reload
После этого можно воспользоваться еще одной крутейшей «фишкой» версии 4.0 — кнопкой «Check now» для запуска созданных правил LLD:У меня получился следующий результат:

Заключение

В итоге, всего девятью запросами к XML API мы смогли получить более трехсот метрик с одного узла сети, затратив на это минимум времени и получив максимум гибкости. LLD даст нам возможность автоматически обнаруживать новые компоненты или обновлять старые.

Спасибо, что читали, ссылки на используемые материалы, а там же на актуальный шаблон для HPE MSA P2000G3/2040/2050 можно найти ниже. P.S. Кстати, в версии 4.

0 так же представлен новый тип проверок — HTTP агент, который в паре с препроцессингом и XML Path, потенциально может избавить нас от использования внешних скриптов — нужно только решить вопрос получения токена аутентификации, который всё-таки должен периодически обновляться.

Одним из вариантов я вижу использование глобального макроса с этим токеном, который можно обновлять через Zabbix API по крону, т.ч. заинтересованные люди могут развить эту идею. =)

Скрипт

Шаблон на Zabbix Share
Зависимые элементы данных
JSON Path
Zabbix 4.0alpha9

Источник: https://habr.com/post/419221/

Настройка Zabbix

13.05.2017 14:14

#Apache #Linux/Ubuntu #MySQL

Zabbix – это система мониторинга для сетей и приложений. Она позволяет в реальном времени отслеживать тысячи данных, собранных с серверов, виртуальных машин и других типов сетевых устройств.

А значит, вы будете знать все, что происходит в вашем IT-окружении, и сможете отслеживать ошибки и проблемы с программным обеспечением даже раньше, чем с ними столкнутся клиенты.

Информация содержится в базе данных, и вы можете работать с ней: анализировать данные, а затем, к примеру, делать модернизацию и улучшать качество предоставляемых услуг.

Zabbix использует архитектуру «клиент-сервер» – для сбора и передачи данных на сервер Zabbix используется специальный агент. 3 версия Zabbix поддерживает зашифрованную передачу данных между клиентом и сервером, поэтому ваши данные будут защищены от несанкционированного доступа третьих лиц.

Zabbix сервер располагает свои данные в реляционной базе данных, для работы с которой можно использовать MySQL, PostgreSQL или Oracle.

Читайте также:  Обновление freebsd 10.3 до 11.0

В этой статье я хочу рассказать о настройке двух машин – одной в качестве сервера, а другой в качестве клиента, которого вы будете отслеживать. Для записи данных будет использоваться MySQL, а Apache – для веб-интерфейса.

Требования

  • 2 сервера с установленным CentOS 7 и пользователями с sudo-правами;
  • на одном из серверов должно быть установлено следующее ПО: Apache, MySQL (либо MariaDB) и PHP.

Шаг 1

Установка сервера

Первое, что необходимо сделать, – это установить сервер Zabbix на тот сервер, где у вас установлены MySQL, Apache и PHP. Эта машина станет Zabbix сервером. Авторизуйтесь:

$ ssh sammy@ip_адрес_вашего_сервера

По умолчанию Zabbix недоступен в менеджере пакетов, поэтому придется устанавливать конфигурационный пакет при помощи официального репозитория Zabbix для CentOS.

$ sudo rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

После этого вы увидите на экране:

Retrieving http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm warning: /var/tmp/rpm-tmp.qLbOPP: Header V4 DSA/SHA1 Signature, key ID 79ea5ed4: NOKEY Preparing… ################################# [100%] Updating / installing… 1:zabbix-release-3.0-1.el7 ################################# [100%]

Следующим шагом выполните команду ниже для того, чтобы установить сервер Zabbix и часть с поддержкой СУБД MySQL:

$ sudo yum install zabbix-server-mysql zabbix-web-mysql

Во время установки вам нужно будет ввести ключ GPG, после чего установка будет закончена.

Еще один важный компонент – агент Zabbix, который будет собирать данные о самом сервере Zabbix. Для установки введите вот такую команду:

$ sudo yum install zabbix-agent

Перед началом использования Zabbix нужно первым делом настроить базу данных, чтобы она сохраняла все те данные, которые Zabbix собирает со своих агентов.

Шаг 2

Настройка СУБД MySQL

На этом этапе нужно создать новую базу MySQL и внести в нее базовую информацию для того, чтобы она подходила для использования Zabbix. Второе важное действие – создание для этой базы данных специального пользователя (чтобы не использовать root-аккаунт).

Авторизуйтесь в MySQL в качестве суперпользователя, используя тот root-пароль, который вы задали во время установки:

Создайте базу данных Zabbix с поддержкой UTF-8:

> create database zabbix character set utf8;

Перейдем к новому пользователю – нужно не только создать его, но также дать доступ к новой базе данных и установить пароль:

> grant all privileges on zabbix.* to zabbix@localhost identified by 'пароль';

Примените новые правила:

Затем выйдите из консоли базы данных.

Теперь перейдем к импортированию необходимой схемы и данных. После установки Zabbix у нас уже есть необходимый файл, который просто необходимо импортировать. Сначала перейдите в нужную директорию:

$ cd /usr/share/doc/zabbix-server-mysql-3.0.4/

Затем выполните следующую команду. Благодаря ей все необходимые данные будут импортированы в базу данных Zabbix.

$ zcat create.sql.gz | mysql -uzabbix -p zabbix

Введите пароль для пользователя Zabbiх.

Информация отобразится на экране только в случае ошибок, поэтому если вы ничего не увидели, значит, команда была выполнена корректно. Если же вы увидели такую ошибку:

ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: YES)

То убедитесь, что вы ввели правильный пароль (не от root-пользователя, а именно от пользователя zabbix).

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

$ sudo vi /etc/zabbix/zabbix_server.conf

Обратите внимание на следующую часть файла:

Источник: https://timeweb.com/ru/community/articles/nastroyka-zabbix-1

Установка Zabbix-сервера и Zabbix-агента на сервере

Добрый день.

Сегодня начальство одобрило проект внедрения мониторинга состояния серверов Zabbix.
ZABBIX — свободная система мониторинга и отслеживания статусов разнообразных сервисов компьютерной сети, серверов и сетевого оборудования, написанная Алексеем Владышевым.

Начну небольшой цикл статей по Zabbix: Это первая статья и здесь будет рассмотрен процесс установки Zabbix-сервера и Zabbix-агента. Для интересующихся прошу под кат. В данный момент у нас есть 4 сервер: 3 сервера на которых работают клиентские системы и dev-сервер для разработки.

На dev-сервере будет Zabbix-сервер + Zabbix-агент (для мониторинга самого dev-сервера), а на остальных серверах пассивный Zabbix-агент.

1. Установка Zabbix-сервера и Zabbix-агента на dev-сервер.

Подключимся по ssh к серверу (пусть его IP условно будет равен 192.168.0.1, на самом деле сервера с реальными IP-адресами).

1.1 Скачаем исходные коды Zabbix с официального сайта.

Перейдем во временную папку и скачаем zabbix_2.0.4:

$ cd /tmp

$ wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.0.4/zabbix-2.0.4.tar.gz Разархивируем архив:

$ tar xfz zabbix-2.0.4.tar.gz


Используемые ключи в команде:

  • x — позволяет вам извлекать файлы из архива.
  • f — является обязательной опцией. Без неё tar пытается использовать магнитную ленту вместо файла архива.
  • z — позволяет вам обрабатывать архив, сжатый gzip'ом (с расширением .gz). Если вы забудете указать эту опцию, tar выдаст ошибку. И наоборот, эта опция не должна использоваться для несжатых архивов.

1.2 Создание пользователя zabbix

Все демоны Zabbix процессов требуют непривилегированного пользователя. Если демон Zabbix запущен от аккаунта пользователя без привилегий, то он будет работать под этим пользователем.

Если Zabbix сервер и агент работают на одной машине, то рекомендуется использовать разных пользователей для запуска сервера и для запуска агента. В противном случае, если сервер и агент запущены под одним пользователем, агент будет иметь доступ к файлу конфигурации сервера и любой пользователь с правами Администратора в Zabbix может с легкостью получить, например, пароль от базы данных.

Однако, если демон запущен из под аккаунта 'root', демон переключится на аккаунт пользователя 'zabbix', который должен существовать.

Создадим группу zabbix:

$ groupadd zabbix

$ useradd -g zabbix zabbix

1.3 Создание базы данных пользователя zabbix необходимо для Zabbix-сервера.

Зайдем в MySQL:

$ mysql -uroot -p

Введем пароль рута от MySQL.

mysql> creqate database zabbix character set utf8;

mysql> GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'192.168.0.1' IDENTIFIED BY 'password' WITH GRAND OPTION;

mysql> quit;

Именно в таком порядке или будут проблемы с созданием.

$ mysql -uzabbix -ppassword zabbix < /tmp/zabbix-2.0.4/database/mysql/schema.sql

$ mysql -uzabbix -ppassword zabbix < /tmp/zabbix-2.0.4/database/mysql/images.sql

$ mysql -uzabbix -ppassword zabbix < /tmp/zabbix-2.0.4/database/mysql/data.sql

1.4 Сконфигурируем исходные коды

$ cd /tmp/zabbix-2.0.4/

$ ./configure —enable-server —enable-agent —with-mysql —enable-ipv6 —with-net-snmp —with-libcurl —with-jabber

Конфигурируем сервер и агент, с использованием mysql, net-snmp, libcurl, jabber с поддержкой Ipv6.

Во время конфигурирования могут отсутствовать те или иные библиотеки, вот пример флаг, ошибка и способ решения:

Флаг: —with-mysql

Ошибка: configure: error: MySQL library not found

Решение: apt-get install libmysqlclient-dev

Флаг: —with-jabber

Ошибка: checking for IKSEMEL… configure: error: Jabber library not found

Решение: apt-get install libiksemel-dev

Флаг: —with-libcurl

Ошибка: configure: error: Curl library not found

Решение: apt-get install libcurl4-openssl-dev

Флаг: —with-net-snmp

Ошибка: configure: error: Not found NET-SNMP library

Решение: apt-get install libsnmp-dev

Флаг: —with-openipmi

Ошибка: configure: error: Invalid OPENIPMI directory — unable to find ipmiif.h

Решение: apt-get install libipenipmi-dev

1.5 Соберем и установим все

$ make install Проверяем есть ли это в /etc/services, если нет добавляем:

$ cat /etc/services | grep zabbix

zabbix-agent 10050/tcp Zabbix Agent
zabbix-agent 10050/udp Zabbix Agent
zabbix-trapper 10051/tcp Zabbix Trapper
zabbix-trapper 10051/udp Zabbix Trapper

1.6 Просмотрим и отредактируем файлы конфигурации

  • Файл конфигурации Zabbix-агента /usr/local/etc/zabbix_agentd.conf

Вам нужно сконфигурировать этот файл для каждого хоста на котором установлен zabbix_agentd.

В файле вы должны указать IP адрес Zabbix сервера. Подключение с остальных хостов будут отключены.

$ nano /usr/local/etc/zabbix_agentd.conf

Я решил поменять у себя такие поля:

EnableRemoteCommands=1 — разрешение на удаленные команды с zabbix сервера.

LogRemoteCommands=1 — журналирование выполненных shell команд, как предупреждений.

Server=127.0.0.1 — Айпишник Zabbix-сервера.

Сохраняем (Ctrl+O) и выходим (Ctrl+X).

  • Файл конфигурации Zabbix-сервера /usr/local/etc/zabbix_server.conf

Вы должны указать имя базы данных, пользователя и пароль.

Остальные параметры подойдут вам по умолчанию, если у вас небольшая установка (до десяти наблюдаемых хостов).

$ nano /usr/local/etc/zabbix_server.conf

DBHost=localhost — по дефолту, можно не менять

DBName=zabbix — имя базы которую мы создавали

DBUser=zabbix — пользователь БД которого мы создали

DBPassword=password — пароль созданного нами пользователя

StartDiscoverers=10 — кол-во форков автообнаружения

Сохраняем (Ctrl+O) и выходим (Ctrl+X).

1.7 Копируем скрипты автозапуска.

Мне пришлось сначала отредактировать скрипты автозапуска.

$ nano /tmp/zabbix-2.0.4/misc/init.d/debian/zabbix-agent

После комментариев строки #Copyright (C) 2000-2012 Zabbix SIA и до NAME=zabbix_agent. Добавляем:

### BEGIN INIT INFO
# Provides:             zabbix_agent
# Required-Start:       $local_fs $remote_fs $network $syslog
# Required-Stop:        $local_fs $remote_fs $network $syslog
# Should-Start:         $all
# Should-Stop:          $all
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    start/stop zabbix agent daemon
# Description:          start/stop zabbix agent daemon
### END INIT INFO

$nano /tmp/zabbix-2.0.4/misc/init.d/debian/zabbix-server

Туда же добавляем:

### BEGIN INIT INFO

# Provides:             zabbix_server

# Required-Start:       $local_fs $remote_fs $network $syslog

# Required-Stop:        $local_fs $remote_fs $network $syslog

# Should-Start:         $all

# Should-Stop:          $all

# Default-Start:        2 3 4 5

# Default-Stop:         0 1 6

# Short-Description:    start/stop Zabbix server daemon

# Description:          start/stop Zabbix server daemon

### END INIT INFO

$ cp /tmp/zabbix-2.0.4/misc/init.d/debian/zabbix-* /etc/init.d/

$ update-rc.d zabbix-server defaults

$ update-rc.d zabbix-agent defaults

1.8 Запустим демоны.

Запустим zabbix_server

$ /etc/init.d/zabbix-server start

Так как на нашем сервере есть и zabbix-agent, запускаем и его:

$ /etc/init.d/zabbix-agent start

2. Установка веб интферфейса.

Общепринятые места размещения папок HTL Документов для веб-сервера Apache включают:

  • /usr/local/apache2/htdocs (папка по умолчанию при установке Apache из исходных кодов)
  • /srv/www/htdocs (OpenSUSE, SLES)
  • /var/www/html (Fedora, RHEL, CentOS)
  • /var/www (Debian, Ubuntu)

Предлагаю использовать подпапку вместо корневой папки HTML. Что бы создать подпапку и скопировать файлы веб-интерфейса Zabbix, выполним следующие команды, заменив на корректный путь для вашей системы:

$ mkdir /zabbix

$ cd frontends/php

$ cp -a . /zabbix

Шаг 1.

Откройте http://192.168.0.1/zabbix в браузере.

Вы должны увидеть первую страницу помощника установки веб-интерфейса.

Шаг 2.

Убедитесь, что все требования к программному обеспечению выполнены.

Если какие-то параметры не подходят:

$ nano /etc/php5/apache2/php.ini

Редактируем соответствующие поля и перезагружаем веб-сервер Apache.

$ /etc/init.d/apache2 restart

ТребованиеМинимальное значениеОписание
Версия PHP 5.1.6
PHP опция memory_limit 128МБ В php.ini:
memory_limit = 128M
PHP опция post_max_size 16МБ В php.ini:
post_max_size = 16M
PHP опция upload_max_filesize 2МБ В php.ini:
upload_max_filesize = 2M
PHP опция max_execution_time 300 секунд В php.ini:
max_execution_time = 300
PHP опция max_input_time 300 секунд В php.ini:
max_input_time = 300
PHP опция session.auto_start должно быть отключено В php.ini: session.auto_start = 0.

требуется начиная с версии Zabbix 2.0.4.

Поддержка баз данных Одна из: IBM DB2, MySQL, Oracle, PostgreSQL, SQLite Один из следующих модулей должен быть установлен:
ibm_db2, mysql, oci8, pgsql, sqlite3
bcmath php-bcmath
mbstring php-mbstring
sockets php-net-socket. Требуется для поддержки пользовательских скриптов.
gd 2.0 или выше php-gd. Расширение PHP GD должно поддерживать PNG изображения (—with-png-dir), JPEG (—with-jpeg-dir) изображения и FreeType 2 (—with-freetype-dir).
libxml 2.6.15 php-xml или php5-dom
xmlwriter php-xmlwriter
xmlreader php-xmlreader
ctype php-ctype
session php-session
gettext php-gettext

Шаг 3.

Укажите детали для подключения к базе данных. База данных Zabbix должна быть уже создана.

Шаг 4.

Введите подробные сведения о сервере Zabbix.

Шаг 5.

Просмотрите результат настроек.

Шаг 6.

Скачайте файл конфигурации и поместите его в папку conf/.

Шаг 7.

Завершение установки.

Шаг 8.

Веб-интерфейс Zabbix готов! По умолчанию имя пользователя Admin, пароль zabbix.

Источник: http://blog.asidorov.name/2013/01/zabbix.html

Ссылка на основную публикацию