安装环境

Ubantu:18.04.4

主机信息:

CPU >=2C,开启支持虚拟化

内存 >=4G

HD =80GB

下载安装包

wget https://cdn.zabbix.com/zabbix/sources/stable/4.0/zabbix-4.0.23.tar.gz

安装依赖包

apt-get update
apt-get install libmariadb-dev libmariadb-dev-compat
apt-get install autoconf gcc g++ make cmake pkg-config php7.2-snmp php7.2-imap php7.2-pspell php7.2-curl php7.2-zip php7.2-sqlite3 php7.2-pgsql php7.2-fpm php7.2-xmlrpc php7.2-gettext apache2 apache2-bin apache2-data apache2-utils fontconfig-config fonts-dejavu-core fping libapache2-mod-php libapache2-mod-php7.2 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libfontconfig1 libgd3 libiksemel3 libjbig0 libjpeg-turbo8 libjpeg8 liblua5.2 libodbc1 libopenipmi0 libopenipmi-dev libsensors4 libsnmp-base libsnmp30 libsodium23 libssh2-1 libssh2-1-dev libtiff5 libwebp6 libxpm4 php-bcmath libiksemel-dev unixodbc-dev   libevent-dev  libldap2-dev libmbedtls-dev php-common php-gd php-ldap php-mbstring php-mysql php-xml php7.2-bcmath php7.2-cli php7.2-common php7.2-gd php7.2-json php7.2-ldap php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-readline php7.2-xml snmpd ssl-cert ttf-dejavu-core libmysqlclient-dev libxml2-dev libxml2 snmp libsnmp-dev libevent-dev openjdk-8-jdk curl libcurl4-openssl-dev mariadb-server mariadb-client -y

解压安装

tar -zxvf zabbix-4.0.23.tar.gz

添加启动用户

groupadd --system zabbix
useradd -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "zabbix monitor system" zabbix

编译安装

cd zabbix-4.0.23/
./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --enable-java --enable-ipv6 --with-mysql --with-net-snmp --with-openipmi --with-zlib --with-libpthread --with-libevent --with-ldap --with-libpcre --with-iconv --with-libxml2 --with-libcurl --with-jabber --with-unixodbc --with-ssh2

提示

make install
  • 准备数据库

mysql
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@"172.24.77.%" identified by '123456';
flush privileges;
exit

修改数据库配置文件

vim /etc/mysql/mariadb.conf.d/50-server.cnf
bind-address            = 172.24.78.25

重启数据库

systemctl restart mariadb

导入数据库

mysql -uzabbix -p123456 -h172.24.77.227 zabbix < /root/zabbix-4.0.23/database/mysql/schema.sql
mysql -uzabbix -p123456 -h172.24.77.227 zabbix < /root/zabbix-4.0.23/database/mysql/images.sql
mysql -uzabbix -p123456 -h172.24.77.227 zabbix < /root/zabbix-4.0.23/database/mysql/data.sql

修改配置文件

vim /usr/local/zabbix/etc/zabbix_server.conf
DBHost=172.24.77.227
DBName=zabbix
DBUser=zabbix
DBPassword=123456
DBPort=3306
Timeout=30
LogSlowQueries=3000
#需要root启动则开起
#AllowRoot=1

复制启动脚本

cp /root/zabbix-4.0.23/misc/init.d/fedora/core/zabbix_server /etc/init.d/
cp /root/zabbix-4.0.23/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

更改启动脚本

vim /etc/init.d/zabbix_server
# Zabbix-Directory
        BASEDIR=/usr/local/zabbix
vim /etc/init.d/zabbix_agentd
# Zabbix-Directory
        BASEDIR=/usr/local/zabbix

配置zabbix-server的systemd启动文件

vim /lib/systemd/system/zabbix-server.service
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target

[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_server.conf"
EnvironmentFile=-/etc/default/zabbix-server
Type=forking
Restart=on-failure
PIDFile=/usr/local/zabbix/run/zabbix_server.pid
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=infinity

[Install]
WantedBy=multi-user.target

添加文件并授权

mkdir -p /usr/local/zabbix/run
chown zabbix.zabbix /usr/local/zabbix/ -R 

修改配置文件保持pid同步

vim /usr/local/zabbix/etc/zabbix_server.conf
PidFile=/usr/local/zabbix/run/zabbix_server.pid
systemctl daemon-reload
systemctl restart zabbix-agent
systemctl enable zabbix-agent
vim /lib/systemd/system/zabbix-agent.service
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target

[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_agentd.conf"
EnvironmentFile=-/etc/default/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/usr/local/zabbix/run/zabbix_agentd.pid
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix

[Install]
WantedBy=multi-user.target

修改配置文件保持pid同步

vim /usr/local/zabbix/etc/zabbix_agentd.conf
PidFile=/usr/local/zabbix/run/zabbix_agentd.pid

设置启动

systemctl daemon-reload
systemctl restart zabbix-agent
systemctl enable zabbix-agent

修改配置文件pid位置

vim /usr/local/zabbix/etc/zabbix_server.conf
PidFile=/usr/local/zabbix/run/zabbix_server.pid

添加文件并授权

mkdir -p /usr/local/zabbix/run
chown zabbix.zabbix /usr/local/zabbix/ -R 

重启服务并测试

systemctl daemon-reload
systemctl start zabbix-server
systemctl enable zabbix-server

配置web界面

mkdir -p /var/www/html/zabbix
apt-get install apache2 -y
cp -a /root/zabbix-4.0.23/frontends/php/* /var/www/html/zabbix

重启apache2服务

systemctl restart apache2

登录配置

http://172.24.77.227/zabbix/setup.php

PHP option "post_max_size" 8M 16M Fail PHP option "max_execution_time" 30 300 Fail PHP option "max_input_time" 60 300 Fail PHP option "date.timezone" unknown Fail

修改Php配置,解决报错问题

vim /etc/php/7.2/apache2/php.ini
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai

重启apache2

systemctl restart apache2

修改数据库信息

Database host 172.24.78.25
Database port 3306 0 - use default port
Database name zabbix
User zabbix
Password 123456

修改Zabbix Server信息

Host 172.24.78.25
Port 10051
Name Zabbix_Server

上传配置,解决报错问题

Install

[Details ](javascript:void(0))Cannot create the configuration file.

  • Unable to create the configuration file.

Alternatively, you can install it manually:

  1. Download the configuration file
  2. Save it as "/var/www/html/zabbix/conf/zabbix.conf.php"

刷新页面

登录系统

Admin zabbix

image-20200820095904687安装中文显示

上传中文字体到zabbix服务器

/var/www/html/zabbix/assets/fonts

Window电脑打开:控制面板\所有控制面板项\字体\Microsoft YaHei UI

cd /var/www/html/zabbix/assets/fonts
mv MSYH.TTC simplecn.TTC

编辑配置文件使用新字体

vim /var/www/html/zabbix/include/defines.inc.php
#查找原显示字体
/DejaVuSans
#修改成新字体
define('ZBX_GRAPH_FONT_NAME',           'DejaVuSans'); // font file name
define('ZBX_FONT_NAME', 'DejaVuSans');
#改成如下
define('ZBX_GRAPH_FONT_NAME',           'simplecn'); // font file name
define('ZBX_FONT_NAME', 'simplecn');
wq

修改服务器语言

locale-gen zh_CN.UTF-8
dpkg-reconfigure locales
zh_CN.UTF-8...

手动启动方法

cd /usr/local/zabbix/sbin
./zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf
./zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf

重启服务

systemctl restart apache2