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

image.png
转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。请尊重原创,文明转载,谢谢。

1. signoz介绍

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

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

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

2. signoz工作原理

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

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

signoz架构图:
image.png

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

安装完成:
image.png

5. 登录验证

浏览器访问http://{IP:3301},首次登录创建账号:
image.png

进入signoz后,左边标签即可看到signoz的主要功能了:
image.png

6. signoz初始化设置

6.1 设置数据保留时长

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

登录signoz进入Settings—General,即可设置和修改配置:
image.png

6.2 去掉初始化demo应用

在初次部署好signoz后,在service和service map界面有一些初始化demo应用,这些应用不影响使用,可以在配置文件中去掉它们。
image.png
image.png

修改配置文件signoz-0.16.2/deploy/docker/clickhouse-setup/docker-compose.yaml注释掉文件最后的hotrod与load-hotrod模块:
image.png

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

image.png
image.png

6.3 创建用户与角色设置

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

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

目前的版本还只支持邀请用户注册,暂不支持界面直接创建用户。
image.png

image.png

点击查看系列文章:
开源可观测性平台Signoz【日志采集篇】

### 启动 YAML 配置后打开监控或观测面板的方法 在启动 YAML 配置文件之后,为了能够成功打开监控或观测面板并实现对系统的有效监控,需要完成以下几个方面的操作: #### 1. 确认 Prometheus 正常运行 Prometheus 是个核心组件,在其正常运行的情况下才可以进行后续的操作。可以通过访问 `http://localhost:9090` 来确认 Prometheus 是否已经启动[^4]。如果页面加载成功,则说明 Prometheus 已经处于可用状态。 #### 2. 加载自定义 YAML 配置文件 Prometheus 的行为由 YAML 文件控制,该文件通常命名为 `prometheus.yml` 并位于安装目录下。确保此配置文件已正确设置目标抓取路径和服务发现机制[^3]。例如,以下是典型的 YAML 配置片段用于指定静态目标: ```yaml scrape_configs: - job_name: 'node' static_configs: - targets: ['localhost:9100'] ``` 上述代码表示 Prometheus 将会从本地的 `node-exporter` 实例收集指标数据。 #### 3. 创建 Dashboard 和告警信息 旦 Prometheus 成功拉取到了所需的数据源,就可以利用这些数据来构建可视化界面以及设定相应的告警条件。具体做法可参照 Signoz 或 Grafana 这类工具的相关文档指导[^1]。般而言,这步骤涉及连接至数据库、设计图表布局等工作流程。 #### 4. 使用即时查询功能验证数据获取情况 除了搭建完整的仪表盘外,还可以借助 Prometheus 自带的 Web UI 中的“Expression Browser”部分来进行简单的测试工作。比如尝试输入关键字如 “up”,它应该返回当前所有实例的状态报告列表;另外也支持直接查阅来自其他 Exporters(像 Node Exporter)所提供的预设模板化视图[^2]。 综上所述,当完成了以上各环节的任务安排之后,即实现了基于 YAML 配置后的全面监测体系架构部署过程。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值