FEEDBACK plugin
Contents
The Feedback plugin is designed to collect and, optionally, upload configuration and usage information to MariaDB.org, or any other configured URL.
See the MariaDB User Feedback page on MariaDB.org to see collected MariaDB usage statistics.
The feedback plugin exists in all MariaDB versions.
MariaDB is distributed with this plugin included, but not installed by default. On Windows this plugin is part of the server, but disabled by default. Either way, you need to explicitly install or enable it, otherwise no feedback data will ever be sent.
Installation (Quick)
Add feedback=ON
to the [mysqld]
section in
the my.cnf file (my.ini on Windows) and restart MariaDB.
In many cases this is all you need to do. The next section goes into more detail.
Installation (Detailed)
Enabling the plugin on Windows
Add feedback=ON
to the [mysqld]
section in
the my.ini configuration file. The plugin can also be enabled during a new
installation. There is an "Enable feedback plugin" checkbox during the GUI
installation, or, if you are installing the MSI from the command line, there is
a FEEDBACK=1 command line option you can use to enable the plugin.
Enabling the plugin on Unix/Linux
As described in the "Installation (Quick)" section, above, in most cases all you need to do is add feedback=ON
to the [mysqld]
section in
the my.cnf file and then restart MariaDB.
See the next section for how to verify the plugin is installed and active and (if needed) install the plugin.
Verifying and Installing the Plugin
To verify whether the Feedback plugin is installed use a
SHOW PLUGINS
statement or
SELECT plugin_status FROM information_schema.plugins WHERE plugin_name = 'feedback';
The example above shows that the Feedback plugin is not installed. If this is the case (as above) and you want to install the plugin, you can do so with:
INSTALL PLUGIN feedback SONAME 'feedback';
or by adding --plugin-load=feedback.so
to the server's command line or to the [mysqld]
section in your my.cnf
file.
When the plugin is installed you will see:
SELECT plugin_status FROM information_schema.plugins WHERE plugin_name = 'feedback'; +---------------+ | plugin_status | +---------------+ | ACTIVE | +---------------+
Instead of ACTIVE
you might see DISABLED
. In this case you need to add feedback=ON
to the [mysqld]
section of your my.cnf
or my.ini
file.
Configuration
The plugin can be configured with the following system variables (on the command line, in the my.cnf
file or dynamically):
feedback
- Description: Enable or disable Feedback plugin.
- Valid Values:
ON
,OFF
orFORCE
feedback_send_retry_wait
- Description: Time in seconds before retrying if the plugin failed to send the data for any reason.
- Commandline:
--feedback-send-retry-wait=#
- Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
60
- Valid Values:
1
to86400
feedback_send_timeout
- Description: An attempt to send the data times out and fails after this many seconds.
- Commandline:
--feedback-send-timeout=#
- Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
60
- Valid Values:
1
to86400
feedback_url
- Description: URL to which the data is sent. More than one URL, separated by spaces, can be specified. Set it to an empty string to disable data sending.
- Commandline:
--feedback-url=url
- Scope: Global
- Dynamic: No
- Data Type:
string
- Default Value:
https://mariadb.org/feedback_plugin/post
feedback_user_info
- Description: The value of this option is not used by the plugin, but it is included in the feedback data. It can be used to add any user-specified string to the report. This could be used to help to identify it. For example, a support contract number, or a computer name (if you collect reports internally by specifying your own
feedback-url
). - Commandline:
--feedback-user-info=string
- Scope: Global
- Dynamic: No
- Data Type:
string
- Default Value: Empty string
Collecting data
The Feedback plugin is an INFORMATION_SCHEMA
plugin. It creates a table with
the name FEEDBACK
in the INFORMATION_SCHEMA
, and only the contents of
this table is sent. To see the collected data try:
MariaDB [test]> SELECT * FROM information_schema.feedback;
This will include selected rows from SHOW STATUS
and SHOW VARIABLES
,
plus versions of all installed plugins and information about the system (cpu
count, memory size, OS, architecture, linux distribution). Also it includes the
server UID - a SHA1 hash of the MAC address of the first network interface and
the TCP port that the server listens on.
MariaDB starting with 10.0.14
MariaDB 10.0.14 added collation usage statistics. Each collation that has been used by the server will have a record in "SELECT * FROM information_schema.feedback" output, for example:
+----------------------------------------+---------------------+ | VARIABLE_NAME | VARIABLE_VALUE | +----------------------------------------+---------------------+ | Collation used utf8_unicode_ci | 10 | | Collation used latin1_general_ci | 20 | +----------------------------------------+---------------------+
Collations that have not been used will not be included into the result.
Sending data
The plugin sends the data using a POST request to any URL or a list of URLs
that you specify. By default data is sent to https://mariadb.org/feedback_plugin/post##. Both HTTP and HTTPS protocols are supported.
If data sending is enabled (feedback-url
is not an empty string), the
Feedback plugin will automatically send a report a few minutes after a startup
and once a week after that to all URLs in the list.
You can, alternatively, disable the automatic data sending and upload the
feedback report manually. First, generate the report file with the MariaDB
command-line mysql
client:
$ mysql -e 'select * from information_schema.feedback' > report.txt
Then you can send it by opening https://mariadb.org/feedback_plugin/post in your
browser, and uploading your generated report.txt
. Or you can do it from the
command line with (for example):
$ curl -F [email protected] https://mariadb.org/feedback_plugin/post
If you do not trust the plugin, manual uploading allows you to be absolutely
sure that we receive only the data shown in the INFORMATION_SCHEMA.FEEDBACK
table and that no private or sensitive information is being sent.