{"id":43161,"date":"2023-02-01T01:49:22","date_gmt":"2023-05-01T14:19:57","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8%e6%b0%b8%e8%bf%9c%e7%9b%b8%e5%90%8c%e7%89%88%e6%9c%ac%e7%9a%84prometheus%e7%9a%84%e6%96%b9%e6%b3%95%ef%bc%88%e4%b8%8d%e6%83%b3%e6%94%b9%e5%8f%98%e5%9b%be%e5%83%8f%e7%89%88%e6%9c%ac\/"},"modified":"2024-04-29T12:29:50","modified_gmt":"2024-04-29T04:29:50","slug":"%e4%bd%bf%e7%94%a8%e6%b0%b8%e8%bf%9c%e7%9b%b8%e5%90%8c%e7%89%88%e6%9c%ac%e7%9a%84prometheus%e7%9a%84%e6%96%b9%e6%b3%95%ef%bc%88%e4%b8%8d%e6%83%b3%e6%94%b9%e5%8f%98%e5%9b%be%e5%83%8f%e7%89%88%e6%9c%ac","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8%e6%b0%b8%e8%bf%9c%e7%9b%b8%e5%90%8c%e7%89%88%e6%9c%ac%e7%9a%84prometheus%e7%9a%84%e6%96%b9%e6%b3%95%ef%bc%88%e4%b8%8d%e6%83%b3%e6%94%b9%e5%8f%98%e5%9b%be%e5%83%8f%e7%89%88%e6%9c%ac\/","title":{"rendered":"\u4f7f\u7528\u6c38\u8fdc\u76f8\u540c\u7248\u672c\u7684Prometheus\u7684\u65b9\u6cd5\uff08\u4e0d\u60f3\u6539\u53d8\u56fe\u50cf\u7248\u672c\uff09"},"content":{"rendered":"<h1>\u9996\u5148<\/h1>\n<p>\u6211\u60f3\u5728\u4e0b\u5217\u6761\u4ef6\u4e0b\u542f\u52a8Prometheus\u3002<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u5e38\u306b\u540c\u3058\u7248\u6570\u306eprometheus,node-exporter\u30a4\u30e1\u30fc\u30b8\u3092\u4f7f\u3044\u305f\u3044\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u305d\u306e\u30a4\u30e1\u30fc\u30b8\u3092\u5236\u5fa1\u306e\u52b9\u304f\u7d44\u7e54\u5185\u306e\u30b5\u30fc\u30d0\u306b\u4fdd\u5b58\u3059\u308b\u3002\uff08\u4fdd\u5b58\u3057\u305f\u30a4\u30e1\u30fc\u30b8\u3092\u52dd\u624b\u306b\u524a\u9664\u3055\u308c\u308b\u3053\u3068\u304c\u306a\u3044\uff09<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u305f\u3060\u3057\u3001\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u306aDocker\u30ec\u30b8\u30b9\u30c8\u30ea\u306f\u4f7f\u308f\u306a\u3044\u3002\uff08\u3068\u3044\u3046\u304b\u4f7f\u3048\u306a\u3044\uff09<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u4eee\u60f3\u30de\u30b7\u30f3\u306e\u74b0\u5883\u69cb\u7bc9\u6642\u306bPrometheus\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305f\u3044\u3002<\/ul>\n<h1>\u9a8c\u8bc1\u73af\u5883<\/h1>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u4eee\u60f3\u30de\u30b7\u30f3\u306f2\u53f0<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u4eee\u60f3\u30de\u30b7\u30f3\u540d\u306f\u3001master1,master2<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u5404\u4eee\u60f3\u30de\u30b7\u30f3\u306eOS\u306fCentOS7.2<\/ul>\n<pre class=\"post-pre\"><code>   +---- master1 ----+      +---- master2 ----+\r\n   |   (CentOS7.2)   |      |   (CentOS7.2)   |\r\n   |                 |      |                 |\r\n   |  prometheus     |      |                 |\r\n   |  node-exporter  |      |  node-exporter  |\r\n   |                 |      |                 |\r\n   +----- eth0 ------+      +----- eth0 ------+\r\n           |                         |\r\n   +------------------------------------------+\r\n   |              VMWare Workstation          |\r\n   +------------------------------------------+\r\n\r\n<\/code><\/pre>\n<h1>\u4e3a\u4e86\u8fdb\u884c\u9a8c\u8bc1\u6240\u505a\u7684\u51c6\u5907\u5de5\u4f5c<\/h1>\n<pre class=\"post-pre\"><code>\u691c\u8a3c\u3067\u4f7f\u3046\u30a4\u30e1\u30fc\u30b8\u3092\u3042\u3089\u304b\u3058\u3081\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b\u3002master1\u3060\u3051\u3067\u3088\u3044\u3002\r\n[root@master1 prometheus]# docker pull quay.io\/coreos\/prometheus:0.19.2\r\n[root@master1 prometheus]# docker pull docker.io\/prom\/node-exporter\r\n\r\ndocker\u30a4\u30e1\u30fc\u30b8\u3092\u78ba\u8a8d\u3059\u308b\u3002\r\n[root@master1 prometheus]# docker images |grep prom\r\ndocker.io\/prom\/node-exporter       latest        7faa2f21a307        8 weeks ago         14.56 MB\r\nquay.io\/coreos\/prometheus          0.19.2        1adebd6630d9        7 months ago        43.17 MB\r\n\r\ndocker\u30a4\u30e1\u30fc\u30b8\u3092tar\u30d5\u30a1\u30a4\u30eb\u306b\u5909\u63db\u3059\u308b\u3002\r\n[root@master1 ansible]# docker save quay.io\/coreos\/prometheus:0.19.2 &gt; prometheus.tar\r\n[root@master1 ansible]# ls prometheus.tar\r\nprometheus.tar\r\n\r\ndocker\u30a4\u30e1\u30fc\u30b8\u3092tar\u30d5\u30a1\u30a4\u30eb\u306b\u5909\u63db\u3059\u308b\u3002\r\n[root@master1 ansible]# docker save docker.io\/prom\/node-exporter &gt; node-exporter.tar\r\n[root@master1 ansible]# ls node-exporter.tar\r\nnode-exporter.tar\r\n\r\ntar\u30d5\u30a1\u30a4\u30eb\u306b\u5909\u63db\u3057\u305f\u3042\u3068\u3001\u30a4\u30e1\u30fc\u30b8\u3092\u524a\u9664\u3059\u308b\u3002\uff08\u30c6\u30b9\u30c8\u306e\u305f\u3081\uff09\r\n\u3053\u306e\u6642\u70b9\u3067\u3001master1\u3067prometheus\u3068node-exporter\u30a4\u30e1\u30fc\u30b8\u306f\u5b58\u5728\u3057\u306a\u3044\u3053\u3068\u306b\u306a\u308b\u3002\r\n[root@master1 prometheus]# docker rmi quay.io\/coreos\/prometheus:0.19.2\r\n[root@master1 prometheus]# docker rmi docker.io\/prom\/node-exporter\r\n[root@master1 prometheus]# docker images |grep prom\r\n[root@master1 prometheus]#\r\n\r\n\u30d5\u30a1\u30a4\u30eb\u3092\u78ba\u8a8d\u3059\u308b\u3002\u4f5c\u6210\u3057\u305ftar\u30d5\u30a1\u30a4\u30eb\u304c\u78ba\u8a8d\u3067\u304d\u308b\u3002yaml\u30d5\u30a1\u30a4\u30eb\u306e\u4e2d\u8eab\u306f\u3001\u3042\u3068\u306b\u8a18\u8f09\u3002\r\n[root@master1 prometheus]# ls\r\nnode-exporter.tar  node-exporter.yaml  prometheus-configmap-1.yaml  prometheus-deployment.yaml  prometheus.tar\r\n[root@master1 prometheus]#\r\n\r\n<\/code><\/pre>\n<h1>\u521b\u5efa4\u4e2a\u7b56\u7565\u4e66<\/h1>\n<p>\u4e3a\u4e86\u7b80\u5316\u64cd\u4f5c\uff0cplaybook\u7684\u5185\u5bb9\u662f\u4f7f\u7528master1\u4e0a\u7684tar\u6587\u4ef6\uff0c\u800c\u4e0d\u662f\u4ece\u670d\u52a1\u5668\u4e0a\u4e0b\u8f7dtar\u6587\u4ef6\u3002<\/p>\n<pre class=\"post-pre\"><code>\u30a4\u30f3\u30d9\u30f3\u30c8\u30ea\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3059\u308b\u3002\r\n[root@master1 ansible]# vi hosts\r\n[root@master1 ansible]# cat hosts\r\n[master]\r\nmaster1\r\nmaster2\r\n\r\nplaybook\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3059\u308b\u3002\r\n[root@master1 ansible]# vi test.yml\r\n[root@master1 ansible]# cat test.yml\r\n- hosts: master1\r\n  tasks:\r\n    - name: copying prometheus.tar\r\n      copy: src=\/root\/prometheus\/prometheus.tar dest=\/tmp\/\r\n    - name: copying node-exporter.tar\r\n      copy: src=\/root\/prometheus\/node-exporter.tar dest=\/tmp\/\r\n    - name: unarchiving prometheus.tar\r\n      shell: docker load -i \/tmp\/prometheus.tar\r\n    - name: unarchiving node-exporter.tar\r\n      shell: docker load -i \/tmp\/node-exporter.tar\r\n    - name: removing files\r\n      file: path=\/tmp\/prometheus.tar state=absent\r\n    - name: removing files\r\n      file: path=\/tmp\/node-exporter.tar state=absent\r\n- hosts: master2\r\n  tasks:\r\n    - name: copying node-exporter.tar\r\n      copy: src=\/root\/prometheus\/node-exporter.tar dest=\/tmp\/\r\n    - name: unarchiving node-exporter.tar\r\n      shell: docker load -i \/tmp\/node-exporter.tar\r\n    - name: removing files\r\n      file: path=\/tmp\/node-exporter.tar state=absent\r\n- hosts: master1\r\n  tasks:\r\n    - name: copying\r\n      copy: src=\/root\/prometheus\/node-exporter.yaml dest=\/tmp\/\r\n    - name: copying\r\n      copy: src=\/root\/prometheus\/prometheus-configmap-1.yaml dest=\/tmp\/\r\n    - name: copying\r\n      copy: src=\/root\/prometheus\/prometheus-deployment.yaml dest=\/tmp\/\r\n    - name:\r\n      shell: kubectl create -f \/tmp\/prometheus-configmap-1.yaml\r\n    - name:\r\n      shell: kubectl create -f \/tmp\/prometheus-deployment.yaml\r\n    - name:\r\n      shell: kubectl create -f \/tmp\/node-exporter.yaml\r\n    - name: removing files\r\n      file: path=\/tmp\/node-exporter.yaml state=absent\r\n    - name: removing files\r\n      file: path=\/tmp\/prometheus-configmap-1.yaml state=absent\r\n    - name: removing files\r\n      file: path=\/tmp\/prometheus-deployment.yaml state=absent\r\n[root@master1 ansible]#\r\n\r\n\u4f5c\u6210\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u78ba\u8a8d\u3059\u308b\u3002\r\n[root@master1 ansible]# ls\r\nhosts  test.yml\r\n\r\n<\/code><\/pre>\n<h1>\u6267\u884c5\u4e2aplaybook<\/h1>\n<pre class=\"post-pre\"><code>playbook\u3092\u5b9f\u884c\u3059\u308b\u3002\r\n[root@master1 ansible]# ansible-playbook -i hosts test.yml\r\n\r\nPLAY [master1] *****************************************************************\r\n\r\nTASK [setup] *******************************************************************\r\nok: [master1]\r\n\r\nTASK [copying prometheus.tar] **************************************************\r\nchanged: [master1]\r\n\r\nTASK [copying node-exporter.tar] ***********************************************\r\nchanged: [master1]\r\n\r\nTASK [unarchiving prometheus.tar] **********************************************\r\nchanged: [master1]\r\n\r\nTASK [unarchiving node-exporter.tar] *******************************************\r\nchanged: [master1]\r\n\r\nTASK [removing files] **********************************************************\r\nchanged: [master1]\r\n\r\nTASK [removing files] **********************************************************\r\nchanged: [master1]\r\n\r\nPLAY [master2] *****************************************************************\r\n\r\nTASK [setup] *******************************************************************\r\nok: [master2]\r\n\r\nTASK [copying node-exporter.tar] ***********************************************\r\nchanged: [master2]\r\n\r\nTASK [unarchiving node-exporter.tar] *******************************************\r\nchanged: [master2]\r\n\r\nTASK [removing files] **********************************************************\r\nchanged: [master2]\r\n\r\nPLAY [master1] *****************************************************************\r\n\r\nTASK [setup] *******************************************************************\r\nok: [master1]\r\n\r\nTASK [copying] *****************************************************************\r\nchanged: [master1]\r\n\r\nTASK [copying] *****************************************************************\r\nchanged: [master1]\r\n\r\nTASK [copying] *****************************************************************\r\nchanged: [master1]\r\n\r\nTASK [command] *****************************************************************\r\nchanged: [master1]\r\n\r\nTASK [command] *****************************************************************\r\nchanged: [master1]\r\n\r\nTASK [command] *****************************************************************\r\nchanged: [master1]\r\n\r\nTASK [removing files] **********************************************************\r\nchanged: [master1]\r\n\r\nTASK [removing files] **********************************************************\r\nchanged: [master1]\r\n\r\nTASK [removing files] **********************************************************\r\nchanged: [master1]\r\n\r\nPLAY RECAP *********************************************************************\r\nmaster1                    : ok=17   changed=15   unreachable=0    failed=0\r\nmaster2                    : ok=4    changed=3    unreachable=0    failed=0\r\n\r\n[root@master1 ansible]#\r\n\r\n<\/code><\/pre>\n<h1>\u786e\u8ba4\u6267\u884c6\u4e2aplaybook\u7684\u7ed3\u679c\u3002<\/h1>\n<pre class=\"post-pre\"><code>Pod\u306e\u72b6\u614b\u3092\u78ba\u8a8d\u3059\u308b\u3002prometheus,node-exporter\u304c\u8d77\u52d5\u3067\u304d\u305f\u3053\u3068\u304c\u308f\u304b\u308b\u3002\r\n[root@master1 ansible]# kubectl get pod -o wide\r\nNAME                          READY     STATUS    RESTARTS   AGE       NODE\r\nnode-exporter-qfsp3           1\/1       Running   0          1m        master1\r\nnode-exporter-xe044           1\/1       Running   0          1m        master2\r\nprometheus-1402422302-nicfk   1\/1       Running   0          1m        master1\r\n[root@master1 ansible]#\r\n\r\nmaster1\u3067\u30a4\u30e1\u30fc\u30b8\u3092\u78ba\u8a8d\u3059\u308b\u3002ansible-playbook\u5b9f\u884c\u306b\u3088\u308a\u3001\u30a4\u30e1\u30fc\u30b8\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u304c\u308f\u304b\u308b\u3002\r\n[root@master1 ansible]# docker images |grep prom\r\ndocker.io\/prom\/node-exporter                          latest               7faa2f21a307        8 weeks ago         14.56 MB\r\nquay.io\/coreos\/prometheus                             0.19.2               1adebd6630d9        7 months ago        43.17 MB\r\n[root@master1 ansible]#\r\n\r\nmaster2\u3067\u30a4\u30e1\u30fc\u30b8\u3092\u78ba\u8a8d\u3059\u308b\u3002ansible-playbook\u5b9f\u884c\u306b\u3088\u308a\u3001\u30a4\u30e1\u30fc\u30b8\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u304c\u308f\u304b\u308b\u3002\r\n[root@master2 ~]# docker images |grep prom\r\ndocker.io\/prom\/node-exporter                          latest               7faa2f21a307        8 weeks ago         14.56 MB\r\n[root@master2 ~]#\r\n\r\n<\/code><\/pre>\n<h1>\u8bbf\u95eePrometheus\u3002<\/h1>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d510d37434c4406cc883a\/17-0.png\" alt=\"prometeus.png\" \/><\/div>\n<h1>\u7528\u4e8e\u9a8c\u8bc1\u7684yaml\u6587\u4ef6<\/h1>\n<p>\u603b\u5171\u67093\u4e2a\u3002<\/p>\n<pre class=\"post-pre\"><code>--------------------------\r\n1. node-exporter.yaml\r\n--------------------------\r\n[root@master1 prometheus]# cat node-exporter.yaml\r\napiVersion: v1\r\nkind: Service\r\nmetadata:\r\n  annotations:\r\n    prometheus.io\/scrape: 'true'\r\n  labels:\r\n    app: node-exporter\r\n    name: node-exporter\r\n  name: node-exporter\r\nspec:\r\n  clusterIP: None\r\n  ports:\r\n  - name: scrape\r\n    port: 9100\r\n    protocol: TCP\r\n  selector:\r\n    app: node-exporter\r\n  type: ClusterIP\r\n----\r\napiVersion: extensions\/v1beta1\r\nkind: DaemonSet\r\nmetadata:\r\n  name: node-exporter\r\nspec:\r\n  template:\r\n    metadata:\r\n      labels:\r\n        app: node-exporter\r\n      name: node-exporter\r\n    spec:\r\n      containers:\r\n      - image: prom\/node-exporter\r\n        name: node-exporter\r\n        ports:\r\n        - containerPort: 9100\r\n          hostPort: 9100\r\n          name: scrape\r\n      hostNetwork: true\r\n      hostPID: true\r\n\r\n--------------------------------\r\n2. prometheus-configmap-1.yaml\r\n--------------------------------\r\n[root@master1 prometheus]# cat prometheus-configmap-1.yaml\r\napiVersion: v1\r\nkind: ConfigMap\r\nmetadata:\r\n  name: prometheus\r\ndata:\r\n  prometheus.yml: |-\r\n    global:\r\n      scrape_interval: 15s\r\n    scrape_configs:\r\n    # etcd is living outside of our cluster and we configure\r\n    # it directly.\r\n    - job_name: 'etcd'\r\n      target_groups:\r\n      - targets:\r\n        - 192.168.0.10:2379      # mod (172.17.4.51:2379 =&gt; 192.168.0.10:2379)\r\n\r\n    - job_name: 'node_exporter'  # new add\r\n      target_groups:             # new add\r\n      - targets:                 # new add\r\n        - 192.168.0.10:9100      # master1=192.168.0.10\r\n        - 192.168.0.20:9100      # master2=192.168.0.20\r\n\r\n    - job_name: 'kubernetes_components'\r\n      kubernetes_sd_configs:\r\n      - api_servers:\r\n        - 'https:\/\/kubernetes'\r\n        in_cluster: true\r\n        # This configures Prometheus to identify itself when scraping\r\n        # metrics from Kubernetes cluster components.\r\n      tls_config:\r\n        ca_file: \/var\/run\/secrets\/kubernetes.io\/serviceaccount\/ca.crt\r\n      bearer_token_file: \/var\/run\/secrets\/kubernetes.io\/serviceaccount\/token\r\n      # Prometheus provides meta labels for each monitoring targets. We use\r\n      # these to select targets we want to monitor and to modify labels attached\r\n      # to scraped metrics.\r\n      relabel_configs:\r\n      # Only scrape apiserver and kubelets.\r\n      - source_labels: [__meta_kubernetes_role]\r\n        action: keep\r\n        regex: (?:apiserver|node)\r\n      # Redefine the Prometheus job based on the monitored Kubernetes component.\r\n      - source_labels: [__meta_kubernetes_role]\r\n        target_label: job\r\n        replacement: kubernetes_$1\r\n      # Attach all node labels to the metrics scraped from the components running\r\n      # on that node.\r\n      - action: labelmap\r\n        regex: __meta_kubernetes_node_label_(.+)\r\n[root@master1 prometheus]#\r\n\r\n--------------------------------\r\n3. prometheus-deployment.yaml\r\n--------------------------------\r\n[root@master1 prometheus]# cat prometheus-deployment.yaml\r\napiVersion: v1\r\nkind: Service\r\nmetadata:\r\n  annotations:\r\n    prometheus.io\/scrape: 'true'\r\n  labels:\r\n    name: prometheus\r\n  name: prometheus\r\nspec:\r\n  selector:\r\n    app: prometheus\r\n  type: NodePort\r\n  ports:\r\n  - name: prometheus\r\n    protocol: TCP\r\n    port: 9090\r\n    nodePort: 30900\r\n----\r\napiVersion: extensions\/v1beta1\r\nkind: Deployment\r\nmetadata:\r\n  name: prometheus\r\nspec:\r\n  replicas: 1\r\n  selector:\r\n    matchLabels:\r\n      app: prometheus\r\n  template:\r\n    metadata:\r\n      name: prometheus\r\n      labels:\r\n        app: prometheus\r\n    spec:\r\n      containers:\r\n      - name: prometheus\r\n        image: quay.io\/coreos\/prometheus:0.19.2\r\n        args:\r\n          - '-storage.local.retention=6h'\r\n          - '-storage.local.memory-chunks=500000'\r\n          - '-config.file=\/etc\/prometheus\/prometheus.yml'\r\n        ports:\r\n        - name: web\r\n          containerPort: 9090\r\n        volumeMounts:\r\n        - name: config-volume\r\n          mountPath: \/etc\/prometheus\r\n      nodeSelector:                      # new add\r\n        kubernetes.io\/hostname: master1  # new add\r\n      volumes:\r\n      - name: config-volume\r\n        configMap:\r\n          name: prometheus\r\n[root@master1 prometheus]#\r\n\r\n<\/code><\/pre>\n<h1>\u542f\u52a89 SkyDNS\u6240\u9700\u7684\u955c\u50cf\u3002<\/h1>\n<pre class=\"post-pre\"><code>gcr.io\/google_containers\/exechealthz   1.0                  82a141f5d06d        10 months ago       7.116 MB\r\ngcr.io\/google_containers\/kube2sky      1.14                 a4892326f8cf        10 months ago       27.8 MB\r\ngcr.io\/google_containers\/etcd-amd64    2.2.1                3ae398308ded        12 months ago       28.19 MB\r\ngcr.io\/google_containers\/skydns        2015-10-13-8c72f8c   718809956625        15 months ago       40.55 MB\r\ngcr.io\/google_containers\/pause         2.0                  2b58359142b0        15 months ago       350.2 kB\r\n\r\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u9996\u5148 \u6211\u60f3\u5728\u4e0b\u5217\u6761\u4ef6\u4e0b\u542f\u52a8Prometheus\u3002 \u5e38\u306b\u540c\u3058\u7248\u6570\u306eprometheus,node-exporte [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-43161","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u4f7f\u7528\u6c38\u8fdc\u76f8\u540c\u7248\u672c\u7684Prometheus\u7684\u65b9\u6cd5\uff08\u4e0d\u60f3\u6539\u53d8\u56fe\u50cf\u7248\u672c\uff09 - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u4f7f\u7528\u6c38\u8fdc\u76f8\u540c\u7248\u672c\u7684prometheus\u7684\u65b9\u6cd5\uff08\u4e0d\u60f3\u6539\u53d8\u56fe\u50cf\u7248\u672c\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u4f7f\u7528\u6c38\u8fdc\u76f8\u540c\u7248\u672c\u7684Prometheus\u7684\u65b9\u6cd5\uff08\u4e0d\u60f3\u6539\u53d8\u56fe\u50cf\u7248\u672c\uff09\" \/>\n<meta property=\"og:description\" content=\"\u9996\u5148 \u6211\u60f3\u5728\u4e0b\u5217\u6761\u4ef6\u4e0b\u542f\u52a8Prometheus\u3002 \u5e38\u306b\u540c\u3058\u7248\u6570\u306eprometheus,node-exporte [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u4f7f\u7528\u6c38\u8fdc\u76f8\u540c\u7248\u672c\u7684prometheus\u7684\u65b9\u6cd5\uff08\u4e0d\u60f3\u6539\u53d8\u56fe\u50cf\u7248\u672c\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-01T14:19:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-29T04:29:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d510d37434c4406cc883a\/17-0.png\" \/>\n<meta name=\"author\" content=\"\u5b87, \u534e\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u5b87, \u534e\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8%e6%b0%b8%e8%bf%9c%e7%9b%b8%e5%90%8c%e7%89%88%e6%9c%ac%e7%9a%84prometheus%e7%9a%84%e6%96%b9%e6%b3%95%ef%bc%88%e4%b8%8d%e6%83%b3%e6%94%b9%e5%8f%98%e5%9b%be%e5%83%8f%e7%89%88%e6%9c%ac\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8%e6%b0%b8%e8%bf%9c%e7%9b%b8%e5%90%8c%e7%89%88%e6%9c%ac%e7%9a%84prometheus%e7%9a%84%e6%96%b9%e6%b3%95%ef%bc%88%e4%b8%8d%e6%83%b3%e6%94%b9%e5%8f%98%e5%9b%be%e5%83%8f%e7%89%88%e6%9c%ac\/\",\"name\":\"\u4f7f\u7528\u6c38\u8fdc\u76f8\u540c\u7248\u672c\u7684Prometheus\u7684\u65b9\u6cd5\uff08\u4e0d\u60f3\u6539\u53d8\u56fe\u50cf\u7248\u672c\uff09 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-05-01T14:19:57+00:00\",\"dateModified\":\"2024-04-29T04:29:50+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8%e6%b0%b8%e8%bf%9c%e7%9b%b8%e5%90%8c%e7%89%88%e6%9c%ac%e7%9a%84prometheus%e7%9a%84%e6%96%b9%e6%b3%95%ef%bc%88%e4%b8%8d%e6%83%b3%e6%94%b9%e5%8f%98%e5%9b%be%e5%83%8f%e7%89%88%e6%9c%ac\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8%e6%b0%b8%e8%bf%9c%e7%9b%b8%e5%90%8c%e7%89%88%e6%9c%ac%e7%9a%84prometheus%e7%9a%84%e6%96%b9%e6%b3%95%ef%bc%88%e4%b8%8d%e6%83%b3%e6%94%b9%e5%8f%98%e5%9b%be%e5%83%8f%e7%89%88%e6%9c%ac\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8%e6%b0%b8%e8%bf%9c%e7%9b%b8%e5%90%8c%e7%89%88%e6%9c%ac%e7%9a%84prometheus%e7%9a%84%e6%96%b9%e6%b3%95%ef%bc%88%e4%b8%8d%e6%83%b3%e6%94%b9%e5%8f%98%e5%9b%be%e5%83%8f%e7%89%88%e6%9c%ac\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u4f7f\u7528\u6c38\u8fdc\u76f8\u540c\u7248\u672c\u7684Prometheus\u7684\u65b9\u6cd5\uff08\u4e0d\u60f3\u6539\u53d8\u56fe\u50cf\u7248\u672c\uff09\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458\",\"name\":\"\u5b87, \u534e\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g\",\"caption\":\"\u5b87, \u534e\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yuhua\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8%e6%b0%b8%e8%bf%9c%e7%9b%b8%e5%90%8c%e7%89%88%e6%9c%ac%e7%9a%84prometheus%e7%9a%84%e6%96%b9%e6%b3%95%ef%bc%88%e4%b8%8d%e6%83%b3%e6%94%b9%e5%8f%98%e5%9b%be%e5%83%8f%e7%89%88%e6%9c%ac\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u4f7f\u7528\u6c38\u8fdc\u76f8\u540c\u7248\u672c\u7684Prometheus\u7684\u65b9\u6cd5\uff08\u4e0d\u60f3\u6539\u53d8\u56fe\u50cf\u7248\u672c\uff09 - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u4f7f\u7528\u6c38\u8fdc\u76f8\u540c\u7248\u672c\u7684prometheus\u7684\u65b9\u6cd5\uff08\u4e0d\u60f3\u6539\u53d8\u56fe\u50cf\u7248\u672c\/","og_locale":"zh_CN","og_type":"article","og_title":"\u4f7f\u7528\u6c38\u8fdc\u76f8\u540c\u7248\u672c\u7684Prometheus\u7684\u65b9\u6cd5\uff08\u4e0d\u60f3\u6539\u53d8\u56fe\u50cf\u7248\u672c\uff09","og_description":"\u9996\u5148 \u6211\u60f3\u5728\u4e0b\u5217\u6761\u4ef6\u4e0b\u542f\u52a8Prometheus\u3002 \u5e38\u306b\u540c\u3058\u7248\u6570\u306eprometheus,node-exporte [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u4f7f\u7528\u6c38\u8fdc\u76f8\u540c\u7248\u672c\u7684prometheus\u7684\u65b9\u6cd5\uff08\u4e0d\u60f3\u6539\u53d8\u56fe\u50cf\u7248\u672c\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-05-01T14:19:57+00:00","article_modified_time":"2024-04-29T04:29:50+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d510d37434c4406cc883a\/17-0.png"}],"author":"\u5b87, \u534e","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u5b87, \u534e","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"6 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8%e6%b0%b8%e8%bf%9c%e7%9b%b8%e5%90%8c%e7%89%88%e6%9c%ac%e7%9a%84prometheus%e7%9a%84%e6%96%b9%e6%b3%95%ef%bc%88%e4%b8%8d%e6%83%b3%e6%94%b9%e5%8f%98%e5%9b%be%e5%83%8f%e7%89%88%e6%9c%ac\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8%e6%b0%b8%e8%bf%9c%e7%9b%b8%e5%90%8c%e7%89%88%e6%9c%ac%e7%9a%84prometheus%e7%9a%84%e6%96%b9%e6%b3%95%ef%bc%88%e4%b8%8d%e6%83%b3%e6%94%b9%e5%8f%98%e5%9b%be%e5%83%8f%e7%89%88%e6%9c%ac\/","name":"\u4f7f\u7528\u6c38\u8fdc\u76f8\u540c\u7248\u672c\u7684Prometheus\u7684\u65b9\u6cd5\uff08\u4e0d\u60f3\u6539\u53d8\u56fe\u50cf\u7248\u672c\uff09 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-05-01T14:19:57+00:00","dateModified":"2024-04-29T04:29:50+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8%e6%b0%b8%e8%bf%9c%e7%9b%b8%e5%90%8c%e7%89%88%e6%9c%ac%e7%9a%84prometheus%e7%9a%84%e6%96%b9%e6%b3%95%ef%bc%88%e4%b8%8d%e6%83%b3%e6%94%b9%e5%8f%98%e5%9b%be%e5%83%8f%e7%89%88%e6%9c%ac\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8%e6%b0%b8%e8%bf%9c%e7%9b%b8%e5%90%8c%e7%89%88%e6%9c%ac%e7%9a%84prometheus%e7%9a%84%e6%96%b9%e6%b3%95%ef%bc%88%e4%b8%8d%e6%83%b3%e6%94%b9%e5%8f%98%e5%9b%be%e5%83%8f%e7%89%88%e6%9c%ac\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8%e6%b0%b8%e8%bf%9c%e7%9b%b8%e5%90%8c%e7%89%88%e6%9c%ac%e7%9a%84prometheus%e7%9a%84%e6%96%b9%e6%b3%95%ef%bc%88%e4%b8%8d%e6%83%b3%e6%94%b9%e5%8f%98%e5%9b%be%e5%83%8f%e7%89%88%e6%9c%ac\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u4f7f\u7528\u6c38\u8fdc\u76f8\u540c\u7248\u672c\u7684Prometheus\u7684\u65b9\u6cd5\uff08\u4e0d\u60f3\u6539\u53d8\u56fe\u50cf\u7248\u672c\uff09"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458","name":"\u5b87, \u534e","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g","caption":"\u5b87, \u534e"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yuhua\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e4%bd%bf%e7%94%a8%e6%b0%b8%e8%bf%9c%e7%9b%b8%e5%90%8c%e7%89%88%e6%9c%ac%e7%9a%84prometheus%e7%9a%84%e6%96%b9%e6%b3%95%ef%bc%88%e4%b8%8d%e6%83%b3%e6%94%b9%e5%8f%98%e5%9b%be%e5%83%8f%e7%89%88%e6%9c%ac\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43161","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=43161"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43161\/revisions"}],"predecessor-version":[{"id":85284,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43161\/revisions\/85284"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=43161"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=43161"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=43161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}