In the ever-evolving landscape of database management and analysis, ensuring the optimum performance and security of your MySQL databases is paramount. One effective method to achieve this is by analyzing logs such as error logs and slow query logs. This article will guide you through integrating a self-managed Filebeat with Alibaba Cloud Elasticsearch to collect MySQL logs, providing a comprehensive solution for querying, analyzing, and presenting these logs visually in Kibana.
Before diving into the installation and configuration, ensure you have set up an Alibaba Cloud Elasticsearch cluster and an Elastic Compute Service (ECS) instance. Alibaba Cloud’s Elasticsearch service simplifies operations and management, offering a robust environment for log analysis.
First, connect to your ECS instance and install MySQL:
1wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
2sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
3sudo yum install mysql-server
Configure the MySQL error and slow query log files in the my.cnf file:
1sudo vim /etc/my.cnf
2
3[mysqld]
4log_queries_not_using_indexes = 1
5slow_query_log=on
6slow_query_log_file=/var/log/mysql/slow-mysql-query.log
7long_query_time=0
8
9[mysqld_safe]
10log-error=/var/log/mysql/mysqld.log
Optionally, create the log files manually if they don't exist:
1sudo mkdir /var/log/mysql
2sudo touch /var/log/mysql/mysqld.log
3sudo touch /var/log/mysql/slow-mysql-query.log
4sudo chmod 777 /var/log/mysql/slow-mysql-query.log /var/log/mysql/mysqld.log
Start MySQL and verify its status:
1sudo systemctl start mysqld
2sudo systemctl status mysqld
Install Filebeat on your ECS instance following the setup instructions in the Kibana console. Enable the MySQL module:
1sudo filebeat modules enable mysql
Configure the module in mysql.yml to specify the paths of the log files:
1- module: mysql
2 # Error logs
3 error:
4 enabled: true
5 var.paths: ["/var/log/mysql/mysqld.log"]
6 # Slow logs
7 slowlog:
8 enabled: true
9 var.paths: ["/var/log/mysql/slow-mysql-query.log"]
Edit filebeat.yml to set up connections with your Kibana console and Elasticsearch cluster:
1filebeat.config.modules:
2 path: /etc/filebeat/modules.d/*.yml
3 reload.enabled: true
4 reload.period: 10s
5
6setup.kibana:
7 host: "https://<your_kibana_endpoint>:5601"
8
9output.elasticsearch:
10 hosts: ["https://<your_elasticsearch_endpoint>:9200"]
11 username: "elastic"
12 password: "<your_password>"
Start Filebeat to begin log collection:
1sudo filebeat setup
2sudo service filebeat start
Restart MySQL to begin generating logs for analysis. Access the Kibana console to view and analyze logs using the [Filebeat MySQL] Overview dashboard.
By following these steps, you can efficiently monitor and analyze your MySQL logs, leveraging the powerful Elasticsearch and Kibana tools on Alibaba Cloud.
Interested in exploring more about Alibaba Cloud Elasticsearch? Start your journey towards transforming your data into insightful visual representations with a 30 Day Free Trial of Alibaba Cloud Elasticsearch.
Enable Hive to Write and Read Data from Alibaba Cloud Elasticsearch using ES-Hadoop
Unlock Real-Time Insights: Analyze Redis Slow Logs with Alibaba Cloud Elasticsearch and Rsbeat
Alibaba Clouder - December 29, 2020
Alibaba Clouder - January 4, 2021
Alibaba Cloud Indonesia - August 1, 2023
Alibaba Clouder - January 5, 2021
Alibaba Clouder - December 29, 2020
Alibaba Cloud Native Community - December 6, 2022
Alibaba Cloud Elasticsearch helps users easy to build AI-powered search applications seamlessly integrated with large language models, and featuring for the enterprise: robust access control, security monitoring, and automatic updates.
Learn MoreAnalyticDB for MySQL is a real-time data warehousing service that can process petabytes of data with high concurrency and low latency.
Learn MoreAlibaba Cloud PolarDB for MySQL is a cloud-native relational database service 100% compatible with MySQL.
Learn MoreApsaraDB Dedicated Cluster provided by Alibaba Cloud is a dedicated service for managing databases on the cloud.
Learn MoreMore Posts by Data Geek