背景:
服务器自定义安装的服务在不查看或不使用时服务挂掉不能主动知道,导致使用时要重新排查
操作:
1,部署Prometheus
Prometheus服务已经安装完成,本文不做赘述
2,安装 blackbox exporter 黑盒监控终端
blackbox exporter
Prometheus 下如何进行白盒监控,我们监控主机的资源用量、容器的运行状态、数据库中间件的运行数据、自动发现 Kubernetes 集群中的资源等等,这些都是支持业务和服务的基础设施,通过白盒能够了解其内部的实际运行状态,通过对监控指标的观察能够预判可能出现的问题,从而对潜在的不确定因素进行优化。而从完整的监控逻辑的角度,除了大量的应用白盒监控以外,还应该添加适当的 HTTP 探针、 等用于检测站点或者服务的可访问性,以及访问效率等。
黑盒监控相较于白盒监控最大的不同在于黑盒监控是以故障为导向当故障发生时,黑盒监控能快速发现故障,而白盒监控则侧重于主动发现或者预测潜在的问题。一个完善的监控目标是要能够从白盒的角度发现潜在问题,能够在黑盒的角度快速发现已经发生的问题。
Blackbox Exporter 是 Prometheus 社区提供的官方黑盒监控解决方案,其允许用户通过:HTTPS、TCP 以及 同样首先需要在 Kubernetes 集群中运行 modules: http_2xx: #http模块监控http协议 http: follow_redirects: true preferred_ip_protocol: ip4 valid_http_versions: - HTTP/1.1 - HTTP/2.0 prober: http timeout: 5s tcp_connect: #tcp模块监控端口连通性 prober: tcp timeout: 10s
Kuberbetes 安装 blackbox exporter
Get Repository Info
#添加 prometheus chart 源并更新
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
Install Chart
#安装
helm install prometheus-blackbox-exporter prometheus-community/prometheus-blackbox-exporter -n monitoring
#此处安装chart时 名字可以自定义
Uninstall Chart
卸载
helm uninstall prometheus-blackbox-exporter n monitoring
#此处名称修改成上一步自定义的名称
安装完成后编辑配置文件
将以下配置添加到 prometheus-server.yaml 配置文件
- job_name: 'port_status' # 自定义任务名称 metrics_path: /probe params: module: [tcp_connect] #选择tcp模块 static_configs: - targets: - 10.1.2.10:6379 #需要监控的服务器及端口,此处若资源过多可使用yaml文件统一配置 - 10.1.2.2:10620 - 10.1.2.3:10620 - 10.1.2.4:10620 - 10.1.2.7:16000 - 10.1.2.8:16000 - 10.1.2.11:8123 labels: instance: port_status group: port relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: ip - target_label: __address__ replacement: prometheus-blackbox-exporter:9115 #blackbox-exporter的真是ip+port
添加后效果
编辑告警规则
groups: #定义组 - name: portStatus ##组名 rules: #定义告警规则 - alert: probe_success #规则名称 expr: probe_success == 0 #告警表达式 for: 1m #告警间隔 labels: #定义标签 severity: critical #告警等级 annotations: #以下为注释(告警内容,可自定义编辑) summary: "{{ $labels.appname }}" description: "{{ $labels.env }} {{ $labels.hostname }} 服务 {{ $labels.appname }} 端口 无法联通, 请尽快检测" value: "{{ $value }}"
添加后效果
编辑完配置文件重启生效
grafana:
若需要dashboard可在grafana导入
grafana dashboard模板 ID 9965
导入模板
至此端口监控完成
标签:10.1,exporter,blackbox,服务器端,labels,prometheus,Prometheus,监控 From: https://www.cnblogs.com/muyi-yang/p/17702932.html