development:system:signoz
This is an old revision of the document!
Table of Contents
SigNoz
SigNoz là một hệ thống giám sát và theo dõi phân tán dựa trên OpenTelemetry, cung cấp khả năng theo dõi hiệu suất và log của các ứng dụng phân tán. Dưới đây là cơ chế hoạt động của SigNoz và cách nó thu thập, xử lý, và hiển thị dữ liệu từ các dịch vụ của bạn:
Kiến trúc của SigNoz
SigNoz có một kiến trúc gồm nhiều thành phần chính:
- Ứng dụng phân tán (Distributed Applications): Đây là các ứng dụng mà bạn đang theo dõi, bao gồm các dịch vụ microservices hoặc các ứng dụng lớn.
- OpenTelemetry SDK: Mỗi ứng dụng cần phải tích hợp SDK của OpenTelemetry để thu thập traces, metrics, và logs.
- SigNoz Collector: Đây là thành phần thu thập dữ liệu từ các ứng dụng thông qua giao thức OTLP (OpenTelemetry Protocol). SigNoz Collector xử lý dữ liệu thu thập được và gửi đến hệ thống lưu trữ.
- Cơ sở dữ liệu:
- ClickHouse: Dùng để lưu trữ các dữ liệu trace và metrics hiệu năng.
- Kafka (tùy chọn): Một hệ thống nhắn tin dùng để xử lý dữ liệu theo thời gian thực giữa các thành phần.
- SigNoz Backend: Đảm nhận việc xử lý dữ liệu truy vấn từ cơ sở dữ liệu và cung cấp API cho giao diện người dùng (dashboard).
- SigNoz Frontend: Dashboard cho phép người dùng theo dõi các dịch vụ và sự kiện theo thời gian thực.
Cài đặt SigNoz
SigNoz yêu cầu Docker và Docker Compose để chạy.
Mở Terminal và thực hiện các lệnh dưới đây để tải và cài đặt SigNoz:
git clone https://github.com/SigNoz/signoz.git cd signoz/deploy/ ./install.sh ++++++++++++++++++ SUCCESS ++++++++++++++++++++++ 🟢 Your installation is complete! 🟢 Your frontend is running on http://localhost:3301 ℹ️ By default, retention period is set to 15 days for logs and traces, and 30 days for metrics. To change this, navigate to the General tab on the Settings page of SigNoz UI. For more details, refer to https://signoz.io/docs/userguide/retention-period ℹ️ To bring down SigNoz and clean volumes : docker-compose -f ./docker/clickhouse-setup/docker-compose.yaml down -v +++++++++++++++++++++++++++++++++++++++++++++++++
Truy cập SigNoz: Sau khi cài đặt hoàn tất, SigNoz sẽ chạy trên cổng 3301. Bạn có thể truy cập SigNoz thông qua trình duyệt tại địa chỉ: http://localhost:3301
tungnt@MacBook-Pro-cua-Nguyen-2 deploy % docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b41f37920c44 signoz/frontend:0.56.0 "nginx -g 'daemon of…" 6 minutes ago Up 4 minutes 80/tcp, 0.0.0.0:3301->3301/tcp signoz-frontend 8610bbf57d2d gliderlabs/logspout:v3.2.14 "/bin/logspout syslo…" 6 minutes ago Up 4 minutes 80/tcp signoz-logspout 2edc839a6533 signoz/signoz-otel-collector:0.102.12 "/signoz-collector -…" 6 minutes ago Up 4 minutes 0.0.0.0:4317-4318->4317-4318/tcp signoz-otel-collector 25c604311ec7 signoz/alertmanager:0.23.7 "/bin/alertmanager -…" 6 minutes ago Up 4 minutes 9093/tcp signoz-alertmanager 27b434094a49 signoz/query-service:0.56.0 "./query-service -co…" 6 minutes ago Up 5 minutes (healthy) 8080/tcp signoz-query-service e52c78f52e83 clickhouse/clickhouse-server:24.1.2-alpine "/entrypoint.sh" 6 minutes ago Up 6 minutes (healthy) 0.0.0.0:8123->8123/tcp, 0.0.0.0:9000->9000/tcp, 0.0.0.0:9181->9181/tcp, 9009/tcp signoz-clickhouse 1166903ee8fb signoz/locust:1.2.3 "/docker-entrypoint.…" 6 minutes ago Up 6 minutes 5557-5558/tcp, 8089/tcp load-hotrod 46540b384bac bitnami/zookeeper:3.7.1 "/opt/bitnami/script…" 6 minutes ago Up 6 minutes 0.0.0.0:2181->2181/tcp, 0.0.0.0:2888->2888/tcp, 0.0.0.0:3888->3888/tcp, 8080/tcp signoz-zookeeper-1 d6910ee05e61 jaegertracing/example-hotrod:1.30 "/go/bin/hotrod-linu…" 6 minutes ago Up 6 minutes 8080-8083/tcp hotrod
tungnt@MacBook-Pro-cua-Nguyen-2 deploy % docker logs -f signoz-frontend 2024/10/17 07:33:02 [notice] 1#1: using the "epoll" event method 2024/10/17 07:33:02 [notice] 1#1: nginx/1.26.2 2024/10/17 07:33:02 [notice] 1#1: built by gcc 13.2.1 20240309 (Alpine 13.2.1_git20240309) 2024/10/17 07:33:02 [notice] 1#1: OS: Linux 6.10.4-linuxkit 2024/10/17 07:33:02 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576 2024/10/17 07:33:02 [notice] 1#1: start worker processes 2024/10/17 07:33:02 [notice] 1#1: start worker process 6 2024/10/17 07:33:02 [notice] 1#1: start worker process 7
Cài đặt thư viện PHP
Link hướng dẫn:
pecl install opentelemetry pecl install protobuf php -m | grep opentelemetry
composer config allow-plugins.php-http/discovery false composer require \ open-telemetry/sdk \ open-telemetry/exporter-otlp \ php-http/guzzle7-adapter \ open-telemetry/opentelemetry-auto-slim
development/system/signoz.1729216918.txt.gz · Last modified: 2024/10/18 02:01 by tungnt