在操作系统上直接部署安装zabbix太麻烦了,最近在搞k8s,正好研究下用docker容器来安装zabbix5.0LTS长期支持版。

环境

操作系统:centos7

前期准备

配置阿里源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backupwget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

安装阿里的docker源

sudo yum-config-manager --add-repo \https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reposudo yum makecache fast

安装系统需要的工具

yum install -y bind-utils net-tools wget unzip yum install -y yum-utils device-mapper-persistent-data lvm2

安装Docker

sudo yum -y install docker-cesystemctl start docker#设置开机自动启动systemctl enable docker

Docker使用国内的仓库

#编辑docker配置文件,使用国内仓库进行镜像下载vi /etc/docker/daemon.json{    "registry-mirrors": ["http://hub-mirror.c.163.com"]}#重启docker加载配置systemctl restart docker

安装教程

创建MySQL容器

注意!指定UTF8字符集为重要参数,否则安装后在配置过程中,不能使用中文字符。

docker run --name sunmysql -t \-e MYSQL_DATABASE="zabbix" \-e MYSQL_USER="zabbix" \-e MYSQL_PASSWORD="zabbix123$%^" \-e MYSQL_ROOT_PASSWORD="root_123$%^" \-v /data/zabbix/mysql:/var/lib/mysql \-d mysql:5.7 \--character-set-server=utf8 --collation-server=utf8_bin

创建java-gateway容器

默认zabbix不支持对java的监控,需要安装java-gateway来支持。

docker run --name zabbix-java-gateway -t \-d zabbix/zabbix-java-gateway:centos-5.0-latest

创建Zabbix服务端容器

docker run --name zabbix-server -t \--link sunmysql:mysql \--link zabbix-java-gateway:zabbix-java-gateway \-v /etc/localtime:/etc/localtime \-v /etc/timezone:/etc/timezone \-v /data/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \-v /data/zabbix/externalscripts:/usr/lib/zabbix/externalscripts \-e DB_SERVER_HOST="sunmysql" \-e MYSQL_DATABASE="zabbix" \-e MYSQL_USER="zabbix" \-e MYSQL_PASSWORD="zabbix_123$%^" \-e MYSQL_ROOT_PASSWORD="root_123$%^" \-p 10051:10051 \-d zabbix/zabbix-server-mysql:centos-5.0-latest

创建Zabbix前端页面容器

docker run --name zabbix-web -t \--link sunmysql:mysql \--link zabbix-server:zabbix-server \-e DB_SERVER_HOST="sunmysql" \-e MYSQL_DATABASE="zabbix" \-e MYSQL_USER="zabbix" \-e MYSQL_PASSWORD="zabbix_123$%^" \-e MYSQL_ROOT_PASSWORD="root_123$%^" \-e PHP_TZ="Asia/Shanghai" \-p 80:8080 \-d zabbix/zabbix-web-nginx-mysql:centos-5.0-latest

验证

直接浏览器访问http://ip/即可。默认用户名和密码是:Admin/zabbix

优化教程

安装python环境

很多报警媒介原来都是用python写的,但是用docker安装zabbix默认没有python环境。

# 用root用户权限进入zabbix server容器中docker exec -it --user root zabbix-server  /bin/bash#下载依赖包yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc* make -y#下载python3的安装包yum install wget -ywget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tar.xz#解压安装包tar -Jxvf Python-3.5.2.tar.xz#配置安装环境(切入解压目录下)cd Python-3.5.2./configure prefix=/usr/local/python3#编译安装make && make install#配置软链接(如果有软连可省略)ln -s /usr/local/python3/bin/python3 /usr/bin/python3ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3#添加默认软连ln -s /usr/bin/python3 /usr/bin/pythonln -s /usr/bin/pip3 /usr/bin/pip

绘制图形中文字符乱码

需要安装中文字体来解决

