利用 DataWorks 数据推送定期推播 MySQL 或 StarRocks Query 诊断信息

264 阅读2分钟

前言

DataWorks 近期上线了数据推送功能,能够将数据库查询的数据组织后推送到各渠道 (如钉钉、飞书、企业微信及 Teams),除了能将业务数据组织后推送,也能将数据库自身提供的监控数据组织后推送,这边我们就以 MySQL (也适用于StarRocks) 为例,定期推播 MySQL 的数据量变化等信息,帮助用户掌握 MySQL 状态。

效果图

以下为一段时间内指定表的存储使用情况,并推送到钉群、飞书、企业微信或 Teams。

image.png

实践:取得Schema下指定表的使用情况

以下为 SQL 内容

SELECT
    TABLE_SCHEMA,
    TABLE_NAME,
    round(((data_length + index_length) / 1024 / 1024), 2) as size
FROM
    information_schema.TABLES
WHERE
    table_name LIKE 'table_0%'
ORDER BY (data_length + index_length) DESC;

以下为推送内容设定

image.png

调度及推送设置

image.png

推送结果

image.png

实践:取得Schema下表的数量

以下为 SQL 内容

    SELECT
        count(*) as counts
    FROM
        information_schema.TABLES
    WHERE
        table_schema = 'test_db1';

以下为推送内容设定

image.png

推送结果

image.png

实践:取得指定表目前字段数量

以下为 SQL 内容

    SELECT count(*) as counts
    FROM information_schema.columns
    WHERE table_schema = 'test_db1' AND table_name = 'table_001';

以下为推送内容设定

image.png

推送结果

image.png

实践:取得指定表的数据使用情况

以下为 SQL 内容

    SELECT TABLE_ROWS, AVG_ROW_LENGTH, DATA_LENGTH 
    FROM information_schema.tables 
    WHERE table_schema = 'test_db1' AND table_name = 'table_001';

以下为推送内容设定

image.png

推送结果

image.png

实践:取得指定表目前外键使用情况

以下为 SQL 内容

    SELECT
        CONSTRAINT_NAME,
        COLUMN_NAME,
        REFERENCED_TABLE_NAME,
        REFERENCED_COLUMN_NAME
    FROM information_schema.key_column_usage
    WHERE table_schema = 'test_db1' AND table_name = 'table_001';

以下为推送内容设定

image.png

推送结果

image.png

实践:取得指定表的索引使用情况

以下为 SQL 内容

    SELECT INDEX_NAME, COLUMN_NAME
    FROM information_schema.statistics
    WHERE table_schema = 'test_db1' AND table_name = 'table_001';

以下为推送内容设定

image.png

推送结果

image.png

实践:取得 Schema 下 Procedure 的数量

以下为 SQL 内容

    SELECT count(*) as counts
    FROM information_schema.routines
    WHERE routine_schema = 'test_db1' AND routine_type = 'PROCEDURE';

以下为推送内容设定

image.png

推送结果

image.png

实践:查看拥有删除权限的使用者列表

以下为 SQL 内容

    SELECT User, Host
    FROM mysql.user
    WHERE delete_priv = true;

以下为推送内容设定

image.png

推送结果

image.png

小结

MySQL 提供许多系统配置表,能利用此数据加工后,透过 DataWorks 数据推送推至渠道方便监控,提升引擎管控程度。

相关文章

数据推送功能详细介绍 help.aliyun.com/zh/datawork… 数据开发工作流 + 数据推送介绍 help.aliyun.com/zh/datawork… 使用 DataWorks 建立每日天气预报推送 juejin.cn/post/739106… 语雀+通义千问+DataWorks,让AI定期推送每周总结 juejin.cn/post/739081… 利用 DataWorks 数据推送定期推播 Hologres Query 诊断信息 juejin.cn/post/738992… 利用 DataWorks 数据推送定期推播 ClickHouse Query 诊断信息 juejin.cn/post/739206…