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

通過自建Filebeat收集MySQL日志

如果您需要查看并分析MySQL的日志信息(例如慢日志、error日志等),可通過Filebeat采集MySQL日志并發送到阿里云Elasticsearch中,然后在Kibana控制臺中完成可視化查詢、分析和展示。

操作流程

  1. 準備工作

    創建阿里云Elasticsearch和ECS實例。Elasticsearch實例用來接收Filebeat采集的MySQL日志,并提供一個Kibana控制臺進行可視化查詢、分析與展示;ECS實例用來安裝MySQL和Filebeat。

  2. 步驟一:安裝并配置MySQL

    安裝MySQL,并在MySQL的配置文件中開啟error和慢查詢日志文件配置。開啟后,Filebeat才可采集到對應的日志。

  3. 步驟二:安裝并配置Filebeat

    安裝Filebeat,用來將MySQL中的日志采集到阿里云Elasticsearch集群中。需要啟用Filebeat的MySQL模塊,并在配置文件中指定Kibana和阿里云Elasticsearch的訪問地址。

  4. 步驟三:使用Kibana Dashboard展示MySQL日志

    進行查詢測試,并通過Kibana Dashboard展示對應的error和慢查詢日志。

準備工作

步驟一:安裝并配置MySQL

  1. 連接ECS實例。

    具體操作步驟請參見通過密碼認證登錄Linux實例

    說明

    本文檔以普通用戶權限為例。

  2. 下載并安裝MySQL源。

    wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
    sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
  3. 安裝MySQL。

    sudo yum install mysql-server
  4. 在my.cnf文件中配置error日志文件和慢查詢日志文件。

    說明

    默認情況下MySQL會禁用日志文件配置,因此您需要手動開啟。您也可通過MySQL命令開啟臨時慢日志。

    1. 打開my.cnf文件。

      sudo vim /etc/my.cnf
    2. 配置日志文件。

      [mysqld]
      log_queries_not_using_indexes = 1
      slow_query_log=on
      slow_query_log_file=/var/log/mysql/slow-mysql-query.log
      long_query_time=0
      
      [mysqld_safe]
      log-error=/var/log/mysql/mysqld.log

      參數

      說明

      log_queries_not_using_indexes

      是否將未使用索引的查詢記錄到慢查詢日志中。1表示記錄,0表示不記錄。

      slow_query_log

      是否開啟慢查詢日志。on表示開啟,off表示關閉。

      slow_query_log_file

      指定慢查詢日志的存儲路徑。

      long_query_time

      慢查詢閾值,單位為秒。當查詢時間超過設定的閾值時,MySQL會將日志寫入slow_query_log_file指定的文件中。

      重要

      本文為方便測試,將該參數值設置為0,實際情況中請根據業務需要合理設置該參數值。

    3. (可選)創建日志文件。

      重要

      MySQL 5.6版本不會主動創建日志文件,需要您手動創建對應文件。

      sudo mkdir /var/log/mysql
      sudo touch /var/log/mysql/mysqld.log
      sudo touch /var/log/mysql/slow-mysql-query.log
    4. 為所有用戶授予日志文件的讀寫權限。

      sudo chmod 777 /var/log/mysql/slow-mysql-query.log /var/log/mysql/mysqld.log
  5. 啟動MySQL并查看服務狀態。

    sudo systemctl start mysqld
    sudo systemctl status mysqld

