Chúng ta hãy nhớ lại rằng Elastic Stack dựa trên cơ sở dữ liệu Elaticsearch không liên quan, giao diện web Kibana và bộ thu thập và xử lý dữ liệu (Logstash nổi tiếng nhất, nhiều Beats, APM và các loại khác). Một trong những bổ sung thú vị cho toàn bộ danh sách sản phẩm được liệt kê là phân tích dữ liệu bằng thuật toán học máy. Trong bài viết chúng ta hiểu những thuật toán này là gì. Xin vui lòng dưới con mèo.
Học máy là một tính năng trả phí của phần mềm chia sẻ Elastic Stack và được bao gồm trong X-Pack. Để bắt đầu sử dụng, chỉ cần kích hoạt bản dùng thử 30 ngày sau khi cài đặt. Sau khi hết thời gian dùng thử, bạn có thể yêu cầu hỗ trợ để gia hạn hoặc mua đăng ký. Chi phí đăng ký được tính không dựa trên khối lượng dữ liệu mà dựa trên số lượng nút được sử dụng. Không, tất nhiên, khối lượng dữ liệu ảnh hưởng đến số lượng nút cần thiết, nhưng cách tiếp cận cấp phép này vẫn nhân đạo hơn so với ngân sách của công ty. Nếu không cần năng suất cao, bạn có thể tiết kiệm tiền.
ML trong Elastic Stack được viết bằng C++ và chạy bên ngoài JVM, trong đó Elaticsearch tự chạy. Nghĩa là, quy trình (nhân tiện, nó được gọi là tự động phát hiện) tiêu thụ mọi thứ mà JVM không nuốt được. Trên bản demo, điều này không quá quan trọng, nhưng trong môi trường sản xuất, điều quan trọng là phải phân bổ các nút riêng biệt cho các tác vụ ML.
Các thuật toán học máy được chia thành hai loại –
Để thực hiện phân tích, thuật toán học máy sử dụng dữ liệu được lưu trữ trong các chỉ mục Elaticsearch. Bạn có thể tạo các tác vụ để phân tích từ giao diện Kibana và thông qua API. Nếu bạn làm điều này thông qua Kibana thì bạn không cần phải biết một số điều. Ví dụ: các chỉ mục bổ sung mà thuật toán sử dụng trong quá trình hoạt động.
Các chỉ số bổ sung được sử dụng trong quá trình phân tích.ml-state - thông tin về các mô hình thống kê (cài đặt phân tích);
.ml-anomalies-* — kết quả của thuật toán ML;
.ml-notifications - cài đặt thông báo dựa trên kết quả phân tích.
Cấu trúc dữ liệu trong cơ sở dữ liệu Elaticsearch bao gồm các chỉ mục và tài liệu được lưu trữ trong đó. Khi so sánh với cơ sở dữ liệu quan hệ, một chỉ mục có thể được so sánh với một lược đồ cơ sở dữ liệu và một tài liệu với một bản ghi trong bảng. Sự so sánh này có điều kiện và được cung cấp để đơn giản hóa việc hiểu các tài liệu sâu hơn cho những người mới chỉ nghe nói về Elaticsearch.
Chức năng tương tự có sẵn thông qua API cũng như thông qua giao diện web, vì vậy để rõ ràng và hiểu các khái niệm, chúng tôi sẽ trình bày cách định cấu hình thông qua Kibana. Trong menu bên trái có phần Machine Learning nơi bạn có thể tạo Công việc mới. Trong giao diện Kibana nó trông như hình dưới đây. Bây giờ chúng tôi sẽ phân tích từng loại nhiệm vụ và hiển thị các loại phân tích có thể được xây dựng ở đây.
Chỉ số đơn - phân tích một chỉ số, Đa chỉ số - phân tích hai hoặc nhiều chỉ số. Trong cả hai trường hợp, mỗi số liệu được phân tích trong một môi trường biệt lập, tức là. thuật toán không tính đến hoạt động của các số liệu được phân tích song song, giống như trong trường hợp Đa số liệu. Để thực hiện các phép tính có tính đến mối tương quan của các số liệu khác nhau, bạn có thể sử dụng Phân tích dân số. Và Advanced đang tinh chỉnh các thuật toán với các tùy chọn bổ sung cho một số tác vụ nhất định.
Chỉ số đơn
Phân tích các thay đổi trong một số liệu duy nhất là điều đơn giản nhất có thể được thực hiện ở đây. Sau khi nhấp vào Tạo công việc, thuật toán sẽ tìm kiếm những điểm bất thường.
Trong lĩnh vực này aggregation bạn có thể chọn một cách tiếp cận để tìm kiếm sự bất thường. Ví dụ, khi min các giá trị dưới giá trị điển hình sẽ được coi là bất thường. Ăn Tối đa, Trung bình cao, Thấp, Trung bình, Khác biệt và những người khác. Có thể tìm thấy mô tả của tất cả các chức năng
Trong lĩnh vực này Phần cho biết trường số trong tài liệu mà chúng tôi sẽ tiến hành phân tích.
Trong lĩnh vực này
Thời lượng của dữ liệu được thu thập là yếu tố quan trọng ảnh hưởng đến hiệu quả của việc phân tích. Trong quá trình phân tích, thuật toán xác định các khoảng thời gian lặp lại, tính toán khoảng tin cậy (đường cơ sở) và xác định các điểm bất thường—độ lệch không điển hình so với hành vi thông thường của số liệu. Chỉ ví dụ:
Đường cơ sở với một phần dữ liệu nhỏ:
Khi thuật toán có điều gì đó cần học hỏi, đường cơ sở sẽ trông như thế này:
Sau khi bắt đầu nhiệm vụ, thuật toán xác định độ lệch dị thường so với định mức và xếp hạng chúng theo xác suất xảy ra bất thường (màu của nhãn tương ứng được biểu thị trong ngoặc đơn):
Cảnh báo (màu xanh): dưới 25
Nhỏ (vàng): 25-50
Chính (màu cam): 50-75
Chí mạng (màu đỏ): 75-100
Biểu đồ dưới đây cho thấy một ví dụ về những điểm bất thường được tìm thấy.
Ở đây bạn có thể thấy số 94, biểu thị khả năng xảy ra sự bất thường. Rõ ràng là vì giá trị gần bằng 100 nên có nghĩa là chúng ta có điểm bất thường. Cột bên dưới biểu đồ hiển thị xác suất cực kỳ nhỏ là 0.000063634% giá trị số liệu xuất hiện ở đó.
Ngoài việc tìm kiếm các điểm bất thường, bạn có thể chạy dự báo trong Kibana. Việc này được thực hiện đơn giản và từ cùng một góc nhìn với các điểm bất thường - nút Dự báo ở góc trên bên phải.
Dự báo được thực hiện trước tối đa 8 tuần. Ngay cả khi bạn thực sự muốn thì điều đó cũng không thể thực hiện được theo thiết kế.
Trong một số trường hợp, dự báo sẽ rất hữu ích, chẳng hạn như khi giám sát tải của người dùng trên cơ sở hạ tầng.
Đa số liệu
Hãy chuyển sang tính năng ML tiếp theo trong Elastic Stack - phân tích một số chỉ số trong một đợt. Nhưng điều này không có nghĩa là sự phụ thuộc của số liệu này vào số liệu khác sẽ được phân tích. Điều này giống với Chỉ số đơn nhưng có nhiều chỉ số trên một màn hình để dễ dàng so sánh tác động của chỉ số này với chỉ số khác. Chúng ta sẽ nói về việc phân tích sự phụ thuộc của một số liệu này với một số liệu khác trong phần Dân số.
Sau khi nhấp vào hình vuông có Multi Metric, một cửa sổ cài đặt sẽ xuất hiện. Chúng ta hãy xem xét chúng chi tiết hơn.
Trước tiên, bạn cần chọn các trường để phân tích và tổng hợp dữ liệu trên chúng. Các tùy chọn tổng hợp ở đây giống như đối với Chỉ số đơn (Tối đa, Trung bình cao, Thấp, Trung bình, Khác biệt và những người khác). Hơn nữa, nếu muốn, dữ liệu được chia thành một trong các trường (trường Dữ liệu phân tách). Trong ví dụ, chúng tôi đã thực hiện điều này theo trường Xuất xứSân bayID. Lưu ý rằng biểu đồ số liệu ở bên phải hiện được trình bày dưới dạng nhiều biểu đồ.
Lĩnh vực Các trường chính (Người có ảnh hưởng) ảnh hưởng trực tiếp đến những bất thường được phát hiện. Theo mặc định sẽ luôn có ít nhất một giá trị ở đây và bạn có thể thêm các giá trị bổ sung. Thuật toán sẽ tính đến mức độ ảnh hưởng của các trường này khi phân tích và hiển thị các giá trị “có ảnh hưởng” nhất.
Sau khi khởi chạy, một cái gì đó như thế này sẽ xuất hiện trong giao diện Kibana.
Đây là cái gọi là bản đồ nhiệt của các dị thường cho từng giá trị trường Xuất xứSân bayID, mà chúng tôi đã chỉ ra trong Dữ liệu phân tách. Giống như một Số liệu đơn, màu sắc biểu thị mức độ sai lệch bất thường. Thật thuận tiện khi thực hiện một phân tích tương tự, chẳng hạn như trên các máy trạm để theo dõi những người có số lượng ủy quyền lớn đáng ngờ, v.v. Chúng tôi đã viết rồi
Bên dưới bản đồ nhiệt là danh sách các điểm bất thường, từ mỗi điểm bất thường, bạn có thể chuyển sang chế độ xem Chỉ số đơn để phân tích chi tiết.
Dân số
Để tìm kiếm sự bất thường giữa các mối tương quan giữa các số liệu khác nhau, Elastic Stack có phân tích Dân số chuyên biệt. Với sự trợ giúp của nó, bạn có thể tìm kiếm các giá trị bất thường về hiệu suất của máy chủ so với các máy chủ khác, chẳng hạn như khi số lượng yêu cầu đến hệ thống đích tăng lên.
Trong hình minh họa này, trường Dân số cho biết giá trị mà số liệu được phân tích sẽ liên quan đến. Trong trường hợp này nó là tên của quá trình. Kết quả, chúng ta sẽ thấy tải bộ xử lý của từng tiến trình ảnh hưởng lẫn nhau như thế nào.
Xin lưu ý rằng biểu đồ của dữ liệu được phân tích khác với các trường hợp có Một số liệu và Nhiều số liệu. Điều này được thực hiện ở Kibana theo thiết kế nhằm cải thiện nhận thức về phân phối giá trị của dữ liệu được phân tích.
Biểu đồ cho thấy quá trình hoạt động bất thường căng thẳng (nhân tiện, được tạo bởi một tiện ích đặc biệt) trên máy chủ poipu, người đã ảnh hưởng (hoặc hóa ra là người có ảnh hưởng) đến sự xuất hiện của hiện tượng bất thường này.
Nâng cao
Phân tích với tinh chỉnh. Với Phân tích nâng cao, các cài đặt bổ sung sẽ xuất hiện trong Kibana. Sau khi nhấp vào ô Nâng cao trong menu tạo, cửa sổ có các tab này sẽ xuất hiện. Chuyển hướng chi tiết công việc Chúng tôi đã cố tình bỏ qua nó, có những cài đặt cơ bản không liên quan trực tiếp đến việc thiết lập phân tích.
В tóm tắt_count_field_name Theo tùy chọn, bạn có thể chỉ định tên của trường từ tài liệu chứa các giá trị tổng hợp. Trong ví dụ này, số lượng sự kiện mỗi phút. TRONG
Đây là khối cài đặt bổ sung để định cấu hình bộ phát hiện bất thường cho một tác vụ cụ thể. Chúng tôi dự định thảo luận về các trường hợp sử dụng cụ thể (đặc biệt là các trường hợp bảo mật) trong các bài viết sau. Ví dụ,
Trong lĩnh vực này chức năng Bạn có thể chọn một chức năng cụ thể để tìm kiếm sự bất thường. Ngoại trừ hiếm, có một vài chức năng thú vị hơn -
В tên_trường cho biết lĩnh vực của tài liệu mà việc phân tích sẽ được thực hiện. By_field_name có thể được sử dụng để phân tách các kết quả phân tích cho từng giá trị riêng lẻ của trường tài liệu được chỉ định ở đây. Nếu bạn điền over_field_name bạn sẽ có được phân tích dân số mà chúng ta đã thảo luận ở trên. Nếu bạn chỉ định một giá trị trong phân vùng_field_name, thì đối với trường này của tài liệu, các đường cơ sở riêng biệt sẽ được tính cho từng giá trị (ví dụ: giá trị có thể là tên của máy chủ hoặc quy trình trên máy chủ). TRONG loại trừ_thường xuyên có thể chọn tất cả các hoặc không ai, có nghĩa là loại trừ (hoặc bao gồm) các giá trị trường tài liệu thường xuyên xảy ra.
Trong bài viết này, chúng tôi đã cố gắng đưa ra ý tưởng ngắn gọn nhất có thể về khả năng học máy trong Elastic Stack; vẫn còn rất nhiều chi tiết còn sót lại phía sau. Hãy cho chúng tôi biết trong phần nhận xét những trường hợp bạn đã giải quyết được bằng cách sử dụng Elastic Stack và những nhiệm vụ bạn sử dụng nó. Để liên hệ với chúng tôi, bạn có thể sử dụng tin nhắn cá nhân trên Habré hoặc
Nguồn: www.habr.com