SigNoz là một công cụ quan sát nguồn mở giúp bạn giám sát các ứng dụng của mình và khắc phục sự cố. Nó cung cấp dấu vết, số liệu và nhật ký dưới một khung kính duy nhất. Nó có sẵn dưới dạng phần mềm nguồn mở và dịch vụ đám mây .
Với SigNoz, bạn có thể làm những việc sau:
- Trực quan hóa Traces, Metrics, và Logs trong một bảng điều khiển duy nhất.
- Giám sát các số liệu ứng dụng như độ trễ p99, tỷ lệ lỗi cho dịch vụ của bạn, external API calls và các endpoints riêng lẻ.
- Tìm nguyên nhân cốt lõi của sự cố bằng cách đi tới các dấu vết chính xác gây ra sự cố và xem biểu đồ flamegraphs một cách chi tiết về dấu vết.
- Chạy tổng hợp dữ liệu trace để có được số liệu liên quan đến doanh nghiệp
- Lọc và truy vấn nhật ký, xây dựng bảng thông tin và cảnh báo dựa trên các thuộc tính trong Logs
- Giám sát các số liệu cơ sở hạ tầng như mức sử dụng CPU hoặc mức sử dụng bộ nhớ
- Tự động ghi lại các ngoại lệ trong Python, Java, Ruby và Javascript
- Dễ dàng đặt cảnh báo với trình tạo truy vấn DIY
SigNoz hoạt động như thế nào?
SigNoz thu thập dữ liệu bằng OpenTelemetry , một giải pháp quan sát nguồn mở. OpenTelemetry được hỗ trợ bởi Cloud Native Computing Foundation. Dự án nhằm mục đích tiêu chuẩn hóa cách chúng tôi trang bị các ứng dụng của mình để tạo dữ liệu đo từ xa (dấu vết, số liệu và nhật ký).
SigNoz hỗ trợ tất cả các frameworks và ngôn ngữ được OpenTelemetry hỗ trợ. Bạn có thể tìm thấy danh sách đầy đủ các ngôn ngữ được hỗ trợ trên trang công cụ của tài liệu OpenTelemetry.
Sau khi trang bị ứng dụng của mình bằng OpenTelemetry, bạn có thể gửi dữ liệu đến SigNoz để lưu trữ, phân tích và trực quan hóa.
Architecture

