前言SigNoz是一个开源的应用程序性能监控工具,可以帮助您监控您的应用程序并进行故障排除。它可以执行链接跟踪、基础设施监控和日志管理。可以说Datalog的开源版本。具体功能如下:监控应用程序指标,如延迟、每秒请求数、错误率等监控基础架构指标,如CPU利用率或内存使用率跨服务跟踪用户请求通过查找导致问题的确切跟踪来设置指标警报,找到问题根源查看单个请求trace的详细火焰图SigNoz包括以下组件。OpenTelemetryCollector:从您的服务和应用程序收集遥测数据。ClickHouse:一个开源的、高性能的列式OLAP数据库管理系统。查询服务:前端和ClickHouse之间的接口前端:用户界面,使用ReactJS和TypeScript构建。安装前提Kubernetes>=1.21只支持x86/amd64架构helm>=3.8最低资源要求4C8G30G有可用的默认storageclass安装(1)添加helm仓库helmrepoaddsignozhttps://charts.signoz.iohelmrepoupdate(2)创建namespacekubectlcreatenssignoz(3)Deploysignozhelminstallsignoz-nsignozsignoz/signoz(4)检查安装#kubectlgetpo-nsignozNAMEREADYSTATUSRESTARTSAGEchi-signoz-clickhouse-cluster-0-0-01/1运行046msignoz-alertmanager-01/1运行048msignoz-clickhouse-operator-7d4677bb47-dzbzm2/2运行048msignoz-frontend-67db9bcf9b-l8x5h1/1运行048msignoz-k8s-infra-otel-hhjxb1/1运行048msignoz-k8s-infra-otel-agent-t9wjr1/1运行048msignoz-k8s-infra-otel-deployment-74fbb7d79-vkm2j1/1运行048msignoz-otel-collector-789cf754fd-nsf6f1/1运行048msignoz-otel-collector-metrics-67449f79f9-cgkm41/1运行048msignoz-query-service-01/1运行048msignoz-zookeeper-01/1运行048m(5)使用nodeport访问前端应用。首次登录需要注册一个账号,如下:然后进入前端面板链接追踪官方示例,先部署一个官方demo,体验链接追踪。#curl-sLhttps://github.com/SigNoz/signoz/raw/main/sample-apps/hotrod/hotrod-install.sh|HELM_RELEASE=signozSIGNOZ_NAMESPACE=signozbashnamespace/sample-applicationcreatedconfigmap/locust-cmcreatedconfigmap/scripts-cmcreateddeployment.apps/hotrodcreatedservice/hotrodcreateddeployment.apps/locust-mastercreatedservice/locust-mastercreateddeployment.apps/locust-slavecreated?成功部署HotROD示例应用!!HELM_RELEASE和SIGNOZ_NAMESPACE根据您的实际情况修改。然后看到所有服务都起来了。#kubectlgetpo-nsample-applicationNAMEREADYSTATUSRESTARTSAGEhotrod-794648c678-l226b1/1Running054slocust-master-b65744bbf-7hxhc1/1Running054slocust-slave-688c85bcb7-81snl然后使用下面的命令模拟负载。kubectl--namespace示例应用程序运行strzal--image=djbingham/curl\--restart='OnFailure'-i--tty--rm--command--curl-XPOST-F\'locust_count=6'-F'hatch_rate=2'http://locust-master:8089/swarm然后就可以看到这些服务的请求链接了。点击其中一个请求,可以看到整个链接状态,如下:还可以看到整个服务的链接图。您还可以查看每项服务的特定延迟、错误等面板。然后停止负载模拟:kubectl-nsample-applicationrunstrzal--image=djbingham/curl\--restart='OnFailure'-i--tty--rm--command--curl\http://locust-master:8089/stop应用接入SigNoz支持多种语言的应用接入,包括但不限于Python、Java、Golang等。以Java为例,我们只需要在启动命令中添加javaagent和SigNoz地址配置即可,如下:java-javaagent:/path/opentelemetry-javaagent.jar\-Dotel.exporter.otlp.endpoint=http://
