如何在Kibana中以表格形式展示MySQL生产服务器数据
在Kibana中以表格形式展示MySQL数据的实现方法
可以在Kibana中以表格形式展示MySQL数据,以下是基于你已部署并运行ELK与Beats的具体实现步骤:
步骤1:确保MySQL数据已同步至Elasticsearch
根据你要展示的MySQL数据类型,选择对应的采集/同步方式:
情况A:采集MySQL日志数据(慢查询、错误日志等)
- 启用Filebeat的MySQL模块:
filebeat modules enable mysql - 编辑模块配置文件
modules.d/mysql.yml,指定日志文件路径:- module: mysql error: enabled: true var.paths: ["/var/log/mysql/error.log*"] slowlog: enabled: true var.paths: ["/var/log/mysql/slow.log*"] - 重启Filebeat服务:
systemctl restart filebeat - 验证数据:在Kibana的Dev Tools中执行
GET /filebeat-*/_search,确认返回结果包含MySQL日志文档。
情况B:同步MySQL业务数据表数据
若需展示业务库中的表数据,需通过Logstash的JDBC插件完成同步:
- 安装Logstash JDBC输入插件:
bin/logstash-plugin install logstash-input-jdbc - 下载MySQL JDBC驱动(
mysql-connector-java.jar),放置到Logstash的vendor/jars目录。 - 创建Logstash配置文件
mysql-jdbc.conf(按需调整参数):input { jdbc { jdbc_driver_library => "/usr/share/logstash/vendor/jars/mysql-connector-java.jar" jdbc_driver_class => "com.mysql.cj.jdbc.Driver" jdbc_connection_string => "jdbc:mysql://your-mysql-host:3306/your-db-name?useSSL=false&serverTimezone=UTC" jdbc_user => "your-mysql-username" jdbc_password => "your-mysql-password" schedule => "* * * * *" # 同步频率,按需修改 statement => "SELECT * FROM your-table-name WHERE update_time > :sql_last_value" # 增量同步逻辑 use_column_value => true tracking_column => "update_time" last_run_metadata_path => "/var/lib/logstash/.mysql_last_run" } } output { elasticsearch { hosts => ["http://your-es-host:9200"] index => "mysql-business-%{+YYYY.MM.dd}" document_id => "%{primary-key-field}" # 用业务表主键避免重复数据 } } - 启动Logstash加载配置:
bin/logstash -f mysql-jdbc.conf - 验证数据:在Kibana Dev Tools中执行
GET /mysql-business-*/_search,确认业务数据已同步至ES。
步骤2:在Kibana中创建表格可视化
- 进入Kibana的Management → Index Patterns,创建对应MySQL数据的索引模式(如
filebeat-*或mysql-business-*),配置时间字段(若数据包含时间维度)。 - 进入Visualize Library,点击Create visualization,选择Data table类型。
- 选择已创建的索引模式作为数据源。
- 配置表格内容:
- 在Metrics区域添加统计指标(如
Count、字段的Sum/Average等)。 - 在Buckets区域添加Rows或Columns,选择需要展示的字段(如慢查询的
query、业务表的user_name等),可添加多个字段实现多维度拆分。
- 在Metrics区域添加统计指标(如
- 调整表格的排序、列别名、数值格式等设置。
- 点击Save保存可视化,后续可将其添加至Dashboard用于报表制作。
内容的提问来源于stack exchange,提问作者Ashwani Pandita
相关产品推荐
相关产品推荐

