Monitor các thông số của Jmeter bằng influxDB và Grafana

NOTE: Chỉ áp dụng cho influxdb version 1.x

Khi làm việc với Jmeter bạn có thể đã biết được cách sử dụng HTML dashboard để phân tích và báo cáo, nhưng bạn chỉ có thể sử dụng nó sau khi đã run xong test, chứ trong quá trình test bạn không nhìn thấy gì cả. Để có thể view kết quả trong thời gian run test, bạn có thể dùng influxDBGrafana, nhìn có vẻ rắc rối nhưng mà chỉ setup một vài bước thôi.

I. Cách làm việc giữa các thành phần

  1. Jmeter gửi request đến server
  2. Server trả lại response cho Jmeter
  3. Jmeter sử dụng Backend listenter, ở đây sử dụng influxDB để save data
  4. Grafana hiển thị data dưới dạng table và chart từ influxDB theo thời gian

II. Cài đặt influxDB

  • Trang InfluxDB

Link down :

https://dl.influxdata.com/influxdb/releases/influxdb-1.8.10_windows_amd64.zip
  • Giải nén sau khi download
  • Run as adminitrator với file: influxd.exe
  • Run tiếp file: influx.exe
  • Tạo mới 1 database (mình đặt tên là jmeter, các bạn có thể đặt tên gì thì tùy): 
> CREATE DATABASE jmeter
  • Bạn có thể check lại bằng cách run câu lệnh: Show databases

III. Cài đặt grafana

1. Install grafana

  • Giải nén sau khi download
  • Run file: grafana-server.exe ở folder ./bin
  • View dashboard trên browser: http://localhost:3000
  • Account default là: admin/admin

2. Tạo data source cho grafana

3. Xây dựng dashboard cho Jmeter

Về cơ bản thì Grafana là chỗ để hiển thị dashboard theo các kiểu chart khác nhau và từ các data source khác nhau. Nó được áp dụng cho nhiều mục đích view data, do đó, người làm sẽ phải tự custom cái dashboard mà người dùng mong muốn. Tuy nhiên, với Jmeter thì những chart tương đối cố định, và đã có người tạo cho ta 1 vài cái dashboard cơ bản:

Việc chúng ta cần làm là download file json và import lại vào grafana của chúng ta. Bạn có thể sử dụng 2 dashboard hoặc 1 tùy bạn.

IV. Config Jmeter để kết nối với influxDB

Mình chỉ cần follow đúng hướng dẫn trên trang Jmeter: https://jmeter.apache.org/usermanual/realtime-results.html

Và đây là thành quả khi mình run thử test với sample testplan

Trên đây là cách config để jmeter-influxDB-grafana, bạn có thể thấy nó “khá nguy hiểm” nhưng nó chỉ giúp ta monitor các chỉ số dễ dàng hơn thôi, ko giúp các bạn trở nên giỏi hơn về performance testing. =)))) Please note that.

5 1 vote
Article Rating
Subscribe
Notify of
guest
19 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
trackback

[…] Có nhiều loại report trong Jmeter được gọi chung là listener. Nếu bạn chỉ là beginner thì chỉ nên tập trung vào HTML report, có đầy đủ chart và các thông tin cần thiết. Để tạo ra được HTML report thì các bạn tự tìm hiểu. Nếu bạn đã tìm hiểu được Jmeter 1 thời gian và muốn monitor các chỉ số ngay khi thực hiện run test, bạn có thể follow bài viết này. […]

Truyền
Truyền
5 years ago

Không đụng tới bài này thì còn lâu mới biết được có mấy cái này chứ đừng nói là sử dụng. Thank admin

Loanh
Loanh
4 years ago

download file json cái này download ở chỗ nào vậy anh

trackback

[…] non-UI Jmeter, lúc sau bạn muốn xem kết quả thì lại phải bật Jmeter để view. Bài trước, mình đã hướng dẫn cách dùng grafana để monintor các thông số của Jmeter, bây […]

trackback

[…] Monitor các thông số của Jmeter […]

Ẩn Danh
Ẩn Danh
2 years ago

bài viết bổ ích quá ạ, đang loay hoay may vớ đc bài viết này mà đã setup thành công, thanks admin

TraVo
TraVo
2 years ago

Cái này có dùng cho Mac OS được không ạ?

thuuu
thuuu
2 years ago

sau khi em import file json thì nó có cái kiểu lỗi như “invalid: compilation failed: error at @1:13-1:29: string literal key startedThreads must have a value” thì em gặp vấn đề ở đâu ạ

thuuu
thuuu
2 years ago
Reply to  Giang Nguyen

em chuyển xuống bản influxdb 1.8.0 thì chạy ổn rồi anh ạ. Cảm ơn anh :3

thuuu
thuuu
2 years ago
Reply to  Giang Nguyen

dạ vâng em cảm ơn anh

minh
minh
2 years ago

chào anh. khi em chạy influx.exe thì nó k ra giống a. a có thể giúp e k a?

Chuong
Chuong
2 years ago

Phần transaction name trong https://grafana.com/dashboards/5496, em làm không có hiện có request? anh bị trường hợp này chưa, hướng dẫn fix giúp em