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
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.
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.
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.
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
Buat kluster Alibaba Cloud Elasticsearch.
Dalam contoh ini, kluster Elasticsearch V6.7.0 Edisi Standar digunakan. Untuk informasi lebih lanjut, lihat Buat kluster Alibaba Cloud Elasticsearch.
Buat instance Alibaba Cloud ECS.
Dalam contoh ini, instance ECS yang menjalankan CentOS digunakan. Untuk informasi lebih lanjut, lihat Buat instance menggunakan wizard.
Langkah 1: Instal dan konfigurasikan MySQL
Hubungkan ke instance ECS.
Untuk informasi lebih lanjut, lihat Hubungkan ke instance Linux menggunakan kata sandi.
CatatanDalam contoh ini, pengguna biasa digunakan.
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.rpmInstal MySQL.
sudo yum install mysql-serverKonfigurasikan file log kesalahan dan file log kueri lambat dalam file my.cnf.
CatatanSecara 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.
Buka file my.cnf.
sudo vim /etc/my.cnfKonfigurasikan 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.logParameter
Deskripsi
log_queries_not_using_indexesMenentukan 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_logMenentukan 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_fileMenentukan jalur penyimpanan log kueri lambat.
long_query_timeMenentukan 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.PentingUntuk kemudahan pengujian, nilai parameter ini disetel ke 0. Anda dapat menentukan parameter ini berdasarkan kebutuhan bisnis Anda.
(Opsional) Buat file log.
PentingMySQL 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.logBerikan 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
Mulai MySQL dan periksa statusnya.
sudo systemctl start mysqld sudo systemctl status mysqld
Langkah 2: Instal dan konfigurasikan Filebeat
Masuk ke Konsol Kibana kluster Elasticsearch.
Untuk informasi lebih lanjut, lihat Masuk ke Konsol Kibana.
Di bagian Visualisasikan dan Jelajahi Data, klik Logs.
Pada halaman yang muncul, klik View setup instructions.
Pada halaman Add Data to Kibana, klik MySQL logs.
Di bagian Getting Started, klik tab RPM.
CatatanSistem operasi Linux digunakan dalam topik ini. Oleh karena itu, RPM dipilih. Anda dapat memilih metode instalasi yang sesuai berdasarkan sistem operasi Anda.
Instal Filebeat pada instance ECS sesuai petunjuk.
Ubah konfigurasi modul MySQL dan tentukan file log kesalahan dan log lambat yang ingin dikumpulkan.
Aktifkan modul MySQL.
sudo filebeat modules enable mysqlBuka file mysql.yml.
sudo vim /etc/filebeat/modules.d/mysql.ymlUbah konfigurasi modul 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:Parameter
Deskripsi
enabledTetapkan parameter ini ke
true.var.pathsTetapkan 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.
Konfigurasikan file filebeat.yml.
Buka file filebeat.yml.
sudo vim /etc/filebeat/filebeat.ymlUbah konfigurasi modul Filebeat.

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: 1sUbah konfigurasi 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.Ubah konfigurasi kluster Elasticsearch.

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
hostsURL 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.CatatanJika 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.
usernameNama pengguna yang digunakan untuk mengakses kluster Elasticsearch. Nilai default: elastic.
passwordKata 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.
Jalankan perintah berikut untuk memulai Filebeat:
sudo filebeat setup sudo service filebeat start
Langkah 3: Gunakan dasbor Kibana untuk menampilkan log MySQL
Mulai ulang MySQL di instance ECS dan lakukan kueri log untuk pengujian.
Jalankan perintah berikut untuk memulai ulang MySQL:
sudo systemctl restart mysqldLihat log yang dikueri.
Gambar berikut menunjukkan log yang dikueri.
Gambar 1. Log lambat

Gambar 2. Log kesalahan

Masuk ke Konsol Kibana kluster Elasticsearch.
Untuk informasi lebih lanjut, lihat Masuk ke Konsol Kibana.
Di panel navigasi di sebelah kiri, klik Dashboard.
Pada halaman Dashboards, klik [Filebeat MySQL] Overview.
Pilih rentang waktu di pojok kanan atas dan lihat log dalam rentang waktu tersebut.
