概述
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版本的过程
安装前提
key | Value |
---|---|
操作系统 | CentOS 7.6 |
硬盘 | 40G |
内存 | 2G |
docker环境 | 已安装 |
关于CentOS下面如何安装docker环境请参考我之前的一篇文章CentOS安装docker、jdk、maven等环境
安装步骤
通过docker,我们需要安装如下几个组件
解释一下用途:
名称 | 描述 |
---|---|
mysql | 数据库 |
zabbix-server-mysql | zabbix集成mysql的服务端 |
zabbix-web-nginx-mysql | zabbix-web端 |
zabbix-java-gateway | zabbix用于监控java程序相关的服务 |
zabbix-agent | 安装在被监控机器上用于收集信息 |
- 拉取相关镜像
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
- 创建network用于镜像间通讯
docker network create -d bridge zabbix_net
- 创建数据卷
docker volume create zabbix-server-vol
- 依次配置并启动镜像
-
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分布式监控系统所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复