prometheus 无法监控多域名,一个域名有多台服务器,也无法监控每一台服务器是否都能访问
第一个问题
http://www.sample.com/qos 访问页面显示是A_server 显示其他内容全部算故障
http://www.A.com/qos 访问页面显示是#ok# ,显示其他内容全部算故障
http://www.B.com/qos 访问页面能打开就算正常
这个问题主要是同一个prometheus 要监控好几个域名,但每个域名访问页面显示的内容又不一样,不同的开发人员定义了不同的返回值,没法改
另外配置了返回值(qos)监控之后,SSL证书过期监控就失效了,应该是匹配到了qos监控后就不在匹配下面的规则,最好做了页面返回内容监控后,
还能继续SSL证书
第二个问题
http://www.sample.com/ 后台对应了3台机器192.168.6.64,192.168.6.65,192.168.6.66
http://www.A.com 后台对应了3台机器192.168.7.64,192.168.7.65,192.168.7.66
怎么监控每台机器web 访问页面是否正常,可以假设http://www.sample.com/qos 页面出现A_server 就算是正常,
http://www.A.com/qos 访问页面出现#ok#就是正常的,不能仅仅监控服务器的端口,要监控页面打开显示的内容
至于DNS轮询问题,暂时不考虑,当成是平均负载轮询吧,那个是NGINX做的,这个问题有人说prometheus 会自动轮询
多台服务器,实测/etc/hosts 绑定多台服务器,关闭其中两台服务器prometheus不会自动报警
要详细完整的配置文件,不要另外编程序来解决,不会搞编程的东西,谢谢各位!
因为某些安全原因,不能使用自定义参数传递的办法解决
cat /opt/prometheus/rule/64SSL_certificate_check.yml
groups:
cat blackbox.yml
modules:
http_2xx:
prober: http
http:
method: GET
headers:
Host: "www.sample.com|www.jte.com"
Accept-Language: en-US
Origin: imovie.com.cn
fail_if_body_not_matches_regexp:
- "A_server|ICP"
http_post_2xx:
prober: http
http:
method: POST
tcp_connect:
prober: tcp
pop3s_banner:
prober: tcp
tcp:
query_response:
- expect: "^+OK"
tls: true
tls_config:
insecure_skip_verify: false
grpc:
prober: grpc
grpc:
tls: true
preferred_ip_protocol: "ip4"
grpc_plain:
prober: grpc
grpc:
tls: false
service: "service1"
ssh_banner:
prober: tcp
tcp:
query_response:
- expect: "^SSH-2.0-"
- send: "SSH-2.0-blackbox-ssh-check"
可以参考一下
https://www.csdn.net/tags/NtTakgysOTA3NzctYmxvZwO0O0OO0O0O.html
用个代理网关
这个我做过,你prometheus 跑在容器里吗,你需要配置一下prometheus.yaml
主要是监控证书?证书文件不能监控?
监控ssl证书是否过期即可,另外还要监控web页面显示的内容,比如显示A_server就算正常,3个域名访问的显示的内容都不一样,监控证书是否过期默认配置即可,关键是监控了证书是否过期就无法监控web访问显示的内容,是网站内容监控,基本上百度没搜出有类似的