今天,我们很高兴地宣布,MySQL集成已经得到了一次重要的更新,其中包括一个新的预建MySQL日志仪表板和Grafana代理配置,以查看和收集MySQL服务器日志。
该集成已经可以在Grafana Cloud中使用,我们的平台将你所有的指标、日志和痕迹与Grafana结合起来,实现全栈观察。
为什么你需要日志
在所有可观察性的三个支柱中,指标是使用最广泛的。它们比日志或追踪更容易收集和存储。它们对于检测问题和了解系统性能是非常好的,一目了然。然而,指标往往不足以理解是什么导致了问题。
另一方面,一旦你用指标缩小了问题的时间和地点,日志可以告诉你更多关于根本原因的细节。
开始使用MySQL集成
Grafana Agent是通用的收集器,是你向Grafana云堆栈发送不同遥测数据的全部需要,包括度量、日志和跟踪。
如果你已经使用嵌入式Agent集成来收集Prometheus指标,你的Agent配置可能看起来像这样:
integrations:
prometheus_remote_write:
- url: https:///api/prom/push
mysqld_exporter:
enabled: true
instance: mysql-01
data_source_name: "root:put-password-here@(localhost:3306)/"
添加MySQL日志只是添加Grafana Agent config.yml的一些额外行:
metrics:
wal_directory: /tmp/wal
logs:
configs:
- name: agent
clients:
- url: https:///loki/api/v1/push
positions:
filename: /tmp/positions.yaml
target_config:
sync_period: 10s
scrape_configs:
- job_name: integrations/mysql
static_configs:
- labels:
instance: mysql-01
job: integrations/mysql
__path__: /var/log/mysql/*.log
pipeline_stages:
- regex:
expression: '(?P.+) (?P[\d]+) \[(?P.+?)\]( \[(?P.+?)\] \[(?P.+?)\])? (?P.+)'
- labels:
label:
err_code:
subsystem:
- drop:
expression: "^ *$"
drop_counter_reason: "drop empty lines"
integrations:
prometheus_remote_write:
- url: https:///api/prom/push
mysqld_exporter:
enabled: true
instance: mysql-01
data_source_name: "root:put-password-here@(localhost:3306)/"
relabel_configs:
- source_labels: [__address__]
target_label: job
replacement: 'integrations/mysql'
上面的额外配置通过使用嵌入式PromtailAgent来定位和解析MySQL服务器日志。
最关键的配置部分是确保日志和指标的标签job
和instance
互相匹配。这确保我们可以快速地从图表潜入到相应的日志,以了解实际发生的更多细节。
你可以在我们的MySQL整合文档中找到更多关于配置MySQL整合的信息。
使用MySQL日志仪表板开始监控
除了预制仪表盘以及指标和警报外,Grafana云的MySQL集成现在还捆绑了一个新的MySQL日志仪表盘,当你需要更深入地了解你的MySQL服务器发生了什么时,可以从MySQL概览仪表盘快速访问。
这里应该有一个视频,但由于某些原因,没有。要么是我们输入了错误的ID(哎呀!),要么是Vimeo被关闭了。如果是后者,我们希望他们会很快恢复运行。在这期间,请查看我们的博客
需要注意的是,如果你从一个仪表板跳到另一个,MySQL实例的上下文和时间间隔将保持不变。