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 pulldocker compose up -d
复制代码
Prometheus 通过 Consul 交互,获取到 target 的信息。
git clone git@github.com:iKubernetes/k8s-prom.gitk apply -f namespace.yaml# 修改k apply -f prometheus/ -n promk 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 -- shtail /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 实现邮件告警
基于钉钉告警模板实现自定义告警
评论