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.7
RUN 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/zabbix
EXPOSE 10051/TCP
VOLUME ["/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</