日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

采集MySQL查詢結果

重要

本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。

本文介紹如何通過日志服務控制臺創建Logtail采集配置來采集MySQL查詢結果。

前提條件

  • 已在服務器上安裝Linux Logtail 0.16.0及以上版本或Windows Logtail 1.0.0.8及以上版本。具體操作,請參見安裝Logtail(Linux系統)安裝Logtail(Windows系統)

    重要

    請確保用于安裝Logtail的服務器可連接目標MySQL數據庫。

  • 在MySQL數據庫中,設置白名單為Logtail所在服務器的IP地址。

    例如RDS MySQL數據庫的白名單設置,請參見設置IP白名單

原理

Logtail根據Logtail采集配置定期執行指定的SELECT語句,將查詢結果作為數據上傳到日志服務。

Logtail獲取到查詢結果時,會將結果中的CheckPoint字段保存到本地。當下次執行SELECT語句時,會將上一次保存的CheckPoint帶入到SELECT語句中,以此實現增量數據采集。

重要

開啟CheckPoint時,需要在SELECT語句中對CheckPoint字段進行排序,否則會造成數據重復或其他問題。

image

功能

  • 支持MySQL數據庫的查詢結果。

  • 支持分頁設置。

  • 支持時區設置。

  • 支持超時設置。

  • 支持保存CheckPoint狀態。

  • 支持SSL。

  • 支持限制每次最大采集數量。

應用場景

  • 根據數據中的自增ID或時間等標識采集增量數據。

  • 根據篩選條件自定義同步。

操作步驟

  1. 登錄日志服務控制臺

  2. 接入數據區域,選擇MySQL查詢結果-插件

  3. 選擇目標Project和Logstore,單擊下一步

  4. 機器組配置頁面,配置機器組。

    1. 根據實際需求,選擇使用場景和安裝環境。

      重要

      無論是否已有機器組,都必須根據實際需求正確選擇使用場景和安裝環境,這將影響后續的頁面配置。

    2. 確認目標機器組已在應用機器組區域,單擊下一步

      已有機器組

      源機器組列表選擇目標機器組。

      image

      沒有可用機器組

      單擊創建機器組,在創建機器組面板設置相關參數。機器組標識分為IP地址用戶自定義標識,更多信息請參見創建用戶自定義標識機器組(推薦)創建IP地址機器組

      重要

      創建機器組后立刻應用,可能因為連接未生效,導致心跳為FAIL,您可單擊重試。如果還未解決,請參見Logtail機器組無心跳進行排查。

  5. 數據源設置頁簽中,設置配置名稱插件配置,然后單擊下一步

    您可以通過表單配置方式或JSON配置方式完成數據源設置。更多信息,請參見Logtail配置詳情

  6. 創建索引預覽數據,然后單擊下一步。日志服務默認開啟全文索引。您也可以根據采集到的日志,手動創建字段索引,或者單擊自動生成索引,日志服務將自動生成字段索引。更多信息,請參見創建索引

    重要

    如果需要查詢日志中的所有字段,建議使用全文索引。如果只需查詢部分字段、建議使用字段索引,減少索引流量。如果需要對字段進行分析(SELECT語句),必須創建字段索引。

  7. 單擊查詢日志,系統將跳轉至Logstore查詢分析頁面。
    您需要等待1分鐘左右,待索引生效后,才能在原始日志頁簽中,查看已采集到的日志。更多信息,請參見查詢和分析日志

Logtail配置詳情

您可以通過表單配置方式或JSON配置方式完成數據源設置。

表單配置方式

數據源設置步驟中,完成如下配置。

參數

說明

配置名稱

Logtail配置名稱。

MySQL地址

MySQL數據庫地址。例如rm-****.mysql.rds.aliyuncs.com

數據庫用戶名

登錄MySQL數據庫的用戶名稱。

數據庫密碼

登錄MySQL數據庫的用戶密碼。

如果安全需求較高,建議將用戶名稱和密碼配置為xxx,待采集配置同步至本地機器后,在本地文件/usr/local/ilogtail/user_log_config.json中找到對應配置進行修改。具體操作,請參見修改本地配置

重要

