Linux系统基于Docker容器安装Zabbix 5.0 详细图解教程
近期Zabbix官方发布了Zabbix 5.0版本,作为LTS版,本次的版本继承了4.*版本的全部功能,虽然新增了审计、服务、新函数、密码策略等功能,但是亮点并不太多,没有想象中惊艳,下面我将在Docker容器安装Zabbix来体验新特性。
Zabbix 5.0给人的第一眼感觉变化并不是太大,目前新增了审计日志功能,相比以前的版本,审计日志类型会更加丰富,例如处理LLD规则、自动发现、API令牌的创建会在审计日志里体现,同时也使用了新的表为审计日志服务。
安装教程
软件环境
系统版本:CentOS 7.9
软件版本:Zabbix 5.0
数据库版本:MySQL
Web服务:Nginx
关闭防火墙和selinux
一、Docker容器安装Zabbix环境准备
1、系统版本
[root@zabbix ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
2、安装Docker
curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@zabbix ~]# yum install docker-ce
--> 解决依赖关系完成
依赖关系解决
======================================================================================================================================================================================================
Package 架构 版本 源 大小
======================================================================================================================================================================================================
正在安装:
docker-ce x86_64 3:20.10.8-3.el7 docker-ce-stable 23 M
为依赖而安装:
audit-libs-python x86_64 2.8.5-4.el7 base 76 k
checkpolicy x86_64 2.5-8.el7 base 295 k
container-selinux noarch 2:2.119.2-1.911c772.el7_8 extras 40 k
containerd.io x86_64 1.4.9-3.1.el7 docker-ce-stable 30 M
docker-ce-cli x86_64 1:20.10.8-3.el7 docker-ce-stable 29 M
docker-ce-rootless-extras x86_64 20.10.8-3.el7 docker-ce-stable 8.0 M
docker-scan-plugin x86_64 0.8.0-3.el7 docker-ce-stable 4.2 M
fuse-overlayfs x86_64 0.7.2-6.el7_8 extras 54 k
fuse3-libs x86_64 3.6.1-4.el7 extras 82 k
libcgroup x86_64 0.41-21.el7 base 66 k
libsemanage-python x86_64 2.5-14.el7 base 113 k
policycoreutils-python x86_64 2.5-34.el7 base 457 k
python-IPy noarch 0.75-6.el7 base 32 k
setools-libs x86_64 3.3.8-4.el7 base 620 k
slirp4netns x86_64 0.4.3-4.el7_8 extras 81 k
事务概要
======================================================================================================================================================================================================
安装 1 软件包 (+15 依赖软件包)
总下载量:96 M
安装大小:386 M
Is this ok [y/d/N]: y
[root@zabbix ~]# systemctl start docker
[root@zabbix ~]# systemctl enable docker
3、规划Docker容器网络
docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net
二、基于Docker创建MySQL数据库
docker run --name mysql-server -t -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="123456" -e MYSQL_ROOT_PASSWORD="qwqw1212" --network=zabbix-net -p 3306:3306 -d mysql:5.7 --character-set-server=utf8 --collation-server=utf8_bin --default-authentication-plugin=mysql_native_password
三、基于Docker创建zabbix-server
1、创建Zabbix Java gateway
docker run --name zabbix-java-gateway -t --network=zabbix-net --restart unless-stopped -d zabbix/zabbix-java-gateway:alpine-5.0-latest
2、创建Zabbix-server
docker run --name zabbix-server-mysql -t -e DB_SERVER_HOST="mysql-server" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="123456" -e MYSQL_ROOT_PASSWORD="qwqw1212" -e ZBX_JAVAGATEWAY="zabbix-java-gateway" --network=zabbix-net -p 10051:10051 --restart unless-stopped -d zabbix/zabbix-server-mysql:alpine-5.0-latest
3、进入zabbix-server容器
# docker exec -it zabbix-server-mysql /bin/bash
bash-4.3# ping 1.1.1.1
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
64 bytes from 1.1.1.1: icmp_seq=1 ttl=127 time=197 ms
64 bytes from 1.1.1.1: icmp_seq=2 ttl=127 time=196 ms
ps:网络通外网
查看ipbash-4.3# ip -4 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
278: eth0@if279: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP
inet 172.17.0.15/16 scope global eth0
valid_lft forever preferred_lft forever
1、备份配置文件:
cp -a /etc/apk/repositories /etc/apk/repositories.bak
2、修改repositories文件,将http://dl-cdn.alpinelinux.org/替换成https://mirrors.huaweicloud.com/,可以参考如下命令:sed -i s@http://dl-cdn.alpinelinux.org/@https://mirrors.huaweicloud.com/@g /etc/apk/repositories
3、执行apk update更新索引,执行apk search xxx查询软件包,执行apk add xxx安装软件包
4、安装Web-Nginx、PHP
docker run --name zabbix-web-nginx-mysql --hostname zabbix-web-nginx-mysql \
--link zabbix-mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
-e DB_SERVER_HOST="mysql" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="123456" \
-e MYSQL_DATABASE="zabbix" \
-e ZBX_SERVER_HOST="zabbix-server" \
-e PHP_TZ="Asia/Shanghai" \
-p 80:80 \
-p 443:443 \
-d \
zabbix/zabbix-web-nginx-mysql
四、安装zabbix-agent 并配置(被监控端)
#rpm -ivh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
#yum -y install zabbix-agent-5.0.15
docker exec -it zabbix-server-mysql ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
278: eth0@if279: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP
link/ether 02:42:ac:11:00:0f brd ff:ff:ff:ff:ff:ff
inet 172.17.0.15/16 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::42:acff:fe11:f/64 scope link
valid_lft forever preferred_lft forever
# vim /etc/zabbix/zabbix_agentd.conf
Server=10.100.21.13
UnsafeUserParameters=1
Include=/etc/zabbix/zabbix_agentd.d/*.conf
# systemctl start zabbix-agent.service
注意:如果要对宿主机进行监控,请编辑宿主机的zabbix_agentd.conf,将Server地址,默认127.0.0.1,修改为docker-server容器地址,否则不通;如果是对其他主机的监控则使用docker-zabbix-server宿主机的IP。
zabbix-server基于docker安装完毕!访问:http://<宿主机IP>,默认用户名:Admin/zabbix
echo 1 > /proc/sys/net/ipv4/ip_forward #容器内网络与外网通,在宿主机上要开启网络转换
ps:开启网络转换容器只能ping通宿主机,不能通外网,重启docker就OK
Linux系统基于Docker容器安装Zabbix 5.0 详细图解教程
https://cn.10691.cn//archives/10053