一、监控ElasticSearch集群
实际使用中仅使用资源监控和异常报警是远远不够的,还需要监控各类基础组件,如ElasticSearch、RabbitMQ等,并根据实际使用情况,对资源监控进行分类并设置报警策略,比如各类组件集群的状态、将不同的业务报警发送给不同的技术人员等。
本文将演示对Kubernetes集群外部的ElasticSearch集群监控,对于Kubernetes集群内部的ElasticSearch监控配置相同。
使用Prometheus进行业务监控,一般可分为以下步骤:
- 创建Endpoints用于连接至外部服务。
- 创建Service用于与Endpoint进行匹配。
- 创建Exporter采集工具并配置上面创建的Service用于连接被监控业务。
- 创建Exporter的Service用于被Prometheus发现并注册。
- 创建ServiceMonitor将被监控资源注册至Prometheus。
根据上述步骤,首先创建用于连接Kubernetes集群外部的ElasticSearch集群的Endpoints和Service(集群内部的ElasticSearch一般都已经创建了Service和Endpoints,可以直接使用,无须再次创建),修改external-es.yaml文件中的Endpoints的addresses(地址)和port(端口),然后创建即可:
kind: Endpoints
apiVersion: v1
metadata:
name: external-es
namespace: logging
labels:
k8s-app: elast