9 công cụ giám sát mã nguồn mở hàng đầu cho Kubernetes

Chọn công cụ phù hợp để theo dõi thành công Kubernetes!


Kubernetes là một nền tảng nguồn mở sẵn sàng sản xuất được thiết kế với kinh nghiệm Google Google có được trong việc điều phối container, liên quan đến các ý tưởng tốt nhất từ ​​công chúng. Nó được dự kiến ​​để tự động hóa việc triển khai, nhân rộng và vận hành các thùng chứa ứng dụng.

Với cách xây dựng và chạy các ứng dụng hiện đại, các chiến lược kiểm soát và quan sát của bạn cần phải tiến bộ, và vì vậy các công cụ mà bạn sử dụng. Các công cụ giám sát cơ sở hạ tầng truyền thống có thể không đủ và bạn cần một hệ thống giám sát Kubernetes chuyên dụng, như được liệt kê dưới đây.

Một số trợ giúp với nhật ký và những người khác với số liệu. Một số cung cấp một giao diện để vận hành Kubernetes từ chế độ xem mắt chim. Một số là người bản địa Kubernetes, trong khi những người khác là bất khả tri hơn.

Prometheus

Prometheus là một trong những công cụ giám sát phổ biến nhất và tốt nhất được sử dụng với Kubernetes. Công cụ này được SoundCloud phát triển sớm và sau đó được tặng cho CNCF. Google Borg Monitor truyền cảm hứng cho nó.

Chà, Prometheus lưu trữ tất cả dữ liệu của nó như một chuỗi thời gian. Tóm lại, điều khiến Prometheus nổi bật trong các cơ sở dữ liệu chuỗi thời gian khác, là các cơ chế cảnh báo tích hợp, mô hình dữ liệu đa chiều, mô hình kéo so với đẩy, PromQL (ngôn ngữ truy vấn Prometheus), và tất nhiên, bao giờ hết cộng đồng phát triển.

Một số tính năng khác của Prometheus bao gồm:

  • Không phụ thuộc vào lưu trữ phân tán;
  • 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
  • PromQL, một ngôn ngữ truy vấn linh hoạt để tận dụng lợi thế này
  • Các nút máy chủ duy nhất là tự chủ
  • Bộ sưu tậ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ô hình dữ liệu đa chiều với dữ liệu chuỗi thời gian được phân tích theo cặp số liệu và cặp khóa / giá trị
  • Và, nhiều hình thức hỗ trợ biểu đồ và bảng điều khiển

Cách tốt nhất để học Prometheus là cài đặt trên máy chủ phòng thí nghiệm của bạn và chơi xung quanh nó. Họ có tài liệu tuyệt vời, nhưng nếu bạn đang tìm kiếm học tập dựa trên video, thì hãy xem điều này Khóa học của kẻ thù.

Kubewatch

Kubewatch là trình theo dõi Kubernetes xuất bản thông báo sự kiện trong kênh Slack. Công cụ này cung cấp cho bạn phương tiện để xác định các tài nguyên bạn cần theo dõi. Nó được tạo ở Golang và sử dụng thư viện máy khách Kubernetes để kết nối với máy chủ API Kubernetes. Thư viện này đóng vai trò là yếu tố cơ bản cho việc theo dõi sự kiện Kubernetes.

kubewatch đơn giản để cấu hình và có thể được triển khai bằng cách sử dụng helm hoặc triển khai hệ thống. Rõ ràng hơn, kubewatch sẽ thấy các thay đổi cần thiết đối với các tài nguyên Kubernetes cụ thể mà bạn tìm kiếm để xem – triển khai, bộ daemon, nhóm, dịch vụ, bộ bản sao, dịch vụ, bộ điều khiển sao chép, bí mật và bản đồ cấu hình.

Jaeger

Truy tìm phân tán đang dần phát triển thành giám sát và xử lý sự cố môi trường Kubernetes.  Jaeger là một hệ thống theo dõi, được phát hành bởi Uber Technologies. Nó được sử dụng để giám sát các giao dịch và xử lý sự cố trong các hệ thống phân tán phức tạp.

Jaeger có tính năng thiết bị dựa trên OpenTracing cho Java, Python, Node và C ++. Nó sử dụng lấy mẫu trả trước nhất quán với xác suất cá nhân trên mỗi dịch vụ / điểm cuối và hỗ trợ nhiều phụ trợ lưu trữ – Cassandra, Elaticsearch, Kafka và bộ nhớ.

