summaryrefslogtreecommitdiffstats
path: root/source/configuration/modules/ommysql.rst
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--source/configuration/modules/ommysql.rst201
1 files changed, 201 insertions, 0 deletions
diff --git a/source/configuration/modules/ommysql.rst b/source/configuration/modules/ommysql.rst
new file mode 100644
index 0000000..12d2787
--- /dev/null
+++ b/source/configuration/modules/ommysql.rst
@@ -0,0 +1,201 @@
+*************************************
+ommysql: MySQL Database Output Module
+*************************************
+
+=========================== ===========================================================================
+**Module Name:**  **ommysql**
+**Author:** Michael Meckelein (Initial Author) / `Rainer Gerhards <https://rainer.gerhards.net/>`_ <rgerhards@adiscon.com>
+=========================== ===========================================================================
+
+
+Purpose
+=======
+
+This module provides native support for logging to MySQL databases. It
+offers superior performance over the more generic
+`omlibdbi <omlibdbi.html>`_ module.
+
+
+Configuration Parameters
+========================
+
+.. note::
+
+ Parameter names are case-insensitive.
+
+
+Action Parameters
+-----------------
+
+Server
+^^^^^^
+
+.. csv-table::
+ :header: "type", "default", "mandatory", "|FmtObsoleteName| directive"
+ :widths: auto
+ :class: parameter-table
+
+ "word", "none", "yes", "none"
+
+This is the address of the MySQL-Server.
+
+
+Socket
+^^^^^^
+
+.. csv-table::
+ :header: "type", "default", "mandatory", "|FmtObsoleteName| directive"
+ :widths: auto
+ :class: parameter-table
+
+ "word", "none", "no", "none"
+
+This is the unix socket path of the MySQL-Server. When the server
+address is set localhost, the mysql client library connects using
+the default unix socket specified at build time.
+If you run mysql server and run the unix socket path differently
+than the default, you can set the socket path with this option.
+
+
+db
+^^
+
+.. csv-table::
+ :header: "type", "default", "mandatory", "|FmtObsoleteName| directive"
+ :widths: auto
+ :class: parameter-table
+
+ "word", "none", "yes", "none"
+
+This is the name of the database used.
+
+
+UID
+^^^
+
+.. csv-table::
+ :header: "type", "default", "mandatory", "|FmtObsoleteName| directive"
+ :widths: auto
+ :class: parameter-table
+
+ "word", "none", "yes", "none"
+
+This is the user who is used.
+
+
+PWD
+^^^
+
+.. csv-table::
+ :header: "type", "default", "mandatory", "|FmtObsoleteName| directive"
+ :widths: auto
+ :class: parameter-table
+
+ "word", "none", "yes", "none"
+
+This is the password for the user specified in UID.
+
+
+ServerPort
+^^^^^^^^^^
+
+.. csv-table::
+ :header: "type", "default", "mandatory", "|FmtObsoleteName| directive"
+ :widths: auto
+ :class: parameter-table
+
+ "integer", "none", "no", "``$ActionOmmysqlServerPort``"
+
+Permits to select a non-standard port for the MySQL server. The
+default is 0, which means the system default port is used. There is
+no need to specify this parameter unless you know the server is
+running on a non-standard listen port.
+
+
+MySQLConfig.File
+^^^^^^^^^^^^^^^^
+
+.. csv-table::
+ :header: "type", "default", "mandatory", "|FmtObsoleteName| directive"
+ :widths: auto
+ :class: parameter-table
+
+ "word", "none", "no", "``$OmMySQLConfigFile``"
+
+Permits the selection of an optional MySQL Client Library
+configuration file (my.cnf) for extended configuration functionality.
+The use of this configuration parameter is necessary only if you have
+a non-standard environment or if fine-grained control over the
+database connection is desired.
+
+
+MySQLConfig.Section
+^^^^^^^^^^^^^^^^^^^
+
+.. csv-table::
+ :header: "type", "default", "mandatory", "|FmtObsoleteName| directive"
+ :widths: auto
+ :class: parameter-table
+
+ "word", "none", "no", "``$OmMySQLConfigSection``"
+
+Permits the selection of the section within the configuration file
+specified by the **$OmMySQLConfigFile** parameter.
+This will likely only be used where the database administrator
+provides a single configuration file with multiple profiles.
+This configuration parameter is ignored unless **$OmMySQLConfigFile**
+is also used in the rsyslog configuration file.
+If omitted, the MySQL Client Library default of "client" will be
+used.
+
+
+Template
+^^^^^^^^
+
+.. csv-table::
+ :header: "type", "default", "mandatory", "|FmtObsoleteName| directive"
+ :widths: auto
+ :class: parameter-table
+
+ "word", "StdDBFmt", "no", "none"
+
+Rsyslog contains a canned default template to write to the MySQL
+database. It works on the MonitorWare schema. This template is:
+
+.. code-block:: none
+
+ $template tpl,"insert into SystemEvents (Message, Facility, FromHost,
+ Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag) values
+ ('%msg%', %syslogfacility%, '%HOSTNAME%', %syslogpriority%,
+ '%timereported:::date-mysql%', '%timegenerated:::date-mysql%', %iut%,
+ '%syslogtag%')",SQL
+
+
+As you can see, the template is an actual SQL statement. Note the ",SQL"
+option: it tells the template processor that the template is used for
+SQL processing, thus quote characters are quoted to prevent security
+issues. You can not assign a template without ",SQL" to a MySQL output
+action.
+
+If you would like to change fields contents or add or delete your own
+fields, you can simply do so by modifying the schema (if required) and
+creating your own custom template.
+
+
+Examples
+========
+
+Example 1
+---------
+
+The following sample writes all syslog messages to the database
+"syslog_db" on mysqlserver.example.com. The server is being accessed
+under the account of "user" with password "pwd".
+
+.. code-block:: none
+
+ module(load="ommysql")
+ action(type="ommysql" server="mysqlserver.example.com" serverport="1234"
+ db="syslog_db" uid="user" pwd="pwd")
+
+