centos 7.6安装java_Docker安装zabbix5.0LTS教程和优化

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

d89c7192c7f87f982da5e26b1fd9f3bb.png

环境

操作系统: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

214e132aeb59787216b840a42afa57b3.png

优化教程

安装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

页面操作

添加自动注册规则

b7e477fad663b7e255311aff293056d5.png

注意: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

页面操作

36ff0f6bac3ef3203cb7956ae4295518.png

8522f7c0e6aed2668c82a29fdee6cc1e.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值