1. signoz介绍
SigNoz 是一款开源应用程序性能监控工具,通过signoz可以:
· 监控应用程序指标,例如延迟、每秒请求数、错误率 · 监控基础架构指标,例如 CPU 利用率或内存使用情况 · 跨服务跟踪用户请求 · 针对指标设置警报 · 通过转到导致问题的确切跟踪来查找问题的根本原因 · 查看各个请求轨迹的详细 · 采集日志
在某种程度上说,Signoz=ELK+Prometheus(grafana)+skywalking,集日志、指标、链路监控于一身。从目前试用的情况看,signoz功能多,比较适用于要求轻量化,对各监控组件又要求不是非常高的场景,比如一些私有化项目。
2. signoz工作原理
SigNoz使用OpenTelemetry收集数据,OpenTelemetry是一种开源可观测性解决方案。因此,SigNoz支持OpenTelemetry支持的所有框架和语言。
SigNoz 聚合所有收集的数据,用户可以使用仪表板查看与应用程序相关的所有指标和跟踪。
signoz架构图:
SigNoz包括以下组件: • OpenTelemetry Collector:从服务和应用程序收集遥测数据。
OpenTelemetry Collector可以接收多种格式的数据。以下是一些常用的接收器: • Jaeger Receiver • Kafka Receiver • OpenCensus Receiver • OTLP Receiver • Zipkin Receiver
• ClickHouse:一个开源的高性能列式 OLAP 数据库管理系统。 • Query Service:前端与ClickHouse之间的接口,它提供前端应用程序使用的 API,并在响应前端之前查询 ClickHouse 以获取数据和处理数据。
• Frontend:用户界面,内置于 ReactJS 和 TypeScript中,提供高级跟踪/跨度过滤功能和绘图指标以提供服务概述。
• Alert Manager:告警管理,提供告警规则配置及发送告警信息
3. signoz安装说明
1)系统为macOS或Linux,目前不支持Microsoft Windows系统
• 服务器为x86-64或amd,目前不支持arm架构 • 在macOS上,必须先手动安装Docker引擎,然后才能运行安装脚本。安装脚本会自动在Linux上安装Docker引擎 • 必须至少为Docker分配4GB内存
2)服务器为x86-64或amd,目前不支持arm架构 3)在macOS上,必须先手动安装Docker引擎,然后才能运行安装脚本。安装脚本会自动在Linux上安装Docker引擎 4)必须至少为Docker分配4GB内存 5)确保在安装SigNoz的服务器上端口3301、4317、4318几个端口未被占用
4. signoz安装
signoz版本更新速度非常快,目前最新版已经更新到0.17.0,本文安装0.16.2版本 环境准备:centos7服务器,安装好了docker和docker-compose 安装步骤:
# wget https://github.com/SigNoz/signoz/archive/refs/tags/v0.16.2.tar.gz
# tar xf v0.16.2.tar.gz
# cd signoz-0.16.2/deploy/docker/clickhouse-setup/
# docker-compose -f docker-compose.yaml up -d #要下载镜像,比较慢
如果没有安装docker-compose,则可执行install.sh安装signoz:
cd signoz-0.16.2/deploy/
./install.sh
涉及的image文件,如服务器不通公网,得想办法下载以下镜像后,导入服务器进行离线安装:
signoz/frontend:0.16.2
signoz/query-service:0.16.2
signoz/signoz-otel-collector:0.66.5
clickhouse/clickhouse-server:22.8.8-alpine
signoz/alertmanager:0.23.0-0.2
jaegertracing/example-hotrod:1.30
bitnami/zookeeper:3.7.0
grubykarol/locust:1.2.3-python3.9-alpine3.12
安装完成:
5. 登录验证
浏览器访问http://{IP:3301},首次登录创建账号:
进入signoz后,左边标签即可看到signoz的主要功能了:
6. signoz初始化设置
6.1 设置数据保留时长
在signoz界面可以设置和修改Metrics、Traces、Logs的数据保留时间。
登录signoz进入Settings—General,即可设置和修改配置:
6.2 去掉初始化demo应用
在初次部署好signoz后,在service和service map界面有一些初始化demo应用,这些应用不影响使用,可以在配置文件中去掉它们。
修改配置文件signoz-0.16.2/deploy/docker/clickhouse-setup/docker-compose.yaml注释掉文件最后的hotrod与load-hotrod模块:
然后重启signoz即可。 然后signoz界面就不会出现这些demo应用了。 刚重启signoz时,有可能不会立即生效,需要多等几分钟。
6.3 创建用户与角色设置
signoz的用户有三个角色:admin、editor、viewer。
在第一次登录时,创建的第一个用户就是管理员用户admin角色。在登录后,可以邀请用户注册并给新用户指定角色。
目前的版本还只支持邀请用户注册,暂不支持界面直接创建用户。