Công cụ giám sát hệ thống iProfiler

245

Có vô vàn câu hỏi mà các nhà quản lý vẫn luôn đặt ra với các hệ thống thông tin của doanh nghiệp. Làm thế nào để biết hệ thống của bạn vận hành hiệu quả hay đang quá tải? Làm thế nào để biết đâu là điểm yếu của hệ thống để khắc phục và sửa chữa? Để giúp nhà quản lý trả lời những câu hỏi trên, FPT IS đã phát triển iProfiler – Công cụ giám sát để theo dõi các hoạt động của hệ thống.

Như chúng ta đều biết hầu hết các ứng dụng quản lý đều chạy ổn định ở những năm đầu tiên. Nhưng với ứng dụng có dữ liệu lớn mà vận hành trong một thời gian dài thì dữ liệu sẽ tăng cao làm ảnh hưởng đến hiệu năng (performance) của ứng dụng. Thông thường sau 3 năm sử dụng, một số chức năng sẽ chạy rất chậm. Do đó nhà phát triển cần phải nhận dạng điểm “botle neck” ở đâu để giải quyết bài toán chạy chậm. Để xác định điểm “bottle neck”, nhà phát triển cần có dữ liệu phân tích. Đó là lý do các nhà phát triển tiến hành nghiên cứu, triển khai công cụ iProfiler.

iProfiler – Câu chuyện khởi đầu

Giữa năm 2015, nhóm phát triển phần mềm nhận được khá nhiều phản ánh từ một số khách hàng: ứng dụng lương và nhân sự của FPT. iHRP của FPT IS GMC chạy khá chậm mặc dù cấu hình máy chủ rất mạnh. Nhóm đã tiến hành chọn một số chức năng để review. Sau đó điều chỉnh, tuy nhiên việc này không có hiệu quả cao do quá trình điều chỉnh các nhân viên có phần cảm tính và thiếu công cụ giám sát.

Qua tìm hiểu và học hỏi từ các đồng nghiệp ở những đơn vị khác của FPT IS, FPT Software, nhóm quyết định xây dựng một công cụ để giám sát hiệu năng query của MSSQL Server. Tháng 6/2015 nhóm nảy sinh ý tưởng, đến tháng 10/2015 phiên bản iProfiler 1.0 ra đời, hỗ trợ cung cấp 7 báo cáo phân tích. Hiện nay, iProfiler đang ở phiên bản 1.3 với tính năng cung cấp đến 15 báo cáo phân tích.

Chức năng của iProfiler

iProfiler có tên gọi đầy đủ là Monitor Performance Query Database in MS SQL Server, công cụ giám sát cho phép chúng ta nhìn sâu vào bên trong hệ thống, nhìn rõ sự vận hành bên trong, từ đó kiểm soát được tình hình sức khỏe của hệ thống.

Khi cài vào máy tính bất kỳ có kết nối đến FPT.iHRP của doanh nghiệp, iProfiler sẽ tiến hành phân tích hiệu năng của tất cả truy vấn SQL từ ứng dụng đến Database Microsoft SQL Server. Các thông tin phân tích bao gồm: Thời gian CPU xử lý, số lần đọc đĩa, số lần ghi đĩa, tên host remote, ứng dụng kết nối đến máy chủ, tài khoản kết nối máy chủ, truy vấn có bị lỗi hay không… Việc xác định lỗi chỉ diễn ra trong 5 phút với kết quả trả về hoàn toàn chính xác, thay vì phải mất một tuần và trải qua nhiều công đoạn như khi chưa áp dụng iProfiler. Với đặc thù sản phẩm thiên hướng khai thác dữ liệu. iProfiler chọn cách giám sát thành phần cơ sở dữ liệu.

iProfiler được xây dựng trên platform Microsoft SQL Server nên ngoài FPT.iHRP, công cụ này có thể dùng cho các phần mềm khác với yêu cầu Database của phần mềm sử dụng là Microsoft SQL Server. iProfiler giám sát theo dõi tất cả hoạt động trên máy chủ Microsoft SQL Server với những thông tin: Nội dung truy vấn Query; Thời gian xử lý của CPU; Số lần đọc và ghi đĩa; Tên host remote;…