SigNoz bao gồm các thành phần sau:
- OpenTelemetry Collector : Thu thập dữ liệu đo từ xa từ các dịch vụ và ứng dụng của bạn.
- ClickHouse : Hệ thống quản lý cơ sở dữ liệu OLAP dạng cột mã nguồn mở, hiệu suất cao.
- Query Service : Giao diện giữa front-end và ClickHouse
- Frontend : Giao diện người dùng, được tích hợp trong ReactJS và TypeScript.
Các vấn đề mà SigNoz có thể giải quyết
Phát hiện hiệu suất bị trì hoãn
Chúng tôi không phát hiện sớm các vấn đề về hiệu suất để tránh khiếu nại của người dùng và thời gian ngừng hoạt động.
Tình trạng ứng dụng kém
Chúng tôi có khả năng quan sát thấp về tình trạng và hiệu suất của môi trường đám mây phân tán của mình.
Tìm kiếm các logs kém
Chúng ta đang lãng phí quá nhiều thời gian để tìm kiếm và truy vấn nhật ký theo cách thủ công cho các ứng dụng phức tạp của mình.
Vấn đề liên quan tới độ trễ
Chúng tôi không xác định được hành vi bất thường và sai lệch hiệu suất đủ nhanh.
Các trường hợp sử dụng APM và khả năng quan sát có thể có cho SigNoz
Phân tích nhật ký nâng cao
Dữ liệu nhật ký cung cấp những hiểu biết có giá trị về hiệu suất, bảo mật và hành vi của người dùng và ứng dụng. Trường hợp sử dụng này giới thiệu các khả năng phân tích nhật ký nâng cao do các nhà cung cấp APM và Khả năng quan sát cung cấp, cho phép các tổ chức tổng hợp, phân tích và trực quan hóa dữ liệu nhật ký để đưa ra quyết định nhanh hơn và sáng suốt hơn.
Khả năng quan sát cơ sở hạ tầng CNTT toàn diện
Khi cơ sở hạ tầng CNTT ngày càng phức tạp, việc giám sát và quản lý các thành phần như máy chủ, mạng, bộ lưu trữ và môi trường ảo trở nên cần thiết. Trường hợp sử dụng này tập trung vào việc cung cấp khả năng hiển thị toàn diện về hiệu suất và tình trạng, cho phép các tổ chức tối ưu hóa việc sử dụng tài nguyên và chủ động giải quyết các tắc nghẽn tiềm ẩn.
Theo dõi phân tán cho kiến trúc vi dịch vụ
Với sự phát triển của kiến trúc vi dịch vụ, việc theo dõi các yêu cầu trên nhiều dịch vụ và thành phần trở nên quan trọng để hiểu được hiệu suất ứng dụng. Trường hợp sử dụng này nêu bật khả năng theo dõi phân tán được cung cấp bởi các nhà cung cấp APM và Khả năng quan sát, cho phép doanh nghiệp xác định và khắc phục các sự cố về hiệu suất trên các hệ thống phân tán, phức tạp.
Hiệu suất ứng dụng mượt mà và hiệu quả
Các tổ chức cần đảm bảo hiệu suất ứng dụng mượt mà và hiệu quả để có trải nghiệm người dùng liền mạch. Trường hợp sử dụng này liên quan đến việc giám sát, phát hiện và chẩn đoán các vấn đề về hiệu suất trong thời gian thực, cho phép doanh nghiệp giải quyết các vấn đề tiềm ẩn trước khi chúng ảnh hưởng đến người dùng cuối.
Các tính năng của Signoz:
- Giao diện người dùng hợp nhất cho số liệu, dấu vết và nhật ký. Không cần phải chuyển từ Prometheus sang Jaeger để gỡ lỗi hoặc sử dụng công cụ ghi nhật ký như Elastic tách biệt khỏi ngăn xếp chỉ số và dấu vết của bạn.
- Các số liệu tổng quan về ứng dụng như RPS, độ trễ Phần trăm thứ 50/90/99 và Tỷ lệ lỗi
- Điểm cuối chậm nhất trong ứng dụng của bạn
- Xem dấu vết yêu cầu chính xác để tìm ra các vấn đề trong các dịch vụ hạ nguồn, truy vấn DB chậm, gọi tới các dịch vụ của bên thứ 3 như cổng thanh toán, v.v.
- Lọc dấu vết theo tên dịch vụ, hoạt động, độ trễ, lỗi, thẻ/chú thích.
- Chạy tổng hợp trên dữ liệu theo dõi (sự kiện/khoảng thời gian) để có được số liệu liên quan đến hoạt động kinh doanh. ví dụ: Bạn có thể nhận được tỷ lệ lỗi và độ trễ phân vị thứ 99 của
customer_type: goldhoặcdeployment_version: v2hoặcexternal_call: paypal - Hỗ trợ riêng cho Nhật ký OpenTelemetry, trình tạo truy vấn nhật ký nâng cao và thu thập nhật ký tự động từ cụm k8s
- Phân tích nhật ký nhanh như chớp ( Logs Perf. Benchmark )
- Khả năng hiển thị toàn diện về hiệu suất cơ sở hạ tầng, nhập số liệu từ tất cả các loại môi trường máy chủ
- Dễ dàng đặt cảnh báo với trình tạo truy vấn DIY
Tại sao lại dùng SigNoz?
Các nhà phát triển phần mềm, cảm thấy khó chịu khi phải dựa vào các nhà cung cấp SaaS nguồn đóng cho mọi tính năng nhỏ mà họ muốn. Các nhà cung cấp nguồn đóng thường làm bạn ngạc nhiên với những hóa đơn khổng lồ vào cuối tháng mà không có bất kỳ sự minh bạch nào.
Do đó, họ muốn tạo phiên bản công cụ nguồn mở và tự lưu trữ như DataDog, NewRelic cho các công ty có mối lo ngại về quyền riêng tư và bảo mật về việc chuyển dữ liệu khách hàng sang dịch vụ của bên thứ ba.
Việc trở thành nguồn mở cũng cho phép bạn kiểm soát hoàn toàn cấu hình, lấy mẫu, thời gian hoạt động của mình. Bạn cũng có thể xây dựng các mô-đun trên SigNoz để mở rộng các khả năng cụ thể của doanh nghiệp
Ngôn ngữ được hỗ trợ:
SigNoz sử dụng OpenTelemetry làm thư viện mà bạn có thể sử dụng để trang bị cho các ứng dụng của mình. Vì vậy, bất kỳ khung và ngôn ngữ nào được OpenTelemetry hỗ trợ cũng được SigNoz hỗ trợ. Một số ngôn ngữ được hỗ trợ chính là:
- Java
- Python
- Node.js
- Go
- PHP
- .NET
- Ruby
- Elixir
- Rust
Bạn có thể tìm thấy danh sách đầy đủ các ngôn ngữ tại đây – https://opentelemetry.io/docs/
So sánh với các công cụ quen thuộc khác
SigNoz vs Prometheus
Prometheus là lựa chọn tốt nếu bạn chỉ muốn làm số liệu. Nhưng nếu bạn muốn có trải nghiệm liền mạch giữa số liệu và dấu vết, thì trải nghiệm hiện tại về việc kết hợp Prometheus & Jaeger lại với nhau là không tuyệt vời.
Mục tiêu của các nhà phát triển SigNoz là cung cấp giao diện người dùng tích hợp giữa các số liệu và dấu vết – tương tự như những gì nhà cung cấp SaaS như Datadog cung cấp – đồng thời cung cấp tính năng lọc và tổng hợp nâng cao theo dấu vết, điều mà Jaeger hiện đang thiếu.
SigNoz vs Jaeger
Jaeger chỉ thực hiện truy tìm phân tán. SigNoz hỗ trợ các số liệu, dấu vết và nhật ký – cả 3 trụ cột của khả năng quan sát.
Hơn nữa, SigNoz có một số tính năng nâng cao hơn cho Jaeger:
- Giao diện người dùng Jaegar không hiển thị bất kỳ số liệu nào về dấu vết hoặc dấu vết được lọc
- Jaeger không thể lấy tổng hợp trên các dấu vết đã lọc. Ví dụ: độ trễ p99 của các yêu cầu có thẻ – customer_type=’premium’. Điều này có thể được thực hiện dễ dàng trên SigNoz
SigNoz vs Elastic
- Quản lý Nhật ký SigNoz dựa trên ClickHouse, kho dữ liệu OLAP dạng cột giúp các truy vấn phân tích nhật ký tổng hợp hiệu quả hơn nhiều
- Yêu cầu tài nguyên thấp hơn 50% so với Elastic trong quá trình ingestion
SigNoz vs Loki
- SigNoz hỗ trợ tổng hợp dữ liệu có lượng số cao trên một khối lượng lớn trong khi Loki thì không.
- SigNoz hỗ trợ lập chỉ mục trên dữ liệu lượng số cao và không có giới hạn về số lượng chỉ mục, trong khi Loki đạt đến luồng tối đa với một vài chỉ mục được thêm vào.
- Việc tìm kiếm trên một khối lượng dữ liệu khổng lồ ở Loki rất khó và chậm so với SigNoz
Một số hình ảnh minh họa
Số liệu ứng dụng

Distributed Tracing


Logs Management

Infrastructure Monitoring

Giám sát ngoại lệ

Cảnh báo

Kết luận
Như vậy, chúng ta vừa tìm hiểu qua các khái niệm và những thông tin cần thiết về một công cụ giám sát mạnh mẽ, “Signoz”. Chúc các bạn thành công và hẹn gặp lại.










Add Comment