Một số tính năng khác của Jaeger bao gồm:

  • Giám sát giao dịch phân tán
  • Tuyên truyền bối cảnh phân tán
  • Tối ưu hóa hiệu suất / độ trễ
  • Phân tích nguyên nhân gốc rễ
  • Phân tích phụ thuộc dịch vụ

cIDIA

cIDIA được thiết kế để lắp ráp, xử lý và xuất thông tin sử dụng tài nguyên và thông tin sản xuất về việc chạy container. Nó cũng phát triển thành Kubernetes và tích hợp vào nhị phân Kubelet. Nó rất đơn giản để sử dụng (nó hiển thị số liệu Prometheus ngoài luồng) nhưng không đủ mạnh để được công nhận là một giải pháp giám sát toàn diện.

Không giống như những người khác, cIDIA không được triển khai trên mỗi nhóm mà ở cấp độ nút. Nó sẽ tự động xác định tất cả các container đang chạy trên một hệ thống và thu thập các số liệu hệ thống như bộ nhớ, CPU, mạng, v.v..

cIDIA là một công cụ cơ bản và sau đây là một số tính năng của nó.

  • Hỗ trợ riêng cho các container Docker và hỗ trợ các loại container khác.
  • Hỗ trợ xuất các số liệu thống kê sang các plugin lưu trữ khác nhau, ví dụ: InfluxDB vv.,
  • Nó cung cấp tổng thể sử dụng máy bằng cách phân tích thùng chứa ’root trên máy.
  • Hỗ trợ để chạy độc lập bên ngoài Docker hoặc bất kỳ container nào khác.
  • cIDIA hoạt động trên mỗi nút. Nó tự động phát hiện tất cả các vùng chứa trong nút đã cho và thu thập số liệu thống kê sử dụng CPU, hệ thống tệp và mạng.
  • Số liệu có thể được xem trên Web-UI, nơi xuất thông tin trực tiếp về tất cả các vùng chứa trên hệ thống.

Cabin

Cabin là ứng dụng bảng điều khiển di động gốc tốt nhất cho Kubernetes. Cabin UI được phát triển bằng React Native do đó chạy cả thiết bị iOS và Android. Đó là trên trợ lý di chuyển, cung cấp các hành động chi tiết để thao túng tài nguyên Kubernetes. Ứng dụng Cabin là cảm ứng trước.

Ví dụ: bạn cũng có thể xóa các nhóm bằng thao tác vuốt trái đơn giản. Bạn cũng có thể mở rộng quy mô triển khai bằng một cuộn ngón tay.

Một số tính năng khác:

  • Tạo các triển khai cơ bản Triển khai quy mô và bộ điều khiển nhân rộng
  • Chuyển đổi loại dịch vụ
  • Triển khai triển khai thông qua các dịch vụ
  • Tích hợp với GKE để cung cấp cụm nhấp chuột đơn
  • Truy cập nhật ký trong nhiều container
  • Xóa và thêm nhãn
  • Mở các dịch vụ NodePort trong trình duyệt
  • Thực thi các lệnh trong container

Thần giao cách cảm

Thần giao cách cảm cho phép bạn chạy một dịch vụ cụ thể cục bộ trong khi kết nối dịch vụ đó với cụm Kubernetes từ xa. Điều này cho phép các nhà phát triển làm việc trên các hoạt động đa dịch vụ chấp nhận bất kỳ công cụ nào được cài đặt cục bộ để kiểm tra / gỡ lỗi / chỉnh sửa dịch vụ của bạn. Chẳng hạn, bạn có thể chạy trình gỡ lỗi hoặc IDE.

Nó cũng cho phép các nhà phát triển thực hiện phát triển cục bộ nhanh chóng một dịch vụ cụ thể, ngay cả khi dịch vụ đó phụ thuộc vào các dịch vụ riêng biệt trong cụm. Thực hiện chuyển đổi sang dịch vụ của bạn, lưu và bạn có thể thấy ngay dịch vụ mới đang hoạt động.

Telepresence là một môi trường phát triển địa phương ấn tượng cho các dịch vụ chạy trong Kubernetes. Phần gỡ lỗi trực tiếp là duy nhất và được phát triển khá nhanh. Dưới đây là một số tính năng khác của nó.

  • Cho phép mã chạy trong vùng chứa để kết nối với IDE hoặc trình gỡ lỗi chạy trên máy chủ.
  • Telepresence sử dụng hình ảnh proxy dành riêng cho OpenShift khi nó quan sát cụm OpenShift.
  • Telepresence cũng hỗ trợ lưu lượng chuyển tiếp đến và từ các container khác trong nhóm.
  • Telepresence sử dụng một thư mục có thể truy cập Docker làm thư mục tạm thời.

