zabbix-部署-01
1.zabbix部署
1.1部署环境
- 说明:基于LAMP架构,centos8系统
- 三台服务器全部关闭防火墙,selinux
| ip地址 | 服务器 |
|---|---|
| vm2(192.168.225.128) | 作为php服务器(7.4.2) |
| vm3(192.168.225.130) | 作为mysql服务器(5.7.4) |
| vm4(192.168.225.131) | 作为apahce服务器(2.4.46) |
- zabbix:
| 环境 | ip地址 | zabbix |
|---|---|---|
| 服务器 | vm3(192.168.225.130) | zabbix-server zabbix-agent |
| 客户端 | vm2(192.168.225.128) vm4(192.168.225.131) |
zabbix-agent |
1.2服务端zabbix安装
1.2.1下载与解压源码zabbix
zabbix-5.2.0-tar.gz
https://www.zabbix.com/download_sources
[root@vm3 opt]# ls
mysql_data zabbix-5.2.0.tar.gz
[root@vm3 opt]# tar -xf zabbix-5.2.0.tar.gz
[root@vm3 opt]# ls
mysql_data zabbix-5.2.0 zabbix-5.2.0.tar.gz
1.2.2创建zabbix用户和组
[root@vm3 opt]# groupadd -r zabbix
[root@vm3 opt]# useradd -M -r -s /sbin/nologin -g zabbix zabbix
1.2.3编译安装zabbix
- 完成下面数据库配置后再编译安装zabbix
##下载依赖包
[root@vm3 opt]# yum -y install pcre-devel libcurl-devel libxml2-devel net-snmp-devel libevent libevent-devel mysql-devel
##编译安装
[root@vm3 zabbix-5.2.0]# ls
aclocal.m4 ChangeLog config.sub database install-sh man README
AUTHORS compile configure depcomp m4 misc sass
bin conf configure.ac include Makefile.am missing src
build config.guess COPYING INSTALL Makefile.in NEWS ui
[root@vm3 zabbix-5.2.0]# ./configure \
--enable-server \
--enable-agent \
--with-mysql \
--with-net-snmp \
--with-libcurl \
--with-libxml2
.....................................
***********************************************************
* Now run 'make install' *
* *
* Thank you for using Zabbix! *
* <http://www.zabbix.com> *
***********************************************************
[root@vm3 zabbix-5.2.0]# make install
[root@vm3 zabbix-5.2.0]# cd /usr/local/
[root@vm3 local]# ll
total 0
drwxr-xr-x. 2 root root 62 Nov 3 22:02 bin
drwxr-xr-x. 4 root root 114 Nov 3 22:02 etc //安装目录
drwxr-xr-x. 2 root root 6 May 11 2019 games
drwxr-xr-x. 2 root root 19 Nov 3 20:06 include
drwxr-xr-x. 3 root root 21 Nov 3 18:56 lib
drwxr-xr-x. 2 root root 6 May 11 2019 lib64
drwxr-xr-x. 2 root root 6 May 11 2019 libexec
lrwxrwxrwx. 1 mysql mysql 47 Nov 3 15:56 mysql -> /usr/local/mysql-5.7.22-linux-glibc2.12-x86_64/
drwxr-xr-x. 9 mysql mysql 129 Nov 3 15:56 mysql-5.7.22-linux-glibc2.12-x86_64
drwxr-xr-x. 2 root root 48 Nov 3 22:02 sbin
drwxr-xr-x. 6 root root 63 Nov 3 19:10 share
drwxr-xr-x. 2 root root 6 May 11 2019 src
1.2.4数据库配置
##创建zabbix数据库
[root@vm3 zabbix-5.2.0]# mysql -uroot -p123456
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| student |
| sys |
| zabbix |
+--------------------+
##授权zabbix用户本地访问zabbix数据库的权限
mysql> grant all privileges on zabbix.* to 'zabbix'@'192.168.225.128' identified by 'zabbix';
mysql> select user,authentication_string,host from mysql.user where user='zabbix';
+--------+-------------------------------------------+-----------------+
| user | authentication_string | host |
+--------+-------------------------------------------+-----------------+
| zabbix | *DEEF4D7D88CD046ECA02A80393B7780A63E7E789 | 192.168.225.128 |
+--------+-------------------------------------------+-----------------+
1 row in set (0.00 sec)
##刷新
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
##导入zabbix数据
[root@vm3 zabbix-5.2.0]# ls
aclocal.m4 ChangeLog config.log configure.ac include Makefile misc sass
AUTHORS compile config.status COPYING INSTALL Makefile.am missing src
bin conf config.sub database install-sh Makefile.in NEWS ui
build config.guess configure depcomp m4 man README
[root@vm3 zabbix-5.2.0]# cd database/mysql/
[root@vm3 mysql]# ls
data.sql double.sql images.sql Makefile Makefile.am Makefile.in schema.sql
##注意导入顺序
[root@vm3 mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql
[root@vm3 mysql]# mysql -uzabbix -pzabbix zabbix < images.sql
[root@vm3 mysql]# mysql -uzabbix -pzabbix zabbix < data.sql
1.2.5zabbix配置
##修改配置文件
[root@vm3 mysql]# cd /usr/local/etc/
[root@vm3 etc]# ls
zabbix_agentd.conf zabbix_agentd.conf.d zabbix_server.conf zabbix_server.conf.d
[root@vm3 etc]# vim /usr/local/etc/zabbix_server.conf
##设置数据库连接密码
.................
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
1.2.6启动zabbix_server和zabbix_agentd
[root@vm3 etc]# zabbix_agentd
[root@vm3 etc]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 0.0.0.0:10050 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 80 *:3306 *:*
[root@vm3 etc]# zabbix_server
[root@vm3 etc]# zabbix_server
zabbix_server: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory
##错误原因是加载动态库时找不到libmysqlclient.so.20
##解决办法
[root@vm3 etc]# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
[root@vm3 etc]# cd /etc/ld.so.conf.d
[root@vm3 ld.so.conf.d]# ls
bind-export-x86_64.conf kernel-4.18.0-193.el8.x86_64.conf mysql.conf mysql-x86_64.conf
[root@vm3 ld.so.conf.d]# ldconfig
[root@vm3 etc]# zabbix_server
[root@vm3 ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 0.0.0.0:10050 0.0.0.0:*
LISTEN 0 128 0.0.0.0:10051 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 80 *:3306 *:*
1.2.7zabbix服务web界面配置
php服务器配置
##导入php文件
[root@vm3 ~]# cd /opt/zabbix-5.2.0
[root@vm3 zabbix-5.2.0]# ls
aclocal.m4 ChangeLog config.log configure.ac include Makefile misc sass
AUTHORS compile config.status COPYING INSTALL Makefile.am missing src
bin conf config.sub database install-sh Makefile.in NEWS ui
build config.guess configure depcomp m4 man README
[root@vm3 zabbix-5.2.0]# cd ui
[root@vm3 ui]# ls
actionconf.php correlation.php index.php screenedit.php
api_jsonrpc.php discoveryconf.php index_sso.php screen.import.php
app disc_prototypes.php items.php screens.php
assets favicon.ico js services.php
audio graphs.php jsLoader.php setup.php
auditacts.php history.php jsrpc.php slideconf.php
browserwarning.php host_discovery.php local slides.php
chart2.php hostgroups.php locale srv_status.php
chart3.php hostinventoriesoverview.php maintenance.php sysmap.php
chart4.php hostinventories.php map.import.php sysmaps.php
chart5.php host_prototypes.php map.php templates.php
chart6.php hosts.php modules toptriggers.php
chart7.php httpconf.php overview.php tr_events.php
chart.php httpdetails.php queue.php trigger_prototypes.php
composer.json image.php report2.php triggers.php
composer.lock imgstore.php report4.php vendor
conf include robots.txt zabbix.php
conf.import.php index_http.php screenconf.php
##将解压包ui目录下所有的传给php
[root@vm3 zabbix-5.2.0]# tar -cvf ui.tar ui/*
[root@vm3 zabbix-5.2.0]# scp ui.tar root@192.168.225.128:/var/php/zabbix
[root@vm2 zabbix]# ls
ui.tar
[root@vm2 zabbix]# tar xf ui.tar
[root@vm2 zabbix]# ll
total 45064
drwxr-xr-x. 12 root root 4096 Nov 3 20:20 ui
-rw-r--r--. 1 root root 46141440 Nov 3 20:17 ui.tar
[root@vm2 ]# rm -f ui.tar
[root@vm2 zabbix]# mv ui/* .
[root@vm2 zabbix]# ls
actionconf.php correlation.php index.php screenedit.php
api_jsonrpc.php discoveryconf.php index_sso.php screen.import.php
app disc_prototypes.php items.php screens.php
assets favicon.ico js services.php
audio graphs.php jsLoader.php setup.php
auditacts.php history.php jsrpc.php slideconf.php
browserwarning.php host_discovery.php local slides.php
chart2.php hostgroups.php locale srv_status.php
chart3.php hostinventoriesoverview.php maintenance.php sysmap.php
chart4.php hostinventories.php map.import.php sysmaps.php
chart5.php host_prototypes.php map.php templates.php
chart6.php hosts.php modules toptriggers.php
chart7.php httpconf.php overview.php tr_events.php
chart.php httpdetails.php queue.php trigger_prototypes.php
composer.json image.php report2.php triggers.php
composer.lock imgstore.php report4.php ui
conf include robots.txt vendor
conf.import.php index_http.php screenconf.php zabbix.php
[root@vm2 zabbix]# rm -rf ui
##修改属性
##设置zabbix/conf目录的权限,让zabbix有权限生成配置文件zabbix.conf.php
[root@vm2 zabbix]# chmod 777 conf
##原/etc/php.ini
[root@vm2 ~]# vim /etc/php.ini
post_max_size = 8M
max_execution_time = 30
max_input_time = 60
;date.timezone=
##在后面作修改
##启动或重启php-fpm
[root@vm2 zabbix]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
[root@vm2 zabbix]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 *:9000 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 [::1]:25 [::]:*
LISTEN 0 128 [::]:22 [::]:*
apache服务器配置
[root@vm4 ~]# vim /usr/local/apache/conf/extra/httpd-vhosts.conf
listen 81
<VirtualHost *:81>
DocumentRoot "/usr/local/apache/htdocs/wisan.com"
ServerName www.wisan.com
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.225.128:9000/var/php/zabbix/
<Directory "/usr/local/apache/htdocs/wisan.com">
Options none
AllowOverride none
Require all granted
</Directory>
</VirtualHost>
##启动或重启apache
[root@vm4 ~]# apachectl restart
[root@vm4 ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 *:80 *:*
LISTEN 0 128 [::]:22 [::]:*
zabbix web界面配置

- 根据需求修改php配置/etc/ini.php
[root@vm2 ~]# sed -ri 's/(post_max_size =).*/\1 16M/g' /etc/php.ini
[root@vm2 ~]# sed -ri 's/(max_execution_time =).*/\1 300/g' /etc/php.ini
[root@vm2 ~]# sed -ri 's/(max_input_time =).*/\1 300/g' /etc/php.ini
[root@vm2 ~]# sed -i '/;date.timezone/a date.timezone = Asia/Shanghai' /etc/php.ini
[root@vm2 ~]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
[root@vm2 ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 *:9000 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 [::1]:25 [::]:*
LISTEN 0 128 [::]:22 [::]:*


- 点击next step

- 点击next step

- 点击next step

- 点击next step

- 点击next step

-
点击finish
-
username:Admin Password:zabbix
![]()

- 恢复php服务zabbix/conf目录权限为755
[root@vm2 ~]# chmod 755 /var/php/wisan/conf
[root@vm2 ~]# ll /var/php/wisan/conf
total 12
drwxr-xr-x. 2 root root 6 Oct 26 23:44 certs
-rw-r--r--. 1 root root 1036 Oct 26 19:18 maintenance.inc.php
-rw-r--r--. 1 nobody nobody 1665 Nov 3 21:02 zabbix.conf.php
-rw-r--r--. 1 root root 1638 Oct 26 23:44 zabbix.conf.php.example
[root@vm2 ~]# ll /var/php/wisan/conf -d
drwxr-xr-x. 3 root root 117 Nov 3 20:55 /var/php/wisan/conf
1.3问题
问题描述
- 上述zabbix web网页配置没有加载相关的图片等资源
- 问题原因是,分离部署apache服务器上没有zabbix ui目录下的php文件(静态资源)
解决方案
- 将zabbix解压目录下的ui目录下所有文件发送给apache服务器/var/php/zabbix
- 同时修改/var/php/zabbix的属性为apache.apache(根据apache进程所属的用户和组)
[root@vm4 zabbix]# pwd
/var/php/zabbix
[root@vm4 zabbix]# ll
total 952
-rw-r--r--. 1 apache apache 22809 Nov 5 10:08 actionconf.php
-rw-r--r--. 1 apache apache 2351 Nov 5 10:08 api_jsonrpc.php
drwxr-xr-x. 5 apache apache 71 Nov 5 10:08 app
drwxr-xr-x. 5 apache apache 44 Nov 5 10:08 assets
drwxr-xr-x. 2 apache apache 173 Nov 5 10:08 audio
-rw-r--r--. 1 apache apache 5081 Nov 5 10:08 auditacts.php
-rw-r--r--. 1 apache apache 1419 Nov 5 10:08 browserwarning.php
-rw-r--r--. 1 apache apache 5095 Nov 5 10:08 chart2.php
-rw-r--r--. 1 apache apache 6986 Nov 5 10:08 chart3.php
.......................................
[root@vm4 zabbix]# ls
actionconf.php correlation.php index.php screenedit.php
api_jsonrpc.php discoveryconf.php index_sso.php screen.import.php
app disc_prototypes.php items.php screens.php
assets favicon.ico js services.php
audio graphs.php jsLoader.php setup.php
auditacts.php history.php jsrpc.php slideconf.php
browserwarning.php host_discovery.php local slides.php
chart2.php hostgroups.php locale srv_status.php
chart3.php hostinventoriesoverview.php maintenance.php sysmap.php
chart4.php hostinventories.php map.import.php sysmaps.php
chart5.php host_prototypes.php map.php templates.php
chart6.php hosts.php modules toptriggers.php
chart7.php httpconf.php overview.php tr_events.php
chart.php httpdetails.php queue.php trigger_prototypes.php
composer.json image.php report2.php triggers.php
composer.lock imgstore.php report4.php vendor
conf include robots.txt zabbix.php
conf.import.php index_http.php screenconf.php
- 修改apache虚拟配置
[root@vm4 zabbix]# vim /usr/local/apache/conf/extra/httpd-vhosts.conf
listen 81
<VirtualHost *:81>
DocumentRoot "/var/php/zabbix"
ServerName www.wisan.com
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.225.128:9000/var/php/zabbix/
<Directory "/var/php/zabbix">
Options none
AllowOverride none
Require all granted
</Directory>
</VirtualHost>
- 重启apache服务
[root@vm4 zabbix]# service apachectl restart
[root@vm4 zabbix]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 *:80 *:*
LISTEN 0 128 *:81 *:*
LISTEN 0 128 [::]:22 [::]:*
验证效果

1.4 客户端zabbix配置
1.4.1 解压zabbix压缩包
[wisan@fyj Downloads]$ scp zabbix-5.2.0.tar.gz root@vm4:/opt
[root@vm4 opt]# ls
apache mysql_data zabbix-5.2.0.tar.gz
[root@vm4 opt]# tar -xf zabbix-5.2.0.tar.gz
[root@vm4 opt]# ls
apache mysql_data zabbix-5.2.0 zabbix-5.2.0.tar.gz
1.4.2 编译安装zabbix-agent
[root@vm4 zabbix-5.2.0]# ./configure --enable-agent
................................
***********************************************************
* Now run 'make install' *
* *
* Thank you for using Zabbix! *
* <http://www.zabbix.com> *
***********************************************************
[root@vm4 zabbix-5.2.0]# make install
1.4.3 修改agent配置文件
[root@vm4 zabbix-5.2.0]# cd /usr/local/etc/
[root@vm4 etc]# ll
total 16
-rw-r--r--. 1 root root 15392 Nov 5 11:35 zabbix_agentd.conf
drwxr-xr-x. 2 root root 6 Nov 5 11:35 zabbix_agentd.conf.d
[root@vm4 etc]# vim zabbix_agentd.conf
User=zabbix
Server=192.168.225.130 ##zabbix-server地址,被动接受
ServerActive=192.168.225.130 ##zabbix-server地址,主动接受
Hostname=Zabbix-vm4
1.4.4 创建zabbix用户
[root@vm4 etc]# useradd -M -r -s /sbin/nologin zabbix
[root@vm4 etc]# id zabbix
uid=993(zabbix) gid=990(zabbix) groups=990(zabbix)
1.4.5 启动zabbix_agentd
[root@vm4 etc]# zabbix_agentd
[root@vm4 etc]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 0.0.0.0:10050 0.0.0.0:*
LISTEN 0 128 *:80 *:*
LISTEN 0 128 *:81 *:*
LISTEN 0 128 [::]:22 [::]:*


浙公网安备 33010602011771号