# 1 Extending Zabbix Agents

This tutorial provides step-by-step instructions how to extend
functionality of Zabbix agent.

##### Step 1

Write a script or command line to retrieve required parameter.

For example, we may write the following command in order to get total
number of queries executed by a MySQL server:

    mysqladmin -uroot status|cut -f4 -d":"|cut -f1 -d"S"

When executed, the command returns total number of SQL queries.

##### Step 2

Add this command to agent's configuration file.

Add the command to zabbix\_agentd.conf:

    UserParameter=mysql.questions,mysqladmin -uroot status|cut -f4 -d":"|cut -f1 -d"S"

**mysql.questions** is an unique identifier. It can be any string, for
example, queries.

Test this parameter by using [zabbix\_get](/manual/processes/zabbix_get)
utility.

##### Step 3

Restart Zabbix agent.

Agent will reload configuration file.

##### Step 4

Add new item for monitoring.

Add new item with Key=mysql.questions to the monitored host. Type of the
item must be either Zabbix Agent or Zabbix Agent (active).

Be aware that type of returned values must be set correctly on Zabbix
server. Otherwise Zabbix won't accept them.
