<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    
    <title>Raymond P. Burkholder - Things I Do - Network Monitoring</title>
    <link>https://blog.raymond.burkholder.net/</link>
    <description>In And Around Technology and The Arts</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.7.2 - http://www.s9y.org/</generator>
    <pubDate>Tue, 11 Nov 2025 02:29:46 GMT</pubDate>

    <image>
        <url>https://blog.raymond.burkholder.net/templates/bulletproof/img/s9y_banner_small.png</url>
        <title>RSS: Raymond P. Burkholder - Things I Do - Network Monitoring - In And Around Technology and The Arts</title>
        <link>https://blog.raymond.burkholder.net/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Essential Network Performance Metrics That Predict Problems</title>
    <link>https://blog.raymond.burkholder.net/index.php?/archives/1333-Essential-Network-Performance-Metrics-That-Predict-Problems.html</link>
            <category>Network Monitoring</category>
    
    <comments>https://blog.raymond.burkholder.net/index.php?/archives/1333-Essential-Network-Performance-Metrics-That-Predict-Problems.html#comments</comments>
    <wfw:comment>https://blog.raymond.burkholder.net/wfwcomment.php?cid=1333</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=1333</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;The difference between reactive and proactive monitoring comes down to tracking the right network performance metrics. Important metrics that consistently predict issues before they impact users include: 

&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Round-trip time variations&lt;/b&gt;: Subtle increases in RTT often precede more serious network congestion. Set baseline thresholds for different times of day and get alerted when patterns deviate
  &lt;li&gt;&lt;b&gt;Buffer utilization patterns&lt;/b&gt;: Most admins ignore this until it&#039;s too late. Monitoring buffer usage across key network devices reveals impending bottlenecks before they trigger packet loss
  &lt;li&gt;&lt;b&gt;Error rates on interfaces&lt;/b&gt;: Even small increases in CRC errors or interface discards can signal hardware issues days before actual failures occur
  &lt;li&gt;&lt;b&gt;TCP retransmission rates&lt;/b&gt;: This metric reveals application performance issues that users might experience from data transmission rates before they report them
  &lt;li&gt;&lt;b&gt;Network traffic symmetry&lt;/b&gt;: Unusual asymmetric traffic patterns often indicate security issues or misconfigured applications
  &lt;/ul&gt;

&lt;p&gt;Reference: &lt;a href=&quot;https://dzone.com/articles/stop-reactive-network-troubleshooting&quot; target=_blank&gt;Stop Reactive Network Troubleshooting: Monitor These 5 Metrics to Prevent Downtime&lt;/a&gt;

&lt;p&gt;Cloud environments introduce unique challenges for network performance monitoring. Some standard metrics like latency and packet loss remain important, but you&#039;ll also want to focus on metrics specific to your cloud connectivity. For hybrid environments, these are good metrics:

&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Inter-region latency&lt;/b&gt;: Especially important for globally distributed applications
  &lt;li&gt;&lt;b&gt;Connection establishment time&lt;/b&gt;: Often overlooked but crucial for microservice architectures
  &lt;li&gt;&lt;b&gt;Throughput consistency&lt;/b&gt;: More important than raw bandwidth in many cloud scenarios
  &lt;li&gt;&lt;b&gt;DNS resolution time&lt;/b&gt;: Can be a hidden bottleneck in cloud environments
  &lt;/ul&gt;
 
    </content:encoded>

    <pubDate>Tue, 11 Nov 2025 02:29:46 +0000</pubDate>
    <guid isPermaLink="false">https://blog.raymond.burkholder.net/index.php?/archives/1333-guid.html</guid>
    
</item>
<item>
    <title>Netflow with NFDUMP, NFSEN and Open vSwitch and What it Sees</title>
    <link>https://blog.raymond.burkholder.net/index.php?/archives/1079-Netflow-with-NFDUMP,-NFSEN-and-Open-vSwitch-and-What-it-Sees.html</link>
            <category>Network Monitoring</category>
    
    <comments>https://blog.raymond.burkholder.net/index.php?/archives/1079-Netflow-with-NFDUMP,-NFSEN-and-Open-vSwitch-and-What-it-Sees.html#comments</comments>
    <wfw:comment>https://blog.raymond.burkholder.net/wfwcomment.php?cid=1079</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=1079</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;Since my &lt;a href=&quot;http://blog.raymond.burkholder.net/index.php?/archives/477-Upgrading-Nfsen-and-Nfdump.html&quot; target=_blank&gt;NFDump/DFSen Upgrade&lt;/a&gt; post many moons ago, 
I am once again doing an install for analyzing Netflow, this time on a server running Open vSwitch (OVS).

&lt;p&gt;NFDump is a netflow collector.  NFSen analyzes the netflow entries captured by NFDump.

&lt;p&gt;Installing &lt;a href=&quot;https://github.com/phaag/nfdump&quot; target=_blank&gt;NFDump&lt;/a&gt; is easy using Debian&#039;s package:

&lt;blockquote&gt;&lt;pre&gt;
apt install nfdump
systemctl stop nfdump
systemctl disable nfdump
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;The last two lines stop and disable the default service.  Service control is provided with NFSen.

