Define custom measurements (Pro edition)

Zabbix Report

Overall Presentation

This extended feature allows Moodle administrator to add customized measurements to the sending stack without need of coding a new indicator class. It can be used to provide quickly a new value to Zabbix. the customized measurements are based on SQL queries as simple selects that returns a single “meas” output field.

The process to define a customized measurement is divided in two steps.

Define the custom measurement in moodle.

Go to your Zabbix server and add the appropriate item to the host definition that represents your moodle.

Related: https://www.zabbix.com/documentation/current/en/manual/config/items/item

Path : Site admin ⇒ reports ⇒ Custom Zabbix Measurements

Creating the measurements

First go to the custom Zabbix Measurement screen.

Than fill the measurment definition form:

Measurement name: Visible name for the measurment. Zabbix report usually name the measurements in Zabbix as “MOODLE <TOPIC> <ITEM> [<SUBITEM>] (f.e MOODLE ASSIGN DAILY SUBMISSIONS), but you are free to give any name. It is recommended to choose the name you will also setup as Zabbix Item name in Zabbix.

Measuremnet Key: This is the name of the item key in Zabbix. We use a dotted namespace for measurments, such as f.e. moodle.assign.dailysubmissions. Custom measurements are recommended adopting the moodle.custom.<itemname> namespace, but once again, you are free to choose any token, pursuant the Zabbic Item's key matches.

Units: Give the measurement Units that will match Zabbix item definition.

Active: Custom measurements can be disabled at any time, and so wil not be actualized if disabled.

Indicator SQL Query: Write a SQL query from moodle DB data. It must be a SELECT statement that returns a single value aliased to the field name meas.

Context: System context will send a unique value based on query. Other contexts will send as many values as context instances in the context level. This will generate discoverable keys of the form: moodle.custom.<contextlevel>.<instanceid>.<itemname>. These keys match the “discorevering” model of Zabbix.

Context allowed instances: If some context other that System Context is choosed, filling this field wil only send indicator values for the listed instance ids. Give a comma separated list of DB ids of instances represented by the choosen context level. All instances are sent if empty.

Context excluded instances: If some context other that System Context is choosed, filling this field wil exclude for sending values for the listed instance ids. Give a comma separated list of DB ids of instances represented by the choosen context level. All instances are sent if empty.

Emission Rate: Choose the emission task rate for this indicator.

Setting up the item in Zabbix

In Zabbix, edit the host representing the Moodle instance. Add a new element matching the Measurement Key, Adjust the storage ranges if needed, and add this measurement or graphs using it in your dashboards.

Checking the custom indicator works

You should have checked your SQL statement previoulsy in your DB command line tool or your DB manager tool.

To check if the measurmeent works, and sends expected values:

Ensure your CLI path is setup in the Server settings

Go to scheduled tasks board in Moodle Server section

Run the appropriate Zabbix sending task

Check you can see the sending trace line in output.

Example of check

The above measure fails because of misuse of the STR_REPLACE() macro rather than REPLACE() function. The scheduled task crashes and will not run any more measurements of the weekly emission.

Once fixed, the measure is sending the proper way.

Back to Zabbix Report index - Back to plugin index - Back to catalog