如果您在控制臺上修改了此參數,同步至本地后會覆蓋本地的配置。

數據庫名稱

MySQL數據庫名稱。

連接數據庫時間

連接MySQL數據庫的超時時間,單位:ms。

查詢超時時間

讀取MySQL查詢結果的超時時間,單位:ms。

SELECT語句

SELECT語句。

選中是否使用CheckPoint時,SELECT語句中的where條件中必須包含CheckPoint列(CheckPoint列名稱中設置的值)。支持使用半角問號(?)表示替換符,與CheckPoint列配合使用。

重要

例如設置CheckPoint列名稱id,設置CheckPoint列的初始值為0,設置SELECT語句SELECT * FROM xxx WHERE ID > ?。則每次采集后,系統會保存最后一條數據的ID作為Checkpoint,下次采集時查詢語句中的半角問號(?)將被替換為該Checkpoint對應的ID。

是否使用limit分頁

選中該選項后,將使用Limit分頁。

建議使用Limit進行分頁。選中是否使用limit分頁后,進行SQL查詢時,系統將自動在SELECT語句中追加LIMIT語句。

分頁大小

分頁大小。

選中是否使用limit分頁后,需要配置。

同步最大記錄數

每次同步最大記錄數。默認值為0,表示無限制。

是否使用CheckPoint

選中該選項后,將使用CheckPoint。CheckPoint可作為下次采集數據的起點,實現數據增量采集。

CheckPoint列名稱

CheckPoint列名稱。

選中是否使用CheckPoint后,需要配置。

警告

該列的值必須遞增,否則可能會出現數據漏采集問題(每次查詢結果中的最大值將作為下次查詢的輸入)。

CheckPoint列的數據類型

CheckPoint列的數據類型,支持int和time。int類型的內部存儲為int64,time類型支持MySQL的date、datetime、time類型。

選中是否使用CheckPoint后,需要配置。

CheckPoint列的初始值

CheckPoint列的初始值。

選中是否使用CheckPoint后,需要配置。

每次分頁時是否保存一次

選中該選項,則每次分頁時保存一次CheckPoint。否則,每次同步完成后保存一次CheckPoint。

同步時間

同步間隔,單位:ms。

JSON配置方式

插件配置中填寫您的Logtail配置信息,示例如下所示。

  • inputs為數據源配置,必選項。

    重要

    一個inputs中只允許配置一個類型的數據源。

  • processors為處理配置,用于解析數據。可選項,您可以配置一種或多種處理方式。

    如果當前的inputs配置無法滿足日志解析需求,您可以在插件配置中添加processors配置,即添加Logtail插件處理數據。例如提取字段、提取日志時間、脫敏數據、過濾日志等。更多信息,請參見使用Logtail插件處理數據

{
  "inputs": [
    {
      "type": "service_mysql",
      "detail": {
        "Address": "************.mysql.rds.aliyuncs.com",
        "User": "****",
        "Password": "*******",
        "DataBase": "****",
        "Limit": true,
        "PageSize": 100,
        "StateMent": "select * from db.VersionOs where time > ?",
        "CheckPoint": true,
        "CheckPointColumn": "time",
        "CheckPointStart": "2018-01-01 00:00:00",
        "CheckPointSavePerPage": true,
        "CheckPointColumnType": "time",
        "IntervalMs": 60000
      }
    }
  ]
}

參數

類型

是否必選

說明

type

string

數據源類型,固定為service_mysql

Address

string

MySQL地址。例如rm-****.mysql.rds.aliyuncs.com

默認值為127.0.0.1:3306

User

string

用于登錄MySQL數據庫的用戶名稱。默認值為root

Password

string

用于登錄MySQL數據庫的用戶密碼。默認值為空。

如果安全需求較高,建議將用戶名稱和密碼配置為xxx,待采集配置同步至本地機器后,在本地文件/usr/local/ilogtail/user_log_config.json中找到對應配置進行修改。具體操作,請參見修改本地配置

重要

如果您在控制臺上修改了此參數,同步至本地后會覆蓋本地的配置。

DataBase

string

MySQL數據庫名稱。

DialTimeOutMs

int

