<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Aptivate &#124; A Blog for ICT4D &#187; pmGraph</title>
	<atom:link href="http://blog.aptivate.org/tag/pmgraph/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.aptivate.org</link>
	<description>International I.T. Development</description>
	<lastBuildDate>Wed, 01 Feb 2012 14:09:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.6</generator>
		<item>
		<title>Network monitoring planning</title>
		<link>http://blog.aptivate.org/2011/02/10/network-monitoring-planning/</link>
		<comments>http://blog.aptivate.org/2011/02/10/network-monitoring-planning/#comments</comments>
		<pubDate>Thu, 10 Feb 2011 13:43:18 +0000</pubDate>
		<dc:creator>Chris Wilson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bandwidth]]></category>
		<category><![CDATA[BMO]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[pmGraph]]></category>

		<guid isPermaLink="false">http://blog.aptivate.org/?p=758</guid>
		<description><![CDATA[People have been trying to monitor their networks with pmGraph, without understanding how they might need to change the network topology in order for that to work. I think it is essential to understand this before attempting to install pmGraph, to avoid wasted time and frustration. But it seems that the relevant documentation was relegated [...]]]></description>
			<content:encoded><![CDATA[<p>People have been trying to monitor their networks with pmGraph, without understanding how they might need to change the network topology in order for that to work.</p>
<p>I think it is essential to understand this before attempting to install pmGraph, to avoid wasted time and frustration. But it seems that the relevant documentation was relegated to an easily-missed link off the installation instructions. It was also difficult to read and understand.</p>
<p>I&#8217;ve just completely rewritten the <a href="http://www.aptivate.org/pmgraph-installation-2#InstallationPlanning">installation planning</a> instructions. They are relevant to any kind of network traffic monitoring, not just using <a href="http://www.aptivate.org/pmgraph">pmGraph</a> or <a href="http://pmacct.net">pmacct</a>. Comments are most welcome.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aptivate.org/2011/02/10/network-monitoring-planning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Consistency, Portability and Backwards Compatibility</title>
		<link>http://blog.aptivate.org/2010/10/06/consistency-portability-and-backwards-compatibility/</link>
		<comments>http://blog.aptivate.org/2010/10/06/consistency-portability-and-backwards-compatibility/#comments</comments>
		<pubDate>Wed, 06 Oct 2010 14:13:20 +0000</pubDate>
		<dc:creator>Chris Wilson</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Engineer's Log]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[System Administration]]></category>
		<category><![CDATA[bandwidth]]></category>
		<category><![CDATA[backwards compatibility]]></category>
		<category><![CDATA[consistency]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[pmacct]]></category>
		<category><![CDATA[pmGraph]]></category>
		<category><![CDATA[portability]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://blog.aptivate.org/?p=717</guid>
		<description><![CDATA[Michał Purzyński reported a problem with our pmGraph software, when using a PostgreSQL database: I&#8217;d like to report a bug &#8211; pmgraph is unable to get data from postgresql database to which nfacctd is writing&#8230; javax.servlet.ServletException: org.postgresql.util.PSQLException: ERROR: column "src_port" does not exist It turns out that pmacct, up to and including version 0.12.4, uses [...]]]></description>
			<content:encoded><![CDATA[<p>Michał Purzyński reported a problem with our <a href="http://www.aptivate.org/Projects.BMOTools.pmGraph.html">pmGraph</a> software, when using a <a href="http://www.postgresql.org/">PostgreSQL</a> database:</p>
<blockquote><p>
I&#8217;d like to report a bug &#8211; pmgraph is unable to get data from postgresql database to which nfacctd is writing&#8230; </p>
<p><code>javax.servlet.ServletException: org.postgresql.util.PSQLException:<br />
ERROR: column "src_port" does not exist</code>
</p></blockquote>
<p>It turns out that <a href="http://www.pmacct.net/">pmacct</a>, up to and including version 0.12.4, uses a different column name for the source port if the database is MySQL or SQLite:</p>
<pre>
if (!strcmp(config.type, "mysql") || !strcmp(config.type, "sqlite3")) {
  strncat(insert_clause, "src_port", SPACELEFT(insert_clause));
  strncat(where[primitive].string, "src_port=%u", SPACELEFT(where[primitive].string));
}
else {
  strncat(insert_clause, "port_src", SPACELEFT(insert_clause));
  strncat(where[primitive].string, "port_src=%u", SPACELEFT(where[primitive].string));
}
</pre>
<p>I really wish applications wouldn&#8217;t change their behaviour arbitrarily like this. To work around it, we would have to hard-code the database types in pmGraph as well, or add an option to switch the column names. Since pmGraph uses JDBC to access the database, it&#8217;s not even obvious which driver names are accessing an (underlying) MySQL or SQLite database. So we need to switch the column names, but if we can get pmacct fixed then we can ease the pain for new users in future.</p>
<p>I <a href="http://www.mail-archive.com/pmacct-discussion%40pmacct.net/msg01653.html">reported a bug</a> to Paolo Lucente, the lead developer of pmacct, through their mailing list. Paolo agreed to change this behaviour, even though it will break backwards compatibility. We spent some time discussing how to do this in a way that would minimise any impact on existing users. </p>
<p>To do this, we took advantage of pmacct&#8217;s existing system of database table versioning, which means that you can still use the oldest table structures, even with the most recent version of pmacct.  Paolo <a href="http://www.mail-archive.com/pmacct-discussion%40pmacct.net/msg01656.html">agreed</a> to create a new schema version that uses the same column names for all databases, so that pmacct will <a href="http://www.mail-archive.com/pmacct-discussion%40pmacct.net/msg01659.html">remain backwards-compatible for all users</a> unless they deliberately choose to change their database schema version.</p>
<p>As we chose to standardise on the PostgreSQL column names, the column names will change for MySQL users between schema versions 7 and 8, so we&#8217;ll need to add a configuration option to pmGraph to allow users to choose whether they want the old or the new column names. This is the very same switch that I wanted to avoid in pmacct, but pmGraph has fewer users so it has less impact.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aptivate.org/2010/10/06/consistency-portability-and-backwards-compatibility/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>pmGraph &#8211; Bandwidth Monitoring for Networks</title>
		<link>http://blog.aptivate.org/2010/02/20/pmgraph-bandwidth-monitoring-for-networks/</link>
		<comments>http://blog.aptivate.org/2010/02/20/pmgraph-bandwidth-monitoring-for-networks/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 10:59:53 +0000</pubDate>
		<dc:creator>tariq</dc:creator>
				<category><![CDATA[Appropriate Technology]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[bandwidth]]></category>
		<category><![CDATA[pmacct]]></category>
		<category><![CDATA[pmGraph]]></category>

		<guid isPermaLink="false">http://blog.aptivate.org/?p=368</guid>
		<description><![CDATA[pmGraph is a free tool we produce to help administrators monitor bandwidth on networks.  Read more about it on our website or watch the video included in the post. Many thanks to Mark for putting the video together!]]></description>
			<content:encoded><![CDATA[<div id="attachment_369" class="wp-caption aligncenter" style="width: 510px"><a href="http://vimeo.com/9590011"><img class="size-full wp-image-369 " title="pmGraph_video_cap" src="http://blog.aptivate.org/wp-content/uploads/2010/02/pmGraph_video_cap.jpg" alt="pmGraph video screencap" width="500" height="285" /></a><p class="wp-caption-text">Video introducing pmGraph hosted by Vimeo</p></div>
<p>pmGraph is a free tool we produce to help administrators monitor bandwidth on networks.</p>
<p><a href="http://www.aptivate.org/Projects.BMOTools.pmGraph.html">Read more about it</a> or watch the video above.</p>
<p>Many thanks to Mark for putting the video together.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aptivate.org/2010/02/20/pmgraph-bandwidth-monitoring-for-networks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

