Lấy thông số server sử dụng Telegraf, InfluxDB và Grafana

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.

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

  1. Telegraf sẽ lấy thông tin từ Server
  2. Telegraf sẽ lưu thông tin lấy được vào influxDB
  3. Grafana sẽ query vào influxDB rồi hiển thị data theo thời gian

II. Cài đặt Telegraf

1. Vào link https://portal.influxdata.com/downloads/

Tùy vào hệ điều hành server của bạn mà bạn lấy version tương ứng. Ở đây, mình cài Windows server nên mình sẽ dùng bản cho Windows

2. Copy cái link trên rồi open nó ở 1 tab khác của Browser để download file zip

3. Giải nén vào “C:\Program Files\telegraf

4. Mở file telegraf.conf rồi thay thế toàn bộ file bằng file này.

III. Kết nối Telegraf và InfluxDB

1. Tạo database trên InfluxDB

Trên InfluxDB, run 2 file influxd.exe bằng quyền Admin và file influx.exe

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.

  • Do Grafana và InfluxDB ở 2 máy khác nhau nên chỗ này bạn phải điền địa chỉ IP của con máy server vào
  • 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. 😀

12 thoughts on “Lấy thông số server sử dụng Telegraf, InfluxDB và Grafana

  1. Pingback: Monitor các thông số của Jmeter bằng influxDB và Grafana | GiangTester Blog

  2. Pingback: Cách thực hiện load test | GiangTester Blog

  3. 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

    • 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?

Leave a Reply

Your email address will not be published. Required fields are marked *