# 11 Recipes for monitoring

#### General

##### Monitoring server availability

At least three methods (or combination of all methods) may be used in
order to monitor availability of a server.

-   ICMP ping ("icmpping" key)
-   "zabbix\[host,agent,available\]" item
-   trigger function nodata() for monitoring the availability of hosts
    that use active checks only

##### Sending alerts via WinPopUps

WinPopUps maybe very useful if you're running Windows OS and want to get
quick notification from Zabbix. It could be good addition for
email-based alert messages. Details about enabling of WinPopUps can be
found at <http://www.zabbix.com/forum/showthread.php?t=2147>.

#### Monitoring specific applications

##### AS/400

IBM AS/400 platform can be monitored using SNMP. More information is
available at
<http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg244504.html?Open>.

##### MySQL

Several user parameters can be used for the monitoring of MySQL in the
agent configuration file: /usr/local/etc/zabbix\_agentd.conf

    ### Set of parameters for monitoring MySQL server (v3.23.42 and later)
    ### Change -u and add -p if required
    #UserParameter=mysql.ping,mysqladmin -uroot  ping|grep alive|wc -l
    #UserParameter=mysql.uptime,mysqladmin -uroot status|cut -f2 -d":"|cut -f2 -d" "
    #UserParameter=mysql.threads,mysqladmin -uroot status|cut -f3 -d":"|cut -f2 -d" "
    #UserParameter=mysql.questions,mysqladmin -uroot status|cut -f4 -d":"|cut -f2 -d" "
    #UserParameter=mysql.slowqueries,mysqladmin -uroot status|cut -f5 -d":"|cut -f2 -d" "
    #UserParameter=mysql.qps,mysqladmin -uroot status|cut -f9 -d":"|cut -f2 -d" "
    #UserParameter=mysql.version,mysql -V

-   *mysql.ping*

Check whether MySQL is alive.

        Result: 0 - not started 1 - alive

-   *mysql.uptime*

Number of seconds MySQL is running.

-   *mysql.threads*

Number of MySQL threads.

-   *mysql.questions*

Number of processed queries.

-   *mysql.slowqueries*

Number of slow queries.

-   *mysql.qps*

Queries per second.

-   *mysql.version*

Version of MySQL. For example: mysql Ver 14.14 Distrib 5.1.53, for
pc-linux-gnu (i686)

For additional information see also the userparameter\_mysql.conf file
in conf/zabbix\_agentd directory.

##### Mikrotik routers

Use SNMP agent provided by Mikrotik. See <http://www.mikrotik.com> for
more information.

##### Windows

Use Zabbix Windows agent included (pre-compiled) into Zabbix
distribution.

##### Tuxedo

Tuxedo command line utilities tmadmin and qmadmin can be used in
definition of a UserParameter in order to return per
server/service/queue performance counters and availability of Tuxedo
resources.

##### Informix

Standard Informix utility **onstat** can be used for monitoring of
virtually every aspect of Informix database. Also, Zabbix can retrieve
information provided by Informix SNMP agent.

#### HP OpenView

Zabbix can be configured to send messages to OpenView server. The
following steps must be performed:

##### Step 1

Define new media.

The media will execute a script which will send required information to
OpenView.

##### Step 2

Define new user.

The user has to be linked with the media.

##### Step 3

Configure actions.

Configure actions to send all (or selected) trigger status changes to
the user.

##### Step 4

Write media script.

The script will have the following logic. If trigger is ON, then execute
OpenView command *opcmsg -id application=<application>
msg\_grp=<msg\_grp> object=<object> msg\_text=<text>*.
The command will return unique message ID which has to be stored
somewhere, preferrably in a new table of ZABBIX database. If trigger is
OFF then *opcmack <message id>* has to be executed with message ID
retrieved from the database.

Refer to OpenView official documentation for more details about opcmsg
and opcmack. The media script is not given here.
