kylin10-arm 下用docker-27 安装ZABBIX server 7 kylin教程
kylin10-arm 下用docker-27 安装ZABBIX server 7
文章目录
kylin10-arm 下用docker-27 安装ZABBIX server 7
1、环境介绍 2、下载离线安装包 3、安装docker
3.1 配置服务 3.2 启动服务 3.3配置daemon.json 3.5 重新加载
4.安装zabbix server
4.1 拉取镜像
自定义镜像
4.2 创建专用于 Zabbix 组件容器的网络 4.3 启动 Zabbix Java 实例:docker pull zabbix/zabbix-server-mysql:alpine-7.0-latest 4.4 启动 MySQL 服务器实例: 4.5 启动 Zabbix server 实例,并将其关联到已创建的 MySQL server 实例 4.6 启动 Zabbix Web 界面,并将其关联到已创建的 MySQL server 和 Zabbix server 实例 通用命令
5.启动页面 http://ip/
1、环境介绍
# hostnamectl Static hostname: ecs-7kw0hn02xbd1m8 Icon name: computer-vm Chassis: vm Machine ID: 3f0f3bc29f155997acf0f3a356a5531e Boot ID: ce9e7f873bed4f74bccc6eef37492db8 Virtualization: kvm Operating System: Kylin Linux Advanced Server V10 (Lance) Kernel: Linux 4.19.90-52.42.v2207.ky10.aarch Architecture: arm2、下载离线安装包
下载地址: https://mirrors.aliyun.com/docker-ce/linux/static/stable/aarch /?spm=a2c6h.256038 .0.0.654c4ccaPxer04
选择自己需要的版本并下载。
3、安装docker
# tar -zxvf docker-27.4.0.tgz docker/ docker/containerd docker/docker-proxy docker/dockerd docker/docker-init docker/runc docker/docker docker/ctr docker/containerd-shim docker/containerd-shim-runc-v2 # cp docker/* /usr/bin/3.1 配置服务
创建文件:/etc/systemd/system/docker.service,并填充如下内容:
# vi /etc/systemd/system/docker.service [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=network-online.target [Service] Type=notify # the default is not to use systemd for cgroups because the delegate issues still # exists and systemd currently does not support the cgroup feature set required # for containers run by docker ExecStart=/usr/bin/dockerd --config-file /etc/docker/daemon.json ExecReload=/bin/kill -s HUP $MAINPID # Having non-zero Limit*s causes perfor nce problems due to accounting overhead # in the kernel. We recommend using cgroups to do container-local accounting. LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity # Uncomment TasksMax if your systemd version supports it. # Only systemd 226 and above support this version. #TasksMax=infinity TimeoutStartSec=0 # set delegate yes so that systemd does not reset the cgroups of docker containers Delegate=yes # kill only the docker process, not all processes in the cgroup KillMode=process # restart the docker process if it exits pre turely Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s [Install] WantedBy=multi-user.target3.2 启动服务
chmod +x /etc/systemd/system/docker.service systemctl daemon-reload systemctl start docker.service systemctl enable docker.service Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /etc/systemd/system/docker.service. docker ps -a3.3配置daemon.json
/etc/docker/damon.json
{ "registry-mirrors": [ "https://dockerhub.icu", "https://docker.ckyl.me", "https://docker.awsl9527.cn", "https://docker.m.daocloud.io", "https://docker.laoex.link" ] }3.5 重新加载
systemctl daemon-reload systemctl restart docker4.安装zabbix server
下面内容仓库在 Docker Hub 中可用:
Zabbix agent | zabbix/zabbix-agent | |
Zabbix server | ||
支持 MySQL | zabbix/zabbix-server-mysql | |
支持 PostgreSQL | zabbix/zabbix-server-pgsql | |
Zabbix Web 界面 | ||
基于 Apache2 Web 服务器,支持 MySQL | zabbix/zabbix-web-apache-mysql | |
基于 Apache2 Web 服务器,支持 PostgreSQL | zabbix/zabbix-web-apache-pgsql | |
基于 Nginx Web 服务器,支持 MySQL | zabbix/zabbix-web-nginx-mysql | |
基于 Nginx Web 服务器,支持 PostgreSQL | zabbix/zabbix-web-nginx-pgsql | |
Zabbix proxy | ||
支持 SQLite3 | zabbix/zabbix-proxy-sqlite3 | |
支持 MySQL | zabbix/zabbix-proxy-mysql | |
Zabbix Java | zabbix/zabbix-java-gateway |
4.1 拉取镜像
1. 拉取镜像-zabbix server 服务 # docker pull zabbix/zabbix-server-mysql:alpine-7.0-latest # echo $? `验证是否执行成功,如果是0,成功,否是是失败` 2. zabbix gateway # docker pull zabbix/zabbix-java-gateway:alpine-7.0-latest 3.数据库 8.0 # docker pull mysql:8.0 4.zabbix 界面,nginx # docker pull zabbix/zabbix-web-nginx-mysql:alpine-7.0-latest 5.zabbix agent 代理 # docker pull zabbix/zabbix-agent 6.zabbix snmp 协议监控,用来监控硬件,存储,网络设备 # docker pull zabbix/zabbix-snmptraps 7. 查看镜像 # docker i ges自定义镜像
cat Dockerfile-snmp
# 基于 zabbix 官方镜像 FROM zabbix/zabbix-server-mysql:alpine-7.0-latest #镜像名称 zabbix7-server-snmptrap # 切换到 root 用户,确保有权限执行安装命令 USER root # 更新 APK 并安装 Python 3 和 pip RUN apk update && apk add net-snmp net-snmp-tools curl # 将 Python 脚本 到容器中 COPY send_snmp_trap.sh /usr/lib/zabbix/alertscripts/send_snmp_trap.sh # 设置 职业目录 WORKDIR /root生成新的镜像
docker build -t zabbix7-server-snmptrap -f Dockerfile-snmp .docker4.2 创建专用于 Zabbix 组件容器的网络
docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net4.3 启动 Zabbix Java 实例:docker pull zabbix/zabbix-server-mysql:alpine-7.0-latest
# docker run --name zabbix-java-gateway -t --network=zabbix-net --restart unless-stopped -d zabbix/zabbix-java-gateway:alpine-7.0-latest4.4 启动 MySQL 服务器实例:
创建卷 # mkdir -p /zabbix7/mysql/data # mkdir -p /zabbix7/mysql/config # mkdir -p /zabbix7/mysql/log # docker run --name mysql-zabbix7-server -t -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="Root_123!" -e MYSQL_ROOT_PASSWORD="Root_123!" --network=zabbix-net -p 3306:3306 -v /zabbix7/mysql/data:/var/lib/mysql -v /zabbix7/mysql/config:/etc/mysql/conf.d -v /zabbix7/mysql/log:/var/log/mysql -d mysql:8.0 --character-set-server=utf8 --collation-server=utf8_bin --default-authentication-plugin=mysql_native_password4.5 启动 Zabbix server 实例,并将其关联到已创建的 MySQL server 实例
# docker run --name zabbix7-server-mysql -t -e DB_SERVER_HOST="mysql-zabbix7-server" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="Root_123!" -e MYSQL_ROOT_PASSWORD="Root_123!" -e ZBX_J AGATEWAY="zabbix-java-gateway" --network=zabbix-net -p 10061:10051 -d zabbix/zabbix-server-mysql:alpine-7.0-latest-e DB_SERVER_HOST=“mysql-zabbix7-server” 是上面创建的数据库容器的名称
4.6 启动 Zabbix Web 界面,并将其关联到已创建的 MySQL server 和 Zabbix server 实例
# docker run --name zabbix7-web-nginx-mysql -t -e ZBX_SERVER_HOST="zabbix7-server-mysql" -e DB_SERVER_HOST="mysql-zabbix7-server" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="Root_123!" -e MYSQL_ROOT_PASSWORD="Root_123!" --network=zabbix-net -p 80:8080 --restart unless-stopped -d zabbix/zabbix-web-nginx-mysql:alpine-7.0-latest-e ZBX_SERVER_HOST=“zabbix7-server-mysql” 是上面创建zabbix server容器的名称 -e DB_SERVER_HOST=“mysql-zabbix7-server” 是上面创建的数据库容器的名称
通用命令
查看镜像的历史 docker history portainer/portainer-ce:latest 删除容器 docker rm -f <CONTAINER ID> docker rm <names> # docker rm -f zabbix-web-nginx-mysql 删除镜像 # docker rmi <i ge id> 进入容器 docker exec -it <CONTAINER ID> /bin/bash 查看日志 docker logs <CONTAINER ID> 查看容器详情 docker inspect <CONTAINER ID> 打包镜像 docker commit zabbix-server-mysql my-zabbix-server-mysql:1.05.启动页面 http://ip/
默认登录账号密码:Admin zabbix
OCI runtime create failed: container_linux.go:318: starting container process caused “permission denied”: unknown 缘故分析: docker:来自守护程序的错误响应:无法创建填充码任务:OCI 运行时创建失败:container_linux.go:318:启动容器进程导致“权限被拒绝”:未知。
解决方案: 卸载Kylin Linux Advanced Server release V10 (Lance) 自带的Pod n, 执行: yum remove pod n 之后再次进行docker run