Là một phần của hệ thống giám sát doanh nghiệp của họ, các tổ chức dựa vào cảnh báo và thông báo làm tuyến phòng thủ đầu tiên để đạt được tính khả dụng cao và do đó giảm chi phí ngừng hoạt động.
Cảnh báo và thông báo đôi khi được sử dụng thay thế cho nhau, chẳng hạn như chúng ta có thể nói “Tôi đã nhận được cảnh báo hệ thống tải cao” và việc thay thế “cảnh báo” bằng “thông báo” sẽ không thay đổi ý nghĩa của thông báo. Tuy nhiên, trong thế giới của các hệ thống quản lý, điều quan trọng cần lưu ý là sự khác biệt:cảnh báo là các sự kiện được tạo ra do sự cố hệ thống và thông báo được sử dụng để cung cấp thông tin về trạng thái hệ thống, bao gồm cả sự cố. Như một ví dụ, blog của Somenines Giới thiệu về Tích hợp Cảnh báo ClusterControl thảo luận về một trong những tính năng tích hợp của ClusterControl, hệ thống thông báo có thể gửi cảnh báo qua email, dịch vụ trò chuyện và hệ thống quản lý sự cố. Cũng xem PostgreSQL Wiki - Cảnh báo và Thông báo Trạng thái.
Để giám sát chính xác hoạt động cơ sở dữ liệu PostgreSQL, hệ thống quản lý dựa vào số liệu hoạt động cơ sở dữ liệu, tính năng tùy chỉnh hoặc cố vấn giám sát và tệp nhật ký giám sát.
Trong bài viết này, tôi xem xét các công cụ được liệt kê trong PostgreSQL Wiki, phần Giám sát và PostgreSQL GUI, bỏ qua những công cụ không được duy trì tích cực hoặc không cung cấp cảnh báo và thông báo trong sản phẩm hoặc với tài khoản dùng thử miễn phí. Mặc dù không phải là một đánh giá đầy đủ, nhưng mỗi công cụ đã được cài đặt và định cấu hình đến mức tôi có thể hiểu được khả năng cảnh báo và thông báo của nó.
Nagios
Nagios là một hệ thống giám sát mục đích chung, tại chỗ phổ biến cung cấp nhiều loại plugin. Mặc dù Nagios Core là mã nguồn mở, giải pháp được đề xuất để giám sát PostgreSQL là Nagios XI.
Cài đặt thông báo dành cho mỗi người dùng và để thay đổi chúng, quản trị viên phải “đăng nhập với tư cách là” người dùng - Nagios sử dụng thuật ngữ masquerade as . Khi ở trên trang cài đặt tài khoản, người dùng có thể chọn bật hoặc tắt các phương thức thông báo:
Tùy chọn thông báo Nagios XIĐể định cấu hình các loại thông báo, hãy truy cập trang “Phương thức thông báo”:
Phương thức thông báo Nagios XIXem Hướng dẫn sử dụng Nagios XI để biết thêm chi tiết.
Để định cấu hình cảnh báo, hãy đăng nhập với tư cách quản trị viên và chọn trình hướng dẫn cấu hình cơ sở dữ liệu:
Trình hướng dẫn cấu hình cơ sở dữ liệu Nagios XISau khi được định cấu hình, các cảnh báo có thể được xem bằng cách chọn bất kỳ chế độ xem, trang tổng quan mặc định nào hoặc chúng ta có thể định cấu hình một chế độ xem tùy chỉnh. Ngoài ra, Nagios XI cung cấp các trình theo dõi PostgreSQL sau:
Màn hình Nagios XI PostgreSQLLưu ý rằng ngoài ý muốn, Nagios XI không cung cấp bất kỳ số liệu nào dựa trên Bộ thu thập thống kê PostgreSQL, thay vào đó, mỗi số liệu phải được xác định bằng trình hướng dẫn cấu hình “Postgres Query”:
Truy vấn Nagios XI PostgresDatadog
Datadog là một công cụ giám sát SaaS có mục đích chung bao gồm một tập hợp tích hợp rất lớn với nhiều loại dịch vụ. Để bắt đầu giám sát, hãy chọn tích hợp PostgreSQL, sau đó chọn tích hợp thông báo như email, trò chuyện (ví dụ:Slack) hoặc hệ thống phản ứng sự cố như PagerDuty:
Tích hợp DatadogĐể nhận thông báo qua các kênh tích hợp đã định cấu hình trước đó, chúng ta cần tạo ít nhất một trình theo dõi Datadog, trong trường hợp PostgreSQL giám sát một loại giám sát “tích hợp”:
Tích hợp Datadog PostgreSQLBước đầu tiên trong việc định cấu hình màn hình là chọn loại cảnh báo:
Phương pháp phát hiện DatadogTiếp theo, hãy định cấu hình một hoặc nhiều số liệu:
Cấu hình số liệu DatadorĐịnh cấu hình các điều kiện để kích hoạt cảnh báo:
Trình kích hoạt cảnh báo DatadogThông báo có thể được tùy chỉnh bằng cách sử dụng các biến mẫu:
Tích hợp Datadog PostgresCuối cùng cung cấp danh sách người nhận để nhận thông báo:
Người nhận thông báo DatadogCác sự kiện mà Datadog có thể theo dõi được liệt kê trong phần “Số liệu” tích hợp PostgreSQL và dựa trên các chế độ xem được xác định trước của Bộ thu thập thống kê PostgreSQL:
Số liệu tích hợp Datadog PostgresĐể giám sát các sự kiện không được cung cấp tích hợp mặc định, Datadog cung cấp cho khách hàng tùy chọn tạo số liệu tùy chỉnh giới hạn trong gói Datadog.
Okmeter
Okmeter cũng là một phần của dòng giám sát mục đích chung SaaS và cũng giống như các công cụ SaaS khác, yêu cầu một tác nhân trên máy chủ được giám sát. Sau khi tác nhân được cài đặt, một tập hợp các trình kích hoạt sự kiện mặc định được bật, bao gồm kiểm tra kết nối PostgreSQL:
Trình kích hoạt tự động OkmeterĐể có thêm các chỉ số PostgreSQL yêu cầu thêm một “máy chủ” PostgreSQL:
Okmeter - Thêm máy chủĐể theo dõi thống kê PostgreSQL, tương tự như Nagios và Datadog, chúng ta phải định cấu hình số liệu tùy chỉnh như được giải thích trong Tài liệu Okmeter - Gửi số liệu tùy chỉnh. Hoặc, chỉnh sửa số liệu “Máy chủ PostgreSQL” ở trên để đưa vào các chế độ xem trong hàm “okmeter.pg_stats”.
Trang tài liệu thống kê truy vấn Okmeter giải thích cách bật theo dõi thống kê thực thi cho các câu lệnh SQL. Lưu ý rằng có một số hạn chế trong việc sử dụng chế độ xem “pg_stat_statements”, ví dụ:số lượng tối đa các câu lệnh riêng biệt có thể được ghi lại bởi một mô-đun - hãy xem tài liệu PostgreSQL trên pg_stat_statements để biết chi tiết.
Trang liên hệ thông báo là nơi thông báo được định cấu hình cho từng người dùng:
Thông báo liên hệ của OkmeterTin nhắn thông báo có thể được tùy chỉnh thêm bằng cách sử dụng các mẫu:
Mẫu tin nhắn thông báo OkmeterCirconus
Circonus, một sản phẩm giám sát chung khác của SaaS, có tính năng "kiểm tra" PostgreSQL có thể được bật riêng hoặc được thêm vào như một phần của cài đặt một bước:
Thiết lập Circonus CheckTheo tài liệu Circonus PostgreSQL, việc kiểm tra được thực hiện từ một vị trí từ xa thông qua các câu lệnh SQL trực tiếp. Sau khi định cấu hình máy chủ PostgreSQL để chấp nhận các kết nối từ nhà môi giới Circonus, trình hướng dẫn sẽ hiển thị danh sách các số liệu có sẵn:
Kiểm tra Circonus PostgreSQLĐể định cấu hình cảnh báo, mỗi chỉ số được liên kết với một bộ quy tắc và danh sách các địa chỉ liên hệ sẽ được thông báo.
Chi tiết số liệu CirconusCảnh báo được phân loại dựa trên mức độ nghiêm trọng:
Bộ quy tắc Circonus Mức độ nghiêm trọngCác kênh thông báo bao gồm SMS, OpsGenie, Slack, VictorOps và PagerDuty (không có email). Ảnh chụp màn hình bên dưới cho thấy tích hợp Slack:
Nhóm liên hệ CirconusĐể định cấu hình thông báo, mỗi chỉ số trong kiểm tra phải được chỉ định các quy tắc và địa chỉ liên hệ. Lưu ý rằng địa chỉ liên hệ phải được tạo trước khi chỉnh sửa số liệu:
Bộ quy tắc CirconusDi tích mới
New Relic là một hệ thống giám sát chung khác của SaaS. Khi nói đến PostgreSQL, có ba plugin khả dụng (tính đến thời điểm này). Gần đây nhất là plugin Blue Medora:
Plugin Relic PostgreSQL mới từ Blue MedoraKhi plugin đang hoạt động, nó sẽ hiển thị trên trang plugin và chúng tôi đã sẵn sàng định cấu hình cảnh báo:
Thiết lập cảnh báo di tích mớiNew Relic sử dụng khái niệm về các chính sách cảnh báo để nhóm các cảnh báo thành các sự cố. Trước khi định cấu hình một chính sách, chúng ta phải thiết lập các kênh thông báo. Đặc biệt, New Relic tích hợp với tất cả các hệ thống ứng phó sự cố phổ biến, cũng như email:
Các loại kênh di tích mớiLưu ý rằng tích hợp phải được bật trước trong ứng dụng thông báo. Ví dụ:chọn Slack từ danh sách các loại kênh:
Tích hợp Relic Slack mớiTiếp theo, tạo một “chính sách cảnh báo”:
Chính sách cảnh báo di tích mớiChính sách cảnh báo yêu cầu một "điều kiện cảnh báo". Bộ ảnh chụp màn hình tiếp theo hiển thị các bước để đạt được điều đó:
Danh mục tình trạng di tích mới của PostgreSQL Thực thể điều kiện PostgreSQL di tích mới Ngưỡng điều kiện PostgreSQL di tích mớiCuối cùng chọn tab kênh thông báo để sửa đổi mặc định:
Kênh thông báo di tích PostgreSQL mớiTheo tùy chọn, thêm điều kiện cảnh báo vào New Relic Insights (yêu cầu đăng ký bổ sung):
Thông tin chi tiết mới về di tíchNgười quản lý doanh nghiệp Postgres
PEM hoặc Postgres Enterprise Manager là một công cụ để quản lý, điều chỉnh và giám sát PostgreSQL.
Nó đi kèm với một bộ chỉ số được xác định trước rất phong phú:
Chỉ số được xác định trước của Postgres Enterprise ManagerĐể sửa đổi cảnh báo mặc định hoặc tạo cảnh báo tùy chỉnh, hãy sử dụng các mẫu cảnh báo:
Mẫu cảnh báo tùy chỉnh của Postgres Enterprise ManagerPEM dựa vào email và SNMP để nhận thông báo, vì vậy nó có thể dễ dàng tích hợp với các hệ thống giám sát như Nagios, nhưng không có bất kỳ tích hợp nào với các hệ thống quản lý sự cố phổ biến (PagerDuty, VictorOps, OpsGenie) hoặc dịch vụ trò chuyện (Slack) được tìm thấy trong các sản phẩm khác.
Email &cảnh báo SNMP của Người quản lý doanh nghiệp Postgrespgwatch2
pgwatch2 là một công cụ giám sát trọng tâm khác của PostgreSQL, giải pháp tự lưu trữ.
Để xác định cảnh báo, trước tiên chúng ta phải tạo trang tổng quan tùy chỉnh và xác định số liệu:
pgwatch2 Chỉ số Trang tổng quanTiếp theo, định cấu hình cảnh báo:
pgwatch2 Cấu hình cảnh báo trên bảng điều khiểnSau khi được định cấu hình, các cảnh báo sẽ hiển thị trên trang Danh sách Cảnh báo:
Danh sách cảnh báo trên bảng điều khiển pgwatch2pgwatch2 tích hợp với tất cả các hệ thống thông báo phổ biến. Dưới đây là ví dụ về cách thêm kênh Slack:
pgwatch2 Tích hợp SlackĐể xem các kênh thông báo được định cấu hình trong hệ thống, hãy mở trang “Kênh thông báo”:
pgwatch2 Kênh thông báoCác chỉ số bổ sung có thể được thêm vào dưới dạng tài liệu trong phần Tính năng của pgwatch2.
ClusterControl
ClusterControl là một hệ thống quản lý hướng cơ sở dữ liệu tiền đề với sự hỗ trợ cho PostgreSQL, MySQL, MariaDB và MongoDB.
Bước đầu tiên là thêm tích hợp thông báo. Thông tin thêm về các tích hợp có sẵn có tại Giới thiệu Tích hợp Cảnh báo ClusterControl:
Tích hợp ClusterControlVới mục đích của bản trình diễn này, tôi đã định cấu hình Slack:
Tích hợp ClusterControl SlackClusterControl cũng cung cấp tùy chọn thông báo qua email:
Thông báo ClusterControl qua EmailKhi có thông báo, hãy tạo cố vấn tùy chỉnh để kích hoạt cảnh báo dựa trên các tiêu chí cụ thể:
ClusterControl Custom AdvisorsTải xuống Whitepaper hôm nay Quản lý &Tự động hóa PostgreSQL với ClusterControlTìm hiểu về những điều bạn cần biết để triển khai, giám sát, quản lý và mở rộng quy mô PostgreSQLTải xuống báo cáo chính thứcKết luận
Bài viết không nhằm mục đích đi sâu vào chức năng của từng công cụ, thay vào đó tôi đã cố gắng phác thảo những gì tôi coi là các tính năng quan trọng liên quan đến cảnh báo và thông báo cho PostgreSQL, cụ thể là.
Một trong những bài học kinh nghiệm là quá trình lựa chọn cần xem xét một số yếu tố sau:
- tại cơ sở hoặc SaaS
- kiểm tra dựa trên tác nhân hoặc từ xa
- tích hợp với hệ thống quản lý sự cố và dịch vụ trò chuyện
- tính khả dụng của các chỉ số được giám sát, tính năng hữu ích và plugin
- khả năng thêm các chỉ số tùy chỉnh
- các tính năng quản lý cảnh báo (ví dụ:nhóm)
- độ phức tạp so với mức độ chi tiết trong giao diện người dùng
- chức năng bổ sung (quản lý, điều chỉnh, API, v.v.)
Ngoài ra, nếu một giải pháp không đáp ứng tất cả các yêu cầu kinh doanh và / hoặc kỹ thuật, thì luôn có thể sử dụng kết hợp các dịch vụ.