㈠ 数据可视化(六)常见的可视化仪表盘(DashBoard)
在探索数据可视化与仪表盘(DashBoard)的决策路径时,我们首先需要考虑是选择开源软件还是SaaS服务。对于寻求完全自定义控制和独特集成的用户,开源软件如Graphite和ELK stack可能是理想之选。这类工具需要用户自行安装和配置,可能涉及较高的初始学习曲线,但提供了极高的灵活性和可定制性。
然而,对于希望快速部署、专注于业务运营而非技术基础设施的用户,SaaS服务如Keen IO、Librato和DataDog则更具吸引力。这些服务提供了一站式解决方案,允许用户直接在现有程序中嵌入代码,快速获取关键指标和分析,无需关注底层架构的复杂性。
在选择工具时,另一个重要因素是预算和环境考虑。如果迁移成本成为考量,比如在已有Graphite数据的情况下,选择Grafana作为仪表盘工具,能够快速提升数据可视化效果,无需从零开始构建。成本预算同样关键,例如对于日志分析器的带宽和存储需求,需要根据具体业务规模和增长预期进行合理规划。
ELK Stack,由Elasticsearch、Logstash和Kibana组成,是一个强大的日志分析和监控解决方案。Elasticsearch提供高效的数据搜索和分析能力,Logstash用于日志聚合,而Kibana则作为直观的DashBoard工具,帮助用户快速洞察数据价值。
对于关注数据存储、图形化和可视化的用户,Graphite和Grafana组合是一个不错的选择。Graphite作为开源数据存储和图形化工具,提供了强大的数据处理能力,但自身不收集数据,需要与数据采集工具配合。Grafana则提供了丰富的仪表盘构建功能,使用Go语言开发,能够将Graphite数据源无缝集成,提供丰富的可视化功能和自定义选项。
Keen IO作为SaaS分析基础设施平台,提供了一站式数据分析服务,适合那些寻求灵活分析和实时洞察的用户。Librato和DataDog则是专注于监控和管理云应用的SaaS工具,分别提供高度定制化报表和多样化的告警通知方式,适合需要对云资源进行精细监控的场景。
为了进一步深化对数据可视化领域的理解,扩展阅读推荐了以下文章:
通过这些资源,读者可以进一步探索数据可视化和仪表盘构建的多样化技术和最佳实践,为实际项目提供更全面的参考和指导。
㈡ 如何使用FineBI构建dashboard仪表盘
1.新建图表
当确定要使用的图表类型之后,需要在新建分析上选择对应的组件图表并拖拽至dashbroad需要显示的位置,然后会自动跳转至组件配置界面
2.添加分析数据
当进入到组件详细配置界面时,从数据选择区域中,点击地产行业业务包,选择签约事实表,选择合同总价添加至指标区域。选择预算事实表,选择计划销售金额添加至指标,此时会出现2个仪表盘,但是都不是我们想要的。此时添加计算指标,命名计划完成率,即合同总价/计划销售金额,具体操作查看计算指标。然后将原来的两个指标去掉勾选,如图只剩下当前一个计划完成率的指标展示
3.样式
大家会对当前的指标展示不太满意,数值想用百分比展示,而且默认的仪表盘显示刻度也不能满足需求。那么在样式中手动调整即可。
4.单位
单位是指仪表盘数据展示时,放在图表中心处显示的数据单位
5.指针活动范围
指针活动范围就是指仪表盘指针能转动的最大角度,默认显示为270度,如果我们选择180度
6.刻度设置
刻度设置就是指自定设置刻度范围内仪表盘的显示颜色,下面就将仪表盘的刻度区间,刻度单位进行调整,界面如图所示,区间可以自定义,我们设为0-50%,50-75%,75-100%,100-200%4个区间。http://www.finebi.com/
㈢ Python oltp OpenTelemetry 跟踪、指标和日志,试试使用 Aspire 仪表板docker镜像
在构建Python应用程序时,实时查看后端调用、错误、跟踪和监视数据变得非常有用。OpenTelemetry是一个由云原生计算基金会(CNCF)维护的开源项目,旨在满足这些需求,并提供了一系列用于检测Python中常见库和框架(如Flask、Django、Requests和FastAPI)的扩展。本教程将指导您如何在小Flask项目中设置OpenTelemetry,并使用Aspire仪表板进行配置。
首先,通过PyPi安装OpenTelemetry及其相关包,如opentelemetry-distro和opentelemetry-exporter-otlp-proto-grpc,以开始使用。这些包与一组通用库和检测工具捆绑在一起,能够检测常见的Python框架。为了将数据导出到指定端点,您需要安装用于将所有OpenTelemetry数据通过gRPC方式发送到目标服务的包。
将要求添加到requirements.txt文件中,开始使用这些包。然后,您需要配置OpenTelemetry导出器以将数据发送到后端。这通常涉及创建TracerProvider、MeterProvider和LoggerProvider对象,并配置导出器。配置示例可以放置在单独的文件中,如otel_grpc.py,然后在应用程序入口点调用此文件以配置OTLP导出器。对于Flask,仪器的配置如下所示。
Aspire仪表板是一个用于构建可观察的、生产就绪的分布式应用程序的“固执己见的云就绪堆栈”。虽然与Python关系不大,但Aspire提供了一个简单的、与OTLP兼容的服务,该服务在Docker容器中运行,并具有用于本地开发和测试的Web UI。无需身份验证或设置,非常适合开始使用OpenTelemetry。由于它在Docker中运行,因此容易启动和停止,并且无需安装.NET即可使用。启动Aspire仪表板的命令如下:
这将端口转发gRPC端点,这是OTLP导出器配置中使用的端点,UI将运行在http://localhost:18888。运行Python应用程序后,您可以在Aspire仪表板中查看跟踪和指标。
此示例设置允许仪表板在无身份验证的情况下运行。对于生产环境,建议保护仪表板。在浏览器中访问http://localhost:18888,您将看到Aspire仪表板。导航到“跟踪”、“指标”和“日志”选项卡以查看Python应用程序中的数据。对于日志,您将捕获发送到OpenTelemetry记录器的任何日志。Python日志记录较为复杂,通过在根记录器上设置日志记录,或配置Django记录器以捕获日志(在示例项目中),可以查看它们在仪表板中的显示方式。
在跟踪中,默认视图是时间线,您可以通过展开查看其他属性,这些属性取决于检测包。例如,可以为SQL查询、HTTP请求、gRPC调用等添加检测,以获取更多详细信息。在示例项目中,添加了一些自定义指标来展示在仪表板中的显示方式。您可以查看请求的计数、持续时间、状态代码,以及指标随时间推移的细分。
完成探索或调试后,停止Docker容器,仪表板将消失。可以使用相同的命令再次启动它,它将是一个新实例。总之,当开发具有大量后端调用的应用程序或尝试调试性能问题时,OpenTelemetry是一个强大的工具,它易于上手,并且有许多可用的仪器包。Aspire仪表板是可视化OpenTelemetry捕获的数据的好方法,并且在本地运行非常方便。希望此教程对您有所帮助,您可以开始在Python应用程序中使用OpenTelemetry和Aspire仪表板。