<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Apache SkyWalking 在本月初發布了 SkyWalking Backend、UI 的 9.2.0 版本 以及 SkyWalking Java Agent 8.12.0 版本,其中就有筆者貢獻的 hutool-http client 5.x 外掛,以後大家通過 hutool 工具傳送的 http 請求也可以出現在分散式鏈路中了。
另外,社群宣佈計劃在 2022 年 11 月 30 日結束所有 v8 版本,v9 可以在生產環境中提供穩定和更高效能的 APM,具體宣告見 SkyWalking 官網。
瞭解 SkyWalking 的朋友都知道,它可以監控我們的應用程式中執行的 SQL語句,監控到的 SQL 大概像下圖這樣,看起來是不是很酷!
上面展示的是在 MySQL 使用者端層面的監控,那如果想要監控 MySQL Server 該怎麼做呢,SkyWalking 釋出的 9.2.0 版本升級了許多內容,其中一項就是開始支援 MySQL Server Monitoring。
SkyWalking 是如何監控 MySQL Server 程式的呢,SkyWalking 社群並沒有重複造輪子,而是利用了已有的開源實現來採集 MySQL Server 的 metrics 資料,並將 metrics 傳送到 SkyWalking OAP,由 MAL 引擎去分析、計算、聚合和儲存,具體流程如下:
1)mysqld_exporter 從 MySQL Server 收集 metrics 資料;
2)OpenTelemetry Collector 通過 Prometheus Receiver 從 mysqld_exporter 抓取 metrics 資料;
3)OpenTelemetry Collector 通過 OpenCensus gRPC Exporter 或 OpenTelemetry gRPC exporter 將 metrics 資料 傳送給 SkyWalking OAP Server;
4)SkyWalking OAP Server 使用 MAL引擎解析表示式,並對 metrics 資料進行過濾、計算、聚合並儲存結果。
其中,mysqld_exporter 是 Prometheus 提供的用於收集 MySQL Server 的metrics 資料,OpenTelemetry Collector 是 OpenTelemetry 提供的用於收集 telemetry 資料,它提供了與廠商無關的實現,用於接收、處理與匯出 telemetry 資料。
這裡假設我們已經部署了 MySQL Server 以及 SkyWalking,現在想要在 SkyWalking 中監控 MySQL Server,我們這裡準備一臺機器(192.168.56.102),這臺機器筆者已經提前安裝好了 Docker,接下來我們就在這臺機器上安裝 mysqld_exporter 和 OpenTelemetry Collector 。
首先我們需要建立一個 MySQL 使用者並授權,用於 mysqld_exporter 收集 metrics 使用,操作如下:
create user 'mysql_exporter'@'%' identified by 'mysql_exporter'; GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysql_exporter'@'%' WITH MAX_USER_CONNECTIONS 3; flush privileges;
準備 OpenTelemetry Collector 元件的組態檔 otel-collector-config.yaml
receivers: prometheus: config: scrape_configs: - job_name: 'mysql-monitoring' scrape_interval: 5s static_configs: - targets: ['mysqld-exporter:9104'] labels: host_name: showcase processors: batch: exporters: otlp: endpoint: SkyWalking OAP 地址:11800 tls: insecure: true service: pipelines: metrics: receivers: - prometheus processors: - batch exporters: - otlp
對以上設定做個簡要說明:
1)receivers 用於設定 Collector 的資料來源,這裡是從 prometheus 的 mysqld_exporter 抓取資料;
2)exporters 用於設定要將接收到的資料傳送到哪裡,這裡是傳送到 SkyWalking OAP ;
3)processors 指定如何處理接收到的資料;
4)service 設定將整個 pipelines 串起來。
我們這裡使用 docker compose 部署,docker-compose.yml 完整設定如下:
version: '3.8' services: mysqld-exporter: image: prom/mysqld-exporter:v0.14.0 container_name: mysqld-exporter ports: - 9104:9104 environment: - DATA_SOURCE_NAME=mysql_exporter:mysql_exporter@(mysql地址:3306)/ - TZ=Asia/Shanghai otel-collector: image: otel/opentelemetry-collector:0.50.0 container_name: otel-collector command: [ "--config=/etc/otel-collector-config.yaml" ] volumes: - /opt/data/otel-collector-config.yaml:/etc/otel-collector-config.yaml expose: - 55678
將 docker-compose.yml 和otel-collector-config.yaml 組態檔上傳到伺服器並放到 /data/opt/ 目錄下,執行 docker compose up -d 即可啟動 mysqld-exporter 和 otel-collector 服務。
啟動完成之後,我們可以通過存取 mysqld-exporter 服務http://192.168.56.102:9104/metrics 檢視 mysqld-exporter 採集了 MySQL 的哪些 metrics 資料,比如下圖中的 mysql_global_status_uptime 指標表示 MySQL Server 啟動了多長時間,單位是秒。
mysqld-exporter 和 otel-collector 服務能正常採集資料之後,我們可以存取 SkyWalking UI,可以檢視到 MySQL Sever 端的監控資訊了。
圖中每一項指標的具體含義大家可以存取官網檢視,這裡就不一一贅述了 skywalking.apache.org/docs/main/v…
剛剛演示的 SkyWalking 中 MySQL Server 的監控功能是一名大三學生貢獻的!,具體貢獻過程可以看下issue 連結 github.com/apache/skyw… 。之前看到過一句話,對技術有追求的開發者都應該去參與開源專案。
相關連結
以上就是Apache SkyWalking 監控 MySQL Server 實戰解析的詳細內容,更多關於Apache SkyWalking監控MySQL的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45