ngày tính toán cho đến khi đĩa đầy


9

Chúng tôi sử dụng than chì để theo dõi lịch sử sử dụng đĩa theo thời gian. Hệ thống cảnh báo của chúng tôi xem xét dữ liệu từ than chì để cảnh báo chúng tôi khi không gian trống rơi xuống dưới một số khối nhất định.

Tôi muốn nhận thông báo thông minh hơn - điều tôi thực sự quan tâm là "tôi phải mất bao lâu trước khi phải làm gì đó về không gian trống?", Ví dụ: nếu xu hướng cho thấy sau 7 ngày tôi sẽ hết đĩa không gian sau đó tăng Cảnh báo, nếu dưới 2 ngày thì tăng Lỗi.

Giao diện bảng điều khiển tiêu chuẩn của Graphite có thể khá thông minh với các dẫn xuất và các dải tin cậy Holt Winters nhưng cho đến nay tôi vẫn chưa tìm được cách chuyển đổi nó thành các số liệu có thể hành động. Tôi cũng ổn với việc bẻ các con số theo những cách khác (chỉ cần trích xuất số nguyên từ than chì và chạy một kịch bản để làm điều đó).

Một điều phức tạp là đồ thị không trơn tru - các tệp được thêm và xóa nhưng xu hướng chung theo thời gian là việc sử dụng dung lượng ổ đĩa tăng lên, do đó có lẽ cần phải xem xét mức tối thiểu cục bộ (nếu nhìn vào số liệu "không có đĩa" ) và vẽ một xu hướng giữa các máng.

Có ai đã làm điều này?


cơ sở hạ tầng của bạn là gì? ví dụ: nếu bạn là nhà vmware, bạn có thể xem các sản phẩm Trình quản lý hoạt động của họ, loại thực hiện chế độ xem dự đoán này trên không gian đĩa.
Chopper3

The volume of crap people have to store will expand to fill the disk available.- Old Sysadmin Axiom
voretaq7

Các máy chủ của chúng tôi được phân chia giữa các VM VM sử dụng IBM XIV cho các đĩa và KVM sử dụng SD cục bộ. Tôi không chắc chúng tôi có quyền truy cập vào loại thông tin đó (nhóm của tôi không quản lý VMware hoặc XIV) và muốn một giải pháp độc lập với sản phẩm.
Amos Shapira

Câu trả lời:


8

Thành thật mà nói "Days Until Full" thực sự là một số liệu tệ hại - các hệ thống tập tin nhận được THỰC SỰ TUYỆT VỜI khi chúng tiếp cận việc sử dụng 100%.
Tôi thực sự khuyên bạn nên sử dụng các ngưỡng truyền thống 85%, 90%, 95% (cảnh báo, báo động và quan trọng bạn thực sự cần phải sửa chữa-NGAY BÂY GIỜ) - điều này sẽ cung cấp cho bạn nhiều thời gian cảnh báo trên các đĩa hiện đại (giả sử ổ đĩa 1TB: 85% terabyte vẫn còn nhiều dung lượng nhưng bạn nhận thức được vấn đề tiềm ẩn, 90% bạn nên lập kế hoạch mở rộng đĩa hoặc một số giảm thiểu khác, và ở mức 95% terabyte bạn còn lại 50GB và rất nên sửa lỗi).

Điều này cũng đảm bảo rằng hệ thống tệp của bạn hoạt động tối ưu hơn hoặc ít hơn: nó có nhiều không gian trống để xử lý việc tạo / sửa đổi / di chuyển các tệp lớn.

Nếu đĩa của bạn không hiện đại (hoặc kiểu sử dụng của bạn liên quan đến lượng dữ liệu lớn hơn được ném vào đĩa), bạn có thể dễ dàng điều chỉnh ngưỡng.


Nếu bạn vẫn tiếp tục sử dụng số liệu "ngày cho đến khi đầy", bạn có thể trích xuất dữ liệu từ than chì và thực hiện một số phép toán trên đó. Các công cụ giám sát của IBM triển khai các số liệu cho đến vài ngày cho đến khi có thể cho bạn ý tưởng về cách triển khai nó, nhưng về cơ bản, bạn đang thực hiện tỷ lệ thay đổi giữa hai điểm trong lịch sử.

Vì lợi ích của bạn, bạn có thể sử dụng công cụ phái sinh từ Graphite (sẽ cung cấp cho bạn tỷ lệ thay đổi theo thời gian) và dự án sử dụng điều đó, nhưng nếu bạn THỰC SỰ muốn cảnh báo "thông minh hơn", tôi khuyên bạn nên sử dụng tỷ lệ thay đổi hàng ngày và hàng tuần (được tính dựa trên mức sử dụng cao nhất trong ngày / tuần).