步驟二:安裝并配置Filebeat

  1. 登錄目標阿里云Elasticsearch實例的Kibana控制臺。

    具體操作步驟請參見登錄Kibana控制臺

  2. 在左側導航欄,單擊Logs

  3. 單擊View setup instructions

  4. Add Data to Kibana頁面,單擊MySQL logs

  5. Self managed頁面,單擊RPM

    說明

    由于本文使用的是Linux系統,因此選擇RPM。實際情況中,請根據您的操作系統類型選擇合適的安裝方式。

  6. 按照頁面提示,在ECS中安裝Filebeat。

  7. 修改MySQL模塊配置,分別指定待采集的error和slow日志文件。

    1. 啟用MySQL模塊。

      sudo filebeat modules enable mysql
    2. 打開mysql.yml文件。

      sudo vim /etc/filebeat/modules.d/mysql.yml
    3. 修改MySQL模塊配置。

      修改MySQL模塊配置
      - module: mysql
        # Error logs
        error:
          enabled: true
          var.paths: ["/var/log/mysql/mysqld.log"]
          # Set custom paths for the log files. If left empty,
          # Filebeat will choose the paths depending on your OS.
          #var.paths:
      
        # Slow logs
        slowlog:
          enabled: true
          var.paths: ["/var/log/mysql/slow-mysql-query.log"]
          # Set custom paths for the log files. If left empty,
          # Filebeat will choose the paths depending on your OS.
          #var.paths:

      參數

      說明

      enabled

      設置為true

      var.paths

      設置為對應日志文件的路徑。需要與MySQL配置文件中設置的路徑保持一致,詳情請參見步驟一:安裝并配置MySQL

  8. 配置filebeat.yml文件。

    1. 打開filebeat.yml文件。

      sudo vim /etc/filebeat/filebeat.yml
    2. 修改Filebeat modules配置。

      Filebeat modules配置
      filebeat.config.modules:
        # Glob pattern for configuration loading
        path: /etc/filebeat/modules.d/mysql.yml
      
        # Set to true to enable config reloading
        reload.enabled: true
      
        # Period on which files under path should be checked for changes
        reload.period: 1s
    3. 修改Kibana配置。

      修改Kibana配置
      setup.kibana:
      host: "https://es-cn-0pp1jxvcl000*****.kibana.elasticsearch.aliyuncs.com:5601"

      host:Kibana的訪問地址。可在Kibana配置頁面獲取,詳情請參見查看Kibana公網地址,格式為<Kibana公網地址>:5601

    4. 修改Elasticsearch output配置。

      修改ES配置
      output.elasticsearch:
        # Array of hosts to connect to.
        hosts: ["es-cn-0pp1jxvcl000*****.elasticsearch.aliyuncs.com:9200"]
        # Optional protocol and basic auth credentials.
        #protocol: "https"
        username: "elastic"
        password: "<your_password>"

      參數

      說明

      hosts

      阿里云Elasticsearch的訪問地址,格式為<實例的私網或公網地址>:9200。Elasticsearch實例的私網或公網地址可在實例的基本信息頁面獲取,詳情請參見查看實例的基本信息

      說明

      如果ECS和Elasticsearch實例在同一專有網絡VPC(Virtual Private Cloud)下,請使用私網地址;如果不在同一VPC下,請使用公網地址。使用公網地址需要配置公網地址訪問白名單,詳情請參見配置實例公網或私網訪問白名單

      username

      阿里云Elasticsearch實例的訪問用戶名,默認為elastic。

      password

      對應用戶的密碼,一般在創建實例時設定。如果忘記,可重置,重置密碼的注意事項和操作步驟請參見重置實例訪問密碼

  9. 執行以下命令,將Dashboard等信息上傳到Elasticsearch和Kibana中,并啟用Filebeat服務。

    sudo filebeat setup
    sudo service filebeat start

步驟三:使用Kibana Dashboard展示MySQL日志

  1. 在ECS中重啟MySQL數據庫,并查詢任意數據進行測試。

    重啟命令如下。

    sudo systemctl restart mysqld
  2. 查看日志內容。

    本文檢測到的日志內容如下。

    圖 1. 慢日志內容慢日志內容

    圖 2. error日志內容error日志內容

  3. 登錄目標Elasticsearch實例的Kibana控制臺。

    具體操作步驟請參見登錄Kibana控制臺

  4. 在左側導航欄,單擊Dashboard

  5. Dashboards列表中,單擊[Filebeat MySQL] Overview

  6. 在頁面右上角選擇查詢時間,查看對應時間段內的日志。

    查看日志