Feedback Plugin
Contents
The Feedback plugin is designed to collect and, optionally, upload configuration and usage information to MariaDB.org, or to the MariaDB Enterprise Notification Service (for MariaDB Enterprise customers), or to any other configured URL.
See the MariaDB User Feedback page on MariaDB.org to see collected MariaDB usage statistics.
MariaDB Enterprise Customers should consult the MariaDB Enterprise Notification Service Setup Guide for more information about how to configure and use the MariaDB Enterprise Notification Service in conjunction with the feedback plugin.
The feedback plugin exists in all MariaDB versions.
MariaDB and MariaDB Enterprise are distributed with this plugin included, but it is not enabled by default. On Windows, this plugin is part of the server and has a special checkbox in the installer window. Either way, you need to explicitly install or enable it in order for feedback data to be sent.
Enabling
Add feedback=ON
to the [mysqld]
section in
the my.cnf file (my.ini on Windows) and restart MariaDB.
In Windows, 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.
See the next section for how to verify the plugin is installed and active and (if needed) install the plugin.
Verifying and Installing
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';
If that SELECT
returns no rows, that means that the Feedback plugin is not installed. If this is the case 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. Alternatively you may add --feedback=ON
to the server's command line.
Configuration
The plugin can be configured with the following system variables:
feedback
- Description: Enable (
ON
) or disable (OFF
) the Feedback plugin. Not available as a system variable that can be set dynamically.FORCE
means that the plugin must be successfully loaded, or else the server won't start. - Commandline:
--feedback=value
- Valid Values:
ON
,OFF
orFORCE
feedback_http_proxy
- Description: Proxy server for use when http calls cannot be made, such as in a firewall environment. The format is
host:port
. - Commandline:
--feedback-http=proxy=value
- Read-only: Yes
- Data Type: string
- Default Value:
''
(empty) - Introduced: MariaDB 5.5.48, MariaDB 10.1.8
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_server_uid
- Description: Automatically calculated server unique id hash.
- Scope: Global
- Dynamic: No
- Data Type: string
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 use:
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. MariaDB Enterprise and MariaDB Enterprise Cluster send data by default to https://enterprise.mariadb.com/feedback/post.
If data sending is enabled (meaning feedback_url variable 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. This may be necessary if outbound HTTP communication from your database server is not permitted (although as an alternative the feedback_http_proxy variable allows you to set proxy details).
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 uploading your generated report.txt
using your web browser. MariaDB Server or MariaDB Galera Cluster users should upload the data to https://mariadb.org/feedback_plugin/post. MariaDB Enterprise customers using the MariaDB Enterprise Notification Service should upload data to https://enterprise.mariadb.com/feedback/post.
Or you can do it from the command line with (for example):
$ curl -F data=@report.txt https://mariadb.org/feedback_plugin/post
If you are a MariaDB Enterprise customer and you want to submit data to the MariaDB Enterprise Notification Service, submit the data to https://enterprise.mariadb.com/feedback/ instead:
$ curl -F data=@report.txt https://enterprise.mariadb.com/feedback/post
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.