• <dd id="hdgin"><track id="hdgin"></track></dd>
  • <em id="hdgin"><tr id="hdgin"></tr></em>
  • <th id="hdgin"><track id="hdgin"><noframes id="hdgin"></noframes></track></th>
        <rp id="hdgin"><ruby id="hdgin"></ruby></rp>

        <legend id="hdgin"><noscript id="hdgin"><video id="hdgin"></video></noscript></legend>
          <dd id="hdgin"><track id="hdgin"></track></dd>
            首頁 運維干貨Prometheus完整的部署方案+實戰實例

            Prometheus完整的部署方案+實戰實例

            運維派隸屬馬哥教育旗下專業運維社區,是國內成立最早的IT運維技術社區,歡迎關注公眾號:yunweipai
            領取學習更多免費Linux云計算、Python、Docker、K8s教程關注公眾號:馬哥linux運維

            Prometheus完整的部署方案+實戰實例插圖

            Prometheus簡介是一套開源的系統監控報警框架。Prometheus作為新一代的云原生監控系統,相比傳統監控監控系統(Nagios或者Zabbix)擁有如下優點

            易管理性:Prometheus核心部分只有一個單獨的二進制文件,可直接在本地工作,不依賴于分布式存儲

            高效性:單一Prometheus可以處理數以百萬的監控指標;每秒處理數十萬的數據點

            易于伸縮性:通過使用功能分區(sharing)+聯邦集群(federation)可以對Prometheus進行擴展,形成一個邏輯集群

            豐富的看板:多種可視化圖表及儀表盤支持

            針對容器監控:對docker,k8S監控有成熟解決方案

            Prometheus架構圖

            Prometheus完整的部署方案+實戰實例插圖1

            Prometheus  Server:  收集指標和存儲時間序列數據,并提供查詢接口
            ClientLibrary:客戶端庫
            Push Gateway: 短期存儲指標數據。主要用于臨時性的任務
            Exporters:采集已有的第三方服務監控指標并暴露metrics
            Alertmanager:告警
            Web  UI :簡單的web控制臺
            

            官方安裝說明

            https://prometheus.io/docs/prometheus/latest/installation/
            

            準備兩臺服務器

            192.168.106.101   #Prometheus服務端
            192.168.106.100   #被監控服務器
            

            101下載prometheus.yml主配置文件

            # my global config
            global:
              scrape_interval:     15s # 采集被監控段指標的一個周期
              evaluation_interval: 15s # 告警評估的一個周期
            
            # 告警的配置文件
            alerting:
              alertmanagers:
              - static_configs:
                - targets:
                  # - alertmanager:9093
            
            # 告警規則配置
            rule_files:
              # - "first_rules.yml"
            #被監控端的配置
            scrape_configs:
            
              - job_name: 'prometheus'
            
                static_configs:
                - targets: ['localhost:9090']
            
              - job_name: "docker"
                static_configs:
                - targets: ['192.168.31.62:8080']
            
              - job_name: "Linux"
                static_configs:
                - targets: ['192.168.31.62:9100']
            

            下載鏡像

            docker pull   prom/prometheus 
            

            開啟內核路由轉發

            echo -e "net.ipv4.ip_forward = 1\nnet.ipv4.conf.default.rp_filter = 0 \nnet.ipv4.conf.all.rp_filter = 0" >> /etc/sysctl.conf
            sysctl -p
            

            啟動鏡像,將主配置文件掛載到容器內

            docker run -d  --name=prometheus   -p 9090:9090   -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml    prom/prometheus
            

            http://192.168.106.101:9090/ #訪問該地址,出現一個簡單ui界面,說明部署成功

            Prometheus完整的部署方案+實戰實例插圖2

            實戰一:監控一個容器服務(常用的監控指標有: 內存,CPU,硬盤,網絡,狀態)

            非交互獲取容器的監控指標
            `docker stats  --no-stream  lnmp_nginx `
            

            Prometheus完整的部署方案+實戰實例插圖3

            cAdvisor (Container Advisor) 用于收集正在允許的容器資源使用和性能信息。相當于zabbix-agent一樣提供一個數據采集的接口

            docker部署cAdvisor:

            100被監控服務器安裝

            docker run -d   \
            --volume=/:/rootfs:ro \
            --volume=/var/run:/var/run:ro  \
            --volume=/sys:/sys:ro  \
            --volume=/var/lib/docker/:/var/lib/docker:ro  \
            --volume=/dev/disk/:/dev/disk:ro \
            --publish=8080:8080 \
            --detach=true \
            --name=cadvisor \
            google/cadvisor:latest
            

            訪問該地址,就能看到實時采集到的數據

            http://192.168.106.100:8080/containers/  
            

            Prometheus完整的部署方案+實戰實例插圖4

            Prometheus完整的部署方案+實戰實例插圖5

            http://192.168.106.100:8080/metrics #該地址的數據為prometheus識別的數據的接口
            

            Prometheus完整的部署方案+實戰實例插圖6

            去101上修改prometheus的配置文件,復制一個job文件,job_name 指名稱,targets為cAdvisor服務器地址ip和端口

            vim    /tmp/prometheus.yml
            

            Prometheus完整的部署方案+實戰實例插圖7

            docker  restart  prometheus  #重啟服務
            

            http://192.168.106.101:9090/ 可以看到監控指標說明獲取數據成功

            Prometheus完整的部署方案+實戰實例插圖8

            101服務器上安裝grafana

             docker  run -d --name=grafana  -p 3000:3000  grafana/grafana
            

            Prometheus完整的部署方案+實戰實例插圖9

            http://192.168.106.101:3000/ #p配置數據源,配置完成點擊保存

            Prometheus完整的部署方案+實戰實例插圖10

            https://grafana.com/grafana/download    #該地址下載grafana模板
            

            Prometheus完整的部署方案+實戰實例插圖11

            保存,選擇Prometheus數據源后可以看到如下圖所示

            Prometheus完整的部署方案+實戰實例插圖12

            Prometheus完整的部署方案+實戰實例插圖13

            可以看到100上所有容器都被監控到了,至此監控容器完成!

            實戰二:監控Linux主機

            編寫了一個采集linux主機metrics的腳本

             cat   node_exporter.sh
             #!/bin/bash
            
            wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz
            
            tar zxf node_exporter-0.17.0.linux-amd64.tar.gz
            mv node_exporter-0.17.0.linux-amd64 /usr/local/node_exporter
            
            cat </usr/lib/systemd/system/node_exporter.service
            [Unit]
            Description=https://prometheus.io
            
            [Service]
            Restart=on-failure
            ExecStart=/usr/local/node_exporter/node_exporter
            
            [Install]
            WantedBy=multi-user.target
            EOF
            
            systemctl daemon-reload
            systemctl enable node_exporter
            systemctl restart node_exporter
            

            運行這個腳本就能監控Linux主機

            測試 訪問

            http://192.168.106.100:9100/metrics
            

            Prometheus完整的部署方案+實戰實例插圖14

            說明采集信息成功

            修改101服務上的配置文件/tmp/prometheus.yml

            Prometheus完整的部署方案+實戰實例插圖15

            docker restart prometheus
            

            檢測方法:http://192.168.106.101:9090/classic/targets,up說明采集成功

            Prometheus完整的部署方案+實戰實例插圖16

            然后配置grafana儀表盤,本次導入9276模板,和剛才導入模板的方式一致。導入完成即可看到如圖所示模板

            Prometheus完整的部署方案+實戰實例插圖17

            Prometheus完整的部署方案+實戰實例插圖18

            至此實戰監控Linux部署完成

            本文鏈接:http://m.abandonstatusquo.com/39494.html

            網友評論comments

            發表評論

            您的電子郵箱地址不會被公開。

            暫無評論

            Copyright ? 2012-2022 YUNWEIPAI.COM - 運維派 京ICP備16064699號-6
            掃二維碼
            掃二維碼
            返回頂部
            久久久久亚洲国内精品|亚洲一区二区在线观看综合无码|欧洲一区无码精品色|97伊人久久超碰|一级a爱片国产亚洲精品