&lt;p&gt;From a visualization perspective, there are a number of possibilities:

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://nfsen.sourceforge.net/&quot; target=_blank&gt;NFSen Documentation&lt;/a&gt; is the main starting page for the code at &lt;a href=&quot;https://sourceforge.net/projects/nfsen/&quot; target=_blank&gt;SourceForge&lt;/a&gt;.
  &lt;li&gt;&lt;a href=&quot;https://github.com/p-alik/nfsen&quot; target=_blank&gt;NFSen on Github&lt;/a&gt; is p-alik&#039;s unofficial updated version of the original repository - my preferred location as it has some primary bug fixes and stays with the times
  &lt;li&gt;&lt;a href=&quot;https://github.com/mbolli/nfsen-ng&quot; target=_blank&gt; mbolli / nfsen-ng&lt;/a&gt; - a modernized version of NFSen but doesn&#039;t appear to have the flexible query capability
  &lt;li&gt;&lt;a href=&quot;https://github.com/robcowart/elastiflow&quot; target=-blank&gt; robcowart / elastiflow&lt;/a&gt; - I saw a link to this from &lt;a href=&quot;https://edennington.wordpress.com/2020/02/24/netflow-collection-and-visualization-with-elastiflow/&quot; target=_blank&gt;Netflow collection and visualization with Elastiflow&lt;/a&gt; - which may have not relationship to NFDump / NFSen but seems promising none-the-less.  Installation notes are at 
&lt;a href=&quot;https://edennington.wordpress.com/2020/02/28/installing-elastiflow/&quot; target=_blank&gt;Installing Elastiflow flow monitoring solution&lt;/a&gt;.
  &lt;/ul&gt;

&lt;p&gt;From an NFSen perspective, here are the steps I used on a Debian Bullseye installation:

&lt;blockquote&gt;&lt;pre&gt;
apt install wget less vim
apt install php rrdtool  librrd-dev librrds-perl php-rrd
apt install libmailtools-perl
apt install libsocket6-perl
apt install git
cd /usr/src
git clone https://github.com/p-alik/nfsen.git
cd nfsen
cp etc/nfsen-dist.conf etc/nfsen.conf
vim etc/nfsen.conf
./install.pl ./etc/nfsen.conf
/usr/local/bin/nfsen start
diff nfsen-dist.conf nfsen.conf
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;These are the changes to the nfsen.conf file:

 &lt;br /&gt;&lt;a href=&quot;https://blog.raymond.burkholder.net/index.php?/archives/1079-Netflow-with-NFDUMP,-NFSEN-and-Open-vSwitch-and-What-it-Sees.html#extended&quot;&gt;Continue reading &quot;Netflow with NFDUMP, NFSEN and Open vSwitch and What it Sees&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 28 Dec 2020 00:10:14 +0000</pubDate>
    <guid isPermaLink="false">https://blog.raymond.burkholder.net/index.php?/archives/1079-guid.html</guid>
    
</item>
<item>
    <title>DNS Benchmarking</title>
    <link>https://blog.raymond.burkholder.net/index.php?/archives/970-DNS-Benchmarking.html</link>
            <category>Network Monitoring</category>
    
    <comments>https://blog.raymond.burkholder.net/index.php?/archives/970-DNS-Benchmarking.html#comments</comments>
    <wfw:comment>https://blog.raymond.burkholder.net/wfwcomment.php?cid=970</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=970</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;Some ideas from a mailing list:

&lt;blockquote&gt;
quick and dirty:
&lt;pre&gt;
jens@screen:~$ dig nanog.org @8.8.8.8 | grep &quot;Query time&quot;
;; Query time: 16 msec
jens@screen:~$ dig nanog.org @1.1.1.1 | grep &quot;Query time&quot;
;; Query time: 3 msec
&lt;/pre&gt;
Indeed. For instance, the delay depends wether the cache it hot or
cold (measuring response time for an authoritative server is easier).
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;also could use &lt;a href=&quot;https://atlas.ripe.net/landing/measurements-and-tools/&quot; target=_blank&gt;ripe atlas&lt;/a&gt; ...
&lt;p&gt;Which embeds clients for ICMP Echo, DNS, NTP, TLS, arbitrary TCP (with
some hacks), and, with serious limitations, HTTP.
&lt;/blockquote&gt;

&lt;blockquote&gt;
use dig -u to get microsecond resolution, e.g.
&lt;pre&gt;
$ dig -u @131.111.8.42 nanog.org | grep time:
;; Query time: 611 usec
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;blockquote&gt;
I recommend that eyeball networks don&#039;t run any external recursive server for optimal CDN performance. Yes, some CDNs support other methods, but not all. If not all do, then the requirement remains. 
See &lt;a href=&quot;https://blog.powerdns.com/2018/09/04/on-firefox-moving-dns-to-a-third-party/&quot; target=_blank&gt;On Firefox Moving DNS to a Third Party&lt;/a&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;https://www.grc.com/dns/benchmark.htm&quot; target=_blank&gt;freeware GRC tool for benchmarking DNS performance&lt;/a&gt;

 
    </content:encoded>

    <pubDate>Thu, 27 Sep 2018 05:19:41 +0000</pubDate>
    <guid isPermaLink="false">https://blog.raymond.burkholder.net/index.php?/archives/970-guid.html</guid>
    
