合同管理系统监控体系:从指标采集到智能告警的全栈实践
时间:2025-04-23 人气:

合同管理系统监控体系:从指标采集到智能告警的全栈实践

一、监控架构设计

针对合同管理业务特性的监控分层模型:

1.1 监控维度矩阵

监控层级核心指标采集方式告警阈值
基础设施CPU/Mem/DiskNode ExporterCPU≥90%持续5m
应用性能API响应时间Prometheus+MicrometerP99≥2s
业务过程合同签署成功率自定义埋点+ELK成功率≤99%
安全合规敏感操作日志Audit Log+区块链非法访问尝试

1.2 技术栈选型

合同系统监控技术栈:

  • 指标采集:Prometheus(时间序列数据库)

  • 日志分析:Loki+ELK(结构化日志处理)

  • 可视化:Grafana(统一监控看板)

  • 告警管理:Alertmanager+钉钉机器人

监控架构图

二、核心指标采集

合同系统特有的关键监控指标设计:

2.1 业务指标定义

指标名称计算方式数据源业务意义
合同签署率成功签署数/发起总数业务数据库流程健康度
模板加载耗时P99响应时间APM探针用户体验
印章调用频次调用次数/小时API网关日志异常行为检测

2.2 Prometheus配置示例

自定义业务指标采集:

# 合同签署指标规则
groups:
- name: contract_metrics
  rules:
  - record: contract:sign_success_rate
    expr: sum(rate(contract_sign_total{status="success"}[5m])) 
          / sum(rate(contract_sign_total[5m]))
    labels:
      service: contract-sign
  
  - alert: HighSignFailureRate
    expr: contract:sign_success_rate < 0.99
    for: 10m
    annotations:
      summary: "合同签署失败率超过阈值"
      description: "当前签署成功率 {{ $value }},低于99%标准"

# Java应用监控配置
- job_name: 'contract-service'
  metrics_path: '/actuator/prometheus'
  static_configs:
    - targets: ['contract-service:8080']
  relabel_configs:
    - source_labels: [__address__]
      regex: '(.*):\d+'
      target_label: 'instance'
      replacement: '$1'

三、智能告警体系

分级告警与智能抑制策略:

3.1 告警分级策略

告警级别触发条件通知方式处理时限
P0-紧急服务不可用电话+短信15分钟
P1-严重核心功能降级企业微信+邮件1小时
P2-警告非核心异常钉钉机器人4小时

3.2 Alertmanager配置

告警路由与抑制规则:

route:
  receiver: 'critical-team'
  group_by: [alertname, cluster]
  routes:
  - match:
      severity: 'critical'
    receiver: 'pagerduty'
  - match_re:
      service: 'contract|sign'
    receiver: 'contract-team'

inhibit_rules:
- source_match:
    severity: 'critical'
  target_match:
    severity: 'warning'
  equal: ['alertname']

receivers:
- name: 'contract-team'
  webhook_configs:
  - url: 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxx'
    send_resolved: true
- name: 'pagerduty'
  pagerduty_configs:
  - routing_key: 'your-pagerduty-key'

▶ 告警模板示例:

[P1] 合同签署服务异常
                   告警状态: FIRING
                   触发时间: 2023-08-20 14:30:45
                   当前值: 签署成功率92.3%
                   故障实例: contract-sign-7d8f6
                   查看仪表盘

四、日志审计方案

满足等保要求的日志治理体系:

4.1 关键日志分类

日志类型存储期限采集方式合规依据
操作日志6个月Filebeat→ES等保2.0 8.1.3
审计日志3年区块链存证网络安全法21条
性能日志1个月Promtail→Loki内部SLA标准

4.2 区块链存证实现

审计日志上链流程:

// 日志数据结构
public class AuditLog {
    private String traceId;
    private String operator;
    private String operation;
    private String params;
    private long timestamp;
    private String signature;
}

// 日志处理服务
@Service
public class LogService {
    @Async
    public void processAuditLog(AuditLog log) {
        // 1. 本地存储
        logRepository.save(log);
        
        // 2. 计算哈希值
        String hash = DigestUtils.sha256Hex(
            log.getTraceId() + log.getTimestamp() + log.getParams());
        
        // 3. 调用区块链存证
        blockchainClient.sendToChain(
            "audit-log", 
            Map.of(
                "traceId", log.getTraceId(),
                "hash", hash,
                "timestamp", System.currentTimeMillis()
            ));
    }
}

// 区块链查询接口
@GetMapping("/log/proof")
public String getLogProof(@RequestParam String traceId) {
    return blockchainClient.query(
        "audit-log", 
        "getProof", 
        Collections.singletonList(traceId));
}

五、监控大屏设计

面向不同角色的可视化方案:

5.1 Grafana看板配置

看板类型核心指标刷新频率使用角色
运维视图CPU/内存/网络10sSRE团队
业务视图签署量/成功率1m产品经理
安全视图登录尝试/敏感操作5m安全团队

5.2 监控工具包

▶ 免费获取资源:

关注「智能运维观察」公众号领取:
               • 《合同系统监控规范》
               • Grafana仪表盘模板
               • 告警规则最佳实践

公众号二维码

山西肇新科技logo

山西肇新科技

专注于提供合同管理领域,做最专业的合同管理解决方案。

备案号:晋ICP备2021020298号-1 晋公网安备 14010502051117号

请备注咨询合同系统