Munin helps you see the trends in your server resource usage. This allows you to predict bottlenecks in advance. When faced with a problem, you can compare the current behaviour to historical data. Munin had a major "minor" release in 2009, which introduced new features. Next release is a new major release, with even more features. One of the features of Munin is how it can feed events to Nagios. Munin sends these events whenever a value crosses a predefined limit. Events are sent from Munin to Nagios, and are configured as passive alerts.
This talk will recap some basics of Munin, present recent features and the roadmap for the next release, look at how you can improve the performance of a munin installation and talk about integrating Munin with Nagios.
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OSMC 2010 | Munin & Nagios by Stig Sandbeck Mathisen
1. Munin and Nagios 2010-10-07 1 / 53
Munin and Nagios
Stig Sandbeck Mathisen
Redpill Linpro AS
2010-10-07
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
2. Munin and Nagios Introduction 2010-10-07 2 / 53
Outline
1 Introduction
2 The Munin project
3 Munin master and node
4 Munin plugins
5 Integration with Nagios
6 Example graph set
7 New features in Munin 1.4
8 New features in Munin 2.0
9 Speeding up munin
10 The end
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
3. Munin and Nagios Introduction 2010-10-07 3 / 53
About the speaker
System Administrator - 12 years with open source based system
administration. 5 years at Redpill Linpro.
Debian Developer - varnish, munin, puppet, facter
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
4. Munin and Nagios Introduction 2010-10-07 4 / 53
About Redpill Linpro
Leading Nordic provider of professional Open Source services - across the
stack.
Presence in Denmark, Finland, Norway and Sweden
Hosting and training facilities in Oslo and Karlstad.
190 employees in Gothenburg, Helsinki, Karlstad, Oslo, Stavanger and
Stockholm.
More than 300 customers across the Nordic countries, 60% in the
“enterprise tier”
15 years in the Open Source business.
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
5. Munin and Nagios The Munin project 2010-10-07 5 / 53
Outline
1 Introduction
2 The Munin project
3 Munin master and node
4 Munin plugins
5 Integration with Nagios
6 Example graph set
7 New features in Munin 1.4
8 New features in Munin 2.0
9 Speeding up munin
10 The end
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
6. Munin and Nagios The Munin project 2010-10-07 6 / 53
Introduction to Munin
Munin is a networked resource monitoring tool. It gathers data from your
systems, creates lots of graphs, and...
can show you trends
can help you predict bottlenecks
can show you old data for comparison with current numbers
can send events to other systems
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
7. Munin and Nagios The Munin project 2010-10-07 7 / 53
History
Originally called LRRD, about the time Nagios was still known as Netsaint.
The old code is still available as the “LRRD” project at SourceForge.
2002: Started by Linpro
2004: 1.0 released, development moved from CVS to Subversion
2005: 1.2 released
2009: 1.4 released
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
8. Munin and Nagios Munin master and node 2010-10-07 8 / 53
Outline
1 Introduction
2 The Munin project
3 Munin master and node
4 Munin plugins
5 Integration with Nagios
6 Example graph set
7 New features in Munin 1.4
8 New features in Munin 2.0
9 Speeding up munin
10 The end
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
9. Munin and Nagios Munin master and node 2010-10-07 9 / 53
Master
The munin master runs from cron. It runs four jobs, each with its own
lock. A new cron job can begin while the previous already runs.
munin-update: Contacts each
node, and retrieves plugin
configuration and data
munin-graph: Creates graphs
from RRD files
munin-limits: Checks for limit
breaches
munin-html: Updates the
HTML documents
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
10. Munin and Nagios Munin master and node 2010-10-07 10 / 53
Node
The munin node listens for connections on 4949/TCP, and runs plugins on
request. It runs each plugin when the master asks, to retrieve
configuration and values.
The node uses Net::Server
Plugins are commonly written in shell, perl, python, ruby, awk...
SNMP plugins runs on a node, and queries other hosts
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
11. Munin and Nagios Munin master and node 2010-10-07 11 / 53
Wire protocol
The wire protocol is a simple and in clear text. Keywords are “list”,
“config” and “fetch”.
Example
# munin node at puppet1.example.org
list
apache_accesses apache_processes [...] uptime users vmstat
config uptime
graph_title Uptime
[...]
.
fetch uptime
uptime.value 148.03
.
quitPRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
12. Munin and Nagios Munin plugins 2010-10-07 12 / 53
Outline
1 Introduction
2 The Munin project
3 Munin master and node
4 Munin plugins
5 Integration with Nagios
6 Example graph set
7 New features in Munin 1.4
8 New features in Munin 2.0
9 Speeding up munin
10 The end
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
13. Munin and Nagios Munin plugins 2010-10-07 13 / 53
What is a munin plugin?
A plugin is a standalone executable.
It is run by the Munin Node when
the Munin Master connects.
The plugin prints a clear text
key/value list of configuration and
values on STDOUT.
plugins
Most plugins are shell scripts,
but many are made in perl,
python or ruby.
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
14. Munin and Nagios Munin plugins 2010-10-07 14 / 53
Plugin design
Munin plugins are designed to be
simple to develop.
If run with the argument “config”, it
displays its configuration.
If run with no arguments, it outputs
its values.
Magic markers inside the plugin lists
other capabilities, like the optional
arguments “autoconf” and
“suggest”.
Magic markers
#%# capabilities=autoconf
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
15. Munin and Nagios Munin plugins 2010-10-07 15 / 53
Plugin configuration
Each plugin have a sensible default
configuration.
You can configure plugins in
/etc/munin/plugin-conf.d/ on
the munin node.
You can also configure plugins in
munin.conf on the munin master.
Configuration items
user (default is “nobody”)
group (default is “nogroup”)
Environment variables for the
plugin
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
16. Munin and Nagios Munin plugins 2010-10-07 16 / 53
Example
#!/bin/sh
case "$1" in
config)
echo ’graph_title System Boredom Index’
echo ’graph_vlabel boredom in %’
echo ’time.label Total time’
echo ’bored.value Bored time’
;;
*)
awk ’{printf "time.value %dn"
"bored.value %dn", $1, $2}’ /proc/uptime
;;
esac
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
17. Munin and Nagios Munin plugins 2010-10-07 17 / 53
Boring example graph
A single line is described as a label,
and given a value.
Several lines can be combined in
interesting ways with CDEF.
Example
time.graph no
bored.graph no
foo.cdef time,100,*,bored,/
foo.label Part time bored silly
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
18. Munin and Nagios Integration with Nagios 2010-10-07 18 / 53
Outline
1 Introduction
2 The Munin project
3 Munin master and node
4 Munin plugins
5 Integration with Nagios
6 Example graph set
7 New features in Munin 1.4
8 New features in Munin 2.0
9 Speeding up munin
10 The end
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
19. Munin and Nagios Integration with Nagios 2010-10-07 19 / 53
Munin events
Munin generates events whenever a value
rises above, or sinks below a predefined limit.
Many plugins support limits, but some do
not set them by default.
Example
[cpu]
env.iowait_warning 5
env.iowait_critical 20
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
20. Munin and Nagios Integration with Nagios 2010-10-07 20 / 53
Munin and Nagios events
Munin ships with usable defaults to send
events to Nagios.
Events...
correspond with Nagios events
are processed by a templating system
are sent to a defined contact
Supported events
CRITICAL
WARNING
UNKNOWN
OK
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
21. Munin and Nagios Integration with Nagios 2010-10-07 21 / 53
Integration with Nagios
The contact.nagios.text template is
defined by default in munin.
Use the contact.nagios.command
configuration setting to send events.
where?
This is configured in
/etc/munin/munin.conf
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
22. Munin and Nagios Integration with Nagios 2010-10-07 22 / 53
Configuration for the munin master
On the munin master, We define a contact for nagios, using send nsca,
and configure send nsca to encrypt the messages.
example munin.conf
contact.nagios.command /usr/sbin/send_nsca
-H nagios.example.com -c /etc/send_nsca.cfg
example send nsca.conf
password="I like cheese!"
encryption_method=8
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
23. Munin and Nagios Integration with Nagios 2010-10-07 23 / 53
Configuration for the nagios server
On the nagios side, we set up nsca to receive events from our munin
masters.
Example part of nsca.conf
server_port=5667
nsca_user=nagios
nsca_group=nagios
command_file=/var/run/nagios/nagios.cmd
password="I like cheese!"
decryption_method=8
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
24. Munin and Nagios Integration with Nagios 2010-10-07 24 / 53
Configuration for the nagios server
Nagios, by default, do not accept external commands. We need to
configure this to enable nsca to send the events to Nagios.
Example part of nagios.conf
check_external_commands=1
log_external_commands=1
command_file=/var/run/nagios/nagios.cmd
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
25. Munin and Nagios Integration with Nagios 2010-10-07 25 / 53
Nagios service configuration
To accept munin services, you will need a passive service check.
example nagios service
passive_checks_enabled 1
active_checks_enabled 0
max_check_attempts 1
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
26. Munin and Nagios Integration with Nagios 2010-10-07 26 / 53
Nagios service configuration
For services we have not heard from in a while, we use the “freshness”
feature to set the service state to UNKNOWN. Munin reports state on all
services every 24 hours by default, so a bit more than this is a sensible
default.
example nagios service
check_command check_passive_timeout
check_freshness 1
freshness_threshold 93600 # 26 hours
normal_check_interval 604800 # 1 week
The check passive timeout command is a dummy script that always
return state UNKNOWN.
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
27. Munin and Nagios Integration with Nagios 2010-10-07 27 / 53
Integration with other systems
You can define your own contact text and command to interface with any
system you need. Both the text and the command can use a
Text::Balanced template to get event data from Munin.
Command run defined in contact.example.command
Text for STDIN defined in contact.example.text
Default STDIN text is defined in: contact.default.text
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
28. Munin and Nagios Integration with Nagios 2010-10-07 28 / 53
Text::Balanced templates
The command and text templates use Text::Balanced. This provides
variables, tests and loops.
Example
[${var:group};${var:host}] -> ${var:graph_title} ->
warnings: ${loop<,>:wfields ${var:label}=${var:value}} /
criticals: ${loop<,>:cfields ${var:label}=${var:value}}
Example
[example.com;foo] -> HDD temperature -> warnings:
sde=29.00,sda=26.00,sdc=25.00,sdd=26.00,sdb=26.05
/ criticals:
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
29. Munin and Nagios Integration with Nagios 2010-10-07 29 / 53
Example: mail
Add the following to /etc/munin/munin.conf:
Example
contact.mail.command /usr/bin/mail -s "[...]" me@example.com
If contact.mail.text is not defined, it will fall back to
contact.default.text.
The “[...]” should be replaced with a Text::Balanced template to
provide a useful subject.
For mail, you do not need to provide a contact.mail.text, since
contact.default.text is designed as a mail template.
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
30. Munin and Nagios Example graph set 2010-10-07 30 / 53
Outline
1 Introduction
2 The Munin project
3 Munin master and node
4 Munin plugins
5 Integration with Nagios
6 Example graph set
7 New features in Munin 1.4
8 New features in Munin 2.0
9 Speeding up munin
10 The end
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
31. Munin and Nagios Example graph set 2010-10-07 31 / 53
Example graph set
Peak in network connections and
traffic. We look for corresponding
graphs
Note: logarithmic scale on the
“netstat” graph ensures detail is not
lost to peaks.
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
32. Munin and Nagios Example graph set 2010-10-07 32 / 53
Example graph set
Apache HTTPD has a corresponding
peak in traffic.
In this case this is a customer
publishing a new version of their
development tool.
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
33. Munin and Nagios Example graph set 2010-10-07 33 / 53
Example graph set
We check the server health. Do we
have a bottleneck? It does not look
like it, but there is a strange bump in
I/O latency and utilisation not
related to the network traffic. Also,
the periods of 100% utilisation means
we have to talk the customer into
getting faster disks or more RAM.
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
34. Munin and Nagios Example graph set 2010-10-07 34 / 53
Example graph set
Found more corresponding graphs:
“MySQL”. We notice no cached
SELECTs? Contact the customer?
No corresponding network traffic -
looks like a local job. Probably worth
mentioning to the customer, but
don’t panic.
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
35. Munin and Nagios New features in Munin 1.4 2010-10-07 35 / 53
Outline
1 Introduction
2 The Munin project
3 Munin master and node
4 Munin plugins
5 Integration with Nagios
6 Example graph set
7 New features in Munin 1.4
8 New features in Munin 2.0
9 Speeding up munin
10 The end
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
36. Munin and Nagios New features in Munin 1.4 2010-10-07 36 / 53
Released in December 2009, after three months of solid development
following four years of having the project in “maintenance mode”.
23 committers, with contributions from many more
1500 changesets
100 new plugins, including JVM profiling plugins.
TLS / SSL support
Better SNMP Support
Multigraph plugins
Documentation improvements, including good per-plugin
documentation
Better non-Linux support
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
37. Munin and Nagios New features in Munin 1.4 2010-10-07 37 / 53
Multigraph plugins
“You are in a maze of twisty little
graphs, all alike”. Multigraph plugins
create a tree of graphs, all from one
plugin.
nested graphs
fast plugins
new scaling issues on the master
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
38. Munin and Nagios New features in Munin 2.0 2010-10-07 38 / 53
Outline
1 Introduction
2 The Munin project
3 Munin master and node
4 Munin plugins
5 Integration with Nagios
6 Example graph set
7 New features in Munin 1.4
8 New features in Munin 2.0
9 Speeding up munin
10 The end
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
39. Munin and Nagios New features in Munin 2.0 2010-10-07 39 / 53
Version numbers
Starting with “munin 2.0”, the project has changed what the version
numbers signify.
Major version - new features
Minor version - bug fixes
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
40. Munin and Nagios New features in Munin 2.0 2010-10-07 40 / 53
Asynchronous proxy node
This node contacts munin-node periodically, and
stores the result. The master connects to the proxy
node, and retrieves stored results.
The master does not have to wait for nodes to
respond.
This will increase peak write loads on the master.
Munin
master
Server
Async
proxy node
Munin node
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
41. Munin and Nagios New features in Munin 2.0 2010-10-07 41 / 53
SSH transport
With Munin 1.4, we have SSH tunnelling. Starting with Munin 2.0, we
have a native SSH transport.
[old-style-host]
address host.example.com
[new-style-host]
address ssh://user@host.example.com:
/path/to/stdio-enabled-node --params
For now, this requires the use of the “asynchronous proxy node”, to limit
the privileges of the SSH node.
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
42. Munin and Nagios New features in Munin 2.0 2010-10-07 42 / 53
Zooming graphs
No longer locked to specific time periods, you can now drill down in the
graphs to look at interesting time periods.
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
43. Munin and Nagios New features in Munin 2.0 2010-10-07 43 / 53
Multi master
With the “Asynchronous Proxy Node”, we
can also support multi master setups
without conflicts.
One master for the customer, one for the
hosting provider.
Munin node
Munin
master
(provider)
Munin
master
(customer)
Munin node
Munin node
Munin node
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
44. Munin and Nagios New features in Munin 2.0 2010-10-07 44 / 53
Unresolved issues in 2.0
There is a fair bit of work left before 2.0 can be released.
Performance and scaling
Functional and pretty HTML (got functional so far)
Whatever we broke in 1.4...
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
45. Munin and Nagios Speeding up munin 2010-10-07 45 / 53
Outline
1 Introduction
2 The Munin project
3 Munin master and node
4 Munin plugins
5 Integration with Nagios
6 Example graph set
7 New features in Munin 1.4
8 New features in Munin 2.0
9 Speeding up munin
10 The end
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
46. Munin and Nagios Speeding up munin 2010-10-07 46 / 53
Scaling munin
On a 1 CPU (2 threads) system, 65k RRD
files are...
Updated in 1 minute
Graphed in 40 minutes
The cron job runs every 5 minutes; Houston,
we have a problem.
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
47. Munin and Nagios Speeding up munin 2010-10-07 47 / 53
FastCGI
FastCGI to the rescue!
This gives us graphs on demand. When we have a large number of graphs,
it makes little sense to update them all.
The “munin 2.0” CGI grapher can make zoom-able graphs for any time
period.
We still need a CGI HTML generator to reduce resource usage for large
graph sets. This is not implemented yet.
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
48. Munin and Nagios Speeding up munin 2010-10-07 48 / 53
Storage tuning
Enough RAM for file system caching
Everything on SSD
OpenSolaris / FreeBSD: ZFS
ZIL/L2ARC
Linux: FlashCache
Turn off atime
Linux ext3/ext4: mount option
data=journal
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
49. Munin and Nagios The end 2010-10-07 49 / 53
Outline
1 Introduction
2 The Munin project
3 Munin master and node
4 Munin plugins
5 Integration with Nagios
6 Example graph set
7 New features in Munin 1.4
8 New features in Munin 2.0
9 Speeding up munin
10 The end
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
50. Munin and Nagios The end 2010-10-07 50 / 53
Munin links
http://munin-monitoring.org/ - project, documentation, bug
tracker, svn source code access
http://exchange.munin-monitoring.org/ Extra plugins for
Munin contributed by the Munin community
http://munin-monitoring.org/wiki/HowToContactNagios
In-depth configuration examples for Munin / Nagios integration
http://munin-monitoring.org/wiki/MuninAlertVariables
What to put in the contact.example.text when making templates
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
51. Munin and Nagios The end 2010-10-07 51 / 53
Munin book
Gabriele Pohl and Michael Renner
have published an entire, thoroughly
written book on Munin in German:
“Munin - Graphisches Netzwerk- und
System-Monitoring” (ISBN
978-3-937514-48-2), published by
Open Source Press in cooperation
with Linpro.
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
52. Munin and Nagios The end 2010-10-07 52 / 53
Questions from the audience?
? ? ? ??? ? ?? ??
? ? ? ? ? ? ? ? ?
?? ?? ? ? ??? ?? ??
? ? ?? ? ? ? ?? ?
I was going to write “If I timed this
correctly, we should now have around
10 minutes for questions”.
I decided against it. What if I missed
the time? That would be
embarrassing.
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING
53. Munin and Nagios The end 2010-10-07 53 / 53
Thank you for listening
...and I hope to see you at the next OSMC.
PRODUCTS • DEVELOPMENT • APPLICATION MANAGEMENT • IT OPERATIONS • SUPPORT • TRAINING