【问题标题】:How do I create a custom metric with additional information from a custom SQL query in DataDog?如何使用 DataDog 中自定义 SQL 查询的附加信息创建自定义指标?
【发布时间】:2021-06-10 20:50:57
【问题描述】:

我目前正在设置一个监视器来监控 Cloud SQL DB 中的慢查询。我构建了一个自定义查询来让进程在 SQL 服务器上运行,因为当前慢查询监控在进程完成之前不会报告。为了每 15-20 秒(或在 DD 中配置的任何内容)检查当前运行超过 5 分钟的查询,我在我的 DD 代理的配置中有这个。

    custom_queries:
      - query: SELECT COUNT(*) as processes FROM INFORMATION_SCHEMA.PROCESSLIST WHERE TIME > 
        (5 * 60 * 1000);
        columns:
        - name: mysql.processlist.processes
          type: count
        tags:
        - staging:mysql

我在 DD 中的结果是:

如您所见,它显示了运行超过 5 分钟的查询计数。我将如何获得有关每个查询的更多信息。例如,我想查看正在执行的确切查询语句。我知道我可以使用查询: SELECT INFO as QUERY FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND='Query'; 获取查询语句,但我希望能够单击 DD 中的图表并进一步挖掘每个进程以查看语句。有没有办法在 Datadog 中添加此信息或其他功能,我可以将正在查询的进程单独查询到每个进程?

我的第一个想法是将自定义查询更改为:

  - query: SELECT COUNT(*) as PROCESSES, ID, INFO as QUERY FROM 
    INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND='Query';
    columns:
    - name: mysql.processlist.ID
      type: tag
    - name: mysql.processlist.PROCESSES
      type: count
    - name: mysql.proccesslist.QUERY
      type: tag

但这只会返回一行,其中包含所有进程的计数以及第一个结果的ID和Query。

# PROCESSES, ID, QUERY
'3', '61550', 'SELECT ....'

【问题讨论】:

    标签: mysql sql-server google-cloud-sql metrics datadog


    【解决方案1】:

    在测试了不同的查询后,我发现运行此查询按查询语句对结果进行分组,并将返回每个查询的计数。

    SELECT COUNT(*) as Query_Count, DB, INFO as Query FROM 
    INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND='Query' AND TIME > (5 * 60 * 1000) 
    GROUP BY QUERY;
    

    在 Datadogs mysql 配置中,我为查询语句和数据库名称添加了标签。现在,由于它们被分组,我可以在 datadog 中查看每个不同语句的信息。

        custom_queries:
          - query: SELECT COUNT(*) as Query_Count, DB, INFO as Query FROM 
            INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND='Query' GROUP BY QUERY;
            columns:
             - name: mysql.processlist.Slow_Query.Query_Count
               type: count
             - name: mysql.processlist.Slow_Query.DB
               type: tag
             - name: mysql.processlist.Slow_Query.Query
               type: tag
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-05
      • 1970-01-01
      • 2012-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-04
      • 2016-06-20
      相关资源
      最近更新 更多