From c8b3b8be14e8743d5b6059bb5fb26c73e9bcb329 Mon Sep 17 00:00:00 2001 From: oetiker Date: Sun, 13 Jan 2008 11:07:32 +0000 Subject: [PATCH] initial git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk@1267 a5681a0c-68f1-0310-ab6d-d61299d08faa --- tutorial/htwchur/about-oss.odp | Bin 0 -> 10215 bytes tutorial/htwchur/m7am.odp | Bin 522142 -> 523695 bytes tutorial/htwchur/rrd-exercises.tex | 264 +++++++++++++++++++++++++++++ 3 files changed, 264 insertions(+) create mode 100644 tutorial/htwchur/about-oss.odp create mode 100644 tutorial/htwchur/rrd-exercises.tex diff --git a/tutorial/htwchur/about-oss.odp b/tutorial/htwchur/about-oss.odp new file mode 100644 index 0000000000000000000000000000000000000000..dccded5de166b43ee8ea91cff9e85e336c813e95 GIT binary patch literal 10215 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 literal 0 HcmV?d00001 diff --git a/tutorial/htwchur/m7am.odp b/tutorial/htwchur/m7am.odp index edc9ddf15b0f8a27d1a8d42768d8772fd311bdfe..91759ef844600e14c3368a22c72af2a7e3149ef6 100644 GIT binary patch delta 32991 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 Y4BmwYRUEIyg(c!3m!h@~<5Alz7A^-pY diff --git a/tutorial/htwchur/rrd-exercises.tex b/tutorial/htwchur/rrd-exercises.tex new file mode 100644 index 00000000..62be274a --- /dev/null +++ b/tutorial/htwchur/rrd-exercises.tex @@ -0,0 +1,264 @@ +\documentclass[a4paper,12pt]{article} +\usepackage{times} +\newenvironment{work}{\textsf{\tiny EXERCISE}\nopagebreak\\[0.3ex]\begin{tabular}{|c|} + \hline + \begin{minipage}{0.965\linewidth}% + \setlength{\parskip}{1.6ex plus 0.6ex minus 0.4ex}% + \rule{0pt}{2.8ex}\ignorespaces} +{\rule[-1.8ex]{0pt}{0pt}\end{minipage}\\ + \hline + \end{tabular}} +\newcommand{\ex}[1]{\subsection{#1}} +\newcommand{\cmd}[1]{\texttt{\mbox{#1}}} +\setlength{\parskip}{1.6ex plus 0.8ex minus 0.4ex} +\setlength{\parindent}{0pt} +%\addtolength{\textheight}{5ex} +\title{HTW RRDtool Tutorial} +\date{Monday, January 14th, 2008} +\author{Tobias Oetiker $<$tobi@oetiker.ch$>$} +\newcommand\bs{\char '134} % a \ character for the \tt font +\newcommand\lb{\char '173} % a { character for the \tt font +\newcommand\rb{\char '175} % a } character for the \tt font +\newcommand\ti{$\sim$} % a ~ character for the \tt font + +\begin{document} +\maketitle + +The objective of this tutorial session is to help you get comfortable using +RRDtool to write your own monitoring applications. + +In order to do some of the exercises you will need information which +you do not have yet. There are three main sources from where you can +acquire this information. + +As you can see, there are no solutions printed on this sheet. I would +propose though, that you write your solutions into a file and mail +this to me. I will then put together the solutions and mail it back +to everyone who sent in their work. + +\begin{itemize} +\item Read the RRDtool Manual on the web site or the unix manual + pages.\\ \cmd{http://oss.oetiker.ch/rrdtool} +\item Ask me! +\end{itemize} + +\section{Creating an RRD} +\ex{Data Source Types} + +RRDtool stores and graphs data you feed it. In order to do so +properly you must provide some information about the nature of the +data. RRDtool knows several different types of Data Sources (DS). + +\begin{work} + Read the RRDcreate manual page to identify the data source types + and write down some examples for each type. +\end{work} + +\ex{Data Consolidation Methods} + +Once you have passed data on to RRDtool it gets stored in a data +storage array (Round Robin Archive). Each RRD can contain several +RRAs, working at different resolutions and using different data +consolidation methods. + +\begin{work} + Find the different Data Consolidation methods currently supported in + RRDtool. This information can be found in the RRD create manual + page. +\end{work} + +\ex{Data Validation} + +Storing invalid data can often be more of a problem than not storing +anything at all. In order to help you ensure that only valid data gets +into your Round Robin Database, RRDtool allows you to +describe some properties of the data you intend to store. This allows +RRDtool to throw out invalid input before it even enters the database. + +\begin{work} +Identify the parameters to setup these safeguards. This information +can be found in the RRD create manual page.\end{work} + +\ex{Database Setup} + +Having solved the exercises up this point you are now ready to setup a +Round Robin Database. Use the command line tool\\ +\cmd{rrdtool} to work your magic. + +\begin{work} + Create an RRD which accepts input from two COUNTER + data sources. The data sources provide new data every 300 seconds on + average. Allow for a maximal update interval of 600 seconds. The + input from both data-sources will always be between zero and 35 + million. + + The RRD should store the data for 24 hours at 5 minute resolution + and for a month at one hour resolution. For the one hour resolution + you want to keep both the average and the 5 minute maximum data. +\end{work} + +\ex{Coupling of Data Values} + +All values stored in a single RRD must be updated synchronously. Also, +it is not trivial to add new data-sources to an existing RRD or remove +old ones. In most cases it is sensible to create a new RRD for each +data source unless you know that they are tightly coupled. + +\begin{work} + Think of some data sources which are tightly coupled in the sense that + they should be stored into the same RRD and of some which should NOT be + stored in the same RRD. +\end{work} + +\section{RRD Update} +\ex{The RRD Perl Interface} + +The fastest way to interact with an RRD is to write a perl script +which uses the RRD shared module interface. You can find documentation +on this in the RRDs manual page. In order to access it, you must +add + +\cmd{use RRDs;} + +to the very beginning of your script. + +\begin{work} +Convert the command line for creating the RRD from the last exercise +in the previous section into a perl script. +\end{work} + +\ex{The Error Messages in Perl} +The RRDs commands do not complain when you call them with invalid +arguments. Normally they just get ignored. To catch errors you must +actively look for them. This is done with the \cmd{RRDs::error} +function. + +\begin{work} +Add error checking to your perl script and test it by providing the +create command with invalid parameters. +\end{work} + +\ex{Feeding Data into an RRD} +In \cmd{/proc/net/dev} you can find some counters regarding the +network traffic of your workstation. This file will contain new data each time you read it. + +\begin{work} + Use the data from this file to populate the RRD created in the previous + exercise. Don't forget to add error checking to the update routine. Make + sure you 'fake' the update time by stepping 5 minutes ahead everytime you + update. +\end{work} + +\section{Creating graphs} + +\ex{Line Graphs} +Harvesting data and storing in RRDs alone won't help you get a +promotion. What really interests people is getting graphs produced from +this data. + +\begin{work} +Use the RRDs::graph function to create a graph representing the data +stored in your RRD. To start, use only \cmd{DEF:...} and \cmd{LINE1:...} +and \cmd{--end now+2day} parameters and have RRDtool +auto-configure the rest. +\end{work} + +\ex{GPRINT Exercise} +A RRD graph can also show numerical data. + +\begin{work} + Use the \cmd{GPRINT} argument to show the maximum 5 minute values of + both data sources below the graph. +\end{work} + +\ex{A Stack Graph} +Lets assume the data in the RRD represents traffic seen on two +different web servers which share the load of a busy web site. + +\begin{work} + Use the \cmd{AREA:} and \cmd{STACK:} function to place the data from + the first and second data-source on top of each other. This will + show the traffic produced by each server on its own as well as the + total traffic occurring on your web site. +\end{work} + +\ex{Using RPN Math} + +The network traffic in /proc/net/snmp is in octets passed over the +interface. Most people though will expect to see traffic data reported in +bits instead of octets. + +\begin{work} +Use the \cmd{CDEF:} function to multiply your data by 8 +before graphing it. This has been discussed in the RRDtool +presentation. +\end{work} + +\section{Graphing On The Fly} +\ex{Simple RRDcgi Use} + +The most time consuming operation in RRDtool is creating the graphs. +So when setting up a complex monitor you want to avoid generating +graphs when ever you can. One approach to this problem is to generate +graphs on-the-fly. The \cmd{rrdcgi} tool helps you do this with a very +simple script interpreter. Check the corresponding manual page. + +Find \cmd{rrdcgi} in \cmd{/usr/bin} \ldots + +\begin{work} + Write a \cmd{rrdcgi} input file which generates the stacked graph + you did in the last example. Check the effect of the \texttt{--lazy} + option. You can test your input file by putting it into + \cmd{httpd/htdocs/xyz.cgi} and then calling\\ + \cmd{http://paspels.tlab.ch/\ti{}rrd???/xyz.cgi} +\end{work} + +\ex{Interactive RRDcgi} +The second example on the \cmd{rrdcgi} manual page shows how to access +\cmd{FORM} parameters. + +\begin{work} +Use this to give the user of your page the +option to select whether to generate a graph for the last day (\cmd{--start +end-24h}) or for the last week (\cmd{--start end-7d}). +\end{work} + +\section{Mixed Features} +\ex{Dump and Restore} An RRD is stored in native binary format. When +you want to transport an RRD from one hardware/OS combination to +another one you must use RRDtool dump and restore. (rrdtool 1.4 is going to change that). + +\begin{work} +Use \cmd{dump} to convert your RRD into XML format and have a look at +it. You should be able recognize several of the elements of the +RRD. Dumping an RRD can also be useful when you are debugging. +\end{work} + +\ex{Alter RRD Parameters} +Some parameters of an existing RRD can be changed quite easily using +the tune command. + +\begin{work} +Use the tune command to change the name of the two data sources in +your RRD. Use dump to very that the changes were successful. +\end{work} + + +\ex{Examine an RRD} + +If you are writing a frontend to RRDtool it might be necessary to +find out about the configuration of an existing rrd file. The rrdinfo +function helps you with this. + +\begin{work} + Use \texttt{RRDs::info} to fetch config data from an existing rrd + and convert it into command line which you could supply to rrdtool + create. +\end{work} + + +\end{document} + + + + -- 2.30.2