天天看點

阿裡雲InfluxDB®采集監控MySQL實踐

目前阿裡雲InfluxDB®已經內建 TIG(Telegraf/InfluxDB/Grafana)生态 ,正在開展首月一進制購活動。

阿裡雲InfluxDB®采集監控MySQL實踐
MySQL采用TIG Stack監控架構如下,本文主要指導如何采集MySQL名額到阿裡雲InfluxDB®,通過Grafana儀表盤分析采集資料并展示。
阿裡雲InfluxDB®采集監控MySQL實踐

資料采集

阿裡雲InfluxDB®的資料采集分為兩種:

阿裡雲InfluxDB®資料采集服務

自建Telegraf資料采集

MySQL采集名額說明

Telegraf采集Mysql名額資料可以分為以下六類,在不同的MySQL伺服器上所采集到的measurement或field會略有不同,具體可以參考

官方文檔
measurement 采集資料
mysql 記錄在MySQL上執行SHOW GLOBAL STATUSES和SHOW SLAVE STATUSES後所得到的狀态資訊,包括global status和slave status(如有)。每個狀态資訊是mysql中的一個field,各個狀态的解釋可檢視文檔。
mysql_variables 記錄在MySQL上執行SHOW GLOBAL VARIABLES後所得到的全局變量值。每個變量值是mysql_variables中的一個field,各個變量的解釋可檢視文檔。
mysql_process_list 根據MySQL中的表格INFORMATION_SCHEMA.PROCESSLIST,采集每個使用者在不同狀态下的線程數量。可查考 MySQL文檔
mysql_users 采集每個使用者的連接配接數。
mysql_user_statistics 采集每個使用者的統計資訊。
mysql_table_schema 采集自增(auto-increment)列的值。
mysql_innodb 采集MySQL的 INFORMATION_SCHEMA.INNODB_METRICS 表中狀态為開啟的計數器(counter)的值。INFORMATION_SCHEMA.INNODB_METRICS提供InnoDB的性能資訊,該表包含很多計數器。

阿裡雲InfluxDB®采集服務

目前阿裡雲InfluxDB®的控制台提供了MySQL資料采集服務,使用者提供采集源資訊,根據提示安裝相應插件,便可自動采集MySQL名額資料到阿裡雲InfluxDB®,詳見

文檔

添加采集配置

阿裡雲InfluxDB®采集監控MySQL實踐
  • 采集源連接配接串:格式是[protocol[(address)]]/[?tls=[true|false|skip-verify|custom],具體可以參考  https://github.com/go-sql-driver/mysql#dsn-data-source-name 。如某需要采集的對象是雲上MySQL執行個體,對外通路位址是:xxxx.mysql.rds.aliyuncs.com,采用https協定,則采集源連接配接串為:tcp(xxxx.mysql.rds.aliyuncs.com:3306)/?tls=false;
  • 采集源使用者名/密碼:采集工具連接配接MySQL執行個體的使用者名與密碼,填寫時需要保證在采集工具所安裝的機器上,采集使用者名通過采集源填寫的連接配接方式能成功連接配接MySQL執行個體;
  • 授權帳号/密碼:資料寫入InfluxDB的使用者名與密碼;
  • 資料寫入DB/存儲政策:資料寫入InfluxDB庫名,填寫時必須保證授權帳号對寫入InfluxDB資料庫有讀寫權限,相關設定可以參考

添加采集源

阿裡雲InfluxDB®采集監控MySQL實踐

公網與專用網絡的差別是采集工具向阿裡雲InfluxDB®發送資料資料走公網或者專有網絡鍊路,在添加前需要在控制台網絡白名單中添加采集工具安裝工具機器出口IP,以確定采集工具能夠成功與阿裡雲InfluxDB®建立連接配接。

阿裡雲InfluxDB®采集監控MySQL實踐

選擇機器執行上面指令安裝采集工具,重新整理後便可在采集源清單中看到該采集源,點選“選擇采集配置”配置所要采集的對象:

阿裡雲InfluxDB®采集監控MySQL實踐
阿裡雲InfluxDB®采集監控MySQL實踐

最後點選“完成并啟動采集”開啟采集任務。

自建Telegraf采集

自建Telegraf采集需要下載下傳Telegraf并配置相關采集資訊,詳見

Telegraf安裝

Telegraf官方介紹了

各種下載下傳安裝的方法

,根據自己的系統版本和配置,下載下傳對應的安裝包安裝。

阿裡雲InfluxDB®采集監控MySQL實踐

Telegraf input配置

Telegraf input配置主要是配置采集源相關配置資訊,填寫時需要保證Mysql使用者在Telegraf安裝機器上能連接配接server中填寫的mysql執行個體。

[[inputs.mysql]]
  servers = ["mysqlUser:mysqlPassword@tcp(xxxx.mysql.rds.aliyuncs.com:3306)/?tls=false"]
  metric_version = 2
  perf_events_statements_digest_text_limit  = 120
  perf_events_statements_limit              = 250
  perf_events_statements_time_limit         = 86400
  table_schema_databases                    = []
  gather_table_schema                       = false
  gather_process_list                       = true
  gather_user_statistics                    = false
  gather_info_schema_auto_inc               = true
  gather_innodb_metrics                     = true
  gather_slave_status                       = true
  gather_binary_logs                        = false
  gather_table_io_waits                     = false
  gather_table_lock_waits                   = false
  gather_index_io_waits                     = false
  gather_event_waits                        = false
  gather_file_events_stats                  = false
  gather_perf_events_statements             = false
  interval_slow                   = "30m"           

Telegraf output配置

Telegraf output配置主要是配置寫入阿裡雲InfluxDB®相關資訊,填寫時需要保證資料庫已經建立,相應的使用者對資料庫有讀、寫權限。相關示例如下:

[[outputs.influxdb]]
 urls = ["https://xxxx.influxdata.rds.aliyuncs.com:3242"]
 database = "mysql"
 skip_database_creation = true
 retention_policy = "autogen"
 username = "InfluxDBUserName"
 password = "InfluxDBPassword"           

資料展示

目前阿裡雲InfluxDB®的最新版本已經

內建了TIG生态

,使用者可以在控制台添加Grafana使用者和資料源。

阿裡雲InfluxDB®采集監控MySQL實踐
阿裡雲InfluxDB®采集監控MySQL實踐

以上面采集MySQL名額為例,建立下面所示儀表盤:

阿裡雲InfluxDB®采集監控MySQL實踐

使用者可以自建或者在Grafana官方社群導入儀表盤模闆,這裡選取導入的模闆ID為 2765,選擇對應的資料源,生成的報表如下所示:

阿裡雲InfluxDB®采集監控MySQL實踐

總結

目前阿裡雲InfluxDB®已經商業化一段時間,我們在優化性能的同時也保證提供穩定的服務。阿裡雲InfluxDB®在DevOps監控、車聯網、智慧交通、金融和IOT傳感器資料采集分析方面有廣泛的用途,相比于開源InfluxDB也具有不少

優勢

,歡迎使用者

購買體驗

參考文獻

  1. 5分鐘快速完成系統監控搭建實踐
  2. 阿裡雲InfluxDB®資料采集服務介紹
  3. 從采集到分析-TSDB For InfluxDB®讓你的資料産生價值

繼續閱讀