Logo Zephyrnet

Tại sao nhóm DevOps không thể bỏ qua việc giám sát dưới dạng mã

Ngày:

Giới thiệu

Giám sát là một thành phần quan trọng của DevOps để duy trì sự ổn định, hiệu suất và độ tin cậy của các ứng dụng và cơ sở hạ tầng trong suốt vòng đời phát triển phần mềm. Từ tự động hóa được nhấn mạnh đủ trong bối cảnh DevOps và giám sát là một phần của DevOps. Tự động hóa mà không có sự giám sát cũng giống như nhắm vào mục tiêu trong bóng tối. Bất kể hiệu quả tổng thể như thế nào, việc thiếu giám sát có thể khiến việc triển khai DevOps trở nên không rõ ràng và sai sót.

Trong khi hầu hết các nhóm hoặc doanh nghiệp vẫn chọn thực hiện các chiến lược giám sát đặc biệt thì giám sát động và tự động hiếm khi được nghe hoặc chứng kiến. Tự động hóa là mục tiêu và cách tiếp cận để bỏ qua tự động hóa (giám sát) được triển khai thủ công, điều này vô nghĩa. Giám sát dưới dạng mã (MaC) là một chiến lược đòi hỏi phải thiết kế và kiểm soát cấu hình giám sát và khả năng quan sát bằng cách sử dụng mã. Nó nhằm mục đích tự động hóa việc thiết lập và cấu hình các công cụ và hệ thống giám sát dưới dạng mã để làm cho chúng có thể mở rộng, lặp lại và thống nhất trong toàn bộ cơ sở hạ tầng.

Ưu điểm của việc giám sát khi áp dụng quy tắc

Các kỹ thuật giám sát truyền thống cấu thành cấu hình thủ công và kiểm tra định kỳ, có thể dẫn đến sự không nhất quán và có khả năng xảy ra lỗi cao. Khả năng thích ứng với tính chất năng động của các phương pháp Tự động hóa và DevOps liên quan đến giám sát truyền thống là rất thấp.

Các tổ chức sẽ có nhiều quyền kiểm soát hơn đối với cơ sở hạ tầng bằng cách tận dụng giám sát dưới dạng mã các khả năng, thường thúc đẩy khả năng mở rộng, khả năng lặp lại và khả năng thích ứng tăng lên. MaC giúp tăng cường hiệu quả hoạt động với việc triển khai và tích hợp DRY (Đừng lặp lại chính mình) bằng cách mã hóa các quy trình giám sát để có cơ sở hạ tầng linh hoạt với tốc độ đáng kinh ngạc.

Ngoài ra, thông qua giám sát dưới dạng mã, các nhóm có thể chứng kiến ​​việc triển khai cơ sở hạ tầng giám sát một cách dễ dàng với thử nghiệm mở rộng, tích hợp liền mạch và tự động hóa mạnh mẽ, đồng thời mang lại lợi ích đặc biệt cho cơ sở hạ tầng và khả năng quan sát ứng dụng.

Lợi ích chung của việc giám sát dưới dạng quy tắc

Giám sát thường là một phần của cơ sở hạ tầng toàn doanh nghiệp dưới dạng chiến lược mã. Việc tổng hợp giám sát dưới dạng mã với cơ sở hạ tầng dưới dạng mã thể hiện khả năng DevOps thuần túy. Chúng ta hãy khám phá một vài khả năng của MaC:

Tích hợp thư viện và khung vào IaaC

Mô-đun và giải pháp giám sát có thể mở rộng có thể được xây dựng trong các thư viện gốc hoặc gần gốc bằng cách sử dụng các ngôn ngữ lập trình được nhà cung cấp IaaC hỗ trợ và được tích hợp cho các giải pháp nội bộ và có thể mở rộng bằng bộ điều khiển trên mặt phẳng điều khiển.

Dưới đây là mã minh họa mẫu minh họa cách giám sát cơ sở hạ tầng và kích hoạt cảnh báo trên Slack bằng Prometheus và Terraform.

#mã trăn giả
yêu cầu nhập khẩu
nhập timedef Slack_MaC_alert(slack_webhook_url:str):accumulated_alerts = []
prometheus_alertmanager_url = “http://prometheus-alertmanager:8000/api/v2/alerts”

phản hồi = request.get(prometheus_alertmanager_url)
phản hồi.raise_for_status()

#tích lũy tất cả cảnh báo ở cuối danh sách
cảnh báo_batch = tích lũy_alerts.extend(response.json)

trả lại cảnh báo_batch

nếu __name__ == '__main__':
trong khi Đúng:
message_batch = Slack_MaC_alert(“slack_url”)
json_payload = {
“văn bản”: message_batch
}

request.post(slack_webhook_url, json=json_payload)
#thu thập thông báo mỗi phút
thời gian ngủ (60)

#mã địa hình giả
tài nguyên “null_resource” “custom_objects” {
for_each = local.custom_objectstriggers = {
luôn_run = “${timestamp()}”
}nhà cung cấp “local-exec” {
lệnh = “python3 ${path.module}/pseudo_python_script.py”
}
}

Mã giả cố gắng kích hoạt tập lệnh Python tùy chỉnh cứ sau XNUMX phút để tích lũy cảnh báo như một phần của chiến lược giám sát và đẩy chúng đến Slack bằng cách sử dụng các nhà cung cấp terraform. Việc triển khai chứng minh rằng việc giám sát dưới dạng chức năng mã có thể được mở rộng để đạt được các giải pháp hiệu quả và có thể tùy chỉnh.

Giải pháp này xác nhận tính khả thi của việc giám sát dưới dạng mã trong việc xây dựng các công cụ và tiện ích thích ứng có thể lặp lại và mở rộng, mang lại khả năng kiểm soát và linh hoạt cao hơn.

Có thể kích hoạt tính năng khắc phục lỗi, sự không nhất quán và lỗ hổng ở quy mô lớn

Các hành động khắc phục ngay lập tức có thể được thực thi thông qua mã trong môi trường thấp hơn và cấu hình có thể được hoàn nguyên kịp thời trong quá trình triển khai nếu gặp phải bất kỳ rủi ro hoặc lỗ hổng bảo mật nào.

Việc tích hợp trường hợp thử nghiệm vào mã giám sát trở nên đơn giản, loại bỏ nhu cầu sử dụng ứng dụng của bên thứ ba hoặc nhà cung cấp để kiểm tra cơ sở hạ tầng giám sát của bạn. Trạng thái thành công và thất bại của trường hợp thử nghiệm xác định xem các tính năng mới có được đẩy sang giai đoạn tiếp theo hay không.

#mã giả
tài nguyên “null_resource” “monitoring_check” {
kích hoạt = {
luôn_run = “${timestamp()}”
}nhà cung cấp “local-exec” {
lệnh = <<-EOT
if [ $(null_resource.custom_objects) -eq 0 ]; sau đó
echo “Kiểm tra giám sát không thành công. Việc triển khai bị hủy bỏ.”
thoát 1
fi
EOT
}
}

Trường hợp thử nghiệm xác thực trạng thái thực thi của giải pháp giám sát nội bộ của chúng tôi và giá trị trả về của hàm của chúng tôi sẽ xác định giai đoạn triển khai.

Giám sát tổng thể khi mã tăng tốc các quy trình có thể quan sát thông qua việc cung cấp tự động và xử lý việc mở rộng quy mô kiểm tra hiệu quả để giảm chi phí chung với tính minh bạch và khả năng lặp lại được nâng cao, tạo điều kiện cho sự cộng tác giữa các nhóm và quy trình làm việc linh hoạt.

Kết luận

Một sự thay đổi mang tính biến đổi có thể được chứng kiến ​​bằng sự gia tăng của hoạt động giám sát dưới dạng mã. Nó góp phần đẩy nhanh quá trình triển khai và cung cấp cách tiếp cận chủ động để ngăn ngừa lỗi bằng cách tích hợp các cấu hình giám sát dưới dạng mẫu mã vào cơ sở hạ tầng để giảm nguy cơ sai lệch cấu hình và lỗi của con người bằng cách đảm bảo việc giám sát được triển khai nhất quán trên các môi trường.

Giám sát dưới dạng mã giúp việc mở rộng và triển khai hiệu quả, cho phép các nhóm điều chỉnh khối lượng công việc đang thay đổi một cách nhanh chóng. Nó hoàn toàn tương quan với các nguyên tắc mã hóa hợp lý hỗ trợ tính nhất quán, độ tin cậy và kiểm soát phiên bản. Các nhóm DevOps có thể hưởng lợi bằng cách áp dụng giám sát dưới dạng mã thể hiện khả năng tự động hóa thiết lập giám sát, thúc đẩy tính linh hoạt và tạo điều kiện giải quyết nhanh chóng các vấn đề.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img