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

Giám sát PostgreSQL trong môi trường kết hợp

Hybrid Cloud là một khái niệm gần đây đã được tăng cường trong một vài năm và hiện là cấu trúc liên kết phổ biến trong bất kỳ công ty nào cho Kế hoạch khôi phục sau thảm họa (DRP), hoặc thậm chí để có dự phòng trên hệ thống của bạn.

Khi bạn đã thiết lập và vận hành môi trường Đám mây lai của mình, bạn sẽ luôn cần biết điều gì đang xảy ra. Giám sát là điều bắt buộc nếu bạn muốn chắc chắn rằng mọi thứ vẫn diễn ra tốt đẹp hoặc nếu bạn có thể cần phải thay đổi điều gì đó. Đối với mỗi công nghệ cơ sở dữ liệu, có một số điều cần theo dõi. Một số trong số này dành riêng cho công cụ cơ sở dữ liệu, nhà cung cấp hoặc thậm chí là phiên bản cụ thể mà bạn đang sử dụng.

Trong blog này, chúng tôi sẽ thấy những gì bạn cần theo dõi trong cơ sở dữ liệu PostgreSQL đang chạy trên môi trường Đám mây kết hợp và cách ClusterControl có thể giúp bạn thực hiện nhiệm vụ này.

Những gì cần theo dõi trong PostgreSQL

Khi theo dõi một cụm hoặc nút cơ sở dữ liệu, có hai điều chính cần lưu ý:hệ điều hành và chính cơ sở dữ liệu. Bạn sẽ cần xác định những chỉ số nào bạn sẽ theo dõi từ cả hai phía và bạn sẽ thực hiện nó như thế nào.

Hãy nhớ rằng khi một trong các chỉ số của bạn bị ảnh hưởng, chỉ số đó cũng có thể ảnh hưởng đến những chỉ số khác, khiến việc khắc phục sự cố trở nên phức tạp hơn. Có một hệ thống cảnh báo và giám sát tốt là điều quan trọng để làm cho nhiệm vụ này trở nên đơn giản nhất có thể.

Giám sát Hệ điều hành

Một điều quan trọng (phổ biến đối với tất cả các công cụ cơ sở dữ liệu và thậm chí đối với tất cả các hệ thống) là giám sát hành vi của Hệ điều hành. Hãy xem một số điểm cần kiểm tra tại đây.

Sử dụng CPU

Phần trăm sử dụng CPU quá mức có thể là một vấn đề nếu đó không phải là hành vi thông thường. Trong trường hợp này, điều quan trọng là phải xác định quy trình / quy trình đang tạo ra vấn đề này. Nếu vấn đề là do quy trình cơ sở dữ liệu, bạn sẽ cần phải kiểm tra xem điều gì đang xảy ra bên trong cơ sở dữ liệu.

Bộ nhớ RAM hoặc Sử dụng SWAP

Nếu bạn thấy số liệu này có giá trị cao và không có gì thay đổi trong hệ thống của mình, bạn có thể cần kiểm tra cấu hình cơ sở dữ liệu của mình. Các tham số như shared_buffers và work_mem có thể ảnh hưởng trực tiếp đến điều này vì chúng xác định dung lượng bộ nhớ có thể sử dụng cho cơ sở dữ liệu PostgreSQL.

Sử dụng đĩa

Sự gia tăng bất thường trong việc sử dụng dung lượng đĩa hoặc tiêu thụ quá nhiều quyền truy cập đĩa là những điều quan trọng cần theo dõi vì bạn có thể có nhiều lỗi được ghi trong tệp nhật ký PostgreSQL hoặc cấu hình bộ đệm kém có thể tạo ra mức tiêu thụ quyền truy cập đĩa quan trọng thay vì sử dụng bộ nhớ để xử lý các truy vấn.

Tải trung bình

Nó liên quan đến ba điểm nêu trên. Mức trung bình tải cao có thể được tạo ra do sử dụng quá nhiều CPU, RAM hoặc đĩa.

Mạng

Sự cố mạng có thể ảnh hưởng đến tất cả các hệ thống vì ứng dụng không thể kết nối (hoặc kết nối các gói bị mất) với cơ sở dữ liệu, vì vậy, đây thực sự là một chỉ số quan trọng cần theo dõi. Bạn có thể theo dõi độ trễ hoặc mất gói và vấn đề chính có thể là bão hòa mạng, sự cố phần cứng hoặc chỉ là cấu hình mạng kém.

Giám sát Cơ sở dữ liệu

