前言

  因为日常习惯使用docker做各种环境配置,所以此次介绍的Zabbix-5.0-Server安装方法也是使用docker方式安装的。而作为受监控的主机端,为了最大可能不影响服务器的运行状态和稳定性,所以采用普通的rpm方式安装。

安装zabbix-java-gateway:

  因为Zabbix本身不支持直接监控Java,在zabbix 1.8以前,只能使用Zapcat来做代理监控,而且要修改源代码,非常麻烦。所有后来为了解决这个监控问题,Zabbix和Java双方应运生成了各自的代理监控程序:zabbix 2.0以后添加了服务进程zabbix-java-gateway;Java有了JMX,全称是Java Management Extensions,即Java管理扩展。


  docker run -it --rm --restart=always \
  --privileged=true \
  --name zabbix-java-gateway \
  -d zabbix/zabbix-java-gateway:latest #默认使用最新版

安装zabbix-server:

  Zabbix的主要模块包括server端和agent端,而作为server端,一方面收集来自agent端的各种指标数据。一方面将这些数据存入数据库中,并通过web页面可视化地展示出来。由于我为了做数据持久化,所以使用外部的数据库服务器来存储数据。如果想将数据库建立在本机并做数据持久化的话,可以参考我之前写的mysql数据库安装

docker run --name zabbix-server-mysql -t --restart=always \
    -e DB_SERVER_HOST="数据库地址(本机可使用--link方式)" \
    -e MYSQL_DATABASE="zabbix" \
    -e MYSQL_USER="zabbix" \
    -e MYSQL_PASSWORD="数据库密码" \
    -e DB_SERVER_PORT="3306" \
    --link zabbix-java-gateway:zabbix-java-gateway \
    -p 10051:10051 \
    -d zabbix/zabbix-server-mysql:latest

安装zabbix-web:

  zabbix-web可以让我们更直观的看到agent收集到的各种服务器的数据,并可以通过页面集中管理和配置。


docker run -it --rm --restart=always \
--privileged=true \
--name zabbix-web-nginx-mysql \
    -e DB_SERVER_HOST="数据库地址" \
    -e MYSQL_DATABASE="zabbix" \
    -e MYSQL_USER="zabbix" \
    -e MYSQL_PASSWORD="数据库密码" \
    -e ZBX_SERVER_HOST="localhost" \
    -e ZBX_SERVER_PORT=10051 \
    -e ZBX_POSTMAXSIZE=1024M \
    -e PHP_TZ="Asia/Shanghai" \
    --link zabbix-server-mysql:zabbix-server \
    -p 10080:8080 \
    -d zabbix/zabbix-web-nginx-mysql:latest

安装完成后的运行状态

zabbix_server

关于zabbix-web中文乱码的解决办法

  安装好三大主件后可以通过浏览器访问:ip:10051检查是否正常运行(默认的账户名为:Admin,密码为:zabbix)。但随后就发现了切换到中文后界面显示方块乱码状态,所以需要将容器里的字体换成支持中文的字体。
  本次以SimHei.ttf字体为例,将字体文件存放于镜像zabbix-web-nginx-mysql的/usr/share/zabbix/assets/fonts/目录下。


  docker cp SimHei.ttf containerID:/usr/share/zabbix/assets/fonts/

  然后进入容器内部编辑关联字体:

  docker exec -it containerID bash
  vi /usr/share/zabbix/include/defines.inc.php
  # 更改前  
  define('ZBX_GRAPH_FONT_NAME',           'DejaVuSans'); // font file name
  # 更改后
  define('ZBX_GRAPH_FONT_NAME',           'SimHei'); // font file name

  编辑好后wq保存退出然后restart容器,在登录ip:10051查看,中文乱码的问题已经解决,到此zabbix的server端就安装完成了。

zabbix_font

安装受监控主机agent端

  agent端的安装就很简单了,因为目前监控的主机数量不多,所以直接通过命令安装。如果监控的主机数量过多的话,可以考虑通过脚本的方式安装,这样能极大的提高效率。
  以下为安装rpm方式的安装命令:


  #创建安装包的保存目录:
  mkdir -p /usr/local/source/zabbix && cd /usr/local/source/zabbix 

  #下载zabbix-agent:
  wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.3-1.el7.x86_64.rpm

  #安装zabbix-agent:
  rpm -ivh zabbix-agent-5.0.3-1.el7.x86_64.rpm

  #编辑配置文件:
  vi /etc/zabbix/zabbix_agentd.conf

  Server=zabbix-server-ip   
  ListenPort=10050
  #StartAgents=0 
  ServerActive=zabbix-server-ip  #采用主动方式
  Hostname=agentname

  #配置完成后,启动服务:
  service zabbix-agent start  #启动zabbix_agent

  service zabbix-agent restart  #重启zabbix_agent

  netstat -lntup|grep zabbix_agentd  #查看运行情况zabbix_agent