|NO.Z.00330|——————————|CloudNative|——|KuberNetes&运维.V48|——|黑盒监控.v03|blackbox.v03|Prometheusadditional传统配置|

一、黑盒监控blackbox_exporter
### --- 概述说明

~~~     # 使用blackbox-exporter来监控一些传统的网页
~~~     https://github.com/prometheus/blackbox_exporter
~~~     https://github.com/prometheus/blackbox_exporter/blob/master/blackbox.yml
~~~     https://grafana.com/grafana/dashboards/5345
### --- blackbox-exporter监控:使用环境

~~~     # 下列环境为k8s内部做了监控
~~~     若是公司的机房或者设备遍布很多地方,
~~~     每个区域都可以搭建一个blackbox:二进制文件可以直接启用
~~~     启用之后,就可以直接使用Prometheus去调用目标区域的blackbox-exporter;
~~~     就可以做到多区域的服务监控

一、打开Prometheus的additional configuration配置
### --- 使用additional生成secrets文件
~~~     创建additional:prometheus-additional.yaml文件

[root@k8s-master01 additional]#  vim prometheus-additional.yaml
- job_name: 'blackbox'
  metrics_path: /probe
  params:
    module: [http_2xx]  # Look for a HTTP 200 response.
  static_configs:
    - targets:
      - http://prometheus.io    # Target to probe with http.
      - https://prometheus.io   # Target to probe with https.
      - http://www.baidu.com    # Target to probe with http on port 8080.
  relabel_configs:
    - source_labels: [__address__]
      target_label: __param_target
    - source_labels: [__param_target]
      target_label: instance
    - target_label: __address__
      replacement: blackbox-exporter:9115  # The blackbox exporter's real hostname:port.
### --- 注:
~~~     因为是在同一个namespace,所以写成这个地址即可

~~~     # 注释一:      replacement: 127.0.0.1:9115  // 这个是黑盒监控的地址
[root@k8s-master01 blackbox]# kubectl get svc -n monitoring -l app=blackbox-exporter
NAME                TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)    AGE
blackbox-exporter   ClusterIP   10.105.13.82   <none>        9115/TCP   57m
~~~     # 注释二:
  relabel_configs:                           // 相当于把一些label重新赋值
~~~     # 注释三:
      - http://www.baidu.com                 // 这个地址定义成百度的地址
### --- 生成secrets:通过additional文件来生成

[root@k8s-master01 additional]# kubectl create secret generic additional-scrape-configs --from-file=prometheus-additional.yaml --dry-run -oyaml > additional-scrape-configs.yaml
### --- 查看生成的secrets

[root@k8s-master01 additional]# more additional-scrape-configs.yaml 
apiVersion: v1
data:
  prometheus-additional.yaml: LSBqb2JfbmFtZTogJ2JsYWNrYm94JwogIG1ldHJpY3NfcGF0aDogL3Byb2JlCiAgcGFyYW1zOgogICAgbW9kdWxlOiBbaHR0cF8yeHhdICAjIExvb2sgZm9yIGEgSFRUUCAyMDAgcmVzcG9uc2UuCiAgc3RhdGljX2
NvbmZpZ3M6CiAgICAtIHRhcmdldHM6CiAgICAgIC0gaHR0cDovL3Byb21ldGhldXMuaW8gICAgIyBUYXJnZXQgdG8gcHJvYmUgd2l0aCBodHRwLgogICAgICAtIGh0dHBzOi8vcHJvbWV0aGV1cy5pbyAgICMgVGFyZ2V0IHRvIHByb2JlIHdpdGggaHR0cH
MuCiAgICAgIC0gaHR0cDovL3d3dy5iYWlkdS5jb20gICAgIyBUYXJnZXQgdG8gcHJvYmUgd2l0aCBodHRwIG9uIHBvcnQgODA4MC4KICByZWxhYmVsX2NvbmZpZ3M6CiAgICAtIHNvdXJjZV9sYWJlbHM6IFtfX2FkZHJlc3NfX10KICAgICAgdGFyZ2V0X2
xhYmVsOiBfX3BhcmFtX3RhcmdldAogICAgLSBzb3VyY2VfbGFiZWxzOiBbX19wYXJhbV90YXJnZXRdCiAgICAgIHRhcmdldF9sYWJlbDogaW5zdGFuY2UKICAgIC0gdGFyZ2V0X2xhYmVsOiBfX2FkZHJlc3NfXwogICAgICByZXBsYWNlbWVudDogYmxhY2
tib3gtZXhwb3J0ZXI6OTExNSAgIyBUaGUgYmxhY2tib3ggZXhwb3J0ZXIncyByZWFsIGhvc3RuYW1lOnBvcnQuCg==
kind: Secret
metadata:
  creationTimestamp: null
  name: additional-scrape-configs     
二、创建secrets
### --- 创建生成的secrets

[root@k8s-master01 additional]# kubectl create -f additional-scrape-configs.yaml -n monitoring
secret/additional-scrape-configs created
### --- 查看生成的secrets

[root@k8s-master01 additional]# kubectl get secrets -n monitoring
NAME                              TYPE                                  DATA   AGE
additional-scrape-configs         Opaque                                1      16s
三、在prometheus-prometheus.yaml CRD中引用上面的值
### --- 在prometheus-prometheus.yaml添加CRD中引用的值

[root@k8s-master01 additional]# vim prometheus-prometheus.yaml
  secrets:
  - etcd-certs                              // 此行下面添加如下参数
  additionalScrapeConfigs:                  // 添加这3行内容
    name: additional-scrape-configs
    key: prometheus-additional.yaml
### --- 重新replace一下Prometheus的参数
~~~     重新触发一下容器

[root@k8s-master01 additional]# kubectl replace -f prometheus-prometheus.yaml -n monitoring
prometheus.monitoring.coreos.com/k8s replaced
[root@k8s-master01 additional]# kubectl delete po prometheus-k8s-0 -n monitoring
pod "prometheus-k8s-0" deleted   
### --- 查看日志

[root@k8s-master01 additional]# kubectl logs -f prometheus-k8s-0  -n monitoring prometheus-config-reloader
ts=2021-05-28T07:57:52.311897749Z caller=main.go:85 msg="Starting prometheus-config-reloader version '0.38.1'."
level=error ts=2021-05-28T07:57:52.725405628Z caller=runutil.go:98 msg="function failed. Retrying in next tick" err="trigger reload: reload request failed: Post http://localhost:9090/-/reload: dial tcp 127.0.0.1:9090: connect: connection refused"
### --- 查看容器是否重新启动
~~~     容器启动之后,查看Prometheus的additional configuration配置是否加载上来

[root@k8s-master01 additional]# kubectl get po -n monitoring -owide
NAME                                   READY   STATUS    RESTARTS   AGE     IP               NODE           NOMINATED NODE   READINESS GATES
prometheus-k8s-0                       3/3     Running   2          106s    172.27.14.229    k8s-node02     <none>           <none>
四、查看Prometheus的additional configuration的配置是否加载上来
### --- 查看Prometheus的additional configuration的配置是否加载上来

~~~     ——>http://prom.test.com——>  Status:configration——>ctrl+F——>可以查看到这个配置已经加载上

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(254)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示