PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

pgDash Alternatives - Giám sát cơ sở dữ liệu PostgreSQL với ClusterControl

Giám sát và cảnh báo cơ sở dữ liệu là một phần đặc biệt quan trọng của hoạt động cơ sở dữ liệu, vì chúng ta phải hiểu trạng thái hiện tại của cơ sở dữ liệu. Nếu bạn không có chức năng giám sát cơ sở dữ liệu tốt, bạn sẽ không thể tìm ra các vấn đề trong cơ sở dữ liệu một cách nhanh chóng. Điều này sau đó có thể dẫn đến thời gian chết.

Một công cụ có sẵn để giám sát là pgDash, một ứng dụng SaaS để giám sát và cảnh báo cho cơ sở dữ liệu PostgreSQL.

Quy trình cài đặt pgDash

Đăng ký pgDash có thể được thực hiện thông qua trang web hoặc cũng có thể được tải xuống (tự lưu trữ) do RapidLoop cung cấp.

Quá trình cài đặt pgDash rất đơn giản, chúng ta chỉ cần tải xuống gói cần thiết từ pgDash được cấu hình ở phía máy chủ / máy chủ cơ sở dữ liệu.

Bạn có thể chạy quá trình như sau:

[[email protected] ~]$ curl -O -L https://github.com/rapidloop/pgmetrics/releases/download/v1.9.0/pgmetrics_1.9.0_linux_amd64.tar.gz

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100   647  100   647    0     0    965      0 --:--:-- --:--:-- --:--:--   964

100 3576k  100 3576k    0     0   189k      0  0:00:18  0:00:18 --:--:--  345k

[[email protected] ~]$ tar xvf pgmetrics_1.9.0_linux_amd64.tar.gz

pgmetrics_1.9.0_linux_amd64/LICENSE

pgmetrics_1.9.0_linux_amd64/README.md

pgmetrics_1.9.0_linux_amd64/pgmetrics

[[email protected] ~]$ curl -O -L https://github.com/rapidloop/pgdash/releases/download/v1.5.1/pgdash_1.5.1_linux_amd64.tar.gz

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100   644  100   644    0     0   1370      0 --:--:-- --:--:-- --:--:--  1367

100 2314k  100 2314k    0     0   361k      0  0:00:06  0:00:06 --:--:--  560k

[[email protected] ~]$ tar xvf pgdash_1.5.1_linux_amd64.tar.gz

pgdash_1.5.1_linux_amd64/LICENSE

pgdash_1.5.1_linux_amd64/README.md

pgdash_1.5.1_linux_amd64/pgdash

[[email protected] ~]$ ./pgmetrics_1.9.0_linux_amd64/pgmetrics --no-password -f json ccdb | ./pgdash_1.5.1_linux_amd64/pgdash -a NrxaHk3JH2ztLI06qQlA4o report myserver1

Ngoài pgDash, bạn sẽ cần một gói khác, pgmetrics, được cài đặt để theo dõi. pgmetrics là một tiện ích mã nguồn mở có công việc là thu thập thông tin và thống kê trong cơ sở dữ liệu mà pgDash cần, trong khi công việc của pgdash là gửi thông tin đó đến bảng điều khiển.

Nếu bạn muốn thêm nhiều cơ sở dữ liệu hơn vào nền tảng giám sát, bạn sẽ cần để lặp lại quy trình trên cho từng cơ sở dữ liệu.

Mặc dù việc cài đặt pgDash rất đơn giản, nhưng có những quy trình lặp đi lặp lại có thể trở thành mối quan tâm nếu có thêm cơ sở dữ liệu cần được theo dõi. Rất có thể bạn sẽ cần tạo một tập lệnh tự động hóa cho việc đó.

pgDash Chỉ số

Có 3 tính năng chính trong Trang tổng quan pgDash, đó là:

  • Trang tổng quan :bao gồm các menu phụ như:Tổng quan, Cơ sở dữ liệu, Truy vấn, Phụ trợ, Ổ khóa, Không gian bảng, Nhân bản, Tệp WAL, BG Writers, Chân không, Vai trò, Cấu hình.
  • Công cụ :bao gồm các menu phụ, chẳng hạn như Quản lý chỉ mục, Quản lý vùng bảng, Chẩn đoán và Top-K.
  • Cảnh báo :bao gồm các menu phụ như Cảnh báo &Cảnh báo thay đổi.

Giám sát PostgreSQL bởi ClusterControl

Giám sát do ClusterControl thực hiện sử dụng phương thức ssh và kết nối trực tiếp từ nút điều khiển đến nút cơ sở dữ liệu đích để thu thập thông tin cần thiết để hiển thị trên trang tổng quan.

