CentOS7编译安装zabbix
准备两台服务器,一台zabbix-server(10.0.0.37),一台mariadb-server(10.0.0.47)
1.创建zabbix用户
[root@zabbix-server ~]#useradd -r -s /sbin/nologin zabbix
2.解决依赖关系
[root@zabbix-server ~]#yum install -y gcc libxml2-devel net-snmp net-snmp-devel curl curl-devel php php-bcmath php-mbstring mariadb mariadb-devel java-1.6.0-openjdk-devel libevent-devel php-gettext php-session php-ctype php-xmlreader php-xmlwriter php-xml php-gd php-mysql php-common php-ldap
3.编译安装zabbix
[root@zabbix-server ~]#cd /usr/local/src
[root@zabbix-server ~]#tar xf zabbix-4.0.27.tar.gz
[root@zabbix-server ~]#cd zabbix-4.0.27
[root@zabbix-server ~]#./configure --prefix=/apps/zabbix_server --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-java
[root@zabbix-server ~]#make install
[root@zabbix-server ~]#mkdir /apps/zabbix_server/run
[root@zabbix-server ~]#mkdir /var/log/zabbix
[root@zabbix-server ~]#chown -R zabbix.zabbix /apps/zabbix_server
[root@zabbix-server ~]#chown -R zabbix.zabbix /var/log/zabbix
4.准备数据库
[root@mariadb-server ~]#yum -y install mariadb-server mariadb
[root@mariadb-server ~]#systemctl start mariadb
[root@mariadb-server ~]#mysql #进入数据库创建账户并授权
mysql> create database zabbix_server character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix_server.* to zabbix@"10.0.0.%" identified by 'magedu.zabbix';
mysql> flush privileges;
5.导入数据库
[root@zabbix-server ~]#cd /usr/local/src/zabbix-4.0.27/database/mysql
[root@zabbix-server ~]#mysql -uzabbix -pmagedu.zabbix -h10.0.0.47 zabbix_server < schema.sql
[root@zabbix-server ~]#mysql -uzabbix -pmagedu.zabbix -h10.0.0.47 zabbix_server < images.sql
[root@zabbix-server ~]#mysql -uzabbix -pmagedu.zabbix -h10.0.0.47 zabbix_server < data.sql
6.验证数据库数据
[root@zabbix-server ~]#mysql -uzabbix -pmagedu.zabbix -h 10.0.0.47
MariaDB [(none)]> use zabbix_server;
Database changed
MariaDB [zabbix_server]> show tables;
+----------------------------+
| Tables_in_zabbix_server |
+----------------------------+
| acknowledges |
| actions |
| alerts |
| application_discovery |
| application_prototype |
| application_template |
7.编辑zabbix配置文件
[root@zabbix-server ~]#vim /apps/zabbix_server/etc/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
PidFile=/apps/zabbix_server/run/zabbix_server.pid
DBHost=10.0.0.47
DBName=zabbix_server
DBUser=zabbix
DBPassword=magedu.zabbix
[root@zabbix-server ~]#vim /apps/zabbix_server/etc/zabbix_agentd.conf
LogFile=/var/log/zabbix/zabbix_agentd.log
PidFile=/apps/zabbix_server/run/zabbix_agentd.pid
8.配置zabbix使用systemctl管理
[root@zabbix-server ~]#vim /usr/lib/systemd/system/zabbix-server.service
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target
After=mysql.service
After=mysqld.service
After=mariadb.service
After=postgresql.service
After=pgbouncer.service
After=postgresql-9.4.service
After=postgresql-9.5.service
After=postgresql-9.6.service
After=postgresql-10.service
After=postgresql-11.service
After=postgresql-12.service
[Service]
Environment="CONFFILE=/apps/zabbix_server/etc/zabbix_server.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-server
Type=forking
Restart=on-failure
PIDFile=/apps/zabbix_server/run/zabbix_server.pid
KillMode=control-group
ExecStart=/apps/zabbix_server/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0
[Install]
WantedBy=multi-user.target
[root@zabbix-server ~]#vim /usr/lib/systemd/system/zabbix-agent.service
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/apps/zabbix_server/etc/zabbix_agentd.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/apps/zabbix_server/run/zabbix_agentd.pid
KillMode=control-group
ExecStart=/apps/zabbix_server/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target
9.启动zabbix server及agent
[root@zabbix-server ~]#systemctl start zabbix-server
[root@zabbix-server ~]#systemctl start zabbix-agent
[root@zabbix-server ~]#ss -tnl #监听10050和10051端口
10.配置web界面
[root@zabbix-server ~]#systemctl enable --now httpd
[root@zabbix-server ~]#mkdir /var/www/html/zabbix
[root@zabbix-server ~]#cd /usr/local/src/zabbix-4.0.27/frontends/php
[root@zabbix-server ~]#cp -a . /var/www/html/zabbix/
9.访问web界面
浏览器输入http://10.0.0.37/zabbix

10.解决报错

[root@zabbix-server ~]#vim /etc/php.ini
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai
[root@zabbix-server ~]#systemctl restart httpd
11.数据库配置

12.zabbix server配置

13.信息确认

14.创建配置文件
需要手动下载配置文件并上传至zabbix server的/var/www/html/zabbix/conf/zabbix.conf.php路径

15.验证zabbix server配置文件
[root@zabbix-server ~]#cat zabbix.conf.php
<?php
// Zabbix GUI configuration file.
global $DB;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = '10.0.0.47';
$DB['PORT'] = '0';
$DB['DATABASE'] = 'zabbix_server';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'magedu.zabbix';
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
$ZBX_SERVER = '10.0.0.37';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'Zabbix Server';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
16.刷新页面
配置文件上传成功后刷新web页面验证是否生效,然后在生效后点finish即可完成zabbix server 的初始化。

17.登录界面

18.解决乱码

1>.将windows字体(simkai.ttf)上传至/var/www/html/zabbix/assets/fonts目录下
2>.修改zabbix文件调用新字体
[root@zabbix-server ~]#vim /var/www/html/zabbix/include/defines.inc.php
72 define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name
113 define('ZBX_FONT_NAME', 'simkai');


浙公网安备 33010602011771号