我是靠谱客的博主 现代火车,最近开发中收集的这篇文章主要介绍通过docker安装zabbix5.0分布式监控系统,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

zabbix

zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
–摘自百度百科

安装方式

就聊常规的基本上分为几种安装方式:

  • 源码安装方式
  • 压缩包安装方式
  • 容器安装方式
    官网地址:https://www.zabbix.com/
    本着简单快捷的方式,我选择容器作为安装方式,本篇文章也是记录一下通过docker容器安装5.0版本的过程

安装前提

keyValue
操作系统CentOS 7.6
硬盘40G
内存2G
docker环境已安装

关于CentOS下面如何安装docker环境请参考我之前的一篇文章CentOS安装docker、jdk、maven等环境

安装步骤

通过docker,我们需要安装如下几个组件
在这里插入图片描述
解释一下用途:

名称描述
mysql数据库
zabbix-server-mysqlzabbix集成mysql的服务端
zabbix-web-nginx-mysqlzabbix-web端
zabbix-java-gatewayzabbix用于监控java程序相关的服务
zabbix-agent安装在被监控机器上用于收集信息
  1. 拉取相关镜像
docker pull mysql:8.0

docker pull zabbix/zabbix-server-mysql:alpine-5.0-latest

docker pull zabbix/zabbix-java-gateway:alpine-5.0-latest

docker pull zabbix/zabbix-web-nginx-mysql:alpine-5.0-latest

docker pull zabbix/zabbix-agent:alpine-5.0-latest

在这里插入图片描述

  1. 创建network用于镜像间通讯
docker network create -d bridge zabbix_net
  1. 创建数据卷
docker volume create zabbix-server-vol
  1. 依次配置并启动镜像
  • mysql

    docker run -dit -p 3306:3306  --name zabbix-mysql --network  zabbix_net -v /etc/localtime:
    /etc/localtime -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix123" 
    -e MYSQL_ROOT_PASSWORD="root123" mysql:8.0 --character-set-server=utf8 --collation-server=utf8_bin
    
    命令释义
    MYSQL_DATABASE=“zabbix”mysql中创建的数据库的名
    MYSQL_USER=“zabbix”创建mysql的登录账户名
    MYSQL_PASSWORD=“zabbix123”设置创建mysql的登录账户的密码
    MYSQL_ROOT_PASSWORD=“root123”设置mysql数据库root 的密码
    -v /etc/localtime:/etc/localtime同步服务器和容器内部的时区
    –character-set-server=utf8 --collation-server=utf8_bin设置编码格式

    容器启动成功后需要执行如下脚本来更改zabbix用户身份验证方式。

     select host,user,plugin,authentication_string from mysql.user;
    
     ALTER USER 'zabbix'@'%' IDENTIFIED WITH mysql_native_password BY 'zabbix123';
     flush privileges ;
    
    • zabbix-java-gateway
    docker run -v /etc/localtime:/etc/localtime -dit  --name=zabbix-java-gateway --network zabbix_net 
    zabbix/zabbix-java-gateway:alpine-5.0-latest
    
    
    • zabbix-server
    docker run -dit -p 10051:10051 --mount source=zabbix-server-vol,target=/etc/zabbix -v /etc/localtime:
    /etc/localtime -v /usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts --name=zabbix-server-mysql  
    --network zabbix_net -e DB_SERVER_HOST="zabbix-mysql" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" 
    -e MYSQL_PASSWORD="zabbix123" -e MYSQL_ROOT_PASSWORD="root123" -e ZBX_JAVAGATEWAY="zabbix-java-gateway" 
    zabbix/zabbix-server-mysql:alpine-5.0-latest
    
    • zabbix-web-nginx
    docker run -dit -p 8080:8080 -v /etc/localtime:/etc/localtime --name zabbix-web-nginx-mysql 
    --network zabbix_net -e DB_SERVER_HOST="zabbix-mysql" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" 
    -e MYSQL_PASSWORD="zabbix123" -e MYSQL_ROOT_PASSWORD="root123" -e ZBX_SERVER_HOST="zabbix-server-mysql" 
    zabbix/zabbix-web-nginx-mysql:alpine-5.0-latest
    
    • agent
    docker run --name some-zabbix-agent  -p 10050:10050 -e ZBX_HOSTNAME="aliyunself1"
     -e ZBX_SERVER_HOST="106.14.30.17" -e ZBX_SERVER_PORT=10051 -d zabbix/zabbix-agent:alpine-5.0-latest
    

    至此,所有镜像对应的容器都启动成功了。

监控配置及验证

通过web页面访问http://ip:8080/zabbix,默认用户名Admin(注意大小写),默认密码zabbix
在这里插入图片描述
登录成功可以看到首页
在这里插入图片描述
在主机配置界面,由于我的agent装在了同一台机器上,因此监控的也是当前的服务器,可以对照agent的docker容器启动命令,监控名称是aliyunself1。然后我们点击aliyunself1进行配置。
在这里插入图片描述

设置ip或者通过dns进行连接,我这里设置的ip,也尝试了dns,大家有兴趣可以试试。
在这里插入图片描述
接下来就是去自由发挥了,到了这一步,zabbix已经搭建成功,并且能够实现主机监控了。码字不易,请各位点赞关注谢谢。

最后

以上就是现代火车为你收集整理的通过docker安装zabbix5.0分布式监控系统的全部内容,希望文章能够帮你解决通过docker安装zabbix5.0分布式监控系统所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部