全部产品
Search
文档中心

Elasticsearch:Gunakan Filebeat yang dikelola sendiri untuk mengumpulkan log MySQL

更新时间:Jul 02, 2025

Untuk melihat dan menganalisis log MySQL seperti log lambat dan log kesalahan, Anda dapat menggunakan Filebeat untuk mengumpulkan log tersebut. Filebeat kemudian mengirimkan log ke Alibaba Cloud Elasticsearch. Log ini dapat di-query, dianalisis, dan divisualisasikan di Konsol Kibana.

Prosedur

  1. Lakukan persiapan.

    Buat kluster Alibaba Cloud Elasticsearch dan instance Elastic Compute Service (ECS). Kluster Elasticsearch digunakan untuk menerima log MySQL yang dikumpulkan oleh Filebeat serta menyediakan Konsol Kibana untuk query, analisis, dan visualisasi log. Instance ECS digunakan untuk menginstal MySQL dan Filebeat.

  2. Langkah 1: Instal dan konfigurasikan MySQL.

    Instal MySQL dan konfigurasikan file log kesalahan serta file log kueri lambat dalam file konfigurasi MySQL. Filebeat akan mengumpulkan log yang diinginkan berdasarkan konfigurasi ini.

  3. Langkah 2: Instal dan konfigurasikan Filebeat.

    Instal Filebeat untuk mengumpulkan log MySQL dan mengirimkannya ke kluster Elasticsearch Anda. Aktifkan modul MySQL di Filebeat serta tentukan URL untuk mengakses kluster Elasticsearch dan Konsol Kibana melalui file konfigurasi Filebeat.

  4. Langkah 3: Gunakan dasbor Kibana untuk menampilkan log MySQL.

    Lakukan tes kueri dan tampilkan log kesalahan serta log kueri lambat yang ingin dianalisis pada dasbor Konsol Kibana.

Lakukan persiapan

Langkah 1: Instal dan konfigurasikan MySQL

  1. Hubungkan ke instance ECS.

    Untuk informasi lebih lanjut, lihat Hubungkan ke instance Linux menggunakan kata sandi.

    Catatan

    Dalam contoh ini, pengguna biasa digunakan.

  2. Unduh dan instal sumber MySQL.

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

    sudo yum install mysql-server
  4. Konfigurasikan file log kesalahan dan file log kueri lambat dalam file my.cnf.

    Catatan

    Secara default, konfigurasi file log di MySQL dinonaktifkan. Anda harus mengaktifkan konfigurasi file log secara manual. Anda juga dapat mengaktifkan log lambat sementara dengan menjalankan perintah MySQL.

    1. Buka file my.cnf.

      sudo vim /etc/my.cnf
    2. Konfigurasikan file log.

      [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

      Parameter

      Deskripsi

      log_queries_not_using_indexes

      Menentukan apakah akan mencatat kueri tanpa indeks sebagai log kueri lambat. Nilai 1 menunjukkan bahwa sistem mencatat kueri tanpa indeks sebagai log kueri lambat. Nilai 0 menunjukkan bahwa sistem tidak mencatat kueri tanpa indeks sebagai log kueri lambat.

      slow_query_log

      Menentukan apakah akan mengaktifkan log kueri lambat. Nilai on menunjukkan bahwa log kueri lambat diaktifkan. Nilai off menunjukkan bahwa log kueri lambat dinonaktifkan.

      slow_query_log_file

      Menentukan jalur penyimpanan log kueri lambat.

      long_query_time

      Menentukan ambang waktu yang digunakan untuk mendefinisikan log kueri lambat. Unit: detik. Ketika waktu kueri melebihi ambang batas, database MySQL menulis kueri ke file yang ditentukan oleh slow_query_log_file.

      Penting

      Untuk kemudahan pengujian, nilai parameter ini disetel ke 0. Anda dapat menentukan parameter ini berdasarkan kebutuhan bisnis Anda.

    3. (Opsional) Buat file log.

      Penting

      MySQL 5.6 tidak secara otomatis membuat file log. Anda harus membuat file log secara manual.

      sudo mkdir /var/log/mysql
      sudo touch /var/log/mysql/mysqld.log
      sudo touch /var/log/mysql/slow-mysql-query.log
    4. Berikan izin baca dan tulis pada file log kepada semua pengguna.

      sudo chmod 777 /var/log/mysql/slow-mysql-query.log /var/log/mysql/mysqld.log
  5. Mulai MySQL dan periksa statusnya.

    sudo systemctl start mysqld
    sudo systemctl status mysqld

Langkah 2: Instal dan konfigurasikan Filebeat

  1. Masuk ke Konsol Kibana kluster Elasticsearch.

    Untuk informasi lebih lanjut, lihat Masuk ke Konsol Kibana.

  2. Di bagian Visualisasikan dan Jelajahi Data, klik Logs.

  3. Pada halaman yang muncul, klik View setup instructions.

  4. Pada halaman Add Data to Kibana, klik MySQL logs.

  5. Di bagian Getting Started, klik tab RPM.

    Catatan

    Sistem operasi Linux digunakan dalam topik ini. Oleh karena itu, RPM dipilih. Anda dapat memilih metode instalasi yang sesuai berdasarkan sistem operasi Anda.

  6. Instal Filebeat pada instance ECS sesuai petunjuk.

  7. Ubah konfigurasi modul MySQL dan tentukan file log kesalahan dan log lambat yang ingin dikumpulkan.

    1. Aktifkan modul MySQL.

      sudo filebeat modules enable mysql
    2. Buka file mysql.yml.

      sudo vim /etc/filebeat/modules.d/mysql.yml
    3. Ubah konfigurasi modul MySQL.

      Modify the configuration of the MySQL module

      - 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:

      Parameter

      Deskripsi

      enabled

      Tetapkan parameter ini ke true.

      var.paths

      Tetapkan parameter ini ke jalur file log. Jalur tersebut harus sama dengan jalur yang ditentukan dalam file konfigurasi MySQL. Untuk informasi lebih lanjut, lihat Langkah 1: Instal dan konfigurasikan MySQL.

  8. Konfigurasikan file filebeat.yml.

    1. Buka file filebeat.yml.

      sudo vim /etc/filebeat/filebeat.yml
    2. Ubah konfigurasi modul Filebeat.

      Configuration of 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. Ubah konfigurasi Kibana.

      Modify the configuration of Kibana

      setup.kibana:
      host: "https://es-cn-0pp1jxvcl000*****.kibana.elasticsearch.aliyuncs.com:5601"

      host: URL yang digunakan untuk mengakses Konsol Kibana. Anda bisa mendapatkan URL tersebut di halaman konfigurasi Kibana. Untuk informasi lebih lanjut, lihat Lihat titik akhir publik Konsol Kibana. Tentukan URL dalam format <Titik akhir publik Konsol Kibana>:5601.

    4. Ubah konfigurasi kluster Elasticsearch.

      Modify the configuration of the Elasticsearch cluster

      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>"

      Parameter

      Deskripsi

      hosts

      URL yang digunakan untuk mengakses kluster Elasticsearch. Tentukan URL dalam format <Titik akhir internal atau publik kluster Elasticsearch>:9200. Anda bisa mendapatkan titik akhir internal atau publik di halaman Informasi Dasar kluster. Untuk informasi lebih lanjut, lihat Lihat informasi dasar kluster.

      Catatan

      Jika instance ECS dan kluster Elasticsearch berada di virtual private cloud (VPC) yang sama, gunakan titik akhir internal. Jika tidak, gunakan titik akhir publik. Jika Anda menggunakan titik akhir publik untuk mengakses kluster Elasticsearch, Anda harus mengonfigurasi daftar putih untuk akses ke kluster Elasticsearch melalui Internet. Untuk informasi lebih lanjut, lihat Konfigurasikan daftar putih alamat IP publik atau pribadi untuk kluster Elasticsearch.

      username

      Nama pengguna yang digunakan untuk mengakses kluster Elasticsearch. Nilai default: elastic.

      password

      Kata sandi yang sesuai dengan nama pengguna elastic. Kata sandi ditentukan saat Anda membuat kluster Elasticsearch. Jika Anda lupa kata sandi, Anda dapat menyetel ulang. Untuk informasi lebih lanjut tentang prosedur dan perhatian saat menyetel ulang kata sandi, lihat Setel ulang kata sandi akses untuk kluster Elasticsearch.

  9. Jalankan perintah berikut untuk memulai Filebeat:

    sudo filebeat setup
    sudo service filebeat start

Langkah 3: Gunakan dasbor Kibana untuk menampilkan log MySQL

  1. Mulai ulang MySQL di instance ECS dan lakukan kueri log untuk pengujian.

    Jalankan perintah berikut untuk memulai ulang MySQL:

    sudo systemctl restart mysqld
  2. Lihat log yang dikueri.

    Gambar berikut menunjukkan log yang dikueri.

    Gambar 1. Log lambatSlow logs

    Gambar 2. Log kesalahanError logs

  3. Masuk ke Konsol Kibana kluster Elasticsearch.

    Untuk informasi lebih lanjut, lihat Masuk ke Konsol Kibana.

  4. Di panel navigasi di sebelah kiri, klik Dashboard.

  5. Pada halaman Dashboards, klik [Filebeat MySQL] Overview.

  6. Pilih rentang waktu di pojok kanan atas dan lihat log dalam rentang waktu tersebut.

    View logs