<?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; squid</title>
	<atom:link href="http://www.iammecn.com/category/squid/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>nginx+squid+gzip压缩</title>
		<link>http://www.iammecn.com/2010/03/31/squid_nginx_gzip/</link>
		<comments>http://www.iammecn.com/2010/03/31/squid_nginx_gzip/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 08:24:20 +0000</pubDate>
		<dc:creator>iammecn</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[squid]]></category>
		<category><![CDATA[gzip]]></category>

		<guid isPermaLink="false">http://www.iammecn.com/2010/03/31/squid_nginx_gzip/</guid>
		<description><![CDATA[现象：nginx0.7.26 squid 2.7.9，发现压缩的页面失效,但如果跳过squid,页面压缩是有效的。]]></description>
			<content:encoded><![CDATA[<p>现象：nginx0.7.26 squid 2.7.9，发现压缩的页面失效,但如果跳过squid,页面压缩是有效的。</p>
<p>Google了一下，主要是两篇文章，两种说法：</p>
<p>1.说是修改squid 的 “broken_vary_encoding all”</p>
<p>由于文章乱转载，一时不能确定出处，所以出处可能是：</p>
<p><a href="http://zys.8800.org/index.php/archives/282">http://zys.8800.org/index.php/archives/282</a></p>
<p>2. nginx默认是使用的动态的gzip压缩，而squid2系列还不支持，所以要重新编译nginx （./configure &#8211;with-http_gzip_static_module）。</p>
<p>出处：<a href="http://bbs.chinaunix.net/viewthread.php?tid=1329820">http://bbs.chinaunix.net/viewthread.php?tid=1329820</a></p>
<p>有趣的是：这个原文出处的指出的原文是：<a href="http://zys.8800.org/?p=267">http://zys.8800.org/?p=267</a>&#160;</p>
<p>但已经404错误了。</p>
<p>经过我的测试：第2种说法是成立的，第1种不成立，但为什么原作者却保留了一篇错误的文章，把正确的反而删了？</p>
<p>如果这篇文章到这里就结束了，肯定会被各位看官扔鸡蛋了，一点原创性的东西都没有，就来骗稿费（真没有稿费…)</p>
<p>所以我对原文给出的nginx配置做了一些优化和测试：</p>
<p>下面是原文给出的nginx配置：</p>
<blockquote><p>&#160;&#160;&#160; gzip&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; on      <br />&#160;&#160;&#160; gzip_static on;       <br />&#160;&#160;&#160; gzip_http_version&#160;&#160; 1.0;       <br />&#160;&#160;&#160; gzip_proxied&#160;&#160;&#160;&#160;&#160;&#160;&#160; any;       <br />&#160;&#160;&#160; gzip_disable&#160;&#160;&#160;&#160;&#160;&#160;&#160; &quot;MSIE [1-6]\.&quot;;       <br />&#160;&#160;&#160; gzip_comp_level&#160;&#160;&#160;&#160; 9;</p>
</blockquote>
<ol>
<li>gzip on后面少一个”;” </li>
<li>经过测试IE6是可以完美支持gzip的，无论是在http 1.0还是1.1的请求下，所以把IE6目前这个最广泛的浏览器排除在外，实在不解，所以我改成：gzip_disable&#160;&#160;&#160;&#160;&#160;&#160;&#160; &quot;MSIE [1-5]\.&quot;; </li>
<li>增加 gzip_types 因为nginx默认只对&quot;text/html“压缩，但同样是文本文件的xml,css,js也是需要压缩的，所以增加这一行<br />
<blockquote>
<p>gzip_types&#160;&#160;&#160;&#160;&#160;&#160; text/plain application/xml&#160; application/x-javascript text/css ;&#160;&#160; </p>
</blockquote>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 详情可以参考： <a href="http://wiki.nginx.org/NginxHttpGzipModule">http://wiki.nginx.org/NginxHttpGzipModule</a></p>
</li>
<li>我对gzip_comp_level进行了测试，分别从1到9，9虽然压缩比率是&#160;&#160; 最大的，但如果不适当，消耗过多的服务器资源，也是适得其反哦。我使用了一个大概是103KB的文本文件，分别使用1-9进行测试 </li>
</ol>
<p align="center">&#160;</p>
<div align="center">
<table cellspacing="1" cellpadding="2" width="400" border="1">
<tbody>
<tr>
<td valign="top" width="132">压缩前</td>
<td valign="top" width="131">压缩比率</td>
<td valign="top" width="131">压缩后</td>
</tr>
<tr>
<td valign="top" width="132">103KB</td>
<td valign="top" width="132">1</td>
<td valign="top" width="132">27KB</td>
</tr>
<tr>
<td valign="top" width="132">103KB</td>
<td valign="top" width="132">2</td>
<td valign="top" width="132">26KB</td>
</tr>
<tr>
<td valign="top" width="132">103KB</td>
<td valign="top" width="132">3</td>
<td valign="top" width="132">26KB</td>
</tr>
<tr>
<td valign="top" width="132">103KB</td>
<td valign="top" width="132">4</td>
<td valign="top" width="132">24KB</td>
</tr>
<tr>
<td valign="top" width="132">103KB</td>
<td valign="top" width="132">5</td>
<td valign="top" width="132">24KB</td>
</tr>
<tr>
<td valign="top" width="132">…</td>
<td valign="top" width="132">…</td>
<td valign="top" width="132">…</td>
</tr>
<tr>
<td valign="top" width="132">103KB</td>
<td valign="top" width="132">9</td>
<td valign="top" width="132">23KB</td>
</tr>
</tbody>
</table></div>
<p>所以我选择了压缩比为4 。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iammecn.com/2010/03/31/squid_nginx_gzip/feed/</wfw:commentRss>
		<slash:comments>55</slash:comments>
		</item>
	</channel>
</rss>