#找字体文件,这里以下载文泉驿中文字体为例wget http://xze.197946.com/wenquanyiziti.zipunzip wenquanyiziti.zip#将解压缩的字体拷贝到容器中docker cp ~/文泉驿点阵正黑.ttf zabbix-web:/usr/share/zabbix/assets/fonts/wqy.ttf#进入容器返回的终端进行之后配置,我覆盖了默认字体文件docker exec -it zabbix-web bashcp DejaVuSans.ttf DejaVuSans.ttf.bakmv wqy.ttf DejaVuSans.ttf

到这来zabbix服务教程已完成。

agent批量安装和自动注册

每台服务器上安装运行zabbix-agent,改好配置启动,然后要在服务端web页面逐个添加太麻烦。这里就用shell脚本批量安装zabbix-agent,然后自动去注册添加。

编写脚本

这里以4.0  lst agent为例。离线包官方下载地址

#!/bin/bashvernum=`cat /etc/redhat-release|sed -r 's/.* ([0-9]+)\..*/\1/'`#在线rpm -ivh http://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpmyum install zabbix-sender zabbix-agent#离线\cp -f zabbix-agent-4.0.9-3.el${vernum}.x86_64.rpm /root/rpm -ivh /root/zabbix-agent-4.0.9-3.el${vernum}.x86_64.rpmipaddr=$(ifconfig eth0|grep -w inet|awk '{print $2}')sed -i.ori 's#Server=127.0.0.1#Server=xxxxxxxx#' /etc/zabbix/zabbix_agentd.confsed -i.ori 's#ServerActive=127.0.0.1#ServerActive=xxxxxxxxxx#' /etc/zabbix/zabbix_agentd.confsed -i.ori 's#Hostname=Zabbix server#Hostname='${ipaddr}'#' /etc/zabbix/zabbix_agentd.confsed -i.ori '180a HostMetadataItem=system.uname' /etc/zabbix/zabbix_agentd.confservice zabbix-agent startif [ $vernum == 6 ];then        chkconfig --add zabbix-agent        chkconfig zabbix-agent onelse        systemctl enable  zabbix-agent.servicefi

页面操作

添加自动注册规则

注意:zabbix_server页面配置agent代理程序的接口地址为“172.17.0.1”。而zabbix_agentd.conf中server的地址也为server容器的内网地址,例如172.17.0.3。

多机房zabbix  proxy创建

容器创建

# 按照上面步骤按照docker。# 按照上面教程创建mysql和java gateway容器#运行zabbix proxy容器docker run --name zabbix-proxy -t \--link  sunmysql:mysql \--link zabbix-java-gateway:zabbix-java-gateway \-e DB_SERVER_HOST="sunmysql" \-e ZBX_SERVER_HOST="101.198.176.99" \-e MYSQL_DATABASE="zabbix" \-e MYSQL_USER="zabbix" \-e MYSQL_PASSWORD="zabbix123$%^" \-e ZBX_HOSTNAME="Beijing-zabbix-proxy" \-e ZBX_TIMEOUT=30 \-e ZBX_CONFIGFREQUENCY="300" \-e ZBX_DATASENDERFREQUENCY=3 \-v /etc/localtime:/etc/localtime:ro \-p 10051:10051 \-d zabbix/zabbix-proxy-mysql:centos-5.0-latest

页面操作

