<?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>iammecn &#187; cacti</title>
	<atom:link href="http://www.iammecn.com/category/cacti/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.iammecn.com</link>
	<description>活出自我,活出精彩.My blog,my sky,my word,我的地盘,我做主.</description>
	<lastBuildDate>Sun, 15 Jan 2012 16:39:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Cacti绘制自定义图形，进阶，配合自制脚本</title>
		<link>http://www.iammecn.com/2010/04/08/cacti_draw_custom_graphics_advanced_-with_scripts/</link>
		<comments>http://www.iammecn.com/2010/04/08/cacti_draw_custom_graphics_advanced_-with_scripts/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 06:40:34 +0000</pubDate>
		<dc:creator>iammecn</dc:creator>
				<category><![CDATA[cacti]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[snmp]]></category>
		<category><![CDATA[squid]]></category>
		<category><![CDATA[监控]]></category>
		<category><![CDATA[绘制图形]]></category>

		<guid isPermaLink="false">http://www.iammecn.com/2010/04/08/cacti/</guid>
		<description><![CDATA[本文讲述了,如何通过cacti绘制不是通过snmp取得的数据的图形的方法。
有了cacti，你可以想你所想监控你感兴趣的任何数据。]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.iammecn.com/2010/04/08/cacti_custome_graph/" target="_blank">前文</a>讲述了，如何通过snmp的方式取获取并创建自己的Cacti图形，但如果某些数据是无法通过snmp取得的，可以通过脚本的方式来获取，所以只有你想不到，没有你做不到的。</p>
<p>比如你那一天对腾讯的在线人数感兴趣，你可以监视这个页面<a title="http://im.qq.com/" href="http://im.qq.com/">http://im.qq.com/</a>中下图部分：</p>
<p><a href="http://www.iammecn.com/wp-content/uploads/2010/04/image4.png"><img class="colorbox-436"  title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="92" alt="image" src="http://www.iammecn.com/wp-content/uploads/2010/04/image_thumb3.png" width="435" border="0" /></a> </p>
<p>监控部的同事估计也是通过这个方式来了解腾讯的在线人数曲线的。</p>
<p><a href="http://www.iammecn.com/wp-content/uploads/2010/04/image5.png"><img class="colorbox-436"  title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="214" alt="image" src="http://www.iammecn.com/wp-content/uploads/2010/04/image_thumb4.png" width="471" border="0" /></a> </p>
<p>继续正题，比如我要监控squid打开一个特定的页面的速度，虽然前文已经讲述了，你可以通过squid自身提供的信息来绘制，但毕竟这是squid提供的，可能没有考虑到网络等因素，所以你需要模拟一个最终用户打开页面的情况,这就要需要自己写一个特殊的脚本：</p>
<p> <span id="more-436"></span>
<p>1.进入到 /cacti/scripts的目录</p>
<p>创建一个文件,如time_get_page.sh</p>
<blockquote><p>#!/bin/bash      <br />begin_time=`date +%s%N`       <br />curl&#160; -s&#160; -H &#8216;Host: bbs.iammecn.com&#8217; $1 &gt;/tmp/tmp       <br />end_time=`date +%s%N` </p>
<p>let time1=&quot;$end_time&quot;-&quot;$begin_time&quot;      <br />let time1=&quot;time1/1000000&quot; </p>
<p>begin_time=`date +%s%N`      <br />curl&#160; -s&#160; -H &#8216;Host: <a href="http://www.iammecn.com'">www.iammecn.com&#8217;</a> $1 &gt;/tmp/tmp       <br />end_time=`date +%s%N` </p>
<p>let time2=&quot;$end_time&quot;-&quot;$begin_time&quot;      <br />let time2=&quot;time2/1000000&quot; </p>
<p>printf misstime:$time1&#160; <br />printf &quot; &quot;hittime:$time2</p>
</blockquote>
<p>运行这个脚本的结果，后面加上你要监控的机器的IP后，运行结果如下：</p>
<blockquote><p>misstime:2913 hittime:2492</p>
</blockquote>
<p>获得两个值，我是选取了两个不同的页面，一个是需要不缓存的，一个是需要缓存的，所以分别代表了miss和hit的时间。</p>
<p>2. 登陆cacti，然后在<a href="http://cacti.weiphone.com/data_input.php"><strong>Data Input Methods</strong></a><strong>，</strong>添加一个新的数据来源</p>
<p><a href="http://www.iammecn.com/wp-content/uploads/2010/04/image6.png"><img class="colorbox-436"  title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="227" alt="image" src="http://www.iammecn.com/wp-content/uploads/2010/04/image_thumb5.png" width="409" border="0" /></a> </p>
</p>
<p>名字随便起了，然后选择”scripts/command” ，路径那里填写：</p>
<p>sh &lt;path_cacti&gt;/scripts/time_get_page.sh&#160; &lt;ip&gt;</p>
<p>Input Fields里添加一个IP，“Special Type Code”里填写hostname</p>
<p><a href="http://www.iammecn.com/wp-content/uploads/2010/04/image7.png"><img class="colorbox-436"  title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="220" alt="image" src="http://www.iammecn.com/wp-content/uploads/2010/04/image_thumb6.png" width="428" border="0" /></a> </p>
<p>Hostname就是指在你的Devices里指定的主机名了，从来获取你的主机名</p>
<p><strong>Output Fields</strong> 里再输出两个值</p>
<p>就是上面脚本里输出的两个值，分别是httime,misstime</p>
<p><a href="http://www.iammecn.com/wp-content/uploads/2010/04/image8.png"><img class="colorbox-436"  title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="137" alt="image" src="http://www.iammecn.com/wp-content/uploads/2010/04/image_thumb7.png" width="419" border="0" /></a> </p>
<p>3. <strong><a href="http://cacti.weiphone.com/data_templates.php">Data Templates</a></strong> ,创建数据模板</p>
<p><a href="http://www.iammecn.com/wp-content/uploads/2010/04/image9.png"><img class="colorbox-436"  title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="132" alt="image" src="http://www.iammecn.com/wp-content/uploads/2010/04/image_thumb8.png" width="244" border="0" /></a> </p>
<p>“Data Input Method”就选刚才创建的那个数据来源</p>
<p>下面再添加两个TAB</p>
<p><a href="http://www.iammecn.com/wp-content/uploads/2010/04/image10.png"><img class="colorbox-436"  title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="247" alt="image" src="http://www.iammecn.com/wp-content/uploads/2010/04/image_thumb9.png" width="443" border="0" /></a> </p>
<p>主要是选对”Output Field”这个值的来源</p>
<p>4.然后再创建“<strong><a href="http://cacti.weiphone.com/graph_templates.php">Graph Templates</a></strong>”</p>
<p>同样是创建一个新模板，下面的名字你随便起，如下图：</p>
<p><a href="http://www.iammecn.com/wp-content/uploads/2010/04/image11.png"><img class="colorbox-436"  title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="229" alt="image" src="http://www.iammecn.com/wp-content/uploads/2010/04/image_thumb10.png" width="425" border="0" /></a> </p>
<p>重点来了，接下来是如何创建图形了,如下图：</p>
<p><a href="http://www.iammecn.com/wp-content/uploads/2010/04/image12.png"><img class="colorbox-436"  title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="213" alt="image" src="http://www.iammecn.com/wp-content/uploads/2010/04/image_thumb11.png" width="425" border="0" /></a> </p>
<p>ADD一个图形，如下图：</p>
<p><a href="http://www.iammecn.com/wp-content/uploads/2010/04/image13.png"><img class="colorbox-436"  title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="383" alt="image" src="http://www.iammecn.com/wp-content/uploads/2010/04/image_thumb12.png" width="438" border="0" /></a> </p>
</p>
<p><strong>Data Source</strong> 选择你刚才创建的数据模板中一个，如我选择了MissTime</p>
<p>颜色随便选择了，只要看着习惯就行。</p>
<p><strong>Graph Item Type</strong> 就是你绘制的图形类型，比如是一根线还是面积图？我这里选择的是LINE1，绘制出来的图形如下图所示。</p>
<p><a href="http://www.iammecn.com/wp-content/uploads/2010/04/image14.png"><img class="colorbox-436"  title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="139" alt="image" src="http://www.iammecn.com/wp-content/uploads/2010/04/image_thumb13.png" width="404" border="0" /></a> </p>
<p><strong>Consolidation Function</strong>一般来说选择Aveage，这样会让你的图平滑</p>
<p>“CDEF Function”就除以1024， 我这里是跟据我自己的情况来弄的，因为我上面那个脚本是取了纳秒级的数据，如果不加以处理就会很大，不处理，以秒级的话，区间也太小了，对于某些细微的网络状态可能觉察不出来。</p>
<p><strong>Text Format </strong>就是你的图形说明了，一般来说横坐标是时间，纵坐标就是你的数值了，你可以在纵坐标上放尽可能多的数据，只要不影响你的眼睛。</p>
<p>接下来再打印一些文字，主要就是来说明这个图形的，显示最大，最小，平均值等</p>
<p>如下图：</p>
<p><a href="http://www.iammecn.com/wp-content/uploads/2010/04/image15.png"><img class="colorbox-436"  title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="64" alt="image" src="http://www.iammecn.com/wp-content/uploads/2010/04/image_thumb14.png" width="440" border="0" /></a> </p>
<p>下图就是取当前值：</p>
</p>
<p><a href="http://www.iammecn.com/wp-content/uploads/2010/04/image16.png"><img class="colorbox-436"  title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="392" alt="image" src="http://www.iammecn.com/wp-content/uploads/2010/04/image_thumb15.png" width="418" border="0" /></a> </p>
<p>类型选择“GPRINT”,并选择“LAST”,最后选择Insert Hard Return，这样是为了换行。</p>
<p>5. 到这里基本上已经完成了图形模板制作的全过程了，你可以在<strong><a href="http://cacti.weiphone.com/host.php">Devices</a></strong>里把所要加的图形附加到设备上，然后和正常的制作一般图片一样了。</p>
<p>以下是我一天时间获取的图形：</p>
<p><a href="http://www.iammecn.com/wp-content/uploads/2010/04/image17.png"><img class="colorbox-436"  title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="185" alt="image" src="http://www.iammecn.com/wp-content/uploads/2010/04/image_thumb16.png" width="437" border="0" /></a> </p>
</p>
<p>你可以清楚地了解到主机的运行和网络状况了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iammecn.com/2010/04/08/cacti_draw_custom_graphics_advanced_-with_scripts/feed/</wfw:commentRss>
		<slash:comments>72</slash:comments>
		</item>
		<item>
		<title>Cacti自定义绘制图形</title>
		<link>http://www.iammecn.com/2010/04/08/cacti_custome_graph/</link>
		<comments>http://www.iammecn.com/2010/04/08/cacti_custome_graph/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 02:53:20 +0000</pubDate>
		<dc:creator>iammecn</dc:creator>
				<category><![CDATA[cacti]]></category>
		<category><![CDATA[snmp]]></category>
		<category><![CDATA[squid]]></category>
		<category><![CDATA[rrdtools]]></category>
		<category><![CDATA[snmpd]]></category>

		<guid isPermaLink="false">http://www.iammecn.com/2010/04/08/cacti_custome_graph/</guid>
		<description><![CDATA[Cacti可以跟据自己的需要来定制图形，比如说你想监控远程一台web(squid)机器的打开页面的速度如何，或者自定义/usr/local/squid/bin/squidclient -p 80 mgr:info的信息时，可以很自由地大展身手。]]></description>
			<content:encoded><![CDATA[<p>Cacti可以跟据自己的需要来定制图形，比如说你想监控远程一台web(squid)机器的打开页面的速度如何，或者自定义/usr/local/squid/bin/squidclient -p 80 mgr:info的信息时，可以很自由地大展身手。</p>
<p>/usr/local/squid/bin/squidclient -p 80 mgr:info</p>
<p> <span id="more-407"></span>
<p>我们可以获取大概这么多的信息：</p>
<blockquote><p>Squid Object Cache: Version 2.7.STABLE5      <br />Start Time:&#160;&#160;&#160;&#160; Tue, 06 Apr 2010 13:05:16 GMT       <br />Current Time:&#160;&#160; Wed, 07 Apr 2010 07:54:25 GMT       <br />Connection information for squid:       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Number of clients accessing cache:&#160;&#160;&#160;&#160;&#160; 28013       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Number of HTTP requests received:&#160;&#160;&#160;&#160;&#160;&#160; 12921285       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Number of ICP messages received:&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Number of ICP messages sent:&#160;&#160;&#160; 0       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Number of queued ICP replies:&#160;&#160; 0       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Request failure ratio:&#160;&#160; 0.00       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Average HTTP requests per minute since start:&#160;&#160; 11443.3       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Average ICP messages per minute since start:&#160;&#160;&#160; 0.0       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Select loop called: 63269905 times, 1.071 ms avg       <br />Cache information for squid:       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Request Hit Ratios:&#160;&#160;&#160;&#160; 5min: 92.9%, 60min: 92.3%       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Byte Hit Ratios:&#160;&#160;&#160;&#160;&#160;&#160;&#160; 5min: 68.0%, 60min: 69.3%       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Request Memory Hit Ratios:&#160;&#160;&#160;&#160;&#160; 5min: 64.9%, 60min: 63.2%       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Request Disk Hit Ratios:&#160;&#160;&#160;&#160;&#160;&#160;&#160; 5min: 0.1%, 60min: 0.2%       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Storage Swap size:&#160;&#160;&#160;&#160;&#160; 4264052 KB       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Storage Mem size:&#160;&#160;&#160;&#160;&#160;&#160; 803608 KB       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Mean Object Size:&#160;&#160;&#160;&#160;&#160;&#160; 44.59 KB       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Requests given to unlinkd:&#160;&#160;&#160;&#160;&#160; 0       <br />Median Service Times (seconds)&#160; 5 min&#160;&#160;&#160; 60 min:       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; HTTP Requests (All):&#160;&#160; 0.00091&#160; 0.00091       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Cache Misses:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0.08265&#160; 0.02742       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Cache Hits:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0.00000&#160; 0.00000       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Near Hits:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0.00562&#160; 0.00562       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Not-Modified Replies:&#160; 0.00000&#160; 0.00000       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; DNS Lookups:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 1.96483&#160; 1.96483       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; ICP Queries:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0.00000&#160; 0.00000       <br />Resource usage for squid:       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; UP Time:&#160;&#160;&#160;&#160;&#160;&#160;&#160; 67749.459 seconds       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; CPU Time:&#160;&#160;&#160;&#160;&#160;&#160; 4082.432 seconds       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; CPU Usage:&#160;&#160;&#160;&#160;&#160; 6.03%       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; CPU Usage, 5 minute avg:&#160;&#160;&#160;&#160;&#160;&#160;&#160; 9.89%       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; CPU Usage, 60 minute avg:&#160;&#160;&#160;&#160;&#160;&#160; 9.83%       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Process Data Segment Size via sbrk(): 994496 KB       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Maximum Resident Size: 0 KB       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Page faults with physical i/o: 0       <br />Memory usage for squid via mallinfo():       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Total space in arena:&#160; 994496 KB       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Ordinary blocks:&#160;&#160;&#160;&#160;&#160;&#160; 915646 KB&#160; 35590 blks       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Small blocks:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0 KB&#160;&#160;&#160;&#160;&#160; 0 blks       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Holding blocks:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 16924 KB&#160;&#160;&#160;&#160;&#160; 3 blks       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Free Small blocks:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0 KB       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Free Ordinary blocks:&#160;&#160; 78849 KB       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Total in use:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 932570 KB 92%       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Total free:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 78849 KB 8%       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Total size:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 1011420 KB       <br />Memory accounted for:       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Total accounted:&#160;&#160;&#160;&#160;&#160;&#160; 892249 KB       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; memPoolAlloc calls: 975833131       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; memPoolFree calls: 974218783       <br />File descriptor usage for squid:       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Maximum number of file descriptors:&#160;&#160; 60000       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Largest file desc currently in use:&#160;&#160; 6739       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Number of file desc currently in use: 5897       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Files queued for open:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Available number of file descriptors: 54103       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Reserved number of file descriptors:&#160;&#160; 100       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Store Disk files open:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 7       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; IO loop method:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; epoll       <br />Internal Data Structures:       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; 109848 StoreEntries       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 60207 StoreEntries with MemObjects       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 60153 Hot Object Cache Items       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 95630 on-disk objects</p>
</blockquote>
<p>&#160;</p>
<p>比如你对Request Hit Ratios（请求命中率）感兴趣，你可以可以绘制出如下的图形。</p>
<p><a href="http://www.iammecn.com/wp-content/uploads/2010/04/SpxImage.jpg"><img class="colorbox-407"  title="SpxImage" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="202" alt="SpxImage" src="http://www.iammecn.com/wp-content/uploads/2010/04/SpxImage_thumb.jpg" width="490" border="0" /></a> </p>
</p>
</p>
<p>1.要启用squid的snmp功能，所以需要在编译的时候，启用—enable-snmp</p>
<p>2.配置 squid.conf</p>
<p>添加：</p>
<blockquote><p>acl ADMIN src 127.0.0.1/32      <br />acl SNMP snmp_community&#160;&#160; xxxxxx       <br />snmp_access allow SNMP ADMIN       <br />snmp_access deny&#160; all</p>
</blockquote>
<p>3.配置 /etc/snmpd.conf</p>
<p>添加：</p>
<blockquote><p>proxy -v 1 -c xxxxx 127.0.0.1:3401 .1.3.6.1.4.1.3495.1</p>
</blockquote>
<p>4.然后通对过人肉对比，可以得到：</p>
<p>Byte&#160; Hit Ratio对应的snmpd 的OID是：.1.3.6.1.4.1.3495.1.3.2.2.1.10.5</p>
<p>&#160;</p>
<p>5.创建数据模板（Data Templates）：</p>
<p>因为这里snmp获取的数据，所以就选取通过snmp来获取值，下文将讲如何通过脚本来获取值。</p>
<p>如下图：</p>
<p><a href="http://www.iammecn.com/wp-content/uploads/2010/04/image.png"><img class="colorbox-407"  title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="397" alt="image" src="http://www.iammecn.com/wp-content/uploads/2010/04/image_thumb.png" width="419" border="0" /></a> </p>
<p>6.创建图形模板：（Graph Templates）</p>
<p>&#160;</p>
<p><a href="http://www.iammecn.com/wp-content/uploads/2010/04/image1.png"><img class="colorbox-407"  title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="407" alt="image" src="http://www.iammecn.com/wp-content/uploads/2010/04/image_thumb1.png" width="480" border="0" /></a> </p>
<p>7.修改每个模板项目，如下图：</p>
<p><a href="http://www.iammecn.com/wp-content/uploads/2010/04/image2.png"><img class="colorbox-407"  title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="image" src="http://www.iammecn.com/wp-content/uploads/2010/04/image_thumb2.png" width="484" border="0" /></a> </p>
</p>
</p>
<p>“Data Source ” 就选刚才创建的数据来源</p>
<p>8.然后就在需要创建图形的主机上添加刚才这个图形模板就可以了。</p>
<p>我把这个模板上传到这里，你可以直接导入到你的cacti里，然后仔细查看了。</p>
<p><strong></strong></p>
<p><strong>如果说我要创建的图形是无法通过snmp获取的呢？</strong></p>
<p>
<p>请听下回分解。<a href="http://www.iammecn.com/wp-content/uploads/2010/04/image3.png"></a></p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iammecn.com/2010/04/08/cacti_custome_graph/feed/</wfw:commentRss>
		<slash:comments>57</slash:comments>
		</item>
		<item>
		<title>cacti插件安装</title>
		<link>http://www.iammecn.com/2009/12/22/cacti_plug-in_installation/</link>
		<comments>http://www.iammecn.com/2009/12/22/cacti_plug-in_installation/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 09:22:03 +0000</pubDate>
		<dc:creator>iammecn</dc:creator>
				<category><![CDATA[cacti]]></category>
		<category><![CDATA[邮件]]></category>
		<category><![CDATA[monitor]]></category>
		<category><![CDATA[thold]]></category>
		<category><![CDATA[乱码]]></category>

		<guid isPermaLink="false">http://www.iammecn.com/?p=319</guid>
		<description><![CDATA[cacti的插件功能很强大,可惜之前一直没有使用过,这次恶补了一下. f过程不是很顺利,包括官方文档也有很多错误,可能是没有及时更新吧.   要cacti支持插件,首先要安装一个补丁包Plugin Architecture,可以在这里下载: wget  http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7e-PA-v2.6.zip 然后解压用 files-0.8.7e替换原来的文件. 不需要使用 patch -p1 -N &#60; cacti-plugin-0.8.7e-PA-v2.6.diff 这两步是可选之一,我一开始是使用的patch的方式,但后来发现有问题,用替换覆盖的方式就好了. 这个时候还要导入这个插件的mysql文件: mysql cacti &#60; cacti-plugin-arch/pa.sql 这一步也很重要,很多文档都没有说. 最重要的来了,就是在&#8221;用户管理&#8221;那里选上这个插件的权限,否则看不到,这一步很多文档也没有介绍,所以在这上面浪费了很多时间. config.php里增加: $plugins = array(); $plugins[] = &#8216;monitor&#8217;; $plugins[] = &#8216;thold&#8217;; $plugins[] = &#8216;settings&#8217;; 注意不是在inclde/global.php 这个很多文档也有误的,当然加在那里都一样.但加上config.php无疑是更好的. 然后同样在&#8221;User Managerment&#8221;里把&#8221;Plugin Management&#8221;的权限选上,否则你看不到,这个时候就会在Setting下面出现&#8221;Plugin Management&#8221;了. 对于新编写的插件,可以通过这个&#8221;插件管理&#8221;来管理了,thold是新编写的插件,所以需要在这里管理,在这里Install,Enable,然后再给相关的权限,就可以使用了.对于旧插件还是老办法,修改: config.php,增加相关插件的目录名. 这个时候&#8221;插件管理&#8221;里显示:Old Plugin Architecture &#8211; Running. 总之这个安装过程不复杂,但由于文档没有能及时更新,千万了很多麻烦,浪费了很多时间.  继续补充: 发现如果主机描述中有中文的话,发出来的邮件主题是乱码,看了一下来信,发现主题那里没有编码,所以: 修改 /plugins/thold/thold_functions.php $subject = [...]]]></description>
			<content:encoded><![CDATA[<p>cacti的插件功能很强大,可惜之前一直没有使用过,这次恶补了一下.</p>
<p>f过程不是很顺利,包括官方文档也有很多错误,可能是没有及时更新吧.</p>
<p><span id="more-319"></span> </p>
<p>要cacti支持插件,首先要安装一个补丁包<strong>Plugin Architecture</strong>,可以在这里下载:</p>
<p>wget  <a href="http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7e-PA-v2.6.zip">http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7e-PA-v2.6.zip</a></p>
<p>然后解压用 files-0.8.7e替换原来的文件.</p>
<p>不需要使用 patch -p1 -N &lt; cacti-plugin-0.8.7e-PA-v2.6.diff</p>
<p>这两步是可选之一,我一开始是使用的patch的方式,但后来发现有问题,用替换覆盖的方式就好了.</p>
<p>这个时候还要导入这个插件的mysql文件:</p>
<blockquote><p>mysql cacti &lt; cacti-plugin-arch/pa.sql</p></blockquote>
<p>这一步也很重要,很多文档都没有说.</p>
<p><strong>最重要的来了,就是在&#8221;用户管理&#8221;那里选上这个插件的权限,否则看不到,这一步很多文档也没有介绍,所以在这上面浪费了很多时间.</strong></p>
<p><a href="http://www.iammecn.com/wp-content/uploads/2009/12/3.jpg"><img class="alignnone size-full wp-image-323 colorbox-319" title="Plugin Managerment" src="http://www.iammecn.com/wp-content/uploads/2009/12/3.jpg" alt="3" width="468" height="332" /></a>config.php里增加:<br />
$plugins = array();<br />
$plugins[] = &#8216;monitor&#8217;;<br />
$plugins[] = &#8216;thold&#8217;;<br />
<strong>$plugins[] = &#8216;settings&#8217;;</strong></p>
<p>注意不是在inclde/global.php 这个很多文档也有误的,当然加在那里都一样.但加上config.php无疑是更好的.</p>
<p>然后同样在&#8221;User Managerment&#8221;里把&#8221;<label for="section101">Plugin Management&#8221;的权限选上,否则你看不到,这个时候就会在Setting下面出现&#8221;<label for="section101">Plugin Management&#8221;了.</label></label></p>
<p><label for="section101"><label for="section101">对于新编写的插件,可以通过这个&#8221;插件管理&#8221;来管理了,thold是新编写的插件,所以需要在这里管理,在这里Install,Enable,然后再给相关的权限,就可以使用了.对于旧插件还是老办法,修改:</label></label></p>
<p><label for="section101"><label for="section101">config.php,增加相关插件的目录名.</label></label></p>
<p><label for="section101"><label for="section101">这个时候&#8221;插件管理&#8221;里显示:Old Plugin Architecture &#8211; Running.</label></label></p>
<p><label for="section101"><label for="section101">总之这个安装过程不复杂,但由于文档没有能及时更新,千万了很多麻烦,浪费了很多时间.</label></label></p>
<p><label for="section101"><label for="section101"></label></label></p>
<p><label for="section101"><label for="section101"></label></label></p>
<p><strong> 继续补充:</strong></p>
<p><strong>发现如果主机描述中有中文的话,发出来的邮件主题是乱码,看了一下来信,发现主题那里没有编码,所以:</strong></p>
<p>修改 /plugins/thold/thold_functions.php</p>
<p>$subject = trim($subject);<br />
$subject2 = $subject;<br />
$subject = “=?UTF-8?B?”.base64_encode($subject).”?=”;<br />
$message = str_replace(‘‘, $subject2, $message);</p>
<p>解决发出的邮件如果主机名中有中文,发出的是乱码的问题.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iammecn.com/2009/12/22/cacti_plug-in_installation/feed/</wfw:commentRss>
		<slash:comments>81</slash:comments>
		</item>
		<item>
		<title>cacti+rrdtool支持中文+连接数监控</title>
		<link>http://www.iammecn.com/2009/12/21/cacti_rrdtool_support_of_the_chinese_connection_monitoring/</link>
		<comments>http://www.iammecn.com/2009/12/21/cacti_rrdtool_support_of_the_chinese_connection_monitoring/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 08:02:35 +0000</pubDate>
		<dc:creator>iammecn</dc:creator>
				<category><![CDATA[Mysql]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cacti]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[计算机]]></category>
		<category><![CDATA[rrdtool]]></category>
		<category><![CDATA[snmp]]></category>

		<guid isPermaLink="false">http://www.iammecn.com/?p=311</guid>
		<description><![CDATA[很早以前就装过rrdtool,可惜那个时候没有写文档,今天又要重来.记得那个时候是异常的曲折,不过今天是很顺利. 1.首先到官方下载最新的cacti,这次发现这个版本有很多细节上改进.佩服啊,人家这个版本更新几年了,一直是0.8.7x系列.如果是某些软件早就是8.7了. wget http://www.cacti.net/downloads/cacti-0.8.7e.tar.gz 然后解压后,就不多话了.用自己的方法放到web目录一个你可以通过浏览器访问的地方. 2.创建一个mysql database cacti 导入数据: mysql cacti &#60; cacti.sql 3.修改配置文件: vi include/config.php 到了这一步后,在浏览器里输入: http://xxx.xxx.xxx.xxx/cacti/install/ 提示如下图: 提示我有很多东西没有装,当然这个截图是后截图的,所以有很多已经显示装上了. 4.然后就是net-snmp yum install net-snmp* -y 5,安装rrdtool wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.26.tar.gz 由于目前只在网上找到1.2.6系列可以修改文件支持中文,所以这里就用1.2.6了,最新的1.4.X系列了,我试了一下可以用,但没有研究如何让它支持中文. 修改:    src/rrd_graph.c #ifdef HAVE_SETLOCALE //    setlocale(LC_TIME,&#8221;"); #ifdef HAVE_MBSTOWCS //    setlocale(LC_CTYPE,&#8221;"); 注释掉setlocale(LC_TIME,&#8221;");setlocale(LC_CTYPE,&#8221;");增加:setlocale(LC_CTYPE,&#8221;"); 如我这样,注意C里面的#不是注释了,所以用//,在这个问题上犯了错了. 然后就是./configure;make;make install 6,然后再去刷新刚才这个配置页面,提示所有需要的东西已经配置好了. 然后进入设置,把一个windows字体拷到服务器上 在setting里把相关字体配置上.(重要,必须的,否则无法支持中文,一开始我也在这里犯错了.) 7.然后就大功告成了. 接下来是对服务器的连接数进行监控,其实snmp默认就可以支持了. 下载以下模板,导入到你的cacti里就可以了.  cacti_graph_template_snmp_connections]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.iammecn.com/wp-content/uploads/2009/12/cacti.jpg"></a>很早以前就装过rrdtool,可惜那个时候没有写文档,今天又要重来.记得那个时候是异常的曲折,不过今天是很顺利.</p>
<p><strong>1.首先到官方下载最新的cacti,</strong>这次发现这个版本有很多细节上改进.佩服啊,人家这个版本更新几年了,一直是0.8.7x系列.如果是某些软件早就是8.7了.</p>
<p><span id="more-311"></span></p>
<p>wget <a href="http://www.cacti.net/downloads/cacti-0.8.7e.tar.gz">http://www.cacti.net/downloads/cacti-0.8.7e.tar.gz</a></p>
<p>然后解压后,就不多话了.用自己的方法放到web目录一个你可以通过浏览器访问的地方.</p>
<p><strong>2.创建一个mysql database cacti</strong></p>
<p>导入数据:</p>
<p>mysql cacti &lt; cacti.sql</p>
<p><strong>3.修改配置文件:</strong></p>
<p>vi include/config.php</p>
<p>到了这一步后,在浏览器里输入: <a href="http://xxx.xxx.xxx.xxx/cacti/install/">http://xxx.xxx.xxx.xxx/cacti/install/</a></p>
<p>提示如下图:</p>
<p><a href="http://www.iammecn.com/wp-content/uploads/2009/12/cacti.jpg"><img class="colorbox-311"  title="cacti" src="http://www.iammecn.com/wp-content/uploads/2009/12/cacti.jpg" alt="cacti" width="528" height="798" /></a></p>
<p>提示我有很多东西没有装,当然这个截图是后截图的,所以有很多已经显示装上了.</p>
<p><strong>4.然后就是net-snmp</strong></p>
<p>yum install net-snmp* -y</p>
<p><strong>5,安装rrdtool</strong></p>
<p>wget <a href="http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.26.tar.gz">http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.26.tar.gz</a></p>
<p>由于目前只在网上找到1.2.6系列可以修改文件支持中文,所以这里就用1.2.6了,最新的1.4.X系列了,我试了一下可以用,但没有研究如何让它支持中文.</p>
<p>修改:    src/rrd_graph.c</p>
<p>#ifdef HAVE_SETLOCALE<br />
//    setlocale(LC_TIME,&#8221;");<br />
#ifdef HAVE_MBSTOWCS<br />
//    setlocale(LC_CTYPE,&#8221;");</p>
<p>注释掉setlocale(LC_TIME,&#8221;");setlocale(LC_CTYPE,&#8221;");增加:setlocale(LC_CTYPE,&#8221;");</p>
<p>如我这样,注意C里面的#不是注释了,所以用//,在这个问题上犯了错了.</p>
<p>然后就是./configure;make;make install</p>
<p><strong>6,然后再去刷新刚才这个配置页面</strong>,提示所有需要的东西已经配置好了.</p>
<p>然后进入设置,把一个windows字体拷到服务器上</p>
<p>在setting里把相关字体配置上.(重要,必须的,否则无法支持中文,一开始我也在这里犯错了.)</p>
<p><strong>7.然后就大功告成了.</strong></p>
<p>接下来是对服务器的连接数进行监控,其实snmp默认就可以支持了.</p>
<p>下载以下模板,导入到你的cacti里就可以了.</p>
<p> <a href="http://www.iammecn.com/wp-content/uploads/2009/12/cacti_graph_template_snmp_connections.zip">cacti_graph_template_snmp_connections</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iammecn.com/2009/12/21/cacti_rrdtool_support_of_the_chinese_connection_monitoring/feed/</wfw:commentRss>
		<slash:comments>65</slash:comments>
		</item>
	</channel>
</rss>

