1021 docker prometheus監控體系


jmeter plugin監控的信息很少,只有cpu、內存、網絡IO,但這些是不夠的。例如對於分析mysql數據庫的慢查詢、最大連接數等更加細密度的信息。
服務端穩定測試的三個前提:
1.應用級別的自動化測試。針對整個系統進行評測,而不是單獨某一個模塊,自動化用例要覆蓋系統業務場景的80%以上。自動化遍歷深度不夠,不能覆蓋80%以上的業務場景。而且自動化遍歷是在一個設備上執行的,其並發數量只有1,而穩定性測試要在一定的壓力之下進行的。
2.高可用、災難恢復的部署架構。 K8S做部署。
3.線上級別的監控體系。 在對整個系統做評測,而且是長時間的,運行時間以周為單位。要對系統進行全方位的測試。僅監控機器的物理性能指標是遠遠不夠的,要從白盒、黑盒、從各個方面去監控不同的指標。在測試報告中詳細記錄,讓研發人員和架構師分析系統瓶頸出現在什么地方。

目前最主流的監控體系之一。生態很豐富,有各種各樣的插件可以使用。比如監控mysql的性能指標。
K8S團隊已經發布了以普羅米修斯進行監控的版本,可以監控所有K8S中的性能指標,如容器的狀態、服務的狀態、節點的狀態、名稱空間的狀態。

1.啟動普羅米修斯

填寫策略、規則。
查看啟動的容器和端口號,填入到job_name。

查看IP地址:

global:#抓取策略,15秒抓取1次
  scrape_interval:     15s
  evaluation_interval: 15s

alerting:#發送郵箱報警
  alertmanagers:
  - static_configs:
    - targets:
      - localhost:9093

rule_files:
  - rules/*.rules

scrape_configs:#監控應用explore的ip port
  - job_name: 'prometheus'
    static_configs:
    - targets: ['192.168.63.143:9090']
  - job_name: 'node_exporter'
    static_configs:
    - targets: ['192.168.63.143:9100']
  - job_name: 'mysql'
    static_configs:
    - targets: ['192.168.63.143:9104']
docker run --name prometheus -d -p 9090:9090 -v `pwd`/prometheus.yml:/etc/prometheus/prometheus.yml -v `pwd`/rules/:/etc/prometheus/ prom/prometheus --config.file=/etc/prometheus/prometheus.yml

使用瀏覽器打開127.0.0.1:9090可以訪問prometheus,打開target可以查看當前監控的應用


點擊URL可以查看監控數據
3

如果發現mysql和node連接失敗,需要分別啟動explore

1.1.啟動MYSQLD-EXEPORTER連接數據庫,並將端口修改為9104

docker run -d --name mysql-exporter -p 9104:9104 -e DATA_SOURCE_NAME="root:123456.@(192.168.63.143:3306)/mysql" prom/mysqld-exporter

1.2.NODE-EXPORTER

需求:監控Linux各種各樣的指標,CPU、內存、磁盤IO。
普羅米修斯官方提供了node exporter,mac下載darwin,直接運行即可。下載好node exporter的包后,運行:

 ./node_exporter

node和mysql都已經連接成功。

2.訪問和使用prometheus

graph中輸入表達式即可,默認是Console模式,點擊Graph可以切換到圖形模式。 console模式 Graph模式 node_boot_time:系統啟動時間 node_cpu:系統CPU使用量 node_disk_*:磁盤IO node_filesystem_*:文件系統用量 node_load1:1分鍾系統負載 node_load5 5分鍾 node_load15 15分鍾 node_memeory_*:內存使用量 node_network_*:網絡帶寬 node_time:當前系統時間 go_*:node exporter中go相關指標 process_*:node exporter自身進程相關運行指標

3.啟用GRAFANA

每次通過輸入表達式過於麻煩,使用grafana可以將一些表達式存儲起來,直接查看結果
docker run --name grafana -d -p 8000:3000 grafana/grafana
http://127.0.0.1:8000,默認用戶名/密碼:admin/admin,修改密碼即可進入grafana。

add data source,填入name,類型為prometheus,填入prometheus容器的地址

添加一個panel

點擊修改

general修改名字,metrics填寫語句


返回面板即可

4.使用開源共享的模版

開源的共享的mysql監控的模版
添加-import,復制下載的mysql_rev1.json內容



普羅米修斯中文教程:https://github.com/yunlzheng/prometheus-book


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM