Tổng quan
Gần đây, nhiều câu hỏi đã được đặt ra về cách sử dụng mẫu tùy chỉnh cho cảnh báo CELOG SMTP. Kể từ OneFS 6.0 (2010), CELOG đã sử dụng một công cụ mẫu có tên là Tempita ( https://pypi.org/project/Tempita/#description ) để định dạng mẫu email. Cả mẫu mặc định và mẫu tùy chỉnh có thể định cấu hình của người dùng đều sử dụng công cụ này. Vào năm 2013, toàn bộ dự án Tempita đã bị hủy bỏ. Trong OneFS 9.4 (2022), chúng tôi bắt đầu sử dụng một triển khai mới của công cụ mẫu – Mustache. ( https://mustache.github.io/ )
Trong blog này, tôi sẽ hướng dẫn bạn cách triển khai mới này.
Mẫu mặc định của tôi ở đâu?
Mẫu email mặc định nằm tại /etc/ifs/celog_email_template.txt. Không sửa đổi trực tiếp tệp mẫu này. Cú pháp tương tự như phiên bản trước, nhưng tôi sẽ sớm thực hiện.
# mèo /etc/ifs/celog_email_template.txt
{{#công ty}}
Công ty: {{company}}
{{/công ty}}
{{#vị trí}}
Vị trí: {{location}}
{{/vị trí}}
{{#tên_chính}}
Tên chính: {{primary_name}}
{{/tên_chính}}
{{#điện_thoại_chính1}}
Điện thoại: {{primary_phone1}}
{{/primary_phone1}}
{{#điện thoại chính2}}
Điện thoại 2: {{primary_phone2}}
{{/primary_phone2}}
{{#primary_email}}
Email: {{primary_email}}
{{/primary_email}}
{{#tên_phụ}}
Tên phụ: {{secondary_name}}
{{/tên_phụ}}
{{#điện_thoại_thứ_hai1}}
Điện thoại: {{secondary_phone1}}
{{/điện thoại_thứ_hai1}}
{{#điện_thoại_thứ_hai2}}
Điện thoại 2: {{secondary_phone2}}
{{/điện thoại_thứ_hai2}}
{{#secondary_email}}
Email: {{secondary_email}}
{{/secondary_email}}
Tên cụm: {{clustername}}
GUID cụm: {{clusterguid}}
Phiên bản Sender OneFS: {{sender_onefsversion}}
Số sê-ri của người gửi: {{sender_serial}}
{{#node_event_list}}
{{^devid}}
Sự kiện cụm
{{/devid}}
{{#devid}}
Node {{node_name}} (devid {{devid}}) Nhóm sự kiện
————————————————– ———————-
Phiên bản OneFS: {{onefs_version}}
Số sê-ri: {{serial_number}}
{{/devid}}
————————————————– ———————-
ID Bắt đầu Sev Tin nhắn
————————————————– ———————-
{{#nhóm sự kiện}}
{{eventgroup_instance}} {{time_noticed}} {{severity}} {{message}}
{{/nhóm sự kiện}}
{{/node_event_list}}
Tệp đính kèm:
Đính kèm:
{{#danh_sách_đính_kèm}}
{{.}}
{{/danh sách đính kèm}}
{{^danh_sách_đính_kèm}}
(không có)
{{/danh sách đính kèm}}
{{#has_unattached_list}}
Không đính kèm do giới hạn kích thước email:
{{/has_unattached_list}}
{{#danh_sách_không_gắn_vào}}
{{.}}
{{/unattached_list}}
{{#kb_url_list}}
{{.}}
{{/kb_url_danh sách}}
Và mẫu mặc định này sẽ hiển thị cảnh báo email CELOG như sau:
Cú pháp
Phép thay thế biến cơ bản
Tên cụm: {{clustername}}
Điều này không thay đổi giữa Tempita và Mustache.
Các câu lệnh điều kiện (nếu)
{{#công ty}}
Công ty: {{company}}
{{/công ty}}
Mustache cho phép bạn hiển thị có điều kiện một số văn bản bằng cách bao bọc nó trong một phần, bắt đầu bằng thẻ “#” và kết thúc bằng thẻ “/”. Trong trường hợp này, chúng tôi chỉ tạo ra “Company: SOME_COMPANY_NAME” nếu biến công ty có mặt. Trong các trường hợp khác, khi biến được đặt tên là giá trị boolean true/false, chúng tôi chỉ hiển thị phần nếu biến là true.
Mustache thực sự không có câu lệnh if/else, nhưng nó cho phép bạn sử dụng “^” để có được điều ngược lại của một số điều kiện, có hiệu ứng tương tự như câu lệnh else. Ví dụ, phần này của mẫu mới thêm “(none)” trong trường hợp không chắc là không có tệp nào được đính kèm, điều mà mẫu mặc định trước đó không làm:
Tệp đính kèm:
Đính kèm:
{{#danh_sách_đính_kèm}}
{{.}}
{{/danh sách đính kèm}}
{{^danh_sách_đính_kèm}}
(không có)
{{/danh sách đính kèm}}
Tại đây, nếu không có mục nào trong attachment_list, chúng tôi sẽ hiển thị “(none)” trong phần {{^attachment_list}}.
Vòng lặp (cho)
Mới:
{{#nhóm sự kiện}}
{{eventgroup_instance}} {{time_noticed}} {{severity}} {{message}}
{{/nhóm sự kiện}}
Các vòng lặp của Mustache cũng bắt đầu bằng phần “#”, tương tự như các câu lệnh điều kiện của nó. Nếu phần này dành cho danh sách các mục, nó sẽ xuất ra nội dung của phần đó cho từng mục trong danh sách.
Trong một vòng lặp, bạn tự động ở trong ngữ cảnh của mục hiện tại và có thể truy cập trực tiếp vào các mục con của mục đó. Nếu bạn muốn truy cập vào chính mục đó, hãy sử dụng {{.}}, như trong ví dụ attachment_list ở trên. Ví dụ này thực ra là từ một vòng lặp bên trong, trong đó vòng lặp bên ngoài nằm trên mỗi nút có cảnh báo cần gửi, đó là lý do tại sao chúng ta truy cập trực tiếp vào eventgroups thay vì node_event[‘eventgroups’] cũ. Các biến khả dụng
Thông tin chung
Các giá trị được cấu hình trong liên hệ cụm isi.
công ty |
vị trí |
tên_chính |
email chính |
điện thoại chính1 |
điện thoại chính2 |
tên_phụ |
email phụ |
điện thoại phụ1 |
điện thoại thứ cấp2 |
Thông tin cụm
tên cụm |
hướng dẫn cụm |
người gửi_một_phiên_bản |
người gửi_serial |
Thông tin nhóm sự kiện
Các nhóm sự kiện được chia theo nút, trong một danh sách gọi là node_event_list
. “Nút” có devid 0 thực sự chứa các nhóm sự kiện trên toàn cụm.
Ví dụ về danh sách có một nút duy nhất có một nhóm sự kiện duy nhất:
"node_event_list" : [
|
Thông tin đính kèm
Nhóm sự kiện có thể cung cấp hoặc không cung cấp tệp đính kèm email, tùy thuộc vào kích thước tệp đính kèm và liệu các tệp đính kèm đó có được tạo ngay từ đầu hay không.
Ví dụ về biến đính kèm:
“has_attachment_list”: đúng
“danh sách tệp đính kèm”: [
“sự kiện-GUID-TIME.xml”,
“largevarfiles.190”,
“dfvar.190”,
“largelogs.190”
]
“has_unattached_list”: sai
“danh sách không đính kèm”: []
Thông tin KB
URL KB được cung cấp dưới dạng danh sách các chuỗi:
“kb_url_list”: [
“URL cơ sở tri thức cho sự kiện 100010001: \nhttp://doc.isilon.com/onefs/9.4.0/help/en-us/#ifs_r_event_100010001.html\n”
]
Kiểm tra mẫu
Một trình kiểm tra mẫu cũng được giới thiệu trong OneFS 9.4 để đảm bảo cú pháp của mẫu tùy chỉnh là chính xác. Trình kiểm tra này sẽ cố gắng xem trước mẫu trên dòng lệnh trước khi cấu hình mẫu trên kênh thực tế mà không cần tạo sự kiện thực tế. Trình kiểm tra này sẽ sử dụng thông tin cụm được xác định trong Quản lý cụm à Cài đặt chung à Nhận dạng cụm trong OneFS WebUI, nhưng sự kiện ví dụ không phải là sự kiện thực.
Sau đây là một ví dụ về việc kiểm tra mẫu mặc định tại /etc/ifs/celog_email_template.txt :
# python -m isi.celog_alerting.channels kiểm tra mẫu /etc/ifs/celog_email_template.txt
Công ty: tên công ty
Vị trí: sh
Tên chính: vincent
Điện thoại: 555123
Điện thoại2: 555789
Email: vincent.shen@dell.com
Tên phụ: userB
Điện thoại: 555000
Điện thoại2: 5558080
Email: userB@dell.com
Tên cụm: vshen-fne68wf
GUID cụm: 005056ad9f23abc43966c50dd6c6d69d25bf
Phiên bản Sender OneFS: Isilon OneFS 9.9.0.0 (0x90900b000001095)
Số sê-ri của người gửi: SV200-004EII-TUMJ
Node vshen-fne68wf-1 (devid 1) Nhóm sự kiện
————————————————– ———————-
Phiên bản OneFS: Isilon OneFS 9.9.0.0 (0x90900b000001095)
Số sê-ri: SV200-004EII-TUMJ
————————————————– ———————-
ID Bắt đầu Sev Tin nhắn
————————————————– ———————-
113 09/13 16:53 C Phân vùng /var/crash gần đạt dung lượng (đã sử dụng 92,5%)
Tệp đính kèm:
Đính kèm:
sự kiện.xml
dfall.401
varcrashls.401
dấu vết ngược.401
Không đính kèm do giới hạn kích thước email:
a_tập_tin_rất_lớn.txt
URL cơ sở kiến thức cho sự kiện 100010002:
http://doc.isilon.com/onefs/9.9.0/help/en-us/#ifs_r_event_100010002.html
Tác giả : Vincent Shen
Bài viết mới cập nhật
Trình điều khiển máy khách đa đường dẫn PowerScale và khả năng kích hoạt AI
Trình điều khiển máy khách đa đường dẫn PowerScale và khả ...
AI trong Khoa học sự sống: Một cách tiếp cận thực tế với máy tính cá nhân
Máy tính Dell AI lý tưởng cho các tổ chức khoa ...
Dập tắt các mối đe dọa cấp BIOS bằng bảo mật được hỗ trợ bởi phần cứng
Tìm hiểu cách dữ liệu từ xa của thiết bị Dell ...
Thiết kế Edge cho tương lai
Dịch vụ Edge của Dell và nền tảng NativeEdge cải tiến ...