Theo dõi cơ sở dữ liệu PostgreSQL của bạn không chỉ quan trọng để xem liệu bạn có đang gặp sự cố hay không mà còn để biết liệu bạn có cần thay đổi điều gì đó để cải thiện hiệu suất cơ sở dữ liệu hay không, đó có lẽ là một trong những điều quan trọng nhất để giám sát trong cơ sở dữ liệu. Hãy xem một số chỉ số quan trọng cho việc này.

Giám sát Truy vấn

Nói chung, theo mặc định, cơ sở dữ liệu được định cấu hình có tính tương thích và ổn định, vì vậy bạn cần biết các truy vấn của mình và mẫu của chúng, đồng thời định cấu hình cơ sở dữ liệu tùy thuộc vào lưu lượng truy cập mà bạn có. Tại đây, bạn có thể sử dụng lệnh EXPLAIN để kiểm tra kế hoạch truy vấn cho một truy vấn cụ thể và bạn cũng có thể theo dõi số lượng CHỌN, CHÈN, CẬP NHẬT hoặc XÓA trên mỗi nút. Nếu bạn có một truy vấn dài hoặc một số lượng lớn các truy vấn chạy cùng một lúc, đó có thể là một vấn đề đối với tất cả các hệ thống.

Phiên hoạt động

Bạn cũng nên theo dõi số lượng phiên hoạt động. Nếu bạn đang ở gần giới hạn, bạn cần kiểm tra xem có điều gì không ổn hoặc nếu bạn chỉ cần tăng giá trị kết nối tối đa trong cấu hình cơ sở dữ liệu. Sự khác biệt về số lượng có thể là sự tăng hoặc giảm các kết nối. Việc sử dụng không hợp lý các vấn đề về tổng hợp kết nối, khóa hoặc mạng là những vấn đề phổ biến nhất liên quan đến số lượng kết nối.

Khóa Cơ sở dữ liệu

Nếu bạn có một truy vấn đang chờ một truy vấn khác, bạn cần kiểm tra xem truy vấn khác đó là một quy trình bình thường hay là một quy trình mới. Trong một số trường hợp, nếu ai đó đang thực hiện cập nhật trên một bảng lớn, chẳng hạn, hành động này có thể ảnh hưởng đến hoạt động bình thường của cơ sở dữ liệu của bạn, tạo ra số lượng khóa cao.

Trạng thái Sao chép

Các chỉ số chính cần theo dõi để tái tạo là độ trễ và trạng thái sao chép. Các vấn đề phổ biến nhất là vấn đề mạng, vấn đề tài nguyên phần cứng hoặc vấn đề đo kích thước. Nếu bạn đang đối mặt với vấn đề sao chép, bạn sẽ cần biết điều này càng sớm càng tốt vì bạn sẽ cần khắc phục nó để đảm bảo môi trường có tính khả dụng cao.

Bản sao lưu

Tránh mất dữ liệu là một trong những tác vụ cơ bản của DBA, vì vậy bạn không chỉ cần thực hiện sao lưu mà còn phải biết quá trình sao lưu đã hoàn tất hay chưa và liệu nó có thể sử dụng được hay không. Thông thường, điểm cuối cùng này không được tính đến, nhưng nó có lẽ là bước kiểm tra quan trọng nhất trong quá trình sao lưu.

Nhật ký Cơ sở dữ liệu

Bạn nên theo dõi nhật ký cơ sở dữ liệu của mình để tìm lỗi, sự cố xác thực hoặc thậm chí các truy vấn chạy dài. Hầu hết các lỗi được ghi trong tệp nhật ký với thông tin chi tiết hữu ích để sửa chúng.

Thông báo và Cảnh báo

Chỉ theo dõi hệ thống là không đủ nếu bạn không nhận được thông báo về từng vấn đề. Nếu không có hệ thống cảnh báo, bạn nên vào công cụ giám sát để xem mọi thứ có ổn không và rất có thể bạn đang gặp sự cố lớn từ nhiều giờ trước. Công việc cảnh báo này có thể được thực hiện bằng cách sử dụng cảnh báo qua email, cảnh báo bằng văn bản hoặc các công cụ khác như Slack.

Thực sự rất khó để tìm một công cụ giám sát tất cả các số liệu cần thiết cho PostgreSQL, nói chung, bạn sẽ cần sử dụng nhiều hơn một và thậm chí cần thực hiện một số tập lệnh. Một cách để tập trung hóa nhiệm vụ giám sát và cảnh báo là sử dụng ClusterControl, cung cấp cho bạn các tính năng như quản lý sao lưu, giám sát và cảnh báo, triển khai và mở rộng, phục hồi tự động và các tính năng quan trọng hơn để giúp bạn quản lý cơ sở dữ liệu của mình. Tất cả các tính năng này trên cùng một hệ thống.

