Trợ giúp MON về định nghĩa dịch vụ Đây là giai đoạn thứ hai và cuối cùng cho cấu hình MON.
Giá trị mặc định được hiển thị cho các dịch vụ Bắt buộc . Xem chủ đề trợ giúp tương ứng bên dưới để được trợ giúp thêm về Định nghĩa dịch vụ. Đối với "mail.alert" , đảm bảo rằng sendmail được cấu hình và deamon "sendmail" được bắt đầu trên hostmachine.
Định nghĩa dịch vụ
- servicename dịch vụ
- Một định nghĩa dịch vụ bắt đầu với họ dịch vụ từ khóa theo sau là một từ là thẻ cho dịch vụ này.
Các thành phần của dịch vụ là một khoảng thời gian, màn hình và một hoặc nhiều định nghĩa khoảng thời gian, như được định nghĩa dưới đây.
Nếu tên dịch vụ của "mặc định" được xác định trong nhóm đồng hồ có tên là "dafault" (xem bên trên), thì định nghĩa mặc định / mặc định sẽ được sử dụng để xử lý các bẫy mon không xác định.
- khoảng timeval
- Khoảng thời gian từ khóa theo sau là một giá trị thời gian xác định tần suất mà tập lệnh màn hình sẽ được kích hoạt. Giá trị thời gian được xác định là "30 giây", "5m", "1h" hoặc "1d", nghĩa là 30 giây, 5 phút, 1 giờ hoặc 1 ngày. Phần số có thể là một phần nhỏ, chẳng hạn như "1,5h" hoặc một tiếng rưỡi. Định dạng này của một đặc tả thời gian sẽ được gọi là timeval .
- traptimeout timeval
- Từ khóa này có tham số đặc điểm kỹ thuật thời gian giống như khoảng thời gian, và làm cho các dịch vụ mong đợi một cái bẫy từ một nguồn bên ngoài ít nhất đó thường xuyên, khác một thất bại sẽ được đăng ký. Điều này được sử dụng cho một dịch vụ nhịp tim.
- trapduration timeval
- Nếu một cái bẫy được nhận, trạng thái của dịch vụ mà cái bẫy được chuyển đến thường sẽ không đổi. Nếu trapduration được chỉ định, tình trạng của dịch vụ sẽ vẫn ở trong tình trạng thất bại trong suốt thời gian theo quy định của timeval, và sau đó nó sẽ được đặt lại "thành công".
- randskew timeval
- Thay vì lên lịch cho tập lệnh màn hình chạy ở đầu mỗi khoảng thời gian, hãy điều chỉnh ngẫu nhiên khoảng thời gian được chỉ định bởi tham số khoảng bằng randskew cộng hoặc trừ . Giá trị nghiêng được chỉ định là tham số khoảng : "30 giây", "5m", v.v ... Ví dụ: nếu khoảng cách là 1m và randskew là "5s", thì mon sẽ lên lịch cho kịch bản theo dõi một khoảng thời gian trong khoảng 55 giây và 65 giây. Mục đích là để giúp phân phối tải trên máy chủ khi nhiều dịch vụ được lên lịch trong cùng một khoảng thời gian.
- tên màn hình giám sát [arg ...]
- Trình theo dõi từ khóa theo sau là tên tập lệnh và đối số chỉ định màn hình sẽ chạy khi hết giờ. Các quy ước trích dẫn giống như Shell được tuân theo khi chỉ định các đối số sẽ gửi đến tập lệnh màn hình. Tập lệnh được gọi từ thư mục được cung cấp với đối số -s và tất cả các từ sau được cung cấp dưới dạng đối số cho chương trình giám sát, theo sau là danh sách các máy chủ trong nhóm được gọi bởi nhóm theo dõi hiện tại. Nếu dòng màn hình kết thúc bằng ";;" như một từ riêng biệt, các nhóm máy chủ không được thêm vào danh sách đối số khi chương trình được gọi.
- allow_empty_group
- Tùy chọn allow_empty_group sẽ cho phép một màn hình được gọi ngay cả khi nhóm máy chủ cho đồng hồ đó trống vì các máy chủ bị vô hiệu hóa. Hành vi mặc định là không gọi màn hình khi tất cả các máy chủ trong nhóm máy chủ đã bị tắt.
- mô tả mô tả
- Văn bản mô tả sau đây được truy vấn bởi các chương trình máy khách, được chuyển đến cảnh báo và giám sát thông qua một biến môi trường. Nó nên chứa một mô tả ngắn gọn về dịch vụ, phù hợp để đưa vào email hoặc trên một trang web.
- máy chủ loại trừ_hosts [máy chủ ...]
- Bất kỳ máy chủ nào được liệt kê sau Elim_hosts sẽ bị loại khỏi kiểm tra dịch vụ.
- loại trừ khoảng thời gian
- Không chạy một màn hình theo lịch trình trong thời gian được xác định bởi periodspec .
- phụ thuộc dependexpression
- Từ khóa phụ thuộc được sử dụng để xác định biểu thức phụ thuộc, đánh giá là đúng của sai, theo nghĩa boolean. Phụ thuộc là các biểu thức Perl thực tế và phải tuân theo tất cả các quy tắc cú pháp. Các biểu thức được đánh giá trong không gian gói riêng của chúng để không vô tình có một số tác dụng phụ không mong muốn. Nếu một lỗi cú pháp được tìm thấy khi đánh giá biểu thức, nó được ghi lại thông qua syslog.
Trước khi đánh giá, các thay thế sau đây trên biểu thức xảy ra: các cụm từ trông giống như "nhóm: dịch vụ" được thay thế bằng giá trị của trạng thái hoạt động hiện tại của dịch vụ được chỉ định đó. Các thay thế opstatus này được tính toán đệ quy, vì vậy nếu dịch vụ A phụ thuộc vào dịch vụ B và dịch vụ B phụ thuộc vào dịch vụ C, thì dịch vụ A phụ thuộc vào dịch vụ C. Các trạng thái hoạt động thành công (đánh giá là "1") là "STAT_OK", "STAT_COLDSTART "," STAT_WARMSTART "và" STAT_UNKNOWN ". Từ "TỰF" (trong tất cả các chữ hoa) có thể được sử dụng cho nhóm (ví dụ: "TỰF: dịch vụ") và là viết tắt của nhóm đồng hồ hiện tại.
Tính năng này có thể được sử dụng để kiểm soát các cảnh báo cho các dịch vụ phụ thuộc vào các dịch vụ khác, ví dụ: kiểm tra SMTP phụ thuộc vào máy có thể truy cập ping.
- dep_behavior {a | m}
- Việc đánh giá các biểu đồ phụ thuộc có thể kiểm soát việc loại bỏ các cảnh báo hoặc giám sát các lệnh.
Cảnh báo đàn áp . Nếu tùy chọn này được đặt thành "a", thì biểu thức phụ thuộc sẽ được đánh giá sau khi màn hình cho dịch vụ thoát hoặc sau khi nhận được bẫy. Một cảnh báo sẽ chỉ được gửi nếu đánh giá thành công, có nghĩa là không có nút nào trong biểu đồ phụ thuộc chỉ ra lỗi.
Giám sát đàn áp . Nếu nó được đặt thành "m", thì biểu thức phụ thuộc sẽ được loại bỏ trước khi màn hình cho dịch vụ sắp chạy. Nếu quá trình di chuyển thành công, thì màn hình sẽ được chạy. Nếu không, màn hình sẽ không được chạy và trạng thái của dịch vụ sẽ giữ nguyên.
Định nghĩa thời gian
Các khoảng thời gian được sử dụng để xác định các điều kiện sẽ cho phép cảnh báo được gửi.
- Giai đoạn [label:] periodspec
- Một giai đoạn nhóm một hoặc nhiều báo động và các biến kiểm soát mức độ thường xuyên xảy ra cảnh báo khi có lỗi. Từ khóa kỳ có hai hình thức. Đầu tiên lấy một đối số là một đặc tả thời gian từ mô-đun Time :: Time Perl 5 của Patrick Ryan. Tham khảo "Thời gian perldoc :: Thời gian" để biết thêm thông tin.
Hình thức thứ hai yêu cầu một nhãn theo sau là một đặc tả thời gian, như được định nghĩa ở trên. Nhãn là một thẻ bao gồm một ký tự chữ cái hoặc dấu gạch dưới theo sau bằng 0 hoặc nhiều chữ số hoặc dấu gạch dưới và kết thúc bằng dấu hai chấm. Hình thức này cho phép nhiều thời kỳ với cùng một định nghĩa thời gian. Một sử dụng là phải có một định nghĩa thời gian mà không có người alertafter hoặc alertevery tham số cho một khoảng thời gian đặc biệt, và một người khác trong khoảng thời gian tương tự với một bộ cảnh báo khác nhau mà có chứa những thông số.
- alertevery timeval
- Từ khóa alertevery (trong một định nghĩa thời gian ) có cùng loại đối số với biến khoảng và giới hạn số lần cảnh báo được gửi khi dịch vụ tiếp tục không thành công. Ví dụ: nếu khoảng thời gian là "1h", thì chỉ các cảnh báo trong phần thời gian sẽ chỉ được kích hoạt một lần mỗi giờ. Nếu từ khóa alertevery bị bỏ qua trong một mục thời gian, một cảnh báo sẽ được gửi đi mỗi khi phát hiện ra lỗi. Theo mặc định, nếu đầu ra của hai lần thất bại liên tiếp thay đổi, thì khoảng thời gian cảnh báo sẽ bị ghi đè. Nếu từ "tóm tắt" là đối số cuối cùng, thì chỉ các dòng đầu ra tóm tắt sẽ được xem xét khi so sánh đầu ra của các thất bại liên tiếp.
- cảnh báo sau num
- cảnh báo sau num timeval
- Từ khóa alertafter (trong một phần thời gian ) có hai dạng: chỉ với đối số "num" hoặc với đối số "num timeval". Ở dạng đầu tiên, một cảnh báo sẽ chỉ được gọi sau khi "num" thất bại liên tiếp.
Ở dạng thứ hai, các đối số là một số nguyên dương theo sau là một khoảng, như được mô tả bởi biến khoảng ở trên. Nếu các tham số này được chỉ định, thì các cảnh báo trong khoảng thời gian đó sẽ chỉ được gọi sau khi có nhiều lỗi xảy ra trong khoảng đó. Ví dụ, nếu alertafter được đưa ra những lập luận "3 30m", sau đó cảnh báo sẽ được gọi nếu 3 thất bại xảy ra trong vòng 30 phút.
- chữ số
Biến này báo cho máy chủ gọi không quá số cảnh báo num trong một lỗi. Bộ đếm cảnh báo được giữ trên cơ sở theo từng giai đoạn và được đặt lại theo từng thành công.
- comp_alerts
Nếu tùy chọn này được chỉ định, thì upalerts sẽ chỉ được gọi nếu cảnh báo "xuống" tương ứng đã được gọi.
- cảnh báo cảnh báo [arg ...]
- Một khoảng thời gian có thể chứa nhiều cảnh báo, được kích hoạt khi lỗi dịch vụ. Một cảnh báo được chỉ định với từ khóa cảnh báo , theo sau là một parmeter thoát tùy chọn và các đối số được diễn giải giống như định nghĩa của màn hình , nhưng không có ";;" ngoại lệ. Tham số thoát có dạng exit = x hoặc exit = xy và có tác dụng là cảnh báo chỉ được gọi nếu trạng thái thoát của tập lệnh màn hình nằm trong phạm vi của tham số thoát . Ví dụ: nếu dòng cảnh báo là exit exit = 10-20 mail.alert mis thì mail-alert sẽ chỉ được gọi với mis làm đối số của nó nếu giá trị thoát của chương trình màn hình nằm trong khoảng từ 10 đến 20. Tính năng này cho phép bạn kích hoạt cảnh báo khác nhau ở các mức độ nghiêm trọng khác nhau (như khi không gian đĩa trống tăng từ 8% đến 3%).
Xem phần CHƯƠNG TRÌNH ALERT ở trên để biết danh sách các pramaeter mon sẽ tự động chuyển đến các chương trình cảnh báo.
- cảnh báo upalert [arg ...]
- Một upalert là lời khen của một cảnh báo . Một upalert được gọi khi một dịch vụ làm cho quá trình chuyển trạng thái từ thất bại sang thành công. Tập lệnh upalert được gọi là cung cấp các tham số tương tự như tập lệnh cảnh báo , với việc thêm tham số -u được sử dụng đơn giản để cho tập lệnh cảnh báo biết rằng nó đang được gọi là tập lệnh upalert. Nhiều upalerts có thể được chỉ định cho từng định nghĩa thời gian. Xin lưu ý rằng hành vi mặc định là một upalert sẽ được gửi bất kể nếu có bất kỳ cảnh báo "xuống" nào trước đó, vì các upalerts được kích hoạt khi chuyển trạng thái. Đặt tùy chọn comp_alerts theo chu kỳ để ghép các cảnh báo với "cảnh báo" xuống.
- cảnh báo khởi động [arg ...]
- Một startupalert chỉ được gọi khi máy chủ mon bắt đầu thực thi.
- upalertafter timeval
- Tham số upalertafter được chỉ định là một chuỗi theo cú pháp của tham số khoảng ("30s", "1m", v.v.) và điều khiển kích hoạt một upalert . Nếu một dịch vụ quay trở lại sau khi ngừng hoạt động trong thời gian lớn hơn hoặc bằng giá trị của tùy chọn này, một upalert sẽ được gọi. Sử dụng tùy chọn này để ngăn chặn các cuộc gọi lên được gọi vì "blips" (mất điện ngắn).