Zabbix5.0 监控Greenplum
1.Greenplum集群介绍
Greenplum集群具有较好的容错性和高可用性,其中一点就体现在segment镜像机制上。接下来本文会简单地阐述segment的作用以及segment镜像机制是如何保证GP高可用的。
- Greenplum集群由一个Master和多个segment组成
- segment用来存储数据
- 一台机器可以有多个segment
- 每个segment是一个postgres数据库实例
当Greenplum启用镜像时,对每个segment都有一对primary segment和mirror segment。 primary segment和mirror segment被分布在不同的机器上,但是存储的是同一份数据。
2.Segment故障切换
当Greenplum集群启用镜像后,如果primary segment不可用,系统会启用备用mirror segment。所以当一个或多个segment出现问题时,只要剩余segment的所有数据可用,Greenplum集群就可以保持正常运行。如果GP集群没有启用镜像,当一个segment发生故障后后导致整个GP集群停止服务,直到所有segment恢复正常。
如果Master节点无法连接到一个segment,Master会在GP系统目录中标记该segment状态为宕机,并且启用镜像数据。
3.Greenplum如何监控
Greenplum的监控可类似于PostgreSQL来实现,但又存在差异,不同点在于:
-
要实现一个Greenplum的Exporter指标采集器;
-
将greenplum_exporter采集的Promethues格式的数据接入Zabbix;
3.1 安装Greenplum-Expoter
1. 下载安装包
wget https://github.com/tangyibo/greenplum_exporter/releases/greenplum_exporter-1.1-rhel7.x86_64.rpm
说明:该Exporter支持Greenplum V5.x及Greenplum V6.x等版本,如果是V4.x需要collector.go需要稍作调整,本人已经亲测通过
2. 安装软件包
[root@localhost ~]# rpm -ivh greenplum_exporter-1.1-rhel7.x86_64.rpm
准备中... ################################# [100%]
正在创建信箱文件: 文件已存在
正在升级/安装...
1:greenplum_exporter-1.1-rhel7 ################################# [100%]
软件默认安装在: /usr/local/greenplum_exporter
3. 配置数据库连接
修改/usr/local/greenplum_exporter/etc/greenplum.conf文件中配置的greenplum数据库服务器的地址和gpadmin账号的密码。默认如下:
[root@localhost etc]# pwd
/usr/local/greenplum_exporter/etc
[root@localhost etc]# cat greenplum.conf
GPDB_DATA_SOURCE_URL=postgres://gpadmin:gpadmin@166.8.50.31:5432/postgres?sslmode=disable
4. 启动Expoter程序
systemctl start greenplum_exporter
systemctl status greenplum_exporter #查看进程是否启动成功
5. 验证
访问如下地址以检测验证成功安装:
http://166.8.69.3:9297/metrics
3.2 整合exporter监控数据
3.2.1 添加主机
3.2.2 创建master监控项
3.2.3 创建自动发现规则
3.2.4 创建预处理步骤
第一步Prometheus to JSON步骤处理结果如下: