Phần mềm nguồn mở cho LMS: phần mềm miễn phí giúp quản trị các hệ thống kinh doanh quan trọng tại VTB như thế nào

Hệ thống hỗ trợ tài liệu trong ngân hàng của chúng tôi không ngừng phát triển và mở rộng quy mô, đồng thời các yêu cầu về tốc độ và khả năng chịu lỗi ngày càng tăng lên. Tại một số thời điểm, việc duy trì LMS mà không có sự giám sát tập trung hiệu quả trở nên quá rủi ro. Để bảo mật quy trình kinh doanh tại VTB và đơn giản hóa công việc của quản trị viên, chúng tôi đã triển khai giải pháp dựa trên nhiều công nghệ mở. Với sự trợ giúp của nó, chúng ta có thể chủ động ứng phó với các sự cố, ngăn ngừa các sự cố tiềm ẩn. Bên dưới phần cắt là câu chuyện về trải nghiệm của chúng tôi trong việc sử dụng phần mềm miễn phí để giám sát các hệ thống kinh doanh quy mô lớn.

Phần mềm nguồn mở cho LMS: phần mềm miễn phí giúp quản trị các hệ thống kinh doanh quan trọng tại VTB như thế nào

Tại sao phải giám sát hệ thống quản lý tài liệu của bạn?

Từ năm 2005, việc hỗ trợ hồ sơ tại Ngân hàng VTB được “quản lý” bởi hệ thống CompanyMedia. LMS tuyển dụng hơn 60 nghìn người dùng tạo ra hơn một triệu tài liệu mới mỗi tháng. Các máy chủ của chúng tôi phải hoạt động 24 giờ một ngày: hầu như bất kỳ lúc nào cũng có 2500–3000 người trong hệ thống, được kết nối trên khắp đất nước, từ Petropavlovsk-Kamchatsky đến Kaliningrad. Mỗi giây hoạt động của LMS có nghĩa là có 10–15 thay đổi.

Để đảm bảo hệ thống hoàn thành chính xác các nhiệm vụ được giao, chúng tôi đã triển khai cơ sở hạ tầng có khả năng chịu lỗi bằng máy chủ proxy, cân bằng yêu cầu, bảo vệ thông tin, tìm kiếm toàn văn bản, tuyến tích hợp và sao lưu. Để hỗ trợ và quản lý một dự án quy mô này đòi hỏi nguồn lực rất lớn. Quản trị viên giám sát thông tin cơ bản về hoạt động của máy chủ, tải RAM, thời gian CPU, hệ thống con I/O, v.v. suốt ngày đêm. Nhưng bên cạnh đó, cần có những phân tích tinh tế hơn:

  • tính toán thời gian thực hiện các kịch bản kinh doanh;
  • giám sát động lực của hiệu suất hệ thống và tải trên nó;
  • tìm kiếm những sai lệch trong các thành phần hệ thống so với các yêu cầu phi chức năng đã được phê duyệt.

11 năm sau khi LMS ra đời, vấn đề ứng phó chủ động với nhiều loại lỗi khác nhau đã trở nên đặc biệt gay gắt. Ban quản lý ngân hàng nhận ra rằng làm việc mà không có màn hình và bảng điều khiển cuộc sống hệ thống đang chơi với lửa: một sai sót nhỏ nhất trong hệ thống kinh doanh ở cấp độ này có thể dẫn đến thua lỗ hàng triệu USD.

Vào năm 2016, chúng tôi đã bắt đầu giới thiệu các công cụ giúp xác định nhanh các vấn đề trong hoạt động của LMS, bao gồm cả việc giám sát các thông số mà chúng tôi quan tâm trong thời gian thực. Trước đây, hệ thống giám sát ứng dụng đã được triển khai và thử nghiệm trong khuôn khổ cơ sở hạ tầng của công ty InterTrust.

Mọi chuyện bắt đầu như thế nào

Ngày nay, hệ thống giám sát ứng dụng tập trung của VTB LMS dựa trên các sản phẩm phần mềm nguồn mở giúp ngăn chặn hầu hết các lỗi liên quan đến luồng tài liệu, phân loại vấn đề nhanh chóng, chính xác và ứng phó kịp thời khi có sự cố. Nó bao gồm hai hệ thống con:

  • để giám sát cơ sở hạ tầng CNTT của các dịch vụ hệ thống;
  • để theo dõi sự xuất hiện của các lỗi trong hoạt động của LMS.

Tất cả bắt đầu với một ứng dụng giám sát miễn phí duy nhất. Sau khi xem xét một số lựa chọn, chúng tôi quyết định sử dụng Zabbix - phần mềm miễn phí ban đầu được viết cho các dịch vụ và thiết bị ngân hàng. Hệ thống dựa trên web PHP này, có thể lưu trữ dữ liệu trong Cơ sở dữ liệu MySQL, PostgreSQL, SQLite hoặc Oracle, hoàn toàn phù hợp với nhu cầu của chúng tôi.

Zabbix điều hành các đại lý của mình trên mỗi máy chủ và thu thập thông tin về các số liệu quan tâm theo thời gian thực vào một cơ sở dữ liệu duy nhất. Khi sử dụng ứng dụng, thật thuận tiện để thu thập dữ liệu về tải của bộ xử lý và RAM, về việc sử dụng mạng và các thành phần khác, kiểm tra tính khả dụng và phản hồi của các dịch vụ tiêu chuẩn (SMTP hoặc HTTP), chạy các chương trình bên ngoài và hỗ trợ giám sát qua SNMP.

Sau khi triển khai Zabbix, chúng tôi đã định cấu hình các số liệu phần cứng tiêu chuẩn và lúc đầu, điều này là đủ. Nhưng VTB SDO không ngừng phát triển và lớn mạnh: năm 2016, số lượng máy chủ tăng lên rõ rệt, quá trình di chuyển xuất hiện, Ngân hàng Moscow, VTB Capital và VTB24 đã tham gia hệ thống. Không còn đủ số liệu tiêu chuẩn nữa và chúng tôi đã hướng dẫn Zabbix theo dõi thông tin về sự hiện diện của hàng đợi trên mỗi ổ đĩa được kết nối với máy chủ (Zabbix ngay lập tức chỉ phản ánh hàng đợi đĩa chung), cũng như thời gian cần thiết để hoàn thành một thủ tục cụ thể.

Phần mềm nguồn mở cho LMS: phần mềm miễn phí giúp quản trị các hệ thống kinh doanh quan trọng tại VTB như thế nào

Ngoài ra, chúng tôi còn trang bị cho hệ thống nhiều trình kích hoạt - điều kiện để gửi thông báo đến quản trị viên (tin nhắn trong Telegram, tin nhắn SMS tới số điện thoại hoặc email). Trình kích hoạt có thể được cấu hình cho bất kỳ bộ tham số nào. Ví dụ: bạn có thể chỉ định một tỷ lệ phần trăm dung lượng ổ đĩa trống nhất định và hệ thống sẽ cảnh báo cho quản trị viên khi đạt đến ngưỡng được chỉ định hoặc thông báo cho bạn nếu quy trình nền chạy lâu hơn bình thường.

Kết nối Java và trực quan hóa dữ liệu

Chúng tôi đã mở rộng đáng kể phạm vi dữ liệu được phân tích, nhưng chẳng bao lâu nữa, điều này không đủ để giám sát hiệu quả. Lợi dụng thực tế rằng LMS của CompanyMedia là một ứng dụng Java, chúng tôi đã kết nối với Máy ảo Java thông qua giao diện JMX và có thể lấy số liệu Java trực tiếp. Và không chỉ các tham số tiêu chuẩn của hoạt động quan trọng của Java, chẳng hạn như cường độ làm việc GC hoặc mức tiêu thụ Heap, mà còn cả các thử nghiệm cụ thể liên quan trực tiếp đến mã ứng dụng thực thi.

Phần mềm nguồn mở cho LMS: phần mềm miễn phí giúp quản trị các hệ thống kinh doanh quan trọng tại VTB như thế nào

Vào năm 2017, khoảng một năm sau khi triển khai hệ thống giám sát, rõ ràng là để hoạt động bình thường với lượng dữ liệu khổng lồ được thu thập trong Zabbix, không có đủ hình ảnh trực quan - màn hình phức tạp. Giải pháp tốt nhất cho vấn đề này một lần nữa lại là phần mềm miễn phí - Grafana, một bảng điều khiển tiện lợi về các số liệu cho phép bạn tổng hợp tất cả dữ liệu trên một màn hình.

Phần mềm nguồn mở cho LMS: phần mềm miễn phí giúp quản trị các hệ thống kinh doanh quan trọng tại VTB như thế nào

Giao diện Grafana có tính tương tác, gợi nhớ đến hệ thống OLAP. Hệ thống con hiển thị dữ liệu Zabbix nhận được trên một màn hình, trình bày thông tin dưới dạng biểu đồ và sơ đồ dễ phân tích. Quản trị viên có thể dễ dàng tùy chỉnh các lát cắt mà mình cần.

Phần mềm nguồn mở cho LMS: phần mềm miễn phí giúp quản trị các hệ thống kinh doanh quan trọng tại VTB như thế nào

Giám sát và ngăn ngừa loại bỏ lỗi trong hệ thống LMS

Nền tảng phần mềm nguồn mở ELK giúp bạn lọc và phân tích thông tin nhận được trong quá trình giám sát. Sản phẩm mã nguồn mở này bao gồm ba công cụ mạnh mẽ để thu thập, lưu trữ và phân tích dữ liệu: Elaticsearch, Logstash và Kibana. Đặc biệt, việc triển khai hệ thống con này cho phép xem trong thời gian thực có bao nhiêu lỗi đã xảy ra trong hệ thống, trên máy chủ nào và liệu những lỗi này có lặp lại hay không.

Phần mềm nguồn mở cho LMS: phần mềm miễn phí giúp quản trị các hệ thống kinh doanh quan trọng tại VTB như thế nào

Giờ đây, quản trị viên có thể phát hiện sự cố ở giai đoạn đầu, ngay cả trước khi người dùng gặp phải sự cố đó. Việc giám sát chủ động như vậy cho phép bạn ngăn ngừa sự cố hệ thống bằng cách loại bỏ lỗi kịp thời. Ngoài ra, chúng tôi có thể hiểu hành vi của hệ thống đã thay đổi như thế nào sau khi cập nhật, cũng như phát hiện các vấn đề mới nếu chúng xuất hiện.

Phần mềm nguồn mở cho LMS: phần mềm miễn phí giúp quản trị các hệ thống kinh doanh quan trọng tại VTB như thế nào

Giám sát hoạt động kinh doanh

Ngoài chức năng cơ bản là giám sát việc tiêu thụ tài nguyên, hệ thống còn có khả năng phân tích và kiểm soát hoạt động kinh doanh.

Phần mềm nguồn mở cho LMS: phần mềm miễn phí giúp quản trị các hệ thống kinh doanh quan trọng tại VTB như thế nào

Giám sát thời gian thực hiện tổng thể của các hoạt động kinh doanh cho phép bạn xác định các yếu tố mới và hiểu được tác động của chúng đối với hoạt động của hệ thống.

Phần mềm nguồn mở cho LMS: phần mềm miễn phí giúp quản trị các hệ thống kinh doanh quan trọng tại VTB như thế nào

Việc giám sát thời gian thực hiện các yêu cầu đối với từng dịch vụ kinh doanh giúp phát hiện các hoạt động đi chệch khỏi định mức.

Phần mềm nguồn mở cho LMS: phần mềm miễn phí giúp quản trị các hệ thống kinh doanh quan trọng tại VTB như thế nào

Ảnh chụp màn hình ở trên là một ví dụ về giám sát tác vụ nền về độ lệch của nó so với định mức.

Phần mềm nguồn mở cho LMS: phần mềm miễn phí giúp quản trị các hệ thống kinh doanh quan trọng tại VTB như thế nào

Danh sách các tác vụ được kiểm soát xét về mặt hoạt động của chúng trên một máy chủ cụ thể cho phép bạn xác định lỗi - bao gồm cả việc trùng lặp thực thi tác vụ - trên tất cả các máy chủ.

Phần mềm nguồn mở cho LMS: phần mềm miễn phí giúp quản trị các hệ thống kinh doanh quan trọng tại VTB như thế nào

Xu hướng về thời gian thực hiện các thủ tục nền cũng được theo dõi.

Hệ thống tăng trưởng, phát triển và giúp giải quyết các vấn đề

Với việc triển khai hệ thống được mô tả, việc giám sát hoạt động của máy chủ LMS đã trở nên đơn giản hóa đáng kể. Tuy nhiên, nhiều loại xung đột đôi khi vẫn phát sinh, ảnh hưởng đến tốc độ xử lý tài liệu và gây ra khiếu nại của người dùng. Vì vậy, chúng tôi nhận ra rằng cần phải kiểm soát hành vi của chính ứng dụng chứ không chỉ các máy chủ.

Để giải quyết vấn đề này, bộ cân bằng đã được kết nối với hệ thống giám sát thông qua API, hoạt động với một cụm máy chủ ứng dụng. Nhờ đó, quản trị viên có thể biết máy chủ phải mất bao lâu để phản hồi từng yêu cầu của người dùng.

Dữ liệu về thời gian phản hồi của máy chủ đã có sẵn để phân tích, điều này giúp có thể liên kết sự chậm lại của LMS với các quy trình xảy ra trên máy chủ. Đặc biệt, một tình huống thú vị đã xuất hiện: máy chủ chạy chậm mặc dù tại thời điểm này nó chưa được tải. Phân tích sự bất thường, chúng tôi phát hiện ra những sai lệch trong hoạt động của Garbage Collector Java. Cuối cùng, hóa ra chính hoạt động không chính xác của dịch vụ này đã dẫn đến tình trạng này. Bằng cách kiểm soát Garbage Collector Java, chúng tôi đã loại bỏ hoàn toàn vấn đề.

Đây chính là cách phần mềm miễn phí giúp hệ thống quản lý văn bản trong ngành ngân hàng phát triển và lớn mạnh. Chúng tôi chỉ đề cập đến những vấn đề chính liên quan đến hệ thống giám sát VTB SDO. Nếu bạn quan tâm đến chi tiết, hãy hỏi trong phần bình luận, chúng tôi sẽ sẵn lòng chia sẻ kinh nghiệm của chúng tôi với bạn.

Nguồn: www.habr.com

Thêm một lời nhận xét