Làm Performance Testing có khi bạn muốn lấy các thông số của server nhưng có vẻ hơi khó khăn vì ít người chia sẻ. Bạn tìm đến PerfMon thấy có vẻ đúng thứ bạn cần, nhưng có 1 hạn chế là bạn run test bằng non-UI Jmeter, lúc sau bạn muốn xem kết quả thì lại phải bật Jmeter để xem. 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 giờ vẫn sử dụng grafana mà mình cũng có thể view được các thông số của Server.
Nội dung bài viết
I. Cách làm việc của các thành phần
- Telegraf sẽ lấy thông tin từ Server
- Telegraf sẽ lưu thông tin lấy được vào influxDB
- Grafana sẽ query vào influxDB rồi hiển thị data theo thời gian
II. Cài đặt Telegraf
1. Download https://dl.influxdata.com/telegraf/releases/telegraf-1.13.0_windows_amd64.zip
2. Giải nén vào “C:\Program Files\telegraf“
3. Mở file telegraf.conf rồi thay thế toàn bộ file bằng file này.
Lưu ý trong file config này:
urls = ["http://127.0.0.1:8086"]
- Nếu influxdb và telegraf ở cùng 1 máy thì ip =
127.0.0.1
- Nếu influxdb và telegraf ở trên 2 máy khác nhau thì ip =
ip_máy_chứa_influxdb
III. Kết nối Telegraf và InfluxDB
1. Tạo database trên InfluxDB
Trên InfluxDB, run 2 file influxd.exe và file influx.exe bằng quyền Admin
Trên file influx.exe:
Tạo database:
CREATE DATABASE telegraf
Tạo user:
CREATE USER telegraf WITH PASSWORD 'telegraf123' WITH ALL PRIVILEGES CREATE USER grafana WITH PASSWORD 'grafana123' WITH ALL PRIVILEGES
2. Update file telegraf.conf
Mở file telegraf.conf, tìm đến dòng [[outputs.influxdb]], sửa lại các thông số như dưới đây:
database = "telegraf" username = "telegraf" password = "telegraf123"
3. Mở PowerShell bằng quyền admin rồi run
C:\"Program Files"\Telegraf\telegraf.exe --service install net start telegraf
Nếu bạn gặp vấn đề thì hãy đọc thêm thông tin ở đây
IV. Kết nối InfluxDB và Grafana
Tương tự như bài trước, bạn cần tạo ra 1 cái Source mới.
- URL ở đây là địa chỉ của con máy có chứa influxdb, ví dụ:
10.10.22.12
- Phía dưới thì bạn cứ dùng Account nhưng đã setup ban đầu: grafana/grafana123
Sau đó, bạn tạo ra 1 dashboard mới, ở đây mình sử dụng dashboard số 1902
Và cuối cùng đây là kết quả:
V. Tổng kết
Hiện tại, bạn đã vừa có thể xem thông số của Jmeter và Server ở cùng 1 nơi và bất kỳ thời điểm nào bạn muốn, đẹp đẽ chứ ko xấu mù như cái plugin Perfmon. Sử dụng grafana sẽ là 1 lựa chọn hoàn hảo cho bạn nào phải làm performance testing mà công ty không có điều kiện trả tiền cho những service đắt đỏ. Vậy thôi, chúc các bạn vui vẻ khi làm performance test. 😀
[…] Lấy thông số server sử dụng Telegraf, InfluxDB và Grafana This entry was posted in Performance Testing and tagged Jmeter, Performance Testing by Giang Nguyen. Bookmark the permalink. […]
[…] Lấy thông số server […]
hay quá
Thanks bạn
Chao ban , ban có thể nói rõ mô hình cài đặt, các phần mềm cài trên máy nào , vì mình ko rõ cài trên web app máy cần test hay máy khác
Mình có khoanh vùng rồi đó, trên hình ấy.
– InfluxDB + Telegraf bạn phải cài trên con máy mà bạn host web server.
– Grafana thì bạn cài máy nào cũng được, miễn là ko phải máy Server
Thanks e nhé, ban đầu c định monitor qua collectD nhưng không thực hiện theo được http://www.vinsguru.com/jmeter-server-performance-monitoring-with-collectd-influxdb-grafana/
nên lại chuyển sang dùng cái của e ^^
Sẽ tiện hơn nếu chị dùng Prometheus, dùng telegraf ko lấy đc 2 kiểu dữ liệu khác nhau trên cùng 1 máy.
Ý là ở thời điểm hiện tại chỉ để học thì dùng cái telegraf sẽ có bất tiện là phải cài telegraf và influxDB trên server, còn Promotheus thì mình có thể dùng trên cùng 1 máy đúng không e?
C xem bài về Promotheus thì chỉ thấy theo dõi thông số của mySQL mà ko thấy có thông số của Server như CPU, RAM,.. không biết là để theo dõi các thông số này từ Promotheus thì thế nào? Cái dashboard 1902 là chỉ dùng cho telegraf thôi, nếu dùng cho Promotheus thì sẽ phải dùng dasboard khác?
Prometheus supports nhiều loại lắm: https://prometheus.io/download/, MySQL chỉ là 1 trong số đấy, chị cần tìm về cái gì thì search exporter tương ứng. Ví dụ hardware: https://github.com/prometheus/node_exporter or window https://github.com/prometheus-community/windows_exporter
Nó là dạng client-server, nhiều exporter và 1 server. Grafana connect vào server rồi lấy ra mọi thứ nó cần, rồi add nó vào dashboard tương ứng.
ok e, để c research thêm nhé
Giang ơi, c cài đặt và config được exporter windows_exporter và config trên Prometheus rồi. Giờ c đang tìm dashboard trên Grafana để view thì thấy có dashboard https://grafana.com/grafana/dashboards/10467 nhưng nó lại có tiếng Trung xem ko hiểu lắm với nó rối quá :(. E đang dùng dashboard nào vậy cho c xin ID được không? Hay e có cách nào để tìm được đúng dashboard phù hợp với mục đích của mình sugguest cho c với được ko ^^
Chào anh,em mới tìm hiểu về kiểm thử hiệu năng nên kiến thức còn kém,các bài viết của a rất hay và dễ hiêu hi e có 2 câu hỏi muốn hỏi a
1 là e hiện tại đang dùng máy client để test hiệu năng cho 1 web đào tạo của trường đại học nhưng e không can thiệp được vào sever mà chỉ có thể test trên máy cá nhân của mình thì e không thể cài cái plugin như a hướng dẫn để xem thông số của sever đúng không anh,e chỉ xem được throught respontiem,…thôi phải không ạ
Và 2 là e chạy chế độ GUI trên Jmeter để xem report và phân tích được không ạ
e cảm ơn a nhiều
1. Làm test perf mà không được xem những thông số kia thì làm cũng vô nghĩa em ạ. 😀
2. chạy GUI được nhưng mà chính Jmeter khuyên dùng non-GUI, lý do thì nhiều. Mặc dù thế thì em cứ làm như em nghĩ, rồi có vấn đề thì tính tiếp.
vâng anh,anh cho e hỏi máy tính cá nhân của e k thể cài được 2 plugin InfluxDB + Telegraf nên k phân tích được thông số cpu vs ram
Nhưng sẽ cài được Grafana như a hướng dẫn ở trên
Cộng thêm việc xem file HTML dashboard để phân tích và báo cáo nữa thì vẫn ổn chứ a nhỉ
Em cảm ơn anh
Đã có granafa rồi thì còn dùng HTML report làm gì nữa hả em?
Vâng anh,e mới làm kiểm thử hiệu năng
Em kiểm thử cho web cổng thông tin đào tạo của 1 trường đại học nên e nghĩ hiệu năng của nó cũng phải khá tốt
nhưng sau khi làm theo bài hướng dẫn load test của a thì e thấy với 30 user và ramup duration set up tương tự như a làm thì đã có lỗi xảy a với 0.02% lỗi ( có phải cứ có lỗi xảy ra thì điểm load test là ở đó phải k a nhỉ )
tương tự e cho lên 30,50,100 user thì lỗi lên tới 0.05-0.08 %
throught và respon cũng đạt tới ngưỡng như bài a hướng dẫn
Như vậy thì e sẽ kết luận là với test case này thì load test của nó là 80-100 user,nhưng sao e thấy như v có vẻ rất ít so với 1 web cổng đào tạo đăng kí môn học xem điểm của 1 trường đại hoc a à
Không biết e có làm gì sai không a nhỉ
“Em kiểm thử cho web cổng thông tin đào tạo của 1 trường đại học nên e nghĩ hiệu năng của nó cũng phải khá tốt”
–> Lỗi do đâu, phải tìm hiểu đã, có log server ko, CPU và RAM server thế nào? Em bất ngờ về perf của hệ thống yếu hơn em nghĩ thì cũng là điều hết sức bình thường, không phải chỉ có em mới bất ngờ đâu.
“Không biết e có làm gì sai không a nhỉ” –> anh chịu thôi, anh có biết em làm thế nào đâu. 😀
em cảm ơn anh
Em có thể liên lạc với a bằng cách nào k ạ
e có một vài câu hỏi muốn dc a giúp đỡ hi
Thông tin liên hệ có ở đây: https://giangtester.com/about-me/
Cài này dùng để đọc thông số gì từ máy tính vậy ạ ?
Tất cả các thông số cần thiết như CPU, Ram, Disk IO, process …
@Giang Nguyen Nguyen em có dựng con prometheus thu thập metrics của 1 máy centos7 và windowns2k16 và đã hiển thị thông tin của con centos len grafana được rồi nhưng con windown2k16 thì không hiển thị được thông tin. Trong phần targets của prometheus thì đã kết nối on tới windowns2k16 . Mong anh giúp đỡ
Hơi khó vì lâu lắm rồi anh ko làm cái này. Chắc em phải google và hỏi người khác thôi.