Archivo de la etiqueta: jmx

How to know what is happening inside Wowza?

I have seen into the Blog stats than the most common question is How To Monitor Wowza Media Server… for this reason I’ll start to write a series of Posts about this topic.

In this first post I’ll request your help too, let me know what you would like to know about your Wowza Server.

Currently the information I consider useful, is:

  • Concurrent Connection (separated by Protocol –  HTTP Cupertino / HTTP Silverlight / RTSP / RTMP)
  • MemoryHeap (the memory used by the JVM)
  • Version (if you have multiple server,it is difficult remember what version you have installed)
  • Bandwidth Traffic (by Vhost, Application or ApplicationInstances)

And here the question… What info would you like to know about Wowza?

Please post into the comment what else you would like to know…

Into the next post, I’ll show examples, graphs and other tips to get this information from the Wowza Server, using JMX protocol.

But here I show a snake peak of the information and the Graph you can have.

Monitoring Wowza with the JMX interface

First we need Download CHECK_JMX from this link check_jmx

To see the option we have available, we can execute the plugin with the param “-help”

./check_jmx -help

Output:

Usage: check_jmx -U url -O object_name -A attribute [-K compound_key] [-I attribute_info] [-J attribute_info_key] -w warn_limit -c crit_limit [-v[vvv]] [-help]

where options are:

-help
Prints this page
-U
JMX URL, for example: service:jmx:rmi://192.168.0.1:8084/jndi/rmi://192.168.0.1:8085/jmxrmi
-O
Object name to be checked, for example: java.lang:type=Memory
-A
Attribute of the object to be checked, for example: NonHeapMemoryUsage
-K
Attribute key for -A attribute compound data, for example, "used" (optional)
-I
Attribute of the object containing information for text output (optional)
-J
Attribute key for -I attribute compound data, for example, "used" (optional)
-v[vvv]
verbatim level controlled as a number of v (optional)
-w
warning integer value
-c
critical integer value

Note that if warning level > critical, system checks object attribute value to be LESS THAN OR EQUAL warning, critical
If warning level < critical, system checks object attribute value to be MORE THAN OR EQUAL warning, critical

Here had some generic examples
Show the Use of Memory Heap in to VM

./check_jmx -U service:jmx:rmi://192.168.0.1:8084/jndi/rmi://192.168.0.1:8085/jmxrmi -O java.lang:type=Memory -A HeapMemoryUsage -K used -I HeapMemoryUsage -J used -vvvv -w 10000000 -c 100000000

How many users connected to this server:

./check_jmx -U service:jmx:rmi://192.168.0.1:8084/jndi/rmi://192.168.0.1:8085/jmxrmi -O WowzaMediaServerPro:name=Connections -A current -vvvv -w 10 -c 20

El resultado es algo como esto:

JMX OK current=5

This is an special case:

./check_jmx -U service:jmx:rmi://192.168.0.1:8084/jndi/rmi://192.168.0.1:8085/jmxrmi -O WowzaMediaServerPro:vHosts=VHosts,vHostName=_defaultVHost_,applications=Applications,
applicationName=rtplive,applicationInstances=ApplicationInstances,applicationInstanceName=_definst_,
name=Connections -A current -vvvv -c 1000 -w 750

Explain this parameters with more detail:

  • WowzaMediaServerPro:vHosts=VHosts <– No need more explanation
  • vHostName=_defaultVHost_ <– This are the Default VHosts
  • applications=Applications <– All the Application is inside of this Folder Name
  • applicationName=rtplive <– Application Name (In Version 2 of Wowza, is LIVE)
  • applicationInstances=ApplicationInstances <– can be multiple application instance in one application
  • applicationInstanceName=_definst_ <– Default application instance
  • name=Connections <– current connection to the Application Instance
  • Fell free to make any comment or question.