Để tích hợp với iProfiler, người dùng không cần phải thay đổi bất cứ dòng code nào trong sản phẩm của mình bởi iProfiler được cài đặt riêng và vận hành độc lập với sản phẩm phần mềm.

iProfiler đem lại  lợi ích gì?

Dựa trên dữ liệu thu thập được. iProfiler sẽ cung cấp 15 báo cáo phân tích Performance trên máy chủ database bao gồm: Liệt kê những câu truy vấn đang running; Thống kê 100 câu truy vấn gần nhất; Thống kê 100 câu truy vấn chạy chậm nhất; Thống kê 100 procedure sử dụng nhiều nhất; Thống kê 100 câu truy vấn có dữ liệu lớn nhất; Thống kê 100 câu truy vấn gần bị lỗi gần nhất; Thống kê tần xuất truy vấn theo ngày; Thống kê tần xuất truy vấn theo giờ; Thống kê tần xuất truy vấn theo database; Thống kê tần xuất truy vấn theo hostname; Theo dõi thời điểm file data & file log thay đổi kích thước; Theo dõi thời điểm bộ nhớ thay đổi; Hiển thị thông tin dead lock trên mấy chủ; Hiển thị thông tin lịch sử backup; Hiển thị thông tin lịch sử restore.

iProfiler hỗ trợ người dùng xem báo cáo trực tiếp từ ứng dụng hay xuất báo cáo ra các file excel. Dựa trên thông tin cung cấp từ các báo cáo này, chúng ta sẽ theo dõi được tình hình sức khỏe của hệ thống.

Hiện nay tất cả khách hàng dùng sản phẩm FPT.iHRP của FPT IS GMC đều đã được tích hợp sẵn iProfiler. Việc tích hợp iProfiler giúp FPT IS GMC chủ động trong việc giải quyết, khắc phục các vấn đề vể performance, từ đó nâng cao chất lượng sản phẩm FPT.iHRP.

Một số khách hàng tiêu biểu đang dùng iProfiler:

  • Lĩnh vực ngân hàng: Ngân hàng Sacombank
  • Lĩnh vực hàng tiêu dùng: Tập đoàn Masan Consumer, Công ty Nhựa Duy Tân
  • Lĩnh vực tài chính: Công ty tài chính FE Credit, Công ty tài chính Home Credit
  • Lĩnh vực vận tải: Công ty Logistics ITL
  • Lĩnh vực Du lịch: Công ty Sài Gòn Tourist

Tương lai của iProfiler

Trong thời gian tới, iProfiler sẽ được mở rộng tích hợp với platform khác như Oracle và DB2, đồng thời nhóm phát triển sẽ phát triển DASHBOARD phân tích trực quan: Dashboard hiển thị chi phí theo ngày, Dashboard hiển thi chi phí theo giờ, Dashboard hiển thị chi phí theo database, Dashboard hiển thị chi phí theo hostname, Dashboard hiển thị error, Dashboard hiển thị procedure.

Một số tính năng cũng sẽ được nghiên cứu, tích hợp vào công cụ iProfiler như cảnh báo tự động qua email, sms trong một số trường hợp: Máy chủ MSSQL Server có nhiều xử lý lớn trong 1 khoảng thời gian, máy chủ MSSQL server có nhiều lỗi trong 1 khoảng thời gian, thông báo cho người dùng các thời điểm máy chủ quá tải, thông báo cho người dùng các các tình huống xảy ra dead lock.

Bên cạnh đó, dựa trên kết quả phân tích performance query, đội kỹ thuật sẽ tập trung vào các điểm “bottle neck” để điều chỉnh. Sau khi điều chỉnh sẽ tiến hành monitor tiếp tục để đánh giá được kết quả điều chỉnh. Cứ như vậy, đội kỹ thuật sẽ điều chỉnh đến mức tốt nhất có thể.

Lê Dũng Ngọc – FPT IS

BÌNH LUẬN

Please enter your comment!
Please enter your name here