Một điểm quan trọng ở đây là ClusterControl hoạt động trên Cloud, On-Prem hoặc thậm chí kết hợp cả hai. Yêu cầu ở đây là có quyền truy cập SSH vào các nút và sau đó, ClusterControl sẽ xử lý chúng.

Giám sát Cơ sở dữ liệu PostgreSQL của bạn với ClusterControl

ClusterControl là một hệ thống quản lý và giám sát giúp triển khai, quản lý, giám sát và mở rộng quy mô cơ sở dữ liệu của bạn từ một giao diện thân thiện. Nó hỗ trợ các công nghệ cơ sở dữ liệu nguồn mở hàng đầu và bạn có thể tự động hóa nhiều tác vụ cơ sở dữ liệu mà bạn phải thực hiện thường xuyên như thêm và mở rộng các nút mới, chạy sao lưu và khôi phục, v.v.

ClusterControl cho phép bạn giám sát các máy chủ của mình trong thời gian thực với một tập hợp các trang tổng quan được xác định trước để phân tích một số chỉ số phổ biến nhất.

Nó cho phép bạn tùy chỉnh các biểu đồ có sẵn trong cụm và bạn có thể bật tính năng giám sát dựa trên tác nhân để tạo ra các trang tổng quan chi tiết hơn.

Bạn cũng có thể tạo cảnh báo, thông báo cho bạn về các sự kiện trong cụm của bạn hoặc tích hợp với các dịch vụ khác nhau như PagerDuty hoặc Slack.

Trong phần theo dõi truy vấn, bạn có thể tìm thấy các truy vấn hàng đầu, các truy vấn đang chạy, các truy vấn ngoại lệ và thống kê truy vấn để theo dõi lưu lượng cơ sở dữ liệu của bạn.

Với những tính năng này, bạn có thể thấy cơ sở dữ liệu PostgreSQL của mình đang hoạt động như thế nào.

Để quản lý sao lưu, ClusterControl tập trung nó để bảo vệ, bảo mật và khôi phục dữ liệu của bạn và với tính năng sao lưu xác minh, bạn có thể xác nhận xem bản sao lưu có hoạt động tốt hay không.

Công việc sao lưu xác minh này sẽ khôi phục bản sao lưu trong một máy chủ độc lập riêng biệt, vì vậy bạn có thể đảm bảo rằng bản sao lưu đang hoạt động.

Cuối cùng, bạn không cần phải truy cập vào nút cơ sở dữ liệu của mình để kiểm tra nhật ký, bạn có thể tìm thấy tất cả nhật ký cơ sở dữ liệu của mình được tập trung trong phần ClusterControl Log.

Như bạn thấy, bạn có thể xử lý tất cả những thứ đã đề cập từ cùng một hệ thống tập trung:ClusterControl.

Giám sát bằng Dòng lệnh ClusterControl

Đối với các tác vụ kịch bản và tự động hóa hoặc thậm chí nếu bạn chỉ thích dòng lệnh, ClusterControl có công cụ s9s. Nó là một công cụ dòng lệnh để quản lý hoặc giám sát cụm cơ sở dữ liệu của bạn.

Danh sách Cụm

Danh sách nút

Bạn có thể thực hiện tất cả các tác vụ (và thậm chí nhiều hơn nữa) có sẵn trong Giao diện người dùng ClusterControl và bạn có thể tích hợp tính năng này với một số công cụ bên ngoài như slack, để quản lý nó từ đó.

Kết luận

Như bạn có thể thấy, việc giám sát là hoàn toàn cần thiết, bất kể nó đang chạy tại chỗ, trên đám mây hay thậm chí là kết hợp giữa chúng và cách tốt nhất để thực hiện điều đó phụ thuộc vào cơ sở hạ tầng và chính hệ thống. Trong blog này, chúng tôi đã đề cập đến một số số liệu quan trọng cần theo dõi trong môi trường PostgreSQL của bạn, cách sử dụng ClusterControl để thực hiện công việc.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Khoảng thời gian so khớp PostgreSQL giữa thời gian bắt đầu và kết thúc so với dấu thời gian

  2. Sự cố khôi phục cơ sở dữ liệu Heroku

  3. Chỉ mục đa cột trên 3 trường có kiểu dữ liệu không đồng nhất

  4. Cách cấp tất cả các đặc quyền về chế độ xem cho người dùng tùy ý

  5. Sửa lỗi “INSERT có nhiều biểu thức hơn cột mục tiêu” trong PostgreSQL