基于docker快速安装zabbix

一、创建目录和拉取镜像

mkdir -p /data/zabbix/{data,fonts,conf,alertscripts,externalscripts}

docker pull mysql:5.7
docker pull zabbix/zabbix-java-gateway:latest
docker pull zabbix/zabbix-server-mysql:alpine-latest
docker pull zabbix/zabbix-web-nginx-mysql:alpine-latest

二、启动一个单独的数据库mysql用于保存zabbix数据

#!/bin/bash
docker run  --name mysql-server --network host -t \
-p 3306:3306 \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="password" \
-e MYSQL_ROOT_PASSWORD="password" \
-v /data/zabbix/data:/var/lib/mysql \
-v /etc/localtime:/etc/localtime:ro \
--restart=always \
-d mysql:5.7 \
--character-set-server=utf8 \
--collation-server=utf8_bin

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

三、启动ZABBIX-JAVA-GATEWAY

#!/bin/bash
docker run --name zabbix-java-gateway -d \
--network host \
-t -p 10052:10052 \
-v /etc/localtime:/etc/localtime:ro \
zabbix/zabbix-java-gateway:latest

四、启动Zabbix Server实例,并关联这个实例到已创建的MySQL实例

docker run  --name zabbix-server-mysql --network host -t \
-e DB_SERVER_HOST="172.16.200.50" \
-e DB_SERVER_PORT=3306 \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="password" \
-e MYSQL_ROOT_PASSWORD="password" \
-e ZBX_JAVAGATEWAY="172.16.200.50" \
-e ZBX_JAVAGATEWAYPORT=10052 \
-v /etc/localtime:/etc/localtime:ro \
-v /data/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \
-v /data/zabbix/externalscripts:/usr/lib/zabbix/externalscripts \
--restart=always \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:alpine-latest

#启动zabbixserver服务,并关联这个服务到上面已经启动的mysql数据库实例上,确保zabbix的数据可以保存到mysql数据库,如果想要数据持久化根据生产环境实际情况灵活决定是否挂载,上面我没有挂载,即没有使用卷持久化。

4、 启动Zabbix web 接口,并将它与MySQL服务器实例和Zabbix Server实例关联

#显示中心的问题DejaVuSans.ttf

#!/bin/bash
docker run --name zabbix-web-nginx-mysql --network host -t \
-e DB_SERVER_HOST="172.16.200.50" \
-e DB_SERVER_PORT=3306 \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="password" \
-e MYSQL_ROOT_PASSWORD="password" \
-e ZBX_SERVER_HOST="172.16.200.50" \
-e ZBX_SERVER_PORT=10051 \
-e PHP_TZ="Asia/Shanghai" \
-v /etc/localtime:/etc/localtime:ro \
-v /data/zabbix/fonts:/usr/share/zabbix/assets/fonts \
--restart=always \
-p 8080:8080 \
-d zabbix/zabbix-web-nginx-mysql:alpine-latest

5、yum安装agent方式:

wget http://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.4-1.el7.x86_64.rpm  
或者
curl  http://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.4-1.el7.x86_64.rpm -o zabbix-agent-5.0.4-1.el7.x86_64.rpm
或者agent2
curl http://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent2-5.0.4-1.el7.x86_64.rpm -o zabbix-agent2-5.0.4-1.el7.x86_64.rpm

yum install zabbix-agent-5.0.3-1.el7.x86_64.rpm

[root@localhost zabbix]# grep -Ev ‘#|$|*#’ /etc/zabbix/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=172.16.200.50
ServerActive=172.16.200.50:10051
Hostname=Zabbix Server
Timeout=30
Include=/etc/zabbix/zabbix_agentd.d/*.conf

#查看配置

[root@localhost ~]# docker exec -it 146895b5c4f2 /bin/bash
bash-5.0$ cat /etc/zabbix/web/zabbix.conf.php
<?php
// Zabbix GUI configuration file.
global $DB, $HISTORY;

$DB['TYPE']     = 'MYSQL';
$DB['SERVER']   = 'mysql-server';
$DB['PORT']     = '3306';
$DB['DATABASE'] = 'zabbix';
$DB['USER']     = 'zabbix';
$DB['PASSWORD'] = 'Zabbix@Szgd';
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
$ZBX_SERVER      = 'zabbix-server';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'Zabbix docker';

$DB['DOUBLE_IEEE754']	= true;
$IMAGE_FORMAT_DEFAULT	= IMAGE_FORMAT_PNG;
bash-5.0$ cat /etc/hosts
127.0.0.1	localhost
::1	localhost ip6-localhost ip6-loopback
fe00::0	ip6-localnet
ff00::0	ip6-mcastprefix
ff02::1	ip6-allnodes
ff02::2	ip6-allrouters
172.17.0.2	mysql a29ba23a161c mysql-server
172.17.0.4	zabbix-server 490003fdad45 zabbix-server-mysql
172.17.0.5	146895b5c4f2
bash-5.0$

#等待系统初始化大约3分钟使用浏览器登陆http://IP或域名:8080/zabbix,zabbix web页面的默认用户名密码是 Admin/zabbix,进入后自行修改。

参考链接:
https://github.com/zabbix/zabbix-docker


在alpine的使docker中安装python

FROM zabbix/zabbix-server-mysql:alpine-latest
USER root
RUN  apk add python2 python3 py3-pip --no-cache
RUN  pip install requests  smtp urllib3  pymysql
USER 1997
docker build --network=host -t  zabbix-server ./

基于docker-compose快速安装zabbix

yum install git -y

mkdir /data && cd /data
git clone  https://github.com/zabbix/zabbix-docker.git

cd zabbix-docker
mkdir -p ./zbx_env/usr/share/zabbix/modules

cp docker-compose_v3_alpine_pgsql_latest.yaml docker-compose.yaml

#把pgsql替换为timescaledb
sed -i 's#postgres:13-alpine#timescale/timescaledb:2.5.1-pg13#g' docker-compose.yaml
 
docker-compose --profile full up -d
Docker安装Zabbix,首先需要执行两个命令来生成Zabbix Server和Zabbix Web容器。执行以下命令生成Zabbix Server容器: ``` docker run --name zabbix-server-mysql-8 -t \ --net=zabbix_app_net \ --env-file /root/docker_env_file/zabbix_server_8.list \ -v /root/zabbix_etc_file/alertscripts:/usr/lib/zabbix/alertscripts \ -p 10051 \ -d zabbix/zabbix-server-mysql:centos-4.0.3 ``` \[1\] 然后,执行以下命令生成Zabbix Web容器: ``` docker run --name zabbix-web-nginx-mysql-8 \ --net=zabbix_app_net \ -p80 \ --env-file /root/docker_env_file/zabbix_web_8.list \ -d zabbix/zabbix-web-nginx-mysql:centos-4.0.3 ``` \[2\] 这样就在Docker中成功安装ZabbixZabbix是一个基于WEB界面的开源解决方案,提供分布式系统监视和网络监视功能。它能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以便系统管理员快速定位和解决问题。Zabbix由两部分组成,服务端Zabbix Server和可选组件客户端Zabbix Agent。安装Zabbix之前,需要准备好VMware Workstation Pro和CentOS 7的环境,并安装Docker容器。然后,通过在Docker镜像下安装Zabbix的步骤,可以完成Zabbix安装和配置。\[3\] #### 引用[.reference_title] - *1* *2* [ZABBIX(docker版)安装](https://blog.csdn.net/topswim/article/details/87877454)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Zabbix最简易安装部署:基于docker容器](https://blog.csdn.net/weixin_66651551/article/details/128882409)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值