开源可观测性平台Signoz系列【开篇】

时间:2021-03-01 01:23:13

开源可观测性平台Signoz系列【开篇】

1. signoz介绍

SigNoz 是一款开源应用程序性能监控工具,通过signoz可以:

· 监控应用程序指标,例如延迟、每秒请求数、错误率 · 监控基础架构指标,例如 CPU 利用率或内存使用情况 · 跨服务跟踪用户请求 · 针对指标设置警报 · 通过转到导致问题的确切跟踪来查找问题的根本原因 · 查看各个请求轨迹的详细 · 采集日志

在某种程度上说,Signoz=ELK+Prometheus(grafana)+skywalking,集日志、指标、链路监控于一身。从目前试用的情况看,signoz功能多,比较适用于要求轻量化,对各监控组件又要求不是非常高的场景,比如一些私有化项目。

2. signoz工作原理

SigNoz使用OpenTelemetry收集数据,OpenTelemetry是一种开源可观测性解决方案。因此,SigNoz支持OpenTelemetry支持的所有框架和语言。

SigNoz 聚合所有收集的数据,用户可以使用仪表板查看与应用程序相关的所有指标和跟踪。

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

安装完成: 开源可观测性平台Signoz系列【开篇】

5. 登录验证

浏览器访问http://{IP:3301},首次登录创建账号: 开源可观测性平台Signoz系列【开篇】

进入signoz后,左边标签即可看到signoz的主要功能了: 开源可观测性平台Signoz系列【开篇】

6. signoz初始化设置

6.1 设置数据保留时长

在signoz界面可以设置和修改Metrics、Traces、Logs的数据保留时间。

登录signoz进入Settings—General,即可设置和修改配置: 开源可观测性平台Signoz系列【开篇】

6.2 去掉初始化demo应用

在初次部署好signoz后,在service和service map界面有一些初始化demo应用,这些应用不影响使用,可以在配置文件中去掉它们。 开源可观测性平台Signoz系列【开篇】开源可观测性平台Signoz系列【开篇】

修改配置文件signoz-0.16.2/deploy/docker/clickhouse-setup/docker-compose.yaml注释掉文件最后的hotrod与load-hotrod模块: 开源可观测性平台Signoz系列【开篇】

然后重启signoz即可。 然后signoz界面就不会出现这些demo应用了。 刚重启signoz时,有可能不会立即生效,需要多等几分钟。

开源可观测性平台Signoz系列【开篇】开源可观测性平台Signoz系列【开篇】

6.3 创建用户与角色设置

signoz的用户有三个角色:admin、editor、viewer。

在第一次登录时,创建的第一个用户就是管理员用户admin角色。在登录后,可以邀请用户注册并给新用户指定角色。

目前的版本还只支持邀请用户注册,暂不支持界面直接创建用户。 开源可观测性平台Signoz系列【开篇】

开源可观测性平台Signoz系列【开篇】