20230325 作业:
1.Prometheus 基于 consul 实现服务发现,并总结服务发现过程
2.Prometheus 监控 JAVA 服务(Tomcat)、Redis、MySQL、HAProxy
3.总结 prometheus 基于 exporter 进行指标数据采集的流程
4.Prometheus 集合 AlertManager 实现邮件、钉钉、微信告警
5.基于钉钉告警模板与企业微信告警模板实现自定义告警内容
扩展:
1.prometheus 监控 Nginx 及 Ingress Controller
基于 consul 服务发现
服务通过 consul 注册接口,注册到 Consul 中。
consule 可以通过 8500 端口访问。
cd docker-compose-deploy-single-consul/
docker compose pull
docker compose up -d
复制代码
Prometheus 通过 Consul 交互,获取到 target 的信息。
git clone git@github.com:iKubernetes/k8s-prom.git
k apply -f namespace.yaml
# 修改
k apply -f prometheus/ -n prom
k apply -f node-exporter/
k apply -f kube-state-metrics/
# 查看prometheus的端口
k get svc -A
# 可以查看Prometheus的配置
k exec -it prometheus-server-8f7bc69b5-kqpvn -n prom -- sh
tail /etc/prometheus/prometheus.yml
# 增加node exporter的监控
curl -X PUT -d '{"id": "node-exporter111","name": "node-exporter111","address": "172.31.7.111","port":30090,"tags": ["node-exporter"],"checks": [{"http": "http://172.31.7.111:30090/","interval": "5s"}]}' http://172.31.7.118:8500/v1/agent/service/register
复制代码
Prometheus.yml 配置。
- job_name: consul
honor_labels: true
metrics_path: /metrics
scheme: http
consul_sd_configs:
- server: 172.31.7.120:8500
services: [] #发现的目标服务名称,空为所有服务,可以写servicea,servcieb,servicec
relabel_configs:
- source_labels: ['__meta_consul_tags']
target_label: 'product'
- source_labels: ['__meta_consul_dc']
target_label: 'idc'
- source_labels: ['__meta_consul_service']
regex: "consul"
action: drop
复制代码
端口映射在 node 的 30090。
Prometheus 通过 target 获取的信息,进行数据抓取。
监控 Java 服务,Redis,MySQL,HAProxy
基于 exporter 进行指标数据采集
集合 AlertManager 实现邮件告警
基于钉钉告警模板实现自定义告警
评论