Feedback Plugin

You are viewing an old version of this article. View the current version here.

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.

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';

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 or FORCE

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 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 to 86400

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 to 86400

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.

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.

Comments

Comments loading...
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.