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                      [::]:* 
posted @ 2020-11-04 09:00  小芃总  阅读(222)  评论(0)    收藏  举报