滨州正规网站建设公司,win7 网站系统怎么做,给个网站可以在线,网站上传后 后台进不去前言
blackbox-exporter会对HTTP、HTTPS、DNS、TCP、ICMP和gRPC上的端点进行黑盒探测。
Blackbox-Exporter
blackbox-exporter暴露两个Metrics指标接口#xff0c;分别是 /metrics、/probe#xff0c;两个接口返回不同监控目标的指标
Metrics接口
返回exporter的构建信息…前言
blackbox-exporter会对HTTP、HTTPS、DNS、TCP、ICMP和gRPC上的端点进行黑盒探测。
Blackbox-Exporter
blackbox-exporter暴露两个Metrics指标接口分别是 /metrics、/probe两个接口返回不同监控目标的指标
Metrics接口
返回exporter的构建信息和exporter当前的运行状态
# HELP blackbox_exporter_build_info A metric with a constant 1 value labeled by version, revision, branch, and goversion from which blackbox_exporter was built.
# TYPE blackbox_exporter_build_info gauge
blackbox_exporter_build_info{branchHEAD,goversiongo1.10,revision4a22506cf0cf139d9b2f9cde099f0012d9fcabde,version0.12.0} 1
# HELP go_gc_duration_seconds A summary of the GC invocation durations.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile0} 0
go_gc_duration_seconds{quantile0.25} 0
go_gc_duration_seconds{quantile0.5} 0
go_gc_duration_seconds{quantile0.75} 0
go_gc_duration_seconds{quantile1} 0
go_gc_duration_seconds_sum 0
go_gc_duration_seconds_count 0
# HELP go_goroutines Number of goroutines that currently exist.
# TYPE go_goroutines gauge
go_goroutines 9[…]# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
# TYPE process_cpu_seconds_total counter
process_cpu_seconds_total 0.05
# HELP process_max_fds Maximum number of open file descriptors.
# TYPE process_max_fds gauge
process_max_fds 1.048576e06
# HELP process_open_fds Number of open file descriptors.
# TYPE process_open_fds gauge
process_open_fds 7
# HELP process_resident_memory_bytes Resident memory size in bytes.
# TYPE process_resident_memory_bytes gauge
process_resident_memory_bytes 7.8848e06
# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
# TYPE process_start_time_seconds gauge
process_start_time_seconds 1.54115492874e09
# HELP process_virtual_memory_bytes Virtual memory size in bytes.
# TYPE process_virtual_memory_bytes gauge
process_virtual_memory_bytes 1.5609856e07Probe接口
Prometheus抓取Probe接口比较特殊利用了Prometheus的 MULTI-TARGET EXPORTER PATTERN 文档原理归纳Prometheus抓取/probe接口时会带上target和module等参数blackbox-exporter在收到请求后不会直接返回metrics指标而是利用module类型去target探活把探活结果通过metrics指标返回。
实例
我们将使用 target prometheus.io和预定义 module http_2xx。它告诉blackbox-exporter发出GET请求就像浏览器访问prometheus.io希望得到200 ok的返回一样。
curl localhost:9115/probe?targetprometheus.iomodulehttp_2xx返回的metrics
# HELP probe_dns_lookup_time_seconds Returns the time taken for probe dns lookup in seconds
# TYPE probe_dns_lookup_time_seconds gauge
probe_dns_lookup_time_seconds 0.02679421
# HELP probe_duration_seconds Returns how long the probe took to complete in seconds
# TYPE probe_duration_seconds gauge
probe_duration_seconds 0.461619124
# HELP probe_failed_due_to_regex Indicates if probe failed due to regex
# TYPE probe_failed_due_to_regex gauge
probe_failed_due_to_regex 0
# HELP probe_http_content_length Length of http content response
# TYPE probe_http_content_length gauge
probe_http_content_length -1
# HELP probe_http_duration_seconds Duration of http request by phase, summed over all redirects
# TYPE probe_http_duration_seconds gauge
probe_http_duration_seconds{phaseconnect} 0.062076202999999996
probe_http_duration_seconds{phaseprocessing} 0.23481845699999998
probe_http_duration_seconds{phaseresolve} 0.029594103
probe_http_duration_seconds{phasetls} 0.163420078
probe_http_duration_seconds{phasetransfer} 0.002243199
# HELP probe_http_redirects The number of redirects
# TYPE probe_http_redirects gauge
probe_http_redirects 1
# HELP probe_http_ssl Indicates if SSL was used for the final redirect
# TYPE probe_http_ssl gauge
probe_http_ssl 1
# HELP probe_http_status_code Response HTTP status code
# TYPE probe_http_status_code gauge
probe_http_status_code 200
# HELP probe_http_uncompressed_body_length Length of uncompressed response body
# TYPE probe_http_uncompressed_body_length gauge
probe_http_uncompressed_body_length 14516
# HELP probe_http_version Returns the version of HTTP of the probe response
# TYPE probe_http_version gauge
probe_http_version 1.1
# HELP probe_ip_protocol Specifies whether probe ip protocol is IP4 or IP6
# TYPE probe_ip_protocol gauge
probe_ip_protocol 4
# HELP probe_ssl_earliest_cert_expiry Returns earliest SSL cert expiry in unixtime
# TYPE probe_ssl_earliest_cert_expiry gauge
probe_ssl_earliest_cert_expiry 1.581897599e09
# HELP probe_success Displays whether or not the probe was a success
# TYPE probe_success gauge
probe_success 1
# HELP probe_tls_version_info Contains the TLS version used
# TYPE probe_tls_version_info gauge
probe_tls_version_info{versionTLS 1.3} 1module
module配置说明文档 module配置示例文档 blackbox-exporter的默认请求是IPV6docker网络默认采用IPV4这里需要注意。
web界面
blackbox-exporter在9115端口提供了一个web界面来检查最后几个探测加载的配置和调试信息。
Prometheus
增加Prometheus的配置告诉blackbox-exporter应该去哪些目标通过什么方式探活。下面有两种方式增加blackbox-exporter的探活目标
配置文件方式
修改prometheus.yaml
global:scrape_interval: 5sscrape_configs:
- job_name: blackbox # To get metrics about the exporter itselfmetrics_path: /metricsstatic_configs:- targets:- localhost:9115 # For Windows and macOS replace with - host.docker.internal:9115- job_name: blackbox-http # To get metrics about the exporter’s targetsmetrics_path: /probeparams:module: [http_2xx]static_configs:- targets:- http://prometheus.io # Target to probe with http- https://prometheus.io # Target to probe with https- http://example.com:8080 # Target to probe with http on port 8080relabel_configs:- source_labels: [__address__]target_label: __param_target- source_labels: [__param_target]target_label: instance- target_label: __address__replacement: localhost:9115 # The blackbox exporter’s real hostname:port. For Windows and macOS replace with - host.docker.internal:9115其中最后的relabel_configs的含义是把 “http://prometheus.io/probe?modulehttp_2xx” 转化为 “http://localhost:9115/probe?targethttp://prometheus.iomodulehttp_2xx”。同时为每个指标新增一个instance的label值为 http://prometheus.io
Probe方式
利用Probe这种CRD完成探测目标的添加。 具体参考Probe撰写规范