Dự báo cụ thể bạn sử dụng (tỷ lệ thay đổi nhỏ nhất, tỷ lệ thay đổi lớn nhất, tỷ lệ thay đổi trung bình, trung bình có trọng số, v.v ....) phụ thuộc vào môi trường của bạn. Các công cụ của IBM cung cấp rất nhiều quan điểm khác nhau bởi vì thực sự rất khó để đưa ra một mô hình phù hợp với một kích thước.


Cuối cùng, không có thuật toán nào sẽ rất tốt để thực hiện loại phép tính mà bạn muốn. Việc sử dụng ổ đĩa được điều khiển bởi người dùng và người dùng là phản đề của mô hình Rational Actor: Tất cả các dự đoán của bạn có thể xuất hiện ngoài cửa sổ với một người điên quyết định rằng hôm nay là ngày họ sẽ thực hiện kết xuất bộ nhớ hệ thống đầy đủ cho họ thư mục nhà. Chỉ vì.


Cảm ơn những hiểu biết của bạn. Tôi thấy điểm của bạn. Tôi vẫn nghĩ rằng các ngưỡng không đổi chỉ cố gắng phản ánh "tôi đã khắc phục được bao lâu?" và cảm thấy phần nào được chứng thực bằng nhận xét "điều chỉnh ngưỡng của bạn". Các dẫn xuất than chì đơn giản không hoạt động vì đồ thị ban đầu không trơn tru. Cảm ơn con trỏ tới các công cụ của IBM, những gì bạn mô tả âm thanh giống như những gì tôi đã bắt đầu nghĩ đến (trích xuất hai mức tối thiểu cuối cùng và tính độ dốc từ chúng).
Amos Shapira

Chắc chắn điểm của số liệu 'ngày đến đầy' là, với ngưỡng 85/90/95 tĩnh, bạn không biết đĩa sẽ được lấp đầy nhanh như thế nào? Chắc chắn, bạn nhận thức được một vấn đề tiềm ẩn, nhưng làm thế nào bạn có thể biết liệu bạn có ngày để giải quyết nó hay tuần / tháng không?

Tôi thấy thực sự thú vị rằng bạn sẽ có ý kiến ​​này. Hãy để tôi đóng khung theo cách này: Công ty của bạn có quy trình mua sắm mất khoảng 6 tuần giữa yêu cầu ban đầu cho nhiều ổ cứng hơn cho đến ngày những ổ cứng đó thực sự được cài đặt trong hộp và bắt đầu phân phối lại. Cho rằng khung thời gian 6 tuần tại đĩa nào bạn cần được thông báo về% để có thể cài đặt đĩa đúng lúc? 80%? 75%? Thực tế của vấn đề là bạn không biết trừ khi bạn nỗ lực tính toán tốc độ tăng trưởng.
JHixson

2

Gần đây chúng tôi đã đưa ra một giải pháp tùy chỉnh cho việc này bằng cách sử dụng hồi quy tuyến tính.

Trong hệ thống của chúng tôi, nguồn chính của sự cạn kiệt đĩa là các tệp nhật ký đi lạc không được quay.

Vì chúng phát triển rất dễ đoán, chúng ta có thể thực hiện hồi quy tuyến tính đối với việc sử dụng đĩa (ví dụ z = numpy.polyfit(times, utilization, 1):) sau đó tính toán 100% cho mô hình tuyến tính (ví dụ (100 - z[1]) / z[0]:)

Việc triển khai được triển khai trông như thế này bằng cách sử dụng ruby ​​và GSL, mặc dù numpy cũng hoạt động khá tốt.

Cung cấp dữ liệu sử dụng trung bình trong một tuần này trong khoảng thời gian 90 phút (112 điểm) đã có thể chọn ra các ứng cử viên có khả năng bị cạn kiệt đĩa mà không có quá nhiều tiếng ồn.

Lớp trong ý chính được bao bọc trong một lớp kéo dữ liệu từ trinh sát, cảnh báo đến chùng xuống và gửi một số từ xa thời gian chạy đến statsd. Tôi sẽ loại bỏ bit đó vì nó dành riêng cho cơ sở hạ tầng của chúng tôi.


Tôi đã cập nhật câu trả lời với một số thông tin bây giờ chúng tôi đã đưa ra.
chiếu

1
Chỉ cần tìm thấy một gotcha hài hước với phương pháp này. Chúng tôi cũng có 90% báo động. Một trong những máy chủ của chúng tôi đang phát triển nên dần dần nó đạt 90% và kích hoạt báo động đó mặc dù nó vẫn còn hơn một tuần trước khi đạt 100% để cảnh báo dự đoán không bao giờ phát ra;) Đoán tôi nên sử dụng (90 - z[1]) / z[0]thay thế.
thảm chùi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.