</item>
<item>
    <title>Check_MK with SmartMonTools </title>
    <link>https://blog.raymond.burkholder.net/index.php?/archives/832-Check_MK-with-SmartMonTools.html</link>
            <category>Network Monitoring</category>
    
    <comments>https://blog.raymond.burkholder.net/index.php?/archives/832-Check_MK-with-SmartMonTools.html#comments</comments>
    <wfw:comment>https://blog.raymond.burkholder.net/wfwcomment.php?cid=832</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=832</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;A Check_MK plugin which is supplied as part of the standard install but not &#039;turned on&#039; is the &#039;smart&#039; agent.  It is a plugin which resides on the target with hard-drives to be monitored.  Temperatures and other useful statistics can be collected.

&lt;p&gt;The plugin can be found in the share/check_mk/agents/plugins/ directory amongst a number of other useful plugins.

&lt;p&gt;It needs to be copied to the /usr/lib/check_mk_agent/plugins/ directory on the target to be monitored.

&lt;p&gt;In order to be useful, the &#039;smartmontools&#039; package needs to be installed as a pre-requisite.

&lt;p&gt;On one of my systems, I get output some output similar to:

&lt;blockquote&gt;&lt;pre&gt;
SMART WDC_WD1003FZEX-00K3CA0_WD-WCC6Y3PN9XKC Stats
  OK - Powered on: 3529 hours, Power cycles: 51, Reallocated sectors: 0, 
  Reallocated events: 0 (was 0 during discovery: normalized value looks OK), 
  Spin retries: 0, Pending sectors: 0, UDMA CRC errors: 0
Temperature SMART WDC_WD1003FZEX-00K3CA0_WD-WCC6Y3PN9XKC
  OK - 30 °C
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;Values are charted as well. 
    </content:encoded>

    <pubDate>Tue, 17 Oct 2017 00:40:52 +0000</pubDate>
    <guid isPermaLink="false">https://blog.raymond.burkholder.net/index.php?/archives/832-guid.html</guid>
    
</item>
<item>
    <title>lm-sensors notes</title>
    <link>https://blog.raymond.burkholder.net/index.php?/archives/831-lm-sensors-notes.html</link>
            <category>Network Monitoring</category>
    
    <comments>https://blog.raymond.burkholder.net/index.php?/archives/831-lm-sensors-notes.html#comments</comments>
    <wfw:comment>https://blog.raymond.burkholder.net/wfwcomment.php?cid=831</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=831</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;To get at various hardware sensors like temperatures and voltages, it is typically necessary to install the &#039;lm-sensors&#039; package.  Once the package is installed, sensors can be auto-detected with:

&lt;blockquote&gt;&lt;pre&gt;
sensors-detect --auto
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;A variation of that is:

&lt;blockquote&gt;&lt;pre&gt;
yes | sensors-detect
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;At the end of the output, this will probably generate an output similar to:

&lt;blockquote&gt;&lt;pre&gt;
To load everything that is needed, add this to /etc/modules:
#----cut here----
# Chip drivers
coretemp
#----cut here----
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;&#039;modprobe coretemp&#039; can be used to obtain instant gratification by loading the module interactively, instead of at the next reboot.

&lt;p&gt;On a simple system, some values can be seen:

