您当前的位置:首页 > 电脑百科 > 程序开发 > 容器

基于Docker部署Zabbix Server

时间:2021-06-02 11:15:38  来源:富集云科技有限公司  作者:

基于Docker部署Zabbix Server

 安装docker

 关闭selinux

[root@localhost ~]# setenforce 0
[root@localhost ~]# sed -i 's/enforcing/disabled/' /etc/selinux/config

安装依赖包

[root@localhost ~]# yum install -y yum-utils device-mApper-persistent-data lvm2
[root@localhost ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache

安装Docker ce

[root@localhost ~]# yum install -y docker-ce

启动Docker服务

[root@localhost ~]# systemctl start docker
[root@localhost ~]# systemctl enable docker

查看版本号

安装Zabbix镜像

安装MySQL

启动一个单独的数据库mysql用于保存zabbix数据,定义了数据库名zabbix,数据库用户zabbix,密码zabbix,在本地目录/home/zabbix/data中持久化保存mysql容器运行中的数据,确保容器退出运行后,数据不会丢失,最后两条是定义了数据库的字符集为utf8,解决了mysql数据库保存中文的问题。

[root@localhost ~]# docker run --restart=always --name mysql-server -t 
  -e MYSQL_DATABASE="zabbix" 
-e MYSQL_USER="zabbix" 
-e MYSQL_PASSword="zabbix" 
 -e MYSQL_ROOT_PASSWORD="zabbix" 
-v /home/zabbix/data:/var/lib/mysql 
-v /etc/timezone:/etc/timezone 
 -v /etc/localtime:/etc/localtime 
-d mysql:5.7 
--character-set-server=utf8 
--collation-server=utf8_bin

2.2. 安装zabbix-JAVA-gateway

[root@localhost ~]# docker run --restart=always --name zabbix-java-gateway -t 
  -d zabbix/zabbix-java-gateway:centos-4.2.8

2.3. 安装zabbix-server-mysql

启动zabbix server服务,并关联这个服务到上面已经启动的mysql数据库实例上,确保zabbix的数据可以保存到mysql数据库中。

[root@localhost ~]# docker run --restart=always --name zabbix-server-mysql -t 
-e php_TZ="Asia/Shanghai"
  -e DB_SERVER_HOST="mysql-server" 
-e MYSQL_DATABASE="zabbix" 
  -e MYSQL_USER="zabbix" 
-e MYSQL_PASSWORD="zabbix" 
-e MYSQL_ROOT_PASSWORD="zabbix" 
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" 
--link mysql-server:mysql 
--link zabbix-java-gateway:zabbix-java-gateway 
-v /home/zabbix/alertscripts:/usr/lib/zabbix/alertscripts 
-v /etc/timezone:/etc/timezone 
  -v /etc/localtime:/etc/localtime 
-v /home/zabbix/externalscripts:/usr/lib/zabbix/externalscripts 
-v /home/zabbix/modules:/var/lib/zabbix/modules 
-v /home/zabbix/enc:/var/lib/zabbix/enc 
-v /home/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys 
-v /home/zabbix/ssl/certs:/var/lib/zabbix/ssl/certs 
 -v /home/zabbix/ssl/keys:/var/lib/zabbix/ssl/keys 
 -v /home/zabbix/ssl/ssl_ca:/var/lib/zabbix/ssl/ssl_ca 
-v /home/zabbix/snmptraps:/var/lib/zabbix/snmptraps 
-v /home/zabbix/mibs:/var/lib/zabbix/mibs 
-p 10051:10051 
-d zabbix/zabbix-server-mysql:centos-4.2.8

挂载说明:

  • /usr/lib/zabbix/alertscripts该卷用于保存自定义警报脚本,它是AlertScriptsPath参数conf
  • /usr/lib/zabbix/externalscripts外部检查(项目类型)使用该卷,它是ExternalScripts参数conf
  • /var/lib/zabbix/modules该卷允许加载其他模块并使用LoadModule功能扩展Zabbix服务器。
  • /var/lib/zabbix/enc该卷用于存储TLS相关文件。这些文件的名称使用规定ZBX_TLSCAFILE,ZBX_TLSCRLFILE,ZBX_TLSKEY_FILE和ZBX_TLSPSKFILE变量。
  • /var/lib/zabbix/ssh_keys该卷用作SSH检查和操作的公钥和私钥的位置。它是SSHKeyLocation参数zabbix_server.conf。
  • /var/lib/zabbix/ssl/certs该卷用作客户端身份验证的SSL客户端证书文件的位置。它是SSLCertLocation参数zabbix_server.conf。
  • /var/lib/zabbix/ssl/keys该卷用作客户端身份验证的SSL私钥文件的位置。它是SSLKeyLocation参数zabbix_server.conf。
  • /var/lib/zabbix/ssl/ssl_ca该卷用作SSL服务器证书验证的证书颁发机构(CA)文件的位置。它是SSLCALocation参数zabbix_server.conf。
  • /var/lib/zabbix/snmptraps该卷用作snmptraps.log文件的位置。它可以由zabbix-snmptraps容器共享,并volumes_from在创建Zabbix服务器的新实例时使用Docker选项继承。可以使用共享卷和交换ZBX_ENABLE_SNMP_TRAPS环境变量来启用SNMP陷阱处理功能true。
  • /var/lib/zabbix/mibs该卷允许添加新的MIB文件。它不支持子目录,必须放置所有MIB /var/lib/zabbix/mibs

2.4. 安装zabbix-web-Nginx-mysql

 

基于Docker部署Zabbix Server

 

启动zabbix前端web界面实例,将web界面实例与前面的mysql数据库服务实例

[root@localhost ~]# docker run --restart=always 
--name zabbix-web-nginx-mysql -t 
  -e PHP_TZ="Asia/Shanghai" 
-e DB_SERVER_HOST="mysql-server" 
  -e MYSQL_DATABASE="zabbix" 
-e MYSQL_USER="zabbix" 
  -e MYSQL_PASSWORD="zabbix" 
-e MYSQL_ROOT_PASSWORD="zabbix" 
  --link mysql-server:mysql 
--link zabbix-server-mysql:zabbix-server 
  -v /etc/timezone:/etc/timezone 
-v /etc/localtime:/etc/localtime 
  -p 80:80 
-d zabbix/zabbix-web-nginx-mysql:centos-4.2.8

备注:

  • --link mysql-server:mysql 连接数据库实例,mysql-server必须要与第一步的--name mysql-server完全一致
  • --link zabbix-server-mysql:zabbix-server 连接zabbix服务器实例,zabbix-server-mysql必须要与第二步的--name zabbix-server-mysql完全一致
  • DB_SERVER_HOST变量的值要与第二步指定的-e DB_SERVER_HOST="mysql-server"一致
  • 3. 检查容器命令
  • 3.1. 查看所有容器列表ID及状态
  • [root@localhost ~]# docker ps -a

 

基于Docker部署Zabbix Server

 


基于Docker部署Zabbix Server

 

3.2. 查看容器日志

[root@localhost ~]# docker logs 容器ID

3.3. 进入容器

[root@localhost ~]# docker exec -it 容器ID /bin/bash

3.4. 查看容器使用cpu、内存、网络、io情况

[root@localhost ~]# docker stats -a
  • 4. Web配置 4.1. 用浏览器访问zabbix http://Zabbix IP账号:Admin 密码:zabbix 4.2.设置中文: 4.3. 图形页面数据字段显示为方框 4.4. 从Window找到相应的字体 控制面板-->字体-->选择一种中文字库例如“楷体”(simkai.ttf),将字体文件simkai.ttf上传进zabbix-web-nginx-mysql容器目录:
  • [root@localhost~]# docker cp simkai.ttf 容器ID:/usr/share/zabbix/assets/fonts/
基于Docker部署Zabbix Server

 

  •  

4.5. 进入zabbix/zabbix-web-nginx-mysql容器

[root@localhost ~]# docker exec -it zabbix-web-nginx-mysql /bin/bash

4.6. 进入容器目录/usr/share/zabbix/assets/fonts

[root@fb635f4ee263 zabbix]# cd /usr/share/zabbix/assets/fonts
[root@4a3af4bb1cbf fonts]# mv DejaVuSans.ttf DejaVuSans.ttf.backup
[root@4a3af4bb1cbf fonts]# mv simkai.ttf DejaVuSans.ttf

 

4.7. 刷新zabbix页面

 

基于Docker部署Zabbix Server

 

5. 宿主机安装Zabbix-agent

5.1. 查看 Zabbix-Server容器IP地址

[root@localhost ~]# docker ps
[root@localhost ~]# docker exec -it zabbix-server-mysql /bin/bash
[root@c6b965eea180 ~]# cat /etc/hosts
基于Docker部署Zabbix Server

 


 
  • 5.2. 使用正常的zabbix-agent的安装 ZBX_SERVER_HOST的值为Zabbix-server的ip,ZBX_HOSTNAME值是唯一的,区分大小写的主机名,-p指定将内部端口10050映射值外部端口10050
[root@localhost ~]# docker run  --restart=always 
  --name zabbix-agent  -t 
  -e "ZBX_SERVER_HOST=192.168.73.233" 
    -e ZBX_HOSTNAME="Zabbix Server" 
    -p 10050:10050 
      -d zabbix/zabbix-agent:centos-4.2.8
    [root@localhost ~]# docker exec -it zabbix-agent /bin/bash
    [root@2510ebd059d0 zabbix]# cat /etc/hosts

 

基于Docker部署Zabbix Server

 

5.3. 在Zabbix的web设置宿主机agent

 

基于Docker部署Zabbix Server

 



Tags:Docker   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
一、为什么要搭建主从架构呢1.数据安全,可以进行数据的备份。2.读写分离,大部分的业务系统来说都是读数据多,写数据少,当访问压力过大时,可以把读请求给到从服务器。从而缓解数据...【详细内容】
2021-12-15  Tags: Docker  点击:(10)  评论:(0)  加入收藏
在网页中渲染公式一直是泛学术工具绕不开的一个功能,最近更新产品功能,正巧遇到了这个需求,于是使用容器方式简单实现了一个相对靠谱的公式渲染服务。分享出来,希望能够帮到有类...【详细内容】
2021-12-01  Tags: Docker  点击:(10)  评论:(0)  加入收藏
1.1 docker命令直接部署1.1.1 拉取镜像docker pull wurstmeister/zookeeperdocker pull wurstmeister/kafka1.1.2 启动zookeeper容器docker run -d --name myzookeeper -p 2...【详细内容】
2021-11-15  Tags: Docker  点击:(47)  评论:(0)  加入收藏
01 前言 顺着docker的发展,很多测试的同学也已经在测试工作上使用docker作为环境基础去进行一些自动化测试,这篇文章主要讲述我们在docker中使用浏览器进行自动化测试如果可以...【详细内容】
2021-10-29  Tags: Docker  点击:(42)  评论:(0)  加入收藏
因为你懂得的原因,下载docker镜像速度非常喜感,故收集几个国内常用的docker镜像。Docker中国区官方镜像地址:https://registry.docker-cn.com网易163的镜像http://hub-mirror.c...【详细内容】
2021-10-28  Tags: Docker  点击:(48)  评论:(0)  加入收藏
我们在很多场景下都需要做笔记,来对抗遗忘,一份好的笔记不仅能在需要的时候供我们查阅,也能帮助我们归纳整理知识提高做事效率。 目前市面上有很多云笔记软件,体验上各有不同,但...【详细内容】
2021-10-11  Tags: Docker  点击:(61)  评论:(0)  加入收藏
1. Nacos官网Nacos Docker 快速开始2. Clone 项目git clone https://github.com/nacos-group/nacos-docker.git3. cd 到nacos-docker 路径下 直接启动即可cd nacos-dockerdo...【详细内容】
2021-09-16  Tags: Docker  点击:(109)  评论:(0)  加入收藏
今天不做保姆级教程,分享奶爸常用、好用的Docker应用。有了这些Docker,Nas的可玩性会大幅提高,有时候奶爸也在想,刨去官方套件不考虑的话,Nas真的是差不多。如果小伙伴们有需要,后...【详细内容】
2021-09-03  Tags: Docker  点击:(167)  评论:(0)  加入收藏
环境要求 ubuntu系统:20.04 docker版本:20.10.7 redis版本:6.0.6步骤由于我这里已经有相应的redis镜像,这里就不记录了,关于docker一些基础知识可以看我以前的笔记开启3台re...【详细内容】
2021-07-26  Tags: Docker  点击:(117)  评论:(0)  加入收藏
今天在虚拟机里面安装了docker,利用docker起了一个centos。里面配置完成openssh后,利用xsheel连接docker里面的centos,发现特别慢,差不多要的1分钟才能连接上去。这肯定是有问题...【详细内容】
2021-07-21  Tags: Docker  点击:(131)  评论:(0)  加入收藏
▌简易百科推荐
一、为什么要搭建主从架构呢1.数据安全,可以进行数据的备份。2.读写分离,大部分的业务系统来说都是读数据多,写数据少,当访问压力过大时,可以把读请求给到从服务器。从而缓解数据...【详细内容】
2021-12-15  实战Java    Tags:Docker   点击:(10)  评论:(0)  加入收藏
在网页中渲染公式一直是泛学术工具绕不开的一个功能,最近更新产品功能,正巧遇到了这个需求,于是使用容器方式简单实现了一个相对靠谱的公式渲染服务。分享出来,希望能够帮到有类...【详细内容】
2021-12-01  编程菌zfn    Tags:Docker   点击:(10)  评论:(0)  加入收藏
1.1 docker命令直接部署1.1.1 拉取镜像docker pull wurstmeister/zookeeperdocker pull wurstmeister/kafka1.1.2 启动zookeeper容器docker run -d --name myzookeeper -p 2...【详细内容】
2021-11-15  无    Tags:docker   点击:(47)  评论:(0)  加入收藏
01 前言 顺着docker的发展,很多测试的同学也已经在测试工作上使用docker作为环境基础去进行一些自动化测试,这篇文章主要讲述我们在docker中使用浏览器进行自动化测试如果可以...【详细内容】
2021-10-29  小码哥聊软件测试    Tags:Docker   点击:(42)  评论:(0)  加入收藏
因为你懂得的原因,下载docker镜像速度非常喜感,故收集几个国内常用的docker镜像。Docker中国区官方镜像地址:https://registry.docker-cn.com网易163的镜像http://hub-mirror.c...【详细内容】
2021-10-28  抓蛙程序猿    Tags:docker   点击:(48)  评论:(0)  加入收藏
环境:Spring5.3.10通常,应用程序开发人员不需要对ApplicationContext实现类进行子类化。相反,SpringIOC容器可以通过插入特殊集成接口的实现来扩展。使用BeanPostProcessor自定...【详细内容】
2021-10-26  Java网络研发架构师    Tags:Spring   点击:(33)  评论:(0)  加入收藏
我们在很多场景下都需要做笔记,来对抗遗忘,一份好的笔记不仅能在需要的时候供我们查阅,也能帮助我们归纳整理知识提高做事效率。 目前市面上有很多云笔记软件,体验上各有不同,但...【详细内容】
2021-10-11  运维贼船    Tags:docker   点击:(61)  评论:(0)  加入收藏
1. Nacos官网Nacos Docker 快速开始2. Clone 项目git clone https://github.com/nacos-group/nacos-docker.git3. cd 到nacos-docker 路径下 直接启动即可cd nacos-dockerdo...【详细内容】
2021-09-16  程序狗爱化妆    Tags:Nacos   点击:(109)  评论:(0)  加入收藏
今天不做保姆级教程,分享奶爸常用、好用的Docker应用。有了这些Docker,Nas的可玩性会大幅提高,有时候奶爸也在想,刨去官方套件不考虑的话,Nas真的是差不多。如果小伙伴们有需要,后...【详细内容】
2021-09-03  晋升奶爸的垃圾佬    Tags:Docker   点击:(167)  评论:(0)  加入收藏
环境要求 ubuntu系统:20.04 docker版本:20.10.7 redis版本:6.0.6步骤由于我这里已经有相应的redis镜像,这里就不记录了,关于docker一些基础知识可以看我以前的笔记开启3台re...【详细内容】
2021-07-26  石老师小跟班    Tags:Redis主从复制   点击:(117)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条