連接MySQL數據庫超時時間,默認值為5000,單位:ms。

ReadTimeOutMs

int

讀取MySQL查詢結果的超時時間,默認值為5000,單位:ms。

StateMent

string

SELECT語句。

設置CheckPointtrue時,Statement中SELECT語句的where條件中必須包含CheckPoint列(CheckPointColumn)。支持使用半角問號(?)表示替換符,與CheckPoint列配合使用。

例如設置CheckPointColumnid,設置CheckPointStart0,設置StateMentSELECT * from ... where id > ?。則每次采集后,系統會保存最后一條數據的ID作為Checkpoint,下次采集時查詢語句中的半角問號(?)將被替換為該Checkpoint對應的ID。

Limit

boolean

是否使用Limit分頁。

  • true:使用。

  • false(默認值):不使用。

建議使用Limit進行分頁。設置Limittrue后,進行SQL查詢時,系統將自動在SELECT語句中追加LIMIT語句。

PageSize

int

分頁大小,Limittrue時必須配置。

MaxSyncSize

int

每次同步最大記錄數。默認值為0,表示無限制。

CheckPoint

boolean

是否使用CheckPoint。

  • true:使用。

  • false(默認值):不使用。

CheckPoint可作為下次采集數據的起點,實現數據增量采集。

CheckPointColumn

string

CheckPoint列名稱。

設置CheckPointtrue時,需要配置。

警告

該列的值必須遞增,否則可能會出現數據漏采集問題(每次查詢結果中的最大值將作為下次查詢的輸入)。

CheckPointColumnType

string

CheckPoint列的數據類型,支持int和time。int類型的內部存儲為int64,time類型支持MySQL的date、datetime、time類型。

設置CheckPointtrue時,需要配置。

CheckPointStart

string

CheckPoint列的初始值。

設置CheckPointtrue時,需要配置。

CheckPointSavePerPage

boolean

是否每次分頁時保存一次CheckPoint。

  • true(默認值):每次分頁時保存一次CheckPoint。

  • false:每次同步完成后保存一次CheckPoint。

IntervalMs

int

同步間隔,默認值為60000,單位:ms。

修改本地配置

如果您沒有在插件配置中輸入真實的Address、User、Password等信息,可以在采集配置下發到本地后進行手動修改。

Linux系統

  1. 登錄Logtail所在服務器。

  2. 打開/usr/local/ilogtail/user_log_config.json文件,找到service_mysql關鍵字,修改AddressUserPassword等字段。

  3. 執行以下命令重啟Logtail。

    sudo /etc/init.d/ilogtaild stop; sudo /etc/init.d/ilogtaild start

Windows系統

  1. 登錄Logtail所在服務器。

  2. 打開C:\Program Files\Alibaba\Logtail\user_log_config.json文件,找到service_mysql關鍵字,修改AddressUserPassword等字段。

    Windows 64位操作系統和Windows 32位操作系統文件位置不同,具體請參見文件路徑

  3. 執行以下命令重啟Logtail。

    1. 選擇開始 > 控制面板 > 管理工具 > 服務

    2. 服務對話框中,選擇對應的服務。

      • 如果是0.x.x.x版本,選擇LogtailWorker服務。

      • 如果是1.0.0.0及以上版本,選擇LogtailDaemon服務。

    3. 右鍵選擇對應的操作,包括啟動停止重新啟動

問題排查

使用Logtail采集日志后,如果預覽頁面或查詢頁面無數據,您可以參見Logtail采集日志失敗的排查思路進行排查。

數據庫表和日志樣例

數據庫表樣例和Logtail采集到的日志樣例如下所示。

  • 數據庫表樣例

    CREATE TABLE `VersionOs` (
      `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
      `time` datetime NOT NULL,
      `version` varchar(10) NOT NULL DEFAULT '',
      `os` varchar(10) NOT NULL,
      `count` int(11) unsigned NOT NULL,
      PRIMARY KEY (`id`),
      KEY `timeindex` (`time`)
    )
  • 日志樣例

    "count":  "4"  
    "id:  "721097"  
    "os:  "Windows"  
    "time:  "2022-08-25 13:00:00"  
    "version":  "1.3.0"