Zabbix 简介[1]
Zabbix 是由 Alexei Vladishev 开发的一种网络监视、管理系统,基于 Server-Client 架构。可用于监视各种网络服务、服务器和网络机器等状态。
Zabbix 使用 MySQL、PostgreSQL、SQLite、Oracle 或 IBM DB2 储存资料。Server 端基于 C语言、Web 前端则是基于 PHP 所制作的。Zabbix 可以使用多种方式监视。可以只使用 Simple Check 不需要安装 Client 端,亦可基于 SMTP 或 HTTP 等各种协定做死活监视。在客户端如 UNIX、Windows 中安装 Zabbix Agent 之后,可监视 CPU 负荷、网络使用状况、硬盘容量等各种状态。而就算没有安装 Agent 在监视对象中,Zabbix 也可以经由 SNMP、TCP、ICMP检查,以及利用 IPMI、SSH、telnet 对目标进行监视。另外,Zabbix 包含 XMPP 等各种 Item 警示功能。
Zabbix 功能和特性[2]安装与配置简单
可视化web管理界面
免费开源
支持中文
自动发现
分布式监控
实时绘图
环境Kubernetes 版本 1.15.6
Zabbix 版本 3.4.7 (镜像,在官方基础上修改,下文会具体介绍)
Mariadb 版本 10.3.5
Zabbix Dockerfile 修改
zabbix-server-mysql:Dockerfile 在官方基础上修改,添加 python支持,用于支持python通知脚本环境;时区修改为上海时区;
FROM zabbix/zabbix-server-mysql:alpine-3.4.7RUN cp /etc/apk/repositories /etc/apk/repositories.bak \&&echo "http://mirrors.aliyun.com/alpine/v3.4/main/" > /etc/apk/repositories \&&apk add --update python python-dev py-pip build-base \&&apk add -U tzdata \&&cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&&pip install requests configparser \&&touch /tmp/zabbix_dingding.log \&&chown zabbix:zabbix /tmp/zabbix_dingding.log \&&rm -rf /var/cache/apk/*WORKDIR /var/lib/zabbixEXPOSE 10051/TCPVOLUME ["/usr/lib/zabbix/alertscripts", "/usr/lib/zabbix/externalscripts", "/var/lib/zabbix/enc", "/var/lib/zabbix/mibs", "/var/lib/zabbix/modules"]VOLUME ["/var/lib/zabbix/snmptraps", "/var/lib/zabbix/ssh_keys", "/var/lib/zabbix/ssl/certs", "/var/lib/zabbix/ssl/keys", "/var/lib/zabbix/ssl/ssl_ca"]ENTRYPOINT ["docker-entrypoint.sh"]
zabbix-web-nginx-mysql:Dockerfile 在官方基础上修改,添加中文字体,解决查看web监控时中文乱码;时区修改为上海时区;
msyh.ttf 字体,可以从下文已打好的镜像获取。
FROM zabbix/zabbix-web-nginx-mysql:alpine-3.4.7
COPY msyh.ttf /usr/share/fonts/ttf-dejavu/DejaVuSans.ttf
RUN cp /etc/apk/repositories /etc/apk/repositories.bak \
&& echo "http://mirrors.aliyun.com/alpine/v3.4/main/" > /e