Установка последнего, на данный момент, релиза Zabbix. В качестве движка БД будет использован Postgresql
Подготовка
Установка дополнительных пакетов
|
yum clean all yum -y update yum install epel-release -y yum install htop zip mc wget sudo nmtui bzip2 net-tools bind epel-release bzip2 bind-utils -y |
Отключаю IPv6
|
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6 echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6 sysctl -w net.ipv6.conf.all.disable_ipv6=1 sysctl -w net.ipv6.conf.default.disable_ipv6=1 |
|
vi /etc/sysctl.d/00-disableipv6.conf net.ipv6.conf.all.disable_ipv6 = 1 #Если необходимо только на определенном интерфейсе #net.ipv6.conf.eth0.disable_ipv6 = 1 |
|
vi /etc/sysconfig/network NETWORKING_IPV6=no IPV6INIT=no |
И отключу менеджер сети
|
systemctl disable NetworkManager.service |
Установим фаервол и откроем 80 порт в файле /etc/sysconfig/iptables
Вариант 1
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
# Разрешить установленные соединения
-A INPUT -m state —state RELATED,ESTABLISHED -j ACCEPT
# Разрешить PING
-A INPUT -p icmp -j ACCEPT
# Разрешить прохождение трафика через loopback
-A INPUT -i lo -j ACCEPT
# Откроем доступ к SSH и WEB
-A INPUT -p tcp -m state —state NEW -m tcp —dport 22 -j ACCEPT
-A INPUT -p tcp -m state —state NEW -m tcp —dport 80 -j ACCEPT
#LAN
-A INPUT -s 10.0.0.0/8 -j ACCEPT
-A INPUT -s 192.168.0.0/16 -j ACCEPT
#Запретить все остальное
-A INPUT -j REJECT —reject-with icmp-host-prohibited
-A FORWARD -j REJECT —reject-with icmp-host-prohibited
COMMIT
[свернуть]
Вариант 2
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
# Разрешить установленные соединения
-A INPUT -m state —state RELATED,ESTABLISHED -j ACCEPT
# Разрешить PING
-A INPUT -p icmp -j ACCEPT
# Разрешить прохождение трафика через loopback
-A INPUT -i lo -j ACCEPT
# Откроем доступ к SSH и WEB
-A INPUT -p tcp -m state —state NEW -m tcp —dport 22 -j ACCEPT
-A INPUT -p tcp -m state —state NEW -m tcp —dport 80 -j ACCEPT
#LAN
-A INPUT -s 10.0.0.0/8 -j ACCEPT
-A INPUT -s 192.168.0.0/16 -j ACCEPT
COMMIT
[свернуть]
Добавим в автозагрузку и запустим фаервол
|
systemctl stop firewalld systemctl disable firewalld yum install iptables-services systemctl enable iptables systemctl stop ip6tables systemctl disable ip6tables.service |
Установка Zabbix
Установка репозитория Zabbix
|
rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm |
Установка сервера Zabbix, создание БД и пользователя
|
yum install zabbix-server-pgsql zabbix-get zabbix-web-pgsql yum install postgresql-server systemctl enable postgresql postgresql-setup initdb systemctl start postgresql |
Создаем пользователя zabbix. Будет запрошен пароль на sudo,
если вы выполняете команды от непривелигированного пользователя,
а затем пароль на пользователя zabbix
|
sudo -u postgres createuser --pwprompt zabbix |
Теперь мы настроим базу данных zabbix (последний параметр) с ранее созданным пользователем
в качестве владельца (-O zabbix) и импортируем изначальную схему и данные:
|
sudo -u postgres createdb -O zabbix zabbix zcat /usr/share/doc/zabbix-server-pgsql-3.4.6/create.sql.gz | sudo -u zabbix psql zabbix |
Если используется SELinux. то добавить правило
|
setsebool -P httpd_can_connect_zabbix on |
Или отключить его полностью в /etc/sysconfig/selinux
Зададим временную зону в файле /etc/php.ini — date.timezone = Europe/Moscow и перезапускаем Apache
Правим файл /var/lib/pgsql/data/pg_hba.conf
|
# TYPE DATABASE USER ADDRESS METHOD host zabbix zabbix 127.0.0.1/8 password host zabbix zabbix ::1/128 password # "local" is for Unix domain socket connections only local all all password # IPv4 local connections: host all all 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 ident |
|
service postgresql reload systemctl start iptables systemctl enable iptables systemctl enable postgresql systemctl enable zabbix-server systemctl enable httpd |
Пробуем подключиться
|
psql -h 127.0.0.1 -W -U zabbix |
Если не удалось подключиться, смотрим ошибку. Если peer, то файл pg_hba.conf, если неверный пароль, то подключаемся и меняем
|
ALTER USER zabbix WITH PASSWORD 'zabbix'; |
Прописываем данные для подключения к БД в /etc/zabbix/zabbix_server.conf — БД, имя пользователя и пароль и немного подправим конфиг
|
DBName=zabbix DBUser=zabbix DBPassword=ZABBIXPASS HousekeepingFrequency=1 MaxHousekeeperDelete=10000 CacheSize=1024M HistoryCacheSize=1024M TrendCacheSize=256M ValueCacheSize=512M |
Запуск Zabbix
|
systemctl start zabbix-server |
Если инсталляция прошла успешно, необходимо подготовить
стандартные шаблоны, так как из коробки период опроса имеет очень небольшое значение, что приводит к резкому росту базы данных и, как следствие, нагрузки на дисковую подсистему.