&lt;blockquote&gt;&lt;pre&gt;
# sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:        +27.8°C  (crit = +105.0°C)
temp2:        +29.8°C  (crit = +105.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +50.0°C  (high = +105.0°C, crit = +105.0°C)
Core 0:        +49.0°C  (high = +105.0°C, crit = +105.0°C)
Core 1:        +48.0°C  (high = +105.0°C, crit = +105.0°C)
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;For obtaining an output suitable for scraping by a check_mk agent, a different format can be emitted:

&lt;blockquote&gt;&lt;pre&gt;
# sensors -u
acpitz-virtual-0
Adapter: Virtual device
temp1:
  temp1_input: 27.800
  temp1_crit: 105.000
temp2:
  temp2_input: 29.800
  temp2_crit: 105.000

coretemp-isa-0000
Adapter: ISA adapter
Package id 0:
  temp1_input: 49.000
  temp1_max: 105.000
  temp1_crit: 105.000
  temp1_crit_alarm: 0.000
Core 0:
  temp2_input: 48.000
  temp2_max: 105.000
  temp2_crit: 105.000
  temp2_crit_alarm: 0.000
Core 1:
  temp3_input: 48.000
  temp3_max: 105.000
  temp3_crit: 105.000
  temp3_crit_alarm: 0.000
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;While writing this article, a few interesting web sites were encountered:

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://wiki.archlinux.org/index.php/lm_sensors&quot; target=_blank&gt;Arch Linux&#039; Sensors Page&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;https://mathias-kettner.de/checkmk_check_catalogue.html&quot; target=_blank&gt;Plugins&lt;/a&gt; for Check_MK
  &lt;li&gt;&lt;a href=&quot;https://notes.benv.junerules.com/lmsensors/&quot; target=_blank&gt;Check_MK plugin: lmsensors&lt;/a&gt;: a place to which I need to return and try installing his plugin for more information display in Check_MK.
  &lt;li&gt;&lt;a href=&quot;http://blog.raymond.burkholder.net/index.php?/archives/690-Install-Testing-Version-of-Check_MKOMD-from-Packages.html&quot; target=_blank&gt;Earlier Article&lt;/a&gt; I wrote doing something similar but different.
  &lt;/ul&gt;

&lt;p&gt;I use an app called &#039;psensor&#039; for watching system temperatures in a chart form. 
    </content:encoded>

    <pubDate>Tue, 17 Oct 2017 00:26:10 +0000</pubDate>
    <guid isPermaLink="false">https://blog.raymond.burkholder.net/index.php?/archives/831-guid.html</guid>
    
</item>
<item>
    <title>Installing OMD/Check_MK into a Debian Stretch LXC Container</title>
    <link>https://blog.raymond.burkholder.net/index.php?/archives/830-Installing-OMDCheck_MK-into-a-Debian-Stretch-LXC-Container.html</link>
            <category>Network Monitoring</category>
    
    <comments>https://blog.raymond.burkholder.net/index.php?/archives/830-Installing-OMDCheck_MK-into-a-Debian-Stretch-LXC-Container.html#comments</comments>
    <wfw:comment>https://blog.raymond.burkholder.net/wfwcomment.php?cid=830</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=830</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;OMD is a collection of monitoring tools which include the Check_MK monitoring application.  Check_MK is a series of Python scripts and agents designed to simplify the use of a Nagios based scanning engine.

&lt;p&gt;I have a small server running Debian Buster.  I have used LXC to build a container.  I used the following command to build a container:

&lt;blockquote&gt;&lt;pre&gt;
lxc-create -n omd  -f /var/lib/lxc/persist/omd/config -t debian -B btrfs -- -r stretch
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;I have a BTRFS filesystem mounted on /var/lib/lxc.  the -B btrfs creates a BTRFS subvolume for the container, which allows snapshots and the like.

&lt;p&gt;The config file looks something like:

&lt;blockquote&gt;&lt;pre&gt;
# cat /var/lib/lxc/persist/omd/config 
# 20171015
# lxc-create -n omd  -f /var/lib/lxc/persist/omd/config -t debian -B btrfs -- -r stretch
lxc.utsname = omd
lxc.start.auto = 1
lxc.start.order = 5
lxc.start.delay = 1

lxc.network.type = veth
lxc.network.name = eth50
lxc.network.veth.pair = veth-omd-v50
lxc.network.hwaddr = 0a:00:40:50:00:xx
lxc.network.ipv4 = 10.0.10.201/24
lxc.network.ipv4.gateway = 10.0.10.254
lxc.network.script.up = /etc/lxc/ovsup.sh
lxc.network.script.down = /etc/lxc/ovsdn.sh
lxc.network.flags = up
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;I am using Open vSwitch to provide bridging capabilities to the container and its environs.  This particular container, using the lxc.start.auto value, will auto-start when the host restarts.

&lt;p&gt;Yesterday, I attempted to install the Buster version of OMD, but some package dependencies were stale (&lt;a href=&quot;https://labs.consol.de/repo/&quot; target=_blank&gt;repository&lt;/a&gt;) , and since I didn&#039;t have time to troubleshoot that, I went with the stable Stretch version:

&lt;blockquote&gt;&lt;pre&gt;
apt install nano bash-completion gnupg2 wget
wget --no-check-certificate https://labs.consol.de/repo/stable/RPM-GPG-KEY
apt-key add RPM-GPG-KEY
echo &quot;deb http://labs.consol.de/repo/stable/debian stretch main&quot; &gt; /etc/apt/sources.list.d/labs-consol-stable.list
apt update
apt install omd
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;It is as easy as that.

&lt;p&gt;To configure a monitoring instance:

&lt;blockquote&gt;&lt;pre&gt;
omd setup
omd create site01
omd config site01
omd start site01
su - site01
nano etc/check_mk/main.mk
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;During the &#039;omd create site01&#039; step, I select the Nagios 3 engine, and set the Check_MK interface as default.

&lt;p&gt;The next experiment is to install the &lt;a href=&quot;http://mathias-kettner.com/check_mk_download.php&quot; target=_blank&gt;Raw Version&lt;/a&gt; and see how that differs. 
    </content:encoded>

    <pubDate>Tue, 17 Oct 2017 00:01:06 +0000</pubDate>
    <guid isPermaLink="false">https://blog.raymond.burkholder.net/index.php?/archives/830-guid.html</guid>
    
</item>
<item>
    <title>Install Testing Version of Check_MK/OMD from Packages</title>
    <link>https://blog.raymond.burkholder.net/index.php?/archives/690-Install-Testing-Version-of-Check_MKOMD-from-Packages.html</link>
            <category>Network Monitoring</category>
    
    <comments>https://blog.raymond.burkholder.net/index.php?/archives/690-Install-Testing-Version-of-Check_MKOMD-from-Packages.html#comments</comments>
    <wfw:comment>https://blog.raymond.burkholder.net/wfwcomment.php?cid=690</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=690</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;Nagios has been wrapped by check_mk (a python based pre-processor), which in turn, 
has been wrapped by OMD (&lt;a href=&quot;http://omdistro.org/&quot; target=_blank&gt;Open Monitoring Distribution&lt;/a&gt;) to provide charting capabilities.  
The OMD web site installs an older version.  This documentation shows how to install
a slighter more recent testing version.

&lt;p&gt;Modify /etc/apt/sources.list with (order may be important):

&lt;blockquote&gt;&lt;pre&gt;
deb http://ftp.debian.org/debian/ stretch main
deb http://labs.consol.de/repo/testing/debian/ jessie main
deb http://labs.consol.de/repo/testing/debian/ stretch main
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;Will need to add the repository key:

&lt;blockquote&gt;&lt;pre&gt;
wget --no-check-certificate https://labs.consol.de/repo/stable/RPM-GPG-KEY
apt-key add RPM-GPG-KEY
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;Update, search for, and install the package:

&lt;blockquote&gt;&lt;pre&gt;
$ sudo apt-cache search omd
omd-1.31.20160718 - Open Source Monitoring Distribution, containing Nagios,
omd-daily - Open Source Monitoring Distribution
omd-labs-edition-daily - Open Source Monitoring Distribution
omd-2.11.20161019-labs-edition - OMD Labs Edition - Open Source Monitoring Distribution (Labs Edition),
$ sudo apt-get install omd-labs-edition-daily
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;Then a monitoring instance can be created:

&lt;blockquote&gt;&lt;pre&gt;
sudo omd setup
sudo omd create site01
sudo omd config site01
sudo omd start site01
sudo su - site01
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;An agent can be installed to monitor the local machine:

&lt;blockquote&gt;&lt;pre&gt;
ls -alt versions/default/share/check_mk/agents
sudo cp versions/default/share/check_mk/agents/check_mk_agent.linux /usr/local/bin
sudo cp versions/default/share/check_mk/agents/waitmax /usr/local/bin
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;Examine the output of the agent:

&lt;blockquote&gt;&lt;pre&gt;
$ check_mk_agent.linux
&amp;lt; &amp;lt; &amp;lt; check_mk &amp;gt; &amp;gt; &amp;gt;
Version: 1.2.6p12
AgentOS: linux
AgentDirectory: /etc/check_mk
DataDirectory: /var/lib/check_mk_agent
SpoolDirectory: /var/lib/check_mk_agent/spool
PluginsDirectory: /usr/lib/check_mk_agent/plugins
LocalDirectory: /usr/lib/check_mk_agent/local
&amp;lt; &amp;lt; &amp;lt; df &amp;gt; &amp;gt; &amp;gt;
udev           devtmpfs     1022472       0   1022472       0% /dev
... followed by lots more stuff ....
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;Login to the gui &#039;http://hostname/site01/check_mk/login.py&#039; to add contacts and contact groups.  
Then update etc/check_mk/main.mk to have something similar to:

&lt;blockquote&gt;&lt;pre&gt;
# Put your host names here
# all_hosts = [ &#039;localhost&#039; ]
all_hosts = [
  &#039;hostname|local|site01-checkmk|notifyNormal&#039;,
  ]

ipaddresses = {
  &#039;hostname&#039;: &#039;127.0.0.1&#039;,
  }

define_hostgroups = {
  &#039;site01-checkmk&#039;: &#039;site01 - check_mk&#039;,
  }

host_groups = [
  ( &#039;site01-checkmk&#039;, [&#039;site01-checkmk&#039;], ALL_HOSTS ),
  ]

host_contactgroups = [
  ( &#039;email&#039;, [&#039;notifyNormal&#039;], ALL_HOSTS ),
  ]

datasource_programs = [
  ( &#039;/usr/local/bin/check_mk_agent.linux&#039;, [&#039;local&#039;], ALL_HOSTS ),
  ]
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;Then inventory the host and reload the service, and monitoring should start:

&lt;blockquote&gt;&lt;pre&gt;
cmk -II hostname
cmk -O
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;An over view of plugins available in check_mk:  
&lt;a href=&quot;http://mathias-kettner.com/checkmk_check_catalogue.html&quot; target=_blank&gt;Catalog of check plugins&lt;/a&gt;.

&lt;p&gt;&lt;a href=&quot;https://mathias-kettner.de/checkmk_omd.html&quot; target=_blank&gt;Check_MK and OMD&lt;/a&gt;: project started in 2010 by Mathias Kettner, a distribution of several monitoring cores (Nagios, Icinga, Shinken) and addons

&lt;p&gt;As an addendum, OMD can be built from the repository.  See &lt;a href=&quot;http://omdistro.org/doc/compile_from_source&quot; target=_blank&gt;Compile from Source&lt;/a&gt;:

&lt;blockquote&gt;&lt;pre&gt;
#&gt; git clone http://git.mathias-kettner.de/omd.git/
#&gt; cd omd
#&gt; ./configure
#&gt; make
#&gt; make pack
#&gt; make setup
&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;Note: Use &#039;make deb&#039; or &#039;make rpm&#039; instead of &#039;make pack &amp;&amp;amp; make setup&#039; to build real system packages.  I also note that the git repository has only v1.2.6p12 included at the time of this writing (changelog on Oct 1/2015), when on 
&lt;a href=&quot;http://mathias-kettner.com/check_mk_download.php?HTML=yes&quot; target=_blank&gt;check_mk download page&lt;/a&gt;, they have v1.2.6p16, 1.2.8p15 available with the RAW edition.  The RAW edition might be superceding the OMD edition and might be the way to go in the future.  I will need to try that through the above instructions during my next iteration.

&lt;p&gt;Their main repository: &lt;a href=&quot;http://git.mathias-kettner.de/git/&quot; target=_blank&gt;	
Mathias Kettner - GIT repositories&lt;/a&gt;
 
    </content:encoded>

    <pubDate>Mon, 24 Oct 2016 14:12:00 +0000</pubDate>
    <guid isPermaLink="false">https://blog.raymond.burkholder.net/index.php?/archives/690-guid.html</guid>
    
</item>
<item>
    <title>path-loss.sh - Bash script to Detect Network Path Quality, provide status to Slack, alarm to PagerDuty</title>
    <link>https://blog.raymond.burkholder.net/index.php?/archives/681-path-loss.sh-Bash-script-to-Detect-Network-Path-Quality,-provide-status-to-Slack,-alarm-to-PagerDuty.html</link>
            <category>Network Monitoring</category>
    
    <comments>https://blog.raymond.burkholder.net/index.php?/archives/681-path-loss.sh-Bash-script-to-Detect-Network-Path-Quality,-provide-status-to-Slack,-alarm-to-PagerDuty.html#comments</comments>
    <wfw:comment>https://blog.raymond.burkholder.net/wfwcomment.php?cid=681</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=681</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;Some organizations will run an internal network monitoring solution to detect significant network outages.  This solution typically uses a cellular modem as a sort of out-of-band (OOB) alerting mechanism.

&lt;p&gt;Rather than using that method for a particular requirement I had, I developed a 
&lt;a href=&quot;https://github.com/rburkholder/path-loss&quot; target=_blank&gt;bash script called path-loss on github&lt;/a&gt;
which can be run in a VPS external to the network.  In fact, I run one copy in an Amazon instance, and another copy in a Google instance.  The scripts can thus check each other as well as the external network nodes under test.

&lt;p&gt;Each node has a series of pings sent to it. If there is a loss of pings greater than some count, as defined in a script variable, then an mtr based traceroute will be generated for that node.

&lt;p&gt;If any nodes show a loss of pings and have had an mtr generated during a measurement interval (based upon a crontab entry), then a log of all nodes and their results will be sent to a Slack channel of choice. A Slack bot token-id and channel name need to be supplied in script variables.

&lt;p&gt;When all pings have returned to normal, another report to Slack is generated.

&lt;p&gt;A &#039;member&#039; indicator is used with select nodes, such that if all members are unreachable, then a PagerDuty alert is generated. There should be at least one non-member node. This allows another test: if all nodes (members and non-members) are unreachable, that typically means that there is a local network issue, so the event is logged to syslog and no Slack or PagerDuty events are generated.
 
    </content:encoded>

    <pubDate>Wed, 28 Sep 2016 16:23:12 +0000</pubDate>
    <guid isPermaLink="false">https://blog.raymond.burkholder.net/index.php?/archives/681-guid.html</guid>
    
</item>
<item>
    <title>OMD / Nagios Links</title>
    <link>https://blog.raymond.burkholder.net/index.php?/archives/634-OMD-Nagios-Links.html</link>
            <category>Network Monitoring</category>
    
    <comments>https://blog.raymond.burkholder.net/index.php?/archives/634-OMD-Nagios-Links.html#comments</comments>
    <wfw:comment>https://blog.raymond.burkholder.net/wfwcomment.php?cid=634</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=634</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://mathias-kettner.com/check_mk.html&quot; target=_blank&gt;Check_MK&lt;/a&gt;: Nagios with a tonne of goodies
  &lt;li&gt;&lt;a href=&quot;http://omdistro.org/&quot; target=_blank&gt;OMD Distro, with Check_MK/Nagios&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;https://mathias-kettner.com/checkmk_rbn.html&quot; target=_blank&gt;Rule Based Notifications&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;https://mathias-kettner.de/checkmk_configvars.html&quot; target=_blank&gt;Configuration variables&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;http://mathias-kettner.com/checkmk_localchecks.html&quot; target=_blank&gt;Local checks - how to write your own checks&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;http://mathias-kettner.com/checkmk_manualchecks.html&quot; target=_blank&gt;Manually configured checks&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;http://mathias-kettner.com/checkmk_configfiles.html&quot; target=_blank&gt;Configuration Files&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;https://mathias-kettner.de/checkmk_check_parameters.html&quot; target=_blank&gt;Check Parameters&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;https://mathias-kettner.de/checkmk_vsphere.html&quot; target=_blank&gt;Monitoring VMWare ESX with Check_MK&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;https://mathias-kettner.de/checkmk_inventory.html&quot; target=_blank&gt;Inventory - How Check_MK finds services to check&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;http://mathias-kettner.com/checkmk_flexible_notifications.html&quot; target=_blank&gt;Flexible Notifications&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;http://mathias-kettner.com/checkmk_devel_agentbased.html&quot; target=_blank&gt;Writing agent based checks&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;https://mathias-kettner.de/checkmk_check_ps.html&quot; target=_blank&gt;Check manual page of ps&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;http://git.mathias-kettner.de/git/&quot; target=_blank&gt;Mathias Kettner - GIT repositories&lt;/a&gt;
  &lt;/ul&gt; 
    </content:encoded>

    <pubDate>Fri, 24 Jul 2015 17:48:39 +0000</pubDate>
    <guid isPermaLink="false">https://blog.raymond.burkholder.net/index.php?/archives/634-guid.html</guid>
    
</item>
<item>
    <title>Mix of  VMware and Linux Monitoring And Management Tools</title>
    <link>https://blog.raymond.burkholder.net/index.php?/archives/617-Mix-of-VMware-and-Linux-Monitoring-And-Management-Tools.html</link>
            <category>Network Monitoring</category>
    
    <comments>https://blog.raymond.burkholder.net/index.php?/archives/617-Mix-of-VMware-and-Linux-Monitoring-And-Management-Tools.html#comments</comments>
    <wfw:comment>https://blog.raymond.burkholder.net/wfwcomment.php?cid=617</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=617</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;&lt;a href=&quot;https://labs.vmware.com/flings&quot; targets=_blank&gt;Flings&lt;/a&gt;:  Apps and tools built by VMware engineers that are intended to be played with and explored.  One fling, called I/O Analyzer, is a virtual appliance designed to run workloads to help baseline performance capabilities of a system.  Another one, called OS Optimization Tool can enable or disable services in a Windows system image template.  Some services may not be necessary, if and not running, will reduce the load on the host.

&lt;p&gt;Brendan Gregg (Netflix) designed a chart called 
&lt;a href=&quot;http://www.linux.com/news/enterprise/systems-management/785426-a-template-for-monitoring-linux-performance-tools-like-from-netflix-&quot; target=_blank&gt;Linux Performance Observability Tools&lt;/a&gt;.  There is a
&lt;a href=&quot;http://www.slideshare.net/brendangregg&quot; target=_blank&gt;slide show&lt;/a&gt; on that page describing tools for the various modules of a Linux system.  Look for the Linux Performance Tools slide show.  There are others interesting slide shows as well.

&lt;a href=&quot;http://www.brendangregg.com/Perf/linux_observability_tools.png&quot;&gt;&lt;img src=&quot;http://www.brendangregg.com/Perf/linux_observability_tools.png&quot; width=&quot;500&quot; height=&quot;350&quot; /&gt;&lt;/a&gt;

&lt;p&gt;Something I need to review at some point in the future:  
&lt;a href=&quot;http://www.unixmen.com/monitorix-open-source-lightweight-system-monitoring-tool-linux/?utm_source=feedburner&quot; target=_blank&gt;Monitorix&lt;/a&gt;:  
An Open Source, Lightweight System Monitoring Tool For Linux 

&lt;p&gt;&lt;a href=&quot;http://www.robware.net/&quot; target=_blank&gt;RVTools&lt;/a&gt; is a windows .NET 2.0 application which uses the VI SDK to display information about your virtual machines and ESX hosts.

&lt;p&gt;VMware esxtop:  similar to Linux top, but more expressive as it shows many performance indicators for a VMware host.

&lt;p&gt;Update 2017/05/12:  Brendan Gregg provided an example of using perf to see if a cpu 
&lt;a href=&quot;http://www.brendangregg.com/blog/2017-05-09/cpu-utilization-is-wrong.html&quot; target=_blank&gt;really is busy&lt;/a&gt; with the command:   
&lt;pre&gt;&lt;blockquote&gt;
perf stat -a -- sleep 10
&lt;/blockquote&gt;&lt;/pre&gt;
&lt;p&gt;and look for the  &quot;insns per cycle&quot; line.

&lt;p&gt;Update 2017/11/18: An article on how to obtain and calculate some stats:  
&lt;a href=&quot;https://medium.com/@steve.mushero/linuxs-sre-golden-signals-af5aaa26ebae&quot; target=_blank&gt;Linux’s SRE Golden Signals&lt;/a&gt; 
    </content:encoded>

    <pubDate>Wed, 03 Dec 2014 17:28:28 +0000</pubDate>
    <guid isPermaLink="false">https://blog.raymond.burkholder.net/index.php?/archives/617-guid.html</guid>
    
</item>
<item>
    <title>OpenTSDB - Open Time Series DataBase</title>
    <link>https://blog.raymond.burkholder.net/index.php?/archives/614-OpenTSDB-Open-Time-Series-DataBase.html</link>
            <category>Network Monitoring</category>
    
    <comments>https://blog.raymond.burkholder.net/index.php?/archives/614-OpenTSDB-Open-Time-Series-DataBase.html#comments</comments>
    <wfw:comment>https://blog.raymond.burkholder.net/wfwcomment.php?cid=614</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=614</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;Just a few quick links for monitoring systems using &lt;a href=&quot;http://opentsdb.net/&quot; target=_blank&gt;OpenTSDB&lt;/a&gt; as a back end:

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/Ticketmaster/Metrilyx-2.0&quot; target=_blank&gt;ticketmaster&#039;s metrilyx&lt;/a&gt;:  web based dashboard engine allows for analyzing, cross cutting and viewing of time series data in a simple manner.
  &lt;li&gt;&lt;a href=&quot;http://bosun.org/&quot; target=_blank&gt;Bosun&lt;/a&gt;: StackExchange&#039;s advanced, open-source monitoring and alerting system
  &lt;/ul&gt; 
    </content:encoded>

    <pubDate>Sun, 16 Nov 2014 19:48:07 +0000</pubDate>
    <guid isPermaLink="false">https://blog.raymond.burkholder.net/index.php?/archives/614-guid.html</guid>
    
</item>
<item>
    <title>Upgrading Nfsen and Nfdump</title>
    <link>https://blog.raymond.burkholder.net/index.php?/archives/477-Upgrading-Nfsen-and-Nfdump.html</link>
            <category>Network Monitoring</category>
    
    <comments>https://blog.raymond.burkholder.net/index.php?/archives/477-Upgrading-Nfsen-and-Nfdump.html#comments</comments>
    <wfw:comment>https://blog.raymond.burkholder.net/wfwcomment.php?cid=477</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=477</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;As an update to my two articles for &lt;a  href=&quot;http://blog.raymond.burkholder.net/index.php?/archives/473-Installing-Netflow-Tool-nfdump.html&quot;  target=_blank&gt;installing nfdump&lt;/a&gt; and &lt;a  href=&quot;http://blog.raymond.burkholder.net/index.php?/archives/457-Installing-Netflow-Tool-nfsen.html&quot;  target=_blank&gt;installing nfsen&lt;/a&gt;, here are a few corrections and a process for upgrading. &lt;br /&gt;&lt;a href=&quot;https://blog.raymond.burkholder.net/index.php?/archives/477-Upgrading-Nfsen-and-Nfdump.html#extended&quot;&gt;Continue reading &quot;Upgrading Nfsen and Nfdump&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Wed, 09 May 2007 15:51:13 +0000</pubDate>
    <guid isPermaLink="false">https://blog.raymond.burkholder.net/index.php?/archives/477-guid.html</guid>
    
</item>
<item>
    <title>Drraw Installation</title>
    <link>https://blog.raymond.burkholder.net/index.php?/archives/454-Drraw-Installation.html</link>
            <category>Network Monitoring</category>
    
    <comments>https://blog.raymond.burkholder.net/index.php?/archives/454-Drraw-Installation.html#comments</comments>
    <wfw:comment>https://blog.raymond.burkholder.net/wfwcomment.php?cid=454</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=454</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;Cricket and NetFlow create RRD files.  Each has some basic utilities for drawing data found within the files.   Drraw provides advanced capabilities for creating graphs, templates, and dashboards. &lt;br /&gt;&lt;a href=&quot;https://blog.raymond.burkholder.net/index.php?/archives/454-Drraw-Installation.html#extended&quot;&gt;Continue reading &quot;Drraw Installation&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Wed, 02 May 2007 23:30:00 +0000</pubDate>
    <guid isPermaLink="false">https://blog.raymond.burkholder.net/index.php?/archives/454-guid.html</guid>
    
</item>
<item>
    <title>Implementing Live URL Tracking</title>
    <link>https://blog.raymond.burkholder.net/index.php?/archives/453-Implementing-Live-URL-Tracking.html</link>
            <category>Network Monitoring</category>
    
    <comments>https://blog.raymond.burkholder.net/index.php?/archives/453-Implementing-Live-URL-Tracking.html#comments</comments>
    <wfw:comment>https://blog.raymond.burkholder.net/wfwcomment.php?cid=453</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=453</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;To monitor browsing habits of company users, and to use the information for possible site blocking or traffic limiting  with MasterShaper, URLSnarf along with a Perl script can be used to log specific items to a database and place the full  capture results into a log file.  The log file will be rotated with logrotate.

&lt;p&gt;The Perl module Logfile::Access is key.  On my machine it needed to be manually installed:

&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
perl -MCPAN -eshell
  install Logfile::Access 
  # a missing file will be encountered
  exit
cd ~/.cpan/build/Logfile-Access-1.30/Access.pm
nano Access.pm 
  # change line 38 to &#039;/etc/mime.types&#039;
make 
make install
&lt;/pre&gt;&lt;/blockquote&gt;
 
    </content:encoded>

    <pubDate>Thu, 15 Mar 2007 17:16:25 +0000</pubDate>
    <guid isPermaLink="false">https://blog.raymond.burkholder.net/index.php?/archives/453-guid.html</guid>
    
</item>
<item>
    <title>Installing Netflow Tool:  nfsen</title>
    <link>https://blog.raymond.burkholder.net/index.php?/archives/457-Installing-Netflow-Tool-nfsen.html</link>
            <category>Network Monitoring</category>
    
    <comments>https://blog.raymond.burkholder.net/index.php?/archives/457-Installing-Netflow-Tool-nfsen.html#comments</comments>
    <wfw:comment>https://blog.raymond.burkholder.net/wfwcomment.php?cid=457</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=457</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;nfsen is companion tool to nfdump.  Where nfdump handles the capture and writing to disk  of netflow records, nfsen takes the captured files and makes the data available through a  web interface. &lt;br /&gt;&lt;a href=&quot;https://blog.raymond.burkholder.net/index.php?/archives/457-Installing-Netflow-Tool-nfsen.html#extended&quot;&gt;Continue reading &quot;Installing Netflow Tool:  nfsen&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 02 Mar 2007 22:20:22 +0000</pubDate>
    <guid isPermaLink="false">https://blog.raymond.burkholder.net/index.php?/archives/457-guid.html</guid>
    
</item>

</channel>
</rss>
