监控与告警

简介

    监控主要对系统中的一些重要指标进行采集,采集后可友好地展示在UI中,便于后续对系统的性能、吞吐、稳定性等整体分析。
    告警是依据采集的指标配合相关公式设计的告警规则,可及时地发现系统以及服务器存在的问题,避免时间长未处理而酿成重大后果。
    除本系统重要指标外,也包括JVM、CPU、内存、磁盘和网络等。

txle监控指标

TXLE项目

全局事务数量

    成功数量 - txle_transaction_total
    失败数量 - txle_transaction_failed_total
    回滚数量 - txle_transaction_rollbacked_total
    超时数量 - txle_transaction_timeout_total
    重试数量 - txle_transaction_retried_total
    暂停数量 - txle_transaction_paused_total
    继续数量 - txle_transaction_continued_total
    自动继续数量 - txle_transaction_autocontinued_total

    采用Prometheus的Counter类型统计,部分代码如下:

子事务数量

    指标名称:txle_transaction_child_total

    采用Prometheus的Counter类型统计,部分代码如下:

全局事务时长

    指标名称:txle_transaction_time_seconds_total

子事务时长

    指标名称:txle_transaction_child_time_seconds_total

    同全局事务时长,将globalTxId改为localTxId。

业务SQL时长与数量

    指标名称:txle_sql_time_seconds_total、txle_sql_total

    即业务应用系统执行的SQL。
    标准业务SQL统计时已依据业务和事务类别分组。
    未分组的业务SQL主要包含:自动补偿SQL。
    注:当某子业务被成功回滚时,对应的txle_sql_total会有7条,即针对当前子事务会有如下操作“开启事务、结束事务、查询回滚状态、新增待完成的回滚命令、新增回滚事件、更新回滚命令为完成、更新全局事务结束事件”。

维护SQL时长与数量

    指标名称:txle_sql_time_seconds_total、txle_sql_total

    即TXLE项目执行的SQL,含Client端自动补偿相关维护SQL和Server端的维护(或所有)SQL。
    标准维护SQL统计时已依据业务和事务类别分组。
    未分组的维护SQL主要包含:Client端自动补偿SQL、Server端部分定时器SQL(无全局事务标识参数的)、超时和补偿事件SQL。

JVM

    采用prometheus自带统计方式:
    io.prometheus.client.hotspot.DefaultExports.initialize();

CPU、内存、磁盘、网络

    安装第三方工具Node exporter来统计指标。

TXLE默认Prometheus客户端服务端口

TXLE Server端默认Prometheus端口8099

    默认端口逻辑:默认端口配置在application.yaml文件中,所以程序中获取到的任何值均可认为是维护人员主动编辑,所以在程序层面如果获取到无效值,则意味着不启动Prometheus客户端监控服务。

application.yml

txle:
  prometheus:
    metrics:
      port: 8099

TXLE Client端默认Prometheus端口8098

    默认端口逻辑:Client与Server不一样,Client端的默认端口只能写在Java代码中。因为Client端的Prometheus服务端口需由集成业务进行设置,所以无法在Client端进行默认配置。

application.yml

txle:
  prometheus:
    metrics:
      port: 8098

application.properties

txle.prometheus.metrics.port=8098

results matching ""

    No results matching ""