centos 7.6安装java_Docker安装zabbix5.0LTS教程和优化相关推荐

  1. 在CentOS 6.6 64bit上安装截图软件shutter

    系统自带的截图软件功能太有限,如何才能在CentOS 6.6 x86_64上安装shutter截图软件呢? 网上一些方法都不是很详细,无法安装成功,下面是我摸索的结果,记录如下: 问题:我想要在我的C ...

  2. CentOS 6.4下编译安装MySQL 5.6.14

    概述: CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.14. 正文: 一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server ...

  3. centos yum mysql-devel 5.5_CentOS 6.5下yum安装 MySQL-5.5全过程图文教程

    在linux安装mysql是一个困难的事情,yum安装一般是安装的mysql5.1,现在经过自己不懈努力终于能用yum安装mysql5.5了.下面通过两种方法给大家介绍CentOS 6.5下yum安装 ...

  4. centos下两种方法安装git

    centos 5 64位下两种方法安装git 这里来给大家介绍下编译安装和yum安装git.   系统:centos 5.5 64位   需要的软件包:git-latest.tar.gz epel-r ...

  5. 在centos上通过yum直接安装最新版gcc和开发工具

    本来我把gcc 8, g++ 8, cmake 3, ninja,glibc,gnu make 和GNU 'binutils' 全部都编译安装了一遍: 先安装 gcc 8, g++ 8, cmake ...

  6. ClickHouse系列教程七:centos下源码编译安装及报错解决

    ClickHouse系列教程: ClickHouse系列教程 参考上一篇博客: ClickHouse系列教程六:源码分析之Debug编译运行 先安装 gcc 8, g++ 8, cmake 3, ni ...

  7. CentOS 6.5下编译安装新版LNMP

    2019独角兽企业重金招聘Python工程师标准>>> 准备工作 最小化安装CentOS6.5 我们安装完成CentOS系统,默认都是系统自带的yum源,国内用户用yum安装软件的时 ...

  8. php5.6 64位配置,centos(64位) 安装PHP5.6,配置LNMP

    下定决心自己整一个LNPM,第一次在Linux上搞开发环境,比win难多了.虚拟机centos6.5,网上搜了一些教程,撸起袖子开干,没想到坑一个接一个,从过年前到过年后,整得我灰头土脸,时不时的挂起 ...

  9. CentOS(linux) 下JDK的安装

    CentOS(linux) JDK的安装 第一篇博客有不足之处,请大家多指教.^_^ linux下装JDK的文章网上有一大堆我就不照搬了. 本文讲新手如何取巧的在linux下安装JDK. CentOS ...

最新文章

  1. ScrollPic.js——图片左右滚动插件
  2. LeetCode 856. 括号的分数
  3. Visual Paradigm中文乱码
  4. [NOI2014]魔法森林
  5. vue-router 懒加载优化
  6. Android 从相冊获取近期拍摄的多张照片(获取相机拍照所存储的照片)
  7. vue-axios的使用
  8. oracle vb 用法,oracle客户端配置与使用(vb)
  9. echarts源码打包_Echarts模块v1.5更新【更新支持多线程,封装大量快速方法,增加史上最详细示例】...
  10. 【性能之旅】Andrew 领衔,RWP 团队再临北京
  11. java 标签的制作
  12. 本地Navicat连接阿里云数据库RDS for MySQL(全网最详细,没有之一!)
  13. 如何用易语言做锁机软件
  14. 如何安装arm交叉工具链及问题解决
  15. 计算机显示器的视频接口有什么不同,电脑显示器用VGA还是HDMI好有什么区别
  16. 微信企业号开发(6)--发送消息
  17. 作为项目经理,如何做好项目进度管理
  18. 解决win10笔记本电脑无法开启热点
  19. c语言智能家居安防系统,智能家居之安防智能控制系统
  20. ibm bpm实战指南_IBM Security Network Protection实施指南(针对技术人员的XGS)

热门文章

  1. 64位系统上使用*** Client端
  2. java中toString的使用
  3. Python_note8 程序设计方法学+Python第三方库安装+os库
  4. python自然语言处理.词性标注
  5. Alluxio及其典型应用场景
  6. 初识java反射机制
  7. iOS:极光推送控制器跳转
  8. ORACLE数据库之PL/SQL触发器、rownum、动态SQL、数据库之视图与索引
  9. Linux中配置bochs
  10. 《LeetCode力扣练习》剑指 Offer 06. 从尾到头打印链表 Java