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 influxDB và Grafana, nhìn có vẻ rắc rối nhưng mà chỉ setup một vài bước thôi.
Nội dung bài viết
I. Cách làm việc giữa các thành phần
- Jmeter gửi request đến server
- Server trả lại response cho Jmeter
- Jmeter sử dụng Backend listenter, ở đây sử dụng influxDB để save data
- 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
- Download ở link
- 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.
[…] 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. […]
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
Lúc nào có nhu cầu phải làm thì tự nhiên sẽ tìm tới nó thôi. 😀
download file json cái này download ở chỗ nào vậy anh
Link anh có viết trong bài rồi đấy em
https://grafana.com/dashboards/3351
https://grafana.com/dashboards/5496
[…] 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 […]
[…] Monitor các thông số của Jmeter […]
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
Thanks 😀
Cái này có dùng cho Mac OS được không ạ?
Bạn tìm phiên bản MacOs mà dùng thôi. Tương tự
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 ạ
Là file json của em đang sai định dạng.
Có cách khác: Em chỉ cần điền ID của dashboard em cần là được.
em chuyển xuống bản influxdb 1.8.0 thì chạy ổn rồi anh ạ. Cảm ơn anh :3
dạ vâng em cảm ơn anh
chào anh. khi em chạy influx.exe thì nó k ra giống a. a có thể giúp e k a?
Chào em,
Em đang sử dụng influxdb version nào, bài hướng dẫn của anh chỉ nói về version 1.x. Nếu em sử dụng bản 2.x thì anh không có hướng dẫn đâu em, bản đó không hợp với anh nên anh không dùng.
Em hãy đọc note của anh ở đầu bài viết.
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
Chắc bạn đọc kỹ lại bài từ đầu đến cuối và tự fix thôi, mình đã lâu rồi không dùng cái này.