开发者指南:将 Didit 集成到现代可观测性堆栈 (ZH)
将身份验证集成到 Grafana、Loki 和 Tempo 等现代可观测性堆栈中,对于监控、调试和确保身份工作流的可靠性至关重要。.

无缝集成Didit 简洁的 API 和开发者优先的设计,使其能够与 Grafana、Loki 和 Tempo 等领先的可观测性工具进行直接集成。
增强监控通过对 Didit 的身份验证流程进行检测,开发者可以实时了解会话状态、成功率和潜在瓶颈。
主动调试利用 Tempo 的分布式追踪功能,精确定位复杂身份工作流中的问题,确保快速解决并最大程度减少对用户的影响。
优化性能Didit 的模块化和 AI 原生架构,结合强大的可观测性,有助于优化您的身份验证服务的性能和可靠性,同时提供免费的核心 KYC。
身份验证中可观测性的重要性
在当今的数字环境中,身份验证不再仅仅是一个复选框;它是信任和安全的基础支柱。随着业务规模的扩大和用户交互变得更加复杂,底层的身份验证流程必须强大、可靠且透明。这就是现代可观测性堆栈发挥作用的地方。Grafana 用于可视化、Loki 用于日志、Tempo 用于追踪等工具,为应用程序的健康状况和性能提供了全面的视图。将这些工具与您的身份验证平台(例如 Didit)集成,对于主动监控、快速调试和确保无缝用户体验至关重要。
如果没有适当的可观测性,验证失败、活体检测挑战或缓慢的身份验证流程等问题可能会被忽视,从而导致用户沮丧、合规风险和潜在欺诈。通过检测 Didit 的 API,开发者可以将原始验证数据转化为可操作的见解,从而更容易识别趋势、诊断问题并持续改进其身份工作流。
使用日志 (Loki) 和指标 (Grafana) 检测 Didit 会话
Didit 的 API 优先方法使得将日志记录和指标收集集成到您的身份验证工作流中变得异常简单。当您使用 Didit 的 API 创建验证会话时,您会收到一个 session_id 和一个 status。这些是可观测性的关键数据点。
使用 Loki 记录日志
对于每次调用 Didit 的 API,尤其是在创建会话或接收 Webhook 时,您都应该记录相关详细信息。Loki 是一个很好的选择,因为它基于标签的索引使其能够高效地进行查询。以下是您可能的方法:
// 创建会话的伪代码
const diditResponse = await didit.createSession({
workflow_id: 'your-workflow-id',
callback: 'https://yourapp.com/verification-complete',
vendor_data: 'user-123'
});
logger.info('Didit session created', {
session_id: diditResponse.session_id,
workflow_id: diditResponse.workflow_id,
status: diditResponse.status,
vendor_data: diditResponse.vendor_data,
service: 'identity-verification-service',
component: 'didit-api-integration'
});
当 Didit 发送 Webhook 通知您会话更新(例如,状态更改、成功验证或失败)时,请记录这些事件并提供类似的详细信息。这允许您搜索 Loki 以查找与特定 session_id 或 vendor_data 相关的所有日志,以了解验证尝试的完整生命周期。例如,如果用户在 Didit 的身份验证 失败时遇到问题,您可以快速过滤日志以查看确切的状态更改和任何错误消息。
使用 Grafana 衡量指标
对于定量分析,从与 Didit 交互的应用程序中暴露指标。常见指标包括:
didit_session_created_total:已启动会话总数的计数器。didit_session_status_total{status="success"}:成功验证的计数器。didit_session_status_total{status="failed"}:失败验证的计数器。didit_session_duration_seconds:从会话创建到完成所需时间的直方图或摘要。didit_api_request_duration_seconds:API 响应时间的直方图。
这些通过 Prometheus 暴露并在 Grafana 中可视化的指标提供了显示身份验证系统整体健康状况和性能的仪表板。您可以设置警报,以应对成功率突然下降或延迟增加的情况,这表明 Didit 的活体检测或其他组件可能存在问题。
复杂工作流的分布式追踪 (Tempo)
现代应用程序通常涉及多个微服务通信以完成单个用户请求。身份验证也不例外,尤其是在协调各种检查时,例如AML 筛选、地址证明以及电话和电子邮件验证。由 Tempo 等工具提供支持的分布式追踪在此变得不可或缺。
当用户启动身份验证流程时,您可以开始一个新的追踪。当您的应用程序调用 Didit 的 API,以及 Didit 的 Webhook 触发您系统中的后续操作时,您应该传播追踪上下文(例如,OpenTelemetry 追踪 ID)。这允许您查看验证请求在所有涉及的服务中的完整旅程,从前端启动到最终验证决策。
// 使用 OpenTelemetry 调用 Didit API 的伪代码
import { trace } from '@opentelemetry/api';
const tracer = trace.getTracer('my-app-didit-integration');
async function verifyUser(userData) {
const span = tracer.startSpan('didit.createSession');
try {
// 为 span 添加相关属性
span.setAttribute('user.id', userData.id);
span.setAttribute('workflow.id', 'your-workflow-id');
const diditResponse = await didit.createSession({
workflow_id: 'your-workflow-id',
callback: 'https://yourapp.com/verification-complete',
vendor_data: userData.id
});
span.setAttribute('didit.session_id', diditResponse.session_id);
span.setAttribute('didit.status', diditResponse.status);
span.setStatus({ code: SpanStatusCode.OK });
return diditResponse;
} catch (error) {
span.setStatus({ code: SpanStatusCode.ERROR, message: error.message });
span.recordException(error);
throw error;
} finally {
span.end();
}
}
如果用户报告其年龄估算或 NFC 验证过程出现问题,您可以使用用户的 ID 或会话 ID 搜索 Tempo。追踪将准确显示哪个服务或外部 API 调用(如 Didit API)引入了延迟或失败,为调试和性能优化提供了宝贵的见解。
Didit 如何提供帮助
Didit 从头开始设计,以开发者优先,使得与现代可观测性堆栈的集成不仅可能,而且无缝。我们的模块化架构允许您即插即用身份检查,每个检查都可以单独进行检测以实现卓越的监控。Didit 的 AI 原生平台确保了身份验证、被动和主动活体检测以及 1:1 人脸匹配和人脸搜索等核心流程具有高性能和高可靠性,我们强大的 API 设计为您的可观测性数据提供了清晰的入口和出口点。
我们提供免费的核心 KYC,消除了开始使用基本身份验证的财务障碍。我们的平台生成结构化的身份数据,非常适合输入您的日志记录和指标系统。无论您是跟踪Didit 的年龄估算的成功率以符合合规性,还是监控我们 NFC 验证在高级安全应用程序中的性能,Didit 都提供了您所需的透明度。我们不收取设置费,我们的按成功检查付费模式确保您只为您使用的部分付费,从而轻松地随着业务增长扩展您的可观测性工作。
准备好开始了吗?
准备好亲身体验 Didit 了吗?立即获取免费演示。
使用Didit 的免费套餐免费开始验证身份。