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

Mẹo để giám sát PostgreSQL cho Moodle

Moodle là Hệ thống Quản lý Học tập (LMS) được thiết kế để cung cấp cho các nhà giáo dục, quản trị viên và người học một hệ thống mạnh mẽ, an toàn và tích hợp duy nhất để tạo ra môi trường học tập được cá nhân hóa. Nó hỗ trợ các công nghệ cơ sở dữ liệu khác nhau (ví dụ:MariaDB, MySQL, PostgreSQL, v.v.).

Do COVID-19, việc làm việc và học tập tại nhà gần đây đã tăng lên theo cấp số nhân, vì vậy tính khả dụng và hiệu suất của loại nền tảng học tập này ngày càng quan trọng hơn. Cách duy nhất để bạn có thể đảm bảo mọi thứ diễn ra tốt đẹp là có một hệ thống Cảnh báo và Giám sát tốt, nhưng câu hỏi đặt ra là bạn cần theo dõi những gì để đảm bảo rằng hệ thống của bạn đang chạy một cách lành mạnh.

Trong blog này, chúng ta sẽ xem xét những gì bạn cần theo dõi trong Cơ sở dữ liệu PostgreSQL Moodle và cách bạn có thể làm điều đó dễ dàng hơn bằng cách sử dụng ClusterControl.

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

Khi theo dõi một nút hoặc cụm cơ sở dữ liệu, có hai điều chính cần lưu ý:hệ điều hành và bản thân 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à cách bạn sẽ thực hiện điều đó.

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

Một điều quan trọng (phổ biến cho tất cả các công cụ cơ sở dữ liệu và thậm chí cho tất cả hệ thống) là để giám sát hành vi của Hệ điều hành. Dưới đây là 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 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 nó, đồ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

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.

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 &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.

Giám sát Cơ sở dữ liệu Moodle 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. ClusterControl 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.

Nó 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ể cho phép 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 nó với các dịch vụ khác nhau như PagerDuty hoặc Slack.

Trong phần giám sát truy vấn, bạn có thể tìm thấy các truy vấn hàng đầu, đang chạy truy vấn, 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.

Để 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 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 có thể 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ý 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ụ mà bạn có thể thấy trong ClusterControl Giao diện người dùng (và thậm chí hơn thế nữa) 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

Theo dõi Cơ sở dữ liệu Moodle PostgreSQL của bạn là cần thiết nhưng cũng là một nhiệm vụ tốn thời gian nếu bạn không có bất kỳ công cụ nào để trợ giúp việc này. Trong blog này, chúng tôi đã đề cập đến một số chỉ số chính cần theo dõi trong cơ sở dữ liệu Moodle PostgreSQL của bạn và cách giữ cho hệ thống của bạn được kiểm soát bằng cách sử dụng ClusterControl.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tối ưu hóa truy vấn trong PostgreSQL. GIẢI THÍCH Khái niệm cơ bản - Phần 3

  2. Duy trì múi giờ ở loại timestamptz PostgreSQL

  3. Tối ưu hóa truy vấn tối đa theo nhóm

  4. Java Crosstab - câu lệnh chuẩn bị truy vấn

  5. Homebrew postgres bị hỏng