Phạm vi dệt

Phạm vi dệt là một sự cố & công cụ giám sát cho Kubernetes. Nó tạo ra các cấu trúc liên kết logic của ứng dụng và cơ sở hạ tầng của bạn, tạo điều kiện cho bạn xem xét, giám sát và kiểm soát ứng dụng dựa trên microservice được đóng gói của bạn.

Nó cung cấp một cái nhìn từ trên xuống vào ứng dụng cũng như cơ sở hạ tầng đầy đủ của bạn. Nó cho phép bạn xác định bất kỳ vấn đề nào với ứng dụng được đóng gói phân tán của bạn trong thời gian thực, vì nó được triển khai cho nhà cung cấp đám mây.

Một số tính năng của Phạm vi Dệt bao gồm:

  • Hỗ trợ cho mọi kiểu triển khai (Cục bộ, lưu trữ hoặc kết hợp) và khả năng thu thập và báo cáo số liệu Máy chủ / Container
  • Tổng hợp số liệu, sự kiện và nhãn từ Kubernetes
  • Số liệu theo ngữ cảnh thời gian thực
  • Các nút có thể được lọc bởi CPU và quản lý bộ nhớ để bạn có thể nhanh chóng xác định các thùng chứa bằng cách sử dụng nhiều tài nguyên nhất.

Grafana

Grafana được sử dụng để trực quan hóa các số liệu nhưng cũng là một công cụ cảnh báo. Grafana có thể đưa ra cảnh báo trên Slack, webhook, mail hoặc các kênh liên lạc thay thế. Một lý do quan trọng khác là nguồn dữ liệu của bạn: Grafana có thể truy vấn nhiều thực thể cùng một lúc.

Bạn có thể truy vấn từ cơ sở dữ liệu như ElasticSearch hoặc các công cụ giám sát như Cloudwatch và cũng có thể đặt cảnh báo trên đó. Một số tính năng khác như dưới đây.

  • Một người quản lý cảnh báo xử lý phần cảnh báo
  • Dễ dàng cài đặt của các nhà xuất khẩu
  • Ứng dụng sử dụng thẻ Kubernetes để cho phép lọc cả số liệu pod.
  • Bảng điều khiển Pod / Container tận dụng các thẻ pod để dễ dàng tìm thấy các nhóm hoặc nhóm có liên quan.

Zabbix

Với Zabbix, có thể xây dựng các loại dữ liệu gần như vô hạn từ hệ thống. Các hệ thống giám sát thời gian thực hiệu năng cao có thể điều khiển đồng thời hàng chục nghìn máy chủ, máy ảo và thiết bị mạng.

Cùng với việc lưu dữ liệu, các tính năng trực quan có thể truy cập được, cũng như các cách cực kỳ linh hoạt để tìm ra dữ liệu cho mục đích đáng báo động.

Một số tính năng của Zabbix bao gồm:

  • Phân tích nguyên nhân gốc rễ
  • Zabbix giúp giữ dữ liệu ở định dạng JSON, vì vậy nhiều ứng dụng cũng có thể sử dụng nó.
  • Giám sát thời gian thực
  • Zabbix proxy rất được đề xuất cho các hệ thống sản xuất quy mô rộng.
  • Báo cáo chi tiết
  • Khám phá cấp thấp sẽ tự động kiểm tra các nút mới mà không có bất kỳ cuộc đấu tranh nào.
  • Cấu hình cao và mở rộng.

Zabbix rất quan trọng và không chỉ Kubernetes mà còn phù hợp để giám sát cơ sở hạ tầng và số liệu ứng dụng. Nếu bạn thích học Zabbix, thì hãy xem cái này khóa học tuyệt vời.

Phần kết luận

Chọn đúng công cụ giám sát là rất quan trọng. Nhưng đoán xem? Trên hết là có sẵn MIỄN PHÍ để thử, vậy tại sao không lấy một số VM đám mây và xem những gì hoạt động cho giám sát Kubernetes của bạn?

Chúc mừng giám sát và xử lý sự cố!

THẺ

  • Docker

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map