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



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內容