Docker安装Zabbix企业级监控平台
Zabbix是什么?
Zabbix是一个监控软件,其可以监控各种网络参数,保证企业服务架构安全运营,同时支持灵活的告警机制,可以使得运维人员快速定位故障、解决问题。zabbix支持分布式功能,支持复杂架构下的监控解决方案,也支持web页面,为主机监控提供了良好直观的展现。
Zabbix完全开源免费,没有任何限制和隐藏费用。
Zabbix的监控对象
Zabbix支持监控各种系统平台,包括Linux和Windows等主流操作系统,也可以借助SNMP或者是SSH协议监控路由交换设备。
Zabbix如果部署在服务器上,可以监控其CPU、内存、网络性能等硬件参数,也可以监控具体的服务或者应用程序、服务运行情况及性能。
硬件监控:Zabbix IPMI Interface ,通过IPMI接口进行监控,我们可以通过标准的IPMI硬件接口,监控被监控对象的物理特征,比如电压、温度、风扇状态、电源状态等。
系统监控:Zabbix Agent Interface ,通过专用的代理程序进行监控,与常见的master/agent模型类似,如果被监控对象支持对应的agent,推荐首选这种方式。
Java监控:Zabbix JMX Interface ,通过JMX进行监控,JMX(java management extensions,即java管理扩展),监控JVM虚拟机时,使用这种方法是非常不错的选择。
网络设备监控:Zabbix SNMP Interface ,通过SNMP协议与被监控对象进行通信,SNMP协议的全称为simple network management protocol,被译为简单网络管理协议,通常来说,我们无法在路由器、交换机这种硬件上安装agent,但是这些硬件都支持SNMP协议。
应用服务监控:Zabbix Agent UserParameter
MySQL数据库监控:percona-monitoring-plulgins
URL监控:Zabbix Web 监控
安装教程
docker-compose方式安装
演示以在Ubuntu系统上安装为例
提前安装好
Docker
、Docker-Compose
、Git Server
(自行搜索安装命令)打开系统的SSH功能,使用终端软件进行连接,并切换到root状态下。
进入某个文件夹(你想将项目文件存储到哪就进哪个文件夹)
cd /mnt
克隆项目文件到本地
git clone https://github.com/zabbix/zabbix-docker.git
对项目文件夹授权everyone的读写权限
# chmod -R 777 /mnt/zabbix-docker
进入项目文件夹
cd zabbix-docker
编辑环境变量配置文件(可选,Zabbix默认80端口。)
vi .env
按字母 i 键进入编辑模式,修改下面的配置文件,按Esc键退出编辑模式,输入 :wq 退出并保存。
# Zabbix images ZABBIX_ALPINE_IMAGE_TAG=alpine-6.4 ZABBIX_CENTOS_IMAGE_TAG=centos-6.4 ZABBIX_OL_IMAGE_TAG=ol-6.4 ZABBIX_UBUNTU_IMAGE_TAG=ubuntu-6.4 ZABBIX_RHEL_IMAGE_TAG=rhel-6.4 ZABBIX_IMAGE_TAG_POSTFIX=-latest ZABBIX_LOCAL_IMAGE_TAG_POSTFIX=-local ZABBIX_SERVER_MYSQL_IMAGE=zabbix/zabbix-server-mysql ZABBIX_SERVER_PGSQL_IMAGE=zabbix/zabbix-server-pgsql ZABBIX_PROXY_MYSQL_IMAGE=zabbix/zabbix-proxy-mysql ZABBIX_PROXY_SQLITE3_IMAGE=zabbix/zabbix-proxy-sqlite3 ZABBIX_WEB_NGINX_MYSQL_IMAGE=zabbix/zabbix-web-nginx-mysql ZABBIX_WEB_APACHE_MYSQL_IMAGE=zabbix/zabbix-web-apache-mysql ZABBIX_WEB_NGINX_PGSQL_IMAGE=zabbix/zabbix-web-nginx-pgsql ZABBIX_WEB_APACHE_PGSQL_IMAGE=zabbix/zabbix-web-apache-pgsql ZABBIX_AGENT_IMAGE=zabbix/zabbix-agent ZABBIX_AGENT2_IMAGE=zabbix/zabbix-agent2 ZABBIX_JAVA_GATEWAY_IMAGE=zabbix/zabbix-java-gateway ZABBIX_SNMPTRAPS_IMAGE=zabbix/zabbix-snmptraps ZABBIX_WEB_SERVICE_IMAGE=zabbix/zabbix-web-service # Database images MYSQL_IMAGE=mysql MYSQL_IMAGE_TAG=8.0-oracle POSTGRESQL_IMAGE=postgres POSTGRESQL_IMAGE_TAG=15-alpine ELASTICSEARCH_IMAGE=elasticsearch ELASTICSEARCH_IMAGE_TAG=latest # Expose ports per service ZABBIX_SERVER_PORT=10051 ZABBIX_PROXY_MYSQL_PORT=10071 ZABBIX_PROXY_SQLITE3_PORT=10061 ZABBIX_WEB_NGINX_HTTP_PORT=80 #Zabbix默认访问HTTP端口,可自行修改。 ZABBIX_WEB_NGINX_HTTPS_PORT=443 #Zabbix默认访问HTTPS端口,可自行修改。 ZABBIX_WEB_APACHE_HTTP_PORT=8081 ZABBIX_WEB_APACHE_HTTPS_PORT=8443 ZABBIX_AGENT_PORT=10050 ZABBIX_AGENT2_PORT=10060 ZABBIX_JAVA_GATEWAY_PORT=10052 ZABBIX_SNMPTRAPS_PORT=162 ZABBIX_WEB_SERVICE_PORT=10053 # Network IP ranges FRONTEND_NETWORK_DRIVER=default FRONTEND_SUBNET=172.16.238.0/24 FRONTEND_ENABLE_IPV6=false BACKEND_NETWORK_DRIVER=default BACKEND_SUBNET=172.16.239.0/24 BACKEND_ENABLE_IPV6=false DATABASE_NETWORK_ENABLE_IPV6=false DATABASE_NETWORK_DRIVER=default # Locations DATA_DIRECTORY=./zbx_env ENV_VARS_DIRECTORY=./env_vars # Options RESTART_POLICY=unless-stopped # Cache base images ALPINE_CACHE_FROM=alpine:3.19 CENTOS_CACHE_FROM=quay.io/centos/centos:stream9 OL_CACHE_FROM=oraclelinux:9-slim UBUNTU_CACHE_FROM=ubuntu:jammy RHEL_CACHE_FROM=registry.access.redhat.com/ubi9/ubi-minimal:9.3 # Base images BUILD_BASE_IMAGE=zabbix-build-base BUILD_BASE_MYSQL_IMAGE=zabbix-build-mysql BUILD_BASE_PGSQL_IMAGE=zabbix-build-pgsql BUILD_BASE_SQLITE3_IMAGE=zabbix-build-sqlite3 # Operating System tags ALPINE_OS_TAG=Alpine ALPINE_OS_TAG_SHORT=alpine CENTOS_OS_TAG=CentOS CENTOS_OS_TAG_SHORT=centos OL_OS_TAG=Oracle Linux OL_OS_TAG_SHORT=ol UBUNTU_OS_TAG=Ubuntu UBUNTU_OS_TAG_SHORT=ubuntu RHEL_OS_TAG=Red Hat RHEL_OS_TAG_SHORT=rhel
执行命令,启动docker-compose文件,拉取镜像并创建容器。
注意:这里拉取的是整个项目文件,内含多个docker-compose模板,请根据自己的需求选择。
演示随意选择一种进行安装。#将 docker-compose_v3_centos_mysql_latest.yaml 换成你想使用的模板文件名 docker-compose -f ./docker-compose_v3_centos_mysql_latest.yaml up -d
查看正在运行的项目容器
docker-compose ps
访问Zabbix
打开浏览器,以设备的IP+设置的端口进行访问。
以本机为例:http://192.168.2.222:89
默认用户名:Admin
默认密码:zabbix
(如果访问时显示数据库报错,稍等一会再刷新即可。)登录成功
点击左侧--Administrator--General--GUI
选择中国语言和上海时区后,点击Update。
现在你就可以立即探索Zabbix了。
项目地址
GitHub项目地址:https://github.com/zabbix/zabbix-docker
官方文档地址:https://www.zabbix.com/documentation/current/zh/manual/installation/containers#docker-compose
Zabbix官网地址:https://www.zabbix.com/cn
👇👇👇
- 感谢你赐予我前进的力量