Fully customizable Beat for MySQL server - this beat can ship the results of any query defined on the config file to Elastic.
This project is in beta stage. In fact this is the first time ever I wrote go code.
single-row queries will be translated as columnname:value.two-columns will be translated as value-column1:value-column2 for each row.multiple-rows each row will be a document (with columnname:value) - no DELTA support.show-slave-delay will only send the "Seconds_Behind_Master" column from SHOW SLAVE STATUS;((newval - oldval)/timediff.Seconds())mysqlbeat uses Glide for dependency management. To install glide see: https://github.com/Masterminds/glide
$ glide update --no-recursive
$ make update
$ go build
Edit mysqlbeat configuration in mysqlbeat.yml .
You can:
* Add queries to the queries array
* Add query types to the querytypes array
* Define Username/Password to connect to the MySQL
* Define the column wild card for delta columns
* Password can be saved in clear text/AES encryption
If you choose to use the mysqlbeat as is, just run the following on your MySQL Server:
GRANT REPLICATION CLIENT, PROCESS ON *.* TO 'mysqlbeat_user'@'%' IDENTIFIED BY 'mysqlbeat_pass';
Notes on password encryption: Before you compile your own mysqlbeat, you should put a new secret in the code (defined as a const), secret length must be 16, 24 or 32, corresponding to the AES-128, AES-192 or AES-256 algorithm. I recommend deleting the secret from the source code after you have your compiled mysqlbeat. You can encrypt your password with mysqlbeat-password-encrypter just update your secret (and commonIV if you choose to change it) and compile.
The default template is provided, if you add any queries you should update the template accordingly.
To apply the default template run:
curl -XPUT http://<host>:9200/_template/mysqlbeat -d@etc/mysqlbeat-template.json
Just run mysqlbeat -c mysqlbeat.yml and you are good to go.
This dashboard created as an addition to the MySQL dashboard provided by packetbeat, use them both.
Run the default configuration provided to get the dashboard below (you should import dashboard/mysql_performance_dashboard_by_mysqlbeat.json to create the dashboard in Kibana).

GNU General Public License v2
$ claude mcp add mysqlbeat \
-- python -m otcore.mcp_server <graph>