Code Monkey home page Code Monkey logo

mysqlbeat's Introduction

mysqlbeat

Fully customizable Beat for MySQL server - this beat will ship the results of any query defined in the config file to Elasticsearch.

Current status

First beta release available here.

Features

  • Connect to any MySQL server and run queries
  • 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) NEW: Added DELTA support.
  • show-slave-delay will only send the "Seconds_Behind_Master" column from SHOW SLAVE STATUS;
  • Any column that ends with the delatwildcard (default is __DELTA) will send delta results, extremely useful for server counters. ((newval - oldval)/timediff.Seconds())
  • MySQL Performance Dashboard (more details below)

How to Build

mysqlbeat uses Glide for dependency management. To install glide see: https://github.com/Masterminds/glide

$ glide update --no-recursive
$ make

Default Configuration

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
  • Define the column wild card for delta key 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.

Template

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

How to use

Just run mysqlbeat -c mysqlbeat.yml and you are good to go.

MySQL Performance Dashboard by mysqlbeat

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).

mysql_performance_by_mysqlbeat__dashboard__kibana

License

GNU General Public License v2

mysqlbeat's People

Contributors

adibendahan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.