ClusterControl cũng có tính năng Giám sát Dựa trên Tác nhân có thể dễ dàng được kích hoạt. Bạn có thể xem nó bên dưới ...

ClusterControl sau đó sẽ thực hiện quá trình cài đặt prometheus, trình xuất nút và PostgreSQL nhà xuất khẩu, trong cơ sở dữ liệu được nhắm mục tiêu nhằm thu thập và thu thập thông tin theo yêu cầu của trang tổng quan để hiển thị các số liệu.

Nếu Giám sát Dựa trên Tác nhân đang hoạt động, bất kỳ cơ sở dữ liệu mục tiêu mới nào sẽ được Giám sát Dựa trên Tác nhân tự động thêm và giám sát.

Bảng điều khiển ClusterControl

Tại đây bạn có thể xem thông tin trong màn hình Tổng quan về Cụm PostgreSQL và Thông tin Hệ thống. Trong chức năng này, bạn có thể xem thông tin chi tiết như phiên bản db, ID giao dịch, Điểm kiểm tra cuối cùng và Ngày giờ khi máy chủ còn hoạt động. Thông tin này được mô tả bên dưới:

Trong trang Thông tin hệ thống, chúng ta có thể lấy các thông tin như Trung bình tải, Sử dụng bộ nhớ, sử dụng hoán đổi, xem hình dưới đây:

  • Cơ sở dữ liệu :bạn có thể lấy thông tin như tên db, kích thước db, số lượng bảng, chỉ mục và cả vùng bảng.
  • Truy vấn :bạn có thể theo dõi Cuộc gọi, Ghi đĩa, Đọc đĩa, Lượt truy cập bộ đệm từ các truy vấn. Ngoài ra, bạn có thể tìm kiếm bất kỳ truy vấn nào chạy trong một khoảng thời gian cụ thể.
  • Phần phụ trợ :bạn có thể theo dõi trạng thái hiện tại của phần phụ trợ cơ sở dữ liệu, trong thông tin này, các chi tiết quan trọng được cung cấp, chẳng hạn như phần phụ trợ đang chờ khóa, các phần phụ trợ đang chờ khác, giao dịch mở quá lâu, phần phụ trợ không hoạt động trong giao dịch. Bạn cũng có thể xem tất cả các phần mềm phụ trợ chạy trong cơ sở dữ liệu.
  • Khóa :Bạn có thể kiểm tra tổng số lần khóa, khóa không được cấp và các truy vấn bị chặn.
  • Không gian bảng :cung cấp thông tin liên quan đến không gian bảng, tức là. kích thước vùng bảng, việc sử dụng Đĩa và Inodes.
  • Bản sao :bạn có thể theo dõi trạng thái Sao chép của mình trong cơ sở dữ liệu PostgreSQL, bắt đầu từ Vị trí sao chép, Bản sao đến, Bản sao gửi đi, Ấn bản sao chép và Đăng ký sao chép.
  • Tệp Wal :cung cấp thông tin liên quan đến WAL (Ghi nhật ký phía trước) và cũng như thống kê, ví dụ:Số lượng tệp WAL, Tỷ lệ tạo WAL, Tệp WAL được tạo mỗi giờ.
  • BG Writers :cung cấp thông tin liên quan đến cơ sở dữ liệu điểm kiểm tra, bộ đệm được ghi và các tham số liên quan đến Trình ghi nền.
  • Tiến trình hút chân không :chứa thông tin liên quan đến Chân không chạy trong cơ sở dữ liệu, cả thông số chân không.
  • Vai trò :chứa thông tin liên quan đến các vai trò tồn tại trong cơ sở dữ liệu bao gồm các đặc quyền.
  • Cấu hình :chứa các tham số trong cơ sở dữ liệu PostgreSQL.

Bên trong Công cụ, có các menu phụ như Quản lý chỉ mục cung cấp thông tin tức là. Chỉ mục không sử dụng, Chỉ mục Bloat, Chỉ mục dan với Tỷ lệ truy cập bộ nhớ đệm thấp. Tablespace Management cung cấp thông tin liên quan đến Tablespace và các đối tượng khác có sẵn trong.

Chẩn đoán, để hiểu các vấn đề tiềm ẩn có thể xảy ra thông qua Top 10 Bảng có nhiều nội dung nhất, 10 chỉ mục có nhiều điểm nhất, Danh sách các vị trí sao chép không hoạt động, 10 giao dịch chạy lâu nhất hàng đầu, v.v.

ClusterControl có một số số liệu trong menu riêng biệt, đó là Tổng quan, Nút, Bảng điều khiển, Màn hình truy vấn và Hiệu suất, xem hình bên dưới:

Khi bật Giám sát dựa trên tác nhân, do đó tất cả thông tin liên quan đến thống kê và các thông tin khác liên quan đến cơ sở dữ liệu sẽ được lưu trữ trong cơ sở dữ liệu chuỗi thời gian (prometheus). Bạn có thể xem những thông tin đó trong ClusterControl như được mô tả bên dưới:

Trong Trình theo dõi truy vấn, bạn có thể tìm Truy vấn hàng đầu, Truy vấn đang chạy, Truy vấn Trình đơn ngoại lệ hoặc Thống kê truy vấn. Chúng cung cấp thông tin liên quan đến truy vấn đang chạy, truy vấn hàng đầu và số liệu thống kê của cơ sở dữ liệu. Bạn cũng có thể định cấu hình các truy vấn chậm và các truy vấn không lập chỉ mục.

Trên Performance, có các menu phụ như DB Growth có thể hiển thị thông tin về cơ sở dữ liệu và thống kê kích thước bảng. Trình phân tích lược đồ cung cấp thông tin liên quan đến Chỉ mục và Bảng dự phòng không có khóa chính.

Cảnh báo PostgreSQL

Có hai phần cảnh báo ...

  • Quy tắc cảnh báo :các quy tắc cảnh báo đóng một vai trò quan trọng, bạn có thể xác định các giới hạn là các tham số có thể kích hoạt cảnh báo cho DBA.
  • Tích hợp bên thứ ba :là một kênh tích hợp với nền tảng quản lý sự cố để giao tiếp và cộng tác như:PagerDuty, OpsGenie, Slack hoặc qua Email.

PgDash có nhiều tùy chọn tham số cơ sở dữ liệu mà bạn có thể đặt liên quan đến quy tắc cảnh báo, được chia thành nhiều lớp bắt đầu từ Máy chủ, Cơ sở dữ liệu, Bảng, Chỉ mục, Không gian bảng và Truy vấn. Bạn có thể xem những thông tin đó trong pgDash như được mô tả bên dưới ...

Đối với kênh tích hợp của bên thứ ba, pgDash hỗ trợ một số kênh như như Slack, Pagerduty, VictorOps, Xmatters, e-mail hoặc tạo webhook của riêng họ để chúng có thể được sử dụng bởi các dịch vụ khác.

Sau đây là sự xuất hiện của Tích hợp bên thứ ba của pgDash:

Trái ngược với pgDash, ClusterControl có tùy chọn cảnh báo sự kiện rộng hơn và tổng quát hơn , bắt đầu với các cảnh báo liên quan đến chính máy chủ, mạng, cụm và cơ sở dữ liệu. Sau đây là các ví dụ về các tùy chọn sự kiện có thể được chọn:

ClusterControl có thể chọn một số cụm cơ sở dữ liệu trong một cảnh báo sự kiện. Tích hợp bên thứ ba từ ClusterControl hỗ trợ một số công cụ quản lý sự cố và giao tiếp / cộng tác như PagerDuty, VictorOps, Telegram, OpsGenie, Slack, ServiceNow hoặc có thể tạo webhook của riêng bạn.

Trong phần quy tắc cảnh báo, cả pgDash và ClusterControl đều có ưu điểm và nhược điểm. Ưu điểm của pgDash là bạn có thể đặt các cảnh báo cơ sở dữ liệu rất chi tiết liên quan đến những gì sẽ được gửi, trong khi hạn chế là bạn phải thực hiện các cài đặt này trong mỗi cơ sở dữ liệu (mặc dù có một tính năng để nhập từ các cấu hình cơ sở dữ liệu khác.

ClusterControl thiếu cảnh báo sự kiện chi tiết, chỉ có các sự kiện cơ sở dữ liệu chung, nhưng ClusterControl có thể gửi cảnh báo không chỉ liên quan đến cơ sở dữ liệu mà còn có thể gửi cảnh báo sự kiện từ các nút, cụm, mạng, v.v. Bên cạnh đó, bạn có thể thiết lập những cảnh báo này cho một số cụm cơ sở dữ liệu.

Trong phần Tích hợp bên thứ ba, pgDash và ClusterControl đều có hỗ trợ cho các kênh liên lạc và quản lý sự cố của bên thứ ba khác nhau. Trên thực tế, cả hai đều có thể tạo webhook của riêng mình để nó có thể được sử dụng bởi các dịch vụ khác (ví dụ:Grafana).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mảng Postgres 9.4 jsonb dưới dạng bảng

  2. Spring + Hibernate:Sử dụng bộ nhớ cache của gói truy vấn

  3. Xây dựng vùng chứa postgres docker với lược đồ ban đầu

  4. Nhóm người dùng PostgreSQL NL

  5. Postgresql Dấu thời gian hiện tại khi cập nhật