Giám sát với Prometheus (Tiếng Anh) – Chương 0 – Giám sát là gì?

Tram Ho

Chào mừng bạn đến với Giám sát với Dòng Prometheus. Trong loạt bài này chúng ta sẽ tìm hiểu về cách giám sát hệ thống bằng công cụ Prometheus, có lẽ hầu hết mọi người đều học Prometheus bằng cách cài đặt nó trên Kubernetes, trong loạt bài này chúng ta sẽ không làm điều đó. Tôi sẽ chỉ cho bạn cách sử dụng Prometheus từ đầu đến cuối, từ cách cài đặt Prometheus với các gói Linux, cách cài đặt các công cụ cung cấp số liệu cho Prometheus trên máy ảo và vùng chứa, đến cách thiết kế hệ thống Alertmanager và cấu hình tiện ích mở rộng Prometheus, và nhiều cái khác nữa.

Loạt bài này tôi tham khảo từ cuốn sách Giám sát với Prometheus.

image.png

Trong bài đầu tiên, chúng ta sẽ tìm hiểu khái niệm Giám sát là gì.

Giám sát là gì?

Từ góc độ kỹ thuật, giám sát là cách chúng ta sử dụng các công cụ để giám sát hệ thống và ứng dụng của mình. Việc giám sát sẽ cung cấp cho chúng tôi các giá trị về hiệu suất, sức khỏe của hệ thống và ứng dụng để chúng tôi có thể nhanh chóng phát hiện các vấn đề với hệ thống.

Nhưng việc giám sát không chỉ dừng lại ở việc giám sát các giá trị hệ thống như CPU ​​hay bộ nhớ mà còn bao gồm các giá trị có thể giúp ích về mặt kinh doanh như số lượng khách hàng truy cập vào trang web và thời gian của khách hàng. lượt truy cập trang web, số lượng khách hàng nhấp vào một sản phẩm nhất định,…

Vì vậy, để theo dõi, chúng ta sẽ có hai đối tượng:

  • Hệ thống (hệ thống)
  • Business (doanh nghiệp)

Giám sát Hệ Thống

Đối với một hệ thống, chúng ta cần giám sát các thành phần sau:

  • Giám sát cơ sở hạ tầng: đầu tiên trong một hệ thống, chúng ta cần giám sát cơ sở hạ tầng vì đây là nơi triển khai các ứng dụng, các giá trị của cơ sở hạ tầng chúng ta cần quan tâm là cơ sở hạ tầng còn lại bao nhiêu CPU và bộ nhớ, dung lượng ổ đĩa còn lại là bao nhiêu. , các quy trình đang chạy trên cơ sở hạ tầng còn sống hay đã chết,…
  • Giám sát ứng dụng: tiếp theo, chúng ta cần theo dõi các thông số của ứng dụng, đối với một ứng dụng, chúng ta sẽ quan tâm đến các giá trị như thời gian phản hồi của ứng dụng, trạng thái của ứng dụng (đang chạy hay đã chết), CPU và bộ nhớ ứng dụng, số lượng yêu cầu. (yêu cầu) ứng dụng sau 1 giây,…
  • Giám sát mạng: Cuối cùng, ở tầng mạng, chúng ta cần quan tâm đến các giá trị như số byte gửi đến, trạng thái của tường lửa,…

Việc kinh doanh

Như chúng tôi đã nói ở trên, các giá trị liên quan đến kinh doanh thường là giá trị tương tác của người dùng. Phân tích tương tác của người dùng sẽ mang lại giá trị to lớn cho doanh nghiệp của chúng tôi.

Để theo dõi tương tác của người dùng, chúng ta cần thực hiện ở lớp mã front-end hoặc back-end, ví dụ như ở lớp front-end để theo dõi hành vi của người dùng chúng ta sẽ sử dụng Google Analytics.

Trong loạt bài này, chúng ta sẽ nói về giám sát tại giám sát hệ thống.

Cơ chế giám sát

Để theo dõi, chúng ta sẽ có hai cách tiếp cận: thăm dò và xem xét nội tâm.

Theo dõi giám sát là cách chúng tôi giám sát hệ thống từ bên ngoài, chúng tôi sẽ đưa ra yêu cầu đối với hệ thống và thu thập các giá trị mà nó trả về, chẳng hạn như hệ thống có phản hồi yêu cầu hay không và hệ thống có đang mở hay không. cổng mà chúng tôi cần, hệ thống trả về mã HTTP chính xác hay không. Ví dụ: chúng tôi gọi một API và kiểm tra mã HTTP mà nó trả về có phải là 200 hay không.

Giám sát nội tâm là cách chúng ta giám sát hệ thống từ bên trong, chúng ta sẽ sử dụng các công cụ để thu thập các giá trị về hiệu suất và sức khỏe của hệ thống. Trong các bài học tiếp theo, chúng ta sẽ tìm hiểu về giám sát nội tâm trước rồi mới đến theo dõi thăm dò.

Cách công cụ giám sát thu thập dữ liệu

Thông thường, các công cụ giám sát sử dụng hai cách để thu thập dữ liệu từ các đối tượng mà nó cần giám sát: dựa trên kéo và dựa trên đẩy.

Dựa trên kéo: Theo cách này, các hệ thống mà chúng ta cần giám sát phải cung cấp một đường dẫn mà khi chúng ta gọi đường dẫn đó sẽ trả về cho chúng ta các giá trị đại diện cho trạng thái của nó. Các công cụ giám sát sau đó sẽ gọi đường dẫn này để thu thập dữ liệu. Ví dụ: ứng dụng của chúng tôi cung cấp một đường dẫn /metrics cho các công cụ giám sát để gọi và truy xuất dữ liệu.

Dựa trên cơ sở đẩy: Ngược lại, theo cách này, công cụ giám sát của chúng tôi sẽ cung cấp một đường dẫn và các ứng dụng của chúng ta sẽ đẩy các giá trị của nó đến đường dẫn này.

Trong loạt bài này chúng ta sẽ tìm hiểu về Prometheus, nó hỗ trợ cả hai cách pull-based và push-based.

Prometheus

Prometheus là một công cụ chuyên dụng để giám sát hệ thống, tại thời điểm viết bài này, nó là công cụ phổ biến nhất. Prometheus sẽ thu thập và lưu trữ các thông số hệ thống dưới cơ sở dữ liệu của nó, các giá trị mà nó thu thập được sẽ được lưu trữ dưới Prometheus dưới dạng chuỗi thời gian. Bạn có thể coi Prometheus như một cơ sở dữ liệu chuỗi thời gian.

Các tính năng chính của Prometheus:

  • Mô hình dữ liệu đa chiều với dữ liệu chuỗi thời gian được xác định bằng tên chỉ số và các cặp khóa / giá trị
  • PromQL, một ngôn ngữ truy vấn linh hoạt để tận dụng kích thước này
  • Không phụ thuộc vào lưu trữ phân tán; các nút máy chủ duy nhất là tự trị
  • Thu thập chuỗi thời gian xảy ra thông qua mô hình kéo qua HTTP
  • Chuỗi thời gian đẩy được hỗ trợ thông qua một cổng trung gian
  • Mục tiêu được phát hiện thông qua khám phá dịch vụ hoặc cấu hình tĩnh
  • Nhiều chế độ hỗ trợ vẽ đồ thị và trang tổng quan

Trong bài viết tiếp theo, chúng ta sẽ cùng nhau tìm hiểu về cách cài đặt Prometheus.

Sự kết luận

Sau đó là những khái niệm quan trọng về giám sát mà mình biết, các bạn có gì góp ý thêm thì ghi vào comment giúp mình nhé, hẹn gặp lại các bạn trong bài tiếp theo của loạt bài nhé.

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo