<?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>icez network</title>
	<atom:link href="http://www.icez.net/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://www.icez.net/blog</link>
	<description>Technical Blog by icez network</description>
	<lastBuildDate>Sun, 29 Aug 2010 12:04:43 +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>0110 &#124; ติดตั้ง openvz บน centos 5 64bit</title>
		<link>http://www.icez.net/blog/811/%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-openvz-%e0%b8%9a%e0%b8%99-centos-5-64bit</link>
		<comments>http://www.icez.net/blog/811/%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-openvz-%e0%b8%9a%e0%b8%99-centos-5-64bit#comments</comments>
		<pubDate>Sun, 29 Aug 2010 12:04:01 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[openvz]]></category>
		<category><![CDATA[virtualization]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=811</guid>
		<description><![CDATA[คู่มือก๊อปวางอีกแล้วครับท่าน วิธีลงไม่รวมถึงการ optimize ระบบ และการตั้งค่า vps นะครับ wget -O /etc/yum.repos.d/openvz.repo http://download.openvz.org/openvz.repo rpm --import http://download.openvz.org/RPM-GPG-Key-OpenVZ yum -y install ovzkernel.x86_64 perl -pi -e s/default=1/default=0/g /etc/grub.conf perl -pi -e &#34;s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g&#34; /etc/sysctl.conf echo &#34;net.ipv4.conf.default.proxy_arp = 0&#34; &#62;&#62; /etc/sysctl.conf echo &#34;net.ipv4.conf.default.send_redirects = 1&#34; &#62;&#62; /etc/sysctl.conf echo &#34;net.ipv4.conf.all.send_redirects = 0&#34; &#62;&#62; /etc/sysctl.conf yum install vzctl.x86_64 vzquota.x86_64 chkconfig [...]]]></description>
			<content:encoded><![CDATA[<p>คู่มือก๊อปวางอีกแล้วครับท่าน<br />
วิธีลงไม่รวมถึงการ optimize ระบบ และการตั้งค่า vps นะครับ</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">wget</span> <span style="color: #660033;">-O</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>yum.repos.d<span style="color: #000000; font-weight: bold;">/</span>openvz.repo http:<span style="color: #000000; font-weight: bold;">//</span>download.openvz.org<span style="color: #000000; font-weight: bold;">/</span>openvz.repo
rpm <span style="color: #660033;">--import</span> http:<span style="color: #000000; font-weight: bold;">//</span>download.openvz.org<span style="color: #000000; font-weight: bold;">/</span>RPM-GPG-Key-OpenVZ
yum <span style="color: #660033;">-y</span> <span style="color: #c20cb9; font-weight: bold;">install</span> ovzkernel.x86_64
<span style="color: #c20cb9; font-weight: bold;">perl</span> <span style="color: #660033;">-pi</span> <span style="color: #660033;">-e</span> s<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">default</span>=<span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">default</span>=<span style="color: #000000;">0</span><span style="color: #000000; font-weight: bold;">/</span>g <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>grub.conf
<span style="color: #c20cb9; font-weight: bold;">perl</span> <span style="color: #660033;">-pi</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g&quot;</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>sysctl.conf
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;net.ipv4.conf.default.proxy_arp = 0&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>sysctl.conf
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;net.ipv4.conf.default.send_redirects = 1&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>sysctl.conf
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;net.ipv4.conf.all.send_redirects = 0&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>sysctl.conf
yum <span style="color: #c20cb9; font-weight: bold;">install</span> vzctl.x86_64 vzquota.x86_64
chkconfig vz on
init <span style="color: #000000;">6</span></pre></div></div>

<p>ที่เหลือก็&#8230; download template มาลง เอาไว้ใน folder /vz/template/cache<br />
<a href="http://wiki.openvz.org/Download/template/precreated">http://wiki.openvz.org/Download/template/precreated</a><br />
<a href="http://download.openvz.org/template/precreated/">http://download.openvz.org/template/precreated/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/811/%e0%b8%95%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b9%89%e0%b8%87-openvz-%e0%b8%9a%e0%b8%99-centos-5-64bit/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>0109 &#124; Cloud Web Hosting</title>
		<link>http://www.icez.net/blog/804/cloud-web-hosting</link>
		<comments>http://www.icez.net/blog/804/cloud-web-hosting#comments</comments>
		<pubDate>Fri, 27 Aug 2010 17:59:25 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[IP Network]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Web Server]]></category>
		<category><![CDATA[carp]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[glusterfs]]></category>
		<category><![CDATA[high availability]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=804</guid>
		<description><![CDATA[บทความต่อไปนี้เป็นเพียงการทดสอบทฤษฎี หรือ Proof of Concept เท่านั้น ยังทดสอบใช้งานจริงไม่ผ่านด้วยสาเหตุทั้งปวง เป้าหมายคือสร้างโฮสติ้งที่ล่มยากๆ และรองรับงานได้ปริมาณมากครับ (โลภมากเนาะมึงนี่) ฝั่ง web server ตรงนี้เป็น cluster ย่อมๆ เลย network ใช้ Virtual IP แต่ทำงานแบบ Dual Mode คือทุกเครื่องจะมีทั้ง Active VIP และ Standby VIP โดยที่ Active VIP ของเครื่อง 1 จะเป็น Standby VIP ของเครื่อง 2 อย่างนี้ไปเรื่อยๆ แล้วใช้ glusterfs ทำ replicate เก็บข้อมูล สามารถยัด node เพิ่มได้เรื่อยๆ ถ้าต้องการพื้นที่เพิ่ม ปัญหาอย่างเดียวที่เจอตอนนี้คือ database ครับ &#8230; มัน&#8230; [...]]]></description>
			<content:encoded><![CDATA[<p>บทความต่อไปนี้เป็นเพียงการทดสอบทฤษฎี หรือ Proof of Concept เท่านั้น ยังทดสอบใช้งานจริงไม่ผ่านด้วยสาเหตุทั้งปวง<br />
เป้าหมายคือสร้าง<a target="_blank" href="http://www.thzhost.com/"><b>โฮสติ้ง</b></a>ที่ล่มยากๆ และรองรับงานได้ปริมาณมากครับ<br />
(โลภมากเนาะมึงนี่)</p>
<p>ฝั่ง web server ตรงนี้เป็น cluster ย่อมๆ เลย network ใช้ Virtual IP แต่ทำงานแบบ Dual Mode คือทุกเครื่องจะมีทั้ง Active VIP และ Standby VIP<br />
โดยที่ Active VIP ของเครื่อง 1 จะเป็น Standby VIP ของเครื่อง 2 อย่างนี้ไปเรื่อยๆ<br />
แล้วใช้ glusterfs ทำ replicate เก็บข้อมูล สามารถยัด node เพิ่มได้เรื่อยๆ ถ้าต้องการพื้นที่เพิ่ม</p>
<p>ปัญหาอย่างเดียวที่เจอตอนนี้คือ database ครับ &#8230; มัน&#8230; ทำงานพร้อมกันแบบ active-active ไม่ได้ T_T<br />
ไม่สามารถใช้ master-master replication ได้ด้วยสาเหตุบางประการ เวลา master ล่ม จะ promote slave ขึ้นมาเป็น master แทนทันที<br />
สามารถสลับเครื่องไปมาตลอด แต่ใช้ ip เดียว วิ่งผ่าน Virtual IP อันนึงครับ<br />
อันนี้เขียน script ช่วยสลับเครื่องเพิ่มเติมไว้ด้วย ยังไม่รู้ว่าใช้งานจริงแล้วจะเน่าอนาถขนาดไหน</p>
<p>สรุป software ที่ใช้ (ในชุดทดสอบ)</p>
<p>- Linux CentOS 5.5 x86_64<br />
- Apache 2.2 / PHP 5.2 / MySQL 5.0<br />
- UCARP (Redundant Network Protocol)<br />
- GlusterFS 3.0.5 (Distributed Storage Engine)<br />
- Plesk 9.5 (Web Hosting Control Panel) ==> Concept ยังไม่ได้ทดสอบใช้งานจริง</p>
<p>จำนวนเครื่องในระบบขั้นต่ำ 4 เครื่อง แบ่งเป็น<br />
- Web Server + Storage 2<br />
- Database 2</p>
<p>ถ้าให้ดีขึ้นก็จับแยก storage ออกมาหน่อยจะดีมาก ด้านล่างเป็น diagram คร่าวๆ ครับ</p>
<p><span id="more-804"></span></p>
<p align="center">
 <a href="http://upic.me/show/16003745" target="_blank"><img border="0" src="http://upic.me/ts/i/pn/img_20100828_003209.jpg"></a><br />
 <a href="http://upic.me/show/16003748" target="_blank"><img border="0" src="http://upic.me/ts/i/4g/img_20100828_003349.jpg"></a><br />
 <a href="http://upic.me/show/16003753" target="_blank"><img border="0" src="http://upic.me/ts/i/90/img_20100828_003813.jpg"></a><br />
 <a href="http://upic.me/show/16003757" target="_blank"><img border="0" src="http://upic.me/ts/i/x4/img_20100828_004140.jpg"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/804/cloud-web-hosting/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>0108 &#124; GlusterFS High Availability Testbed</title>
		<link>http://www.icez.net/blog/802/glusterfs-high-availability-testbed</link>
		<comments>http://www.icez.net/blog/802/glusterfs-high-availability-testbed#comments</comments>
		<pubDate>Thu, 26 Aug 2010 20:49:51 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[IP Network]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[glusterfs]]></category>
		<category><![CDATA[high availability]]></category>
		<category><![CDATA[storage]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=802</guid>
		<description><![CDATA[ยังไม่ขออธิบายอะไรก่อนนะครับ ไว้เขียนแยกอีกที (จะได้เขียนมั้ยเนี่ย) กดดูแบบ hd &#038; full screen นะครับ ไม่งั้นอ่านไม่ออกแน่ๆ (มือสั่นอย่างรุนแรง)]]></description>
			<content:encoded><![CDATA[<p>ยังไม่ขออธิบายอะไรก่อนนะครับ ไว้เขียนแยกอีกที (จะได้เขียนมั้ยเนี่ย)</p>
<p>กดดูแบบ hd &#038; full screen นะครับ ไม่งั้นอ่านไม่ออกแน่ๆ (มือสั่นอย่างรุนแรง)</p>
<p><object width="720" height="420"><param name="movie" value="http://www.youtube.com/v/gU6b5hKa0aA?fs=1&amp;hl=en_US&amp;hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/gU6b5hKa0aA?fs=1&amp;hl=en_US&amp;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="720" height="420"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/802/glusterfs-high-availability-testbed/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>0107 &#124; upic.me traffic by country</title>
		<link>http://www.icez.net/blog/798/upic-me-traffic-by-country</link>
		<comments>http://www.icez.net/blog/798/upic-me-traffic-by-country#comments</comments>
		<pubDate>Thu, 26 Aug 2010 20:10:32 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[IP Network]]></category>
		<category><![CDATA[cdn]]></category>
		<category><![CDATA[upicme]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=798</guid>
		<description><![CDATA[ปล่อยให้มันเก็บสถิติมาวันนึงเต็มๆ ตอนนี้ได้ผลออกมาแล้วครับ ข้อมูลจาก node th-inter ตัวที่ 1 &#8220;ตัวเดียว&#8221; ครับ ประมาณ 1/2 ของการใช้งานจากต่างประเทศ ยกเว้นประเทศสิงคโปร์ และอเมริกา ที่ส่วนใหญ่จะไปเข้า local node ก่อนอื่น&#8230; กราฟสวยๆ ดูดีเนาะ 555+ การใช้งานส่วนใหญ่มาจากฝั่งเอเชียนี่เองครับ จีน ไต้หวัน ญี่ปุ่น เกาหลี ฮ่องกง เวียดนาม ติด top 10 กันถ้วนหน้าเลยกับเว็บ upic.me (แหม่&#8230; ดีใจ 555) ส่วน US ที่ติดมาสืบเนื่องจาก node us มันก็มาดึงข้อมูลจาก node นี้ไปอีกทีแหละครับ ฮาๆ มาดูข้อมูลดิบกันบ้าง จำนวนการเรียกใช้งานทั้งหมด 3,742,108 ครั้ง ในเวลา 22 ชั่วโมงโดยประมาณ แยกเป็นประเทศได้ตามนี้ (หน่วยเป็น byte [...]]]></description>
			<content:encoded><![CDATA[<p>ปล่อยให้มันเก็บสถิติมาวันนึงเต็มๆ<br />
ตอนนี้ได้ผลออกมาแล้วครับ</p>
<p>ข้อมูลจาก node th-inter ตัวที่ 1 &#8220;ตัวเดียว&#8221; ครับ ประมาณ 1/2 ของการใช้งานจากต่างประเทศ<br />
ยกเว้นประเทศสิงคโปร์ และอเมริกา ที่ส่วนใหญ่จะไปเข้า local node</p>
<p>ก่อนอื่น&#8230; กราฟสวยๆ</p>
<p align="center"><a href="http://upic.me/show/15986815" target="_blank"><img border="0" src="http://upic.me/i/69/87q7c.png"></a></p>
<p>ดูดีเนาะ 555+<br />
การใช้งานส่วนใหญ่มาจากฝั่งเอเชียนี่เองครับ จีน ไต้หวัน ญี่ปุ่น เกาหลี ฮ่องกง เวียดนาม<br />
ติด top 10 กันถ้วนหน้าเลยกับเว็บ upic.me (แหม่&#8230; ดีใจ 555)</p>
<p>ส่วน US ที่ติดมาสืบเนื่องจาก node us มันก็มาดึงข้อมูลจาก node นี้ไปอีกทีแหละครับ ฮาๆ</p>
<p><span id="more-798"></span></p>
<p>มาดูข้อมูลดิบกันบ้าง</p>
<p>จำนวนการเรียกใช้งานทั้งหมด 3,742,108 ครั้ง ในเวลา 22 ชั่วโมงโดยประมาณ<br />
แยกเป็นประเทศได้ตามนี้ (หน่วยเป็น byte นะครับ)</p>
<p>China => 202,095,141,780<br />
Taiwan => 30,763,908,755<br />
Japan => 14,640,094,095<br />
Australia => 7,493,311,135<br />
Korea => 7,468,662,887<br />
Hong Kong => 6,542,781,622<br />
Norway => 4,919,033,297<br />
Vietnam => 3,853,647,397<br />
United States => 3,124,140,435<br />
Indonesia => 1,951,024,078<br />
Lao People&#8217;s Democratic Republic => 1,766,248,579<br />
Philippines => 1,704,711,565<br />
Singapore => 1,337,961,045<br />
Sweden => 1,107,215,911<br />
Saudi Arabia => 999,220,699<br />
Egypt => 868,521,618<br />
New Zealand => 723,835,429<br />
Netherlands => 632,524,618<br />
Switzerland => 617,493,578<br />
Spain => 526,749,286<br />
India => 514,174,899<br />
Romania => 441,918,501<br />
Denmark => 426,992,184<br />
Russian Federation => 421,435,931<br />
Satellite Provider => 361,535,996<br />
Brazil => 349,569,983<br />
Macao => 320,394,255<br />
Poland => 309,159,056<br />
Peru => 285,441,537<br />
Mexico => 280,519,642<br />
Belgium => 271,067,356<br />
Finland => 228,320,020<br />
Cambodia => 218,235,864<br />
Israel => 207,022,815<br />
Qatar => 201,281,637<br />
Ireland => 182,970,473<br />
Turkey => 181,759,920<br />
Chile => 173,441,405<br />
Iran => 171,209,368<br />
Portugal => 156,470,473<br />
Mongolia => 151,870,726<br />
Austria => 140,058,698<br />
Argentina => 134,664,927<br />
Hungary => 110,891,007<br />
Bulgaria => 107,699,820<br />
Colombia => 106,465,842<br />
Venezuela => 105,622,605<br />
Morocco => 87,054,948<br />
Kuwait => 66,969,144<br />
Brunei Darussalam => 66,926,526<br />
Greece => 65,023,869<br />
Myanmar => 64,619,894<br />
Latvia => 63,662,660<br />
Germany => 54,857,294<br />
Kazakhstan => 54,557,312<br />
Iceland => 50,645,677<br />
United Kingdom => 50,472,042<br />
Pakistan => 49,128,446<br />
Sri Lanka => 47,442,564<br />
Anonymous Proxy => 44,293,355<br />
South Africa => 40,663,825<br />
Tunisia => 39,690,111<br />
Croatia => 38,689,539<br />
Slovenia => 37,174,011<br />
Costa Rica => 35,742,173<br />
Slovakia => 34,062,566<br />
Oman => 33,970,500<br />
Panama => 30,140,865<br />
Ecuador => 28,924,437<br />
Syrian Arab Republic => 27,284,402<br />
Serbia => 27,167,138<br />
Bhutan => 26,489,490<br />
Sudan => 25,870,512<br />
Jordan => 25,649,128<br />
Mauritius => 25,299,294<br />
Puerto Rico => 24,150,921<br />
Algeria => 21,960,035<br />
Lithuania => 21,290,085<br />
Palestinian Territory => 20,965,637<br />
Bahrain => 20,053,995<br />
Libyan Arab Jamahiriya => 19,502,854<br />
Bolivia => 19,148,809<br />
France => 19,042,514<br />
Estonia => 18,837,829<br />
Dominican Republic => 16,682,118<br />
Yemen => 15,454,628<br />
Iraq => 15,210,516<br />
Paraguay => 15,003,142<br />
Azerbaijan => 14,008,267<br />
Angola => 13,663,817<br />
Bangladesh => 13,235,630<br />
Madagascar => 13,095,413<br />
Guatemala => 12,847,665<br />
Cyprus => 12,464,925<br />
Luxembourg => 11,510,883<br />
Nepal => 11,459,579<br />
Trinidad and Tobago => 11,336,978<br />
Guam => 10,297,892<br />
Malta => 10,271,033<br />
El Salvador => 9,751,282<br />
Maldives => 9,657,324<br />
Faroe Islands => 9,549,256<br />
Nigeria => 9,429,125<br />
N/A => 9,086,745<br />
Northern Mariana Islands => 8,964,550<br />
Cote d&#8217;Ivoire => 8,395,061<br />
Albania => 7,060,391<br />
Georgia => 6,486,080<br />
Uruguay => 5,978,795<br />
Tanzania => 5,792,166<br />
Macedonia => 5,462,526<br />
Jamaica => 5,446,743<br />
Cayman Islands => 5,300,771<br />
Virgin Islands => 5,047,478<br />
Ukraine => 4,682,547<br />
Moldova => 4,588,322<br />
Bosnia and Herzegovina => 4,265,196<br />
Italy => 3,669,517<br />
Greenland => 3,634,035<br />
Congo => 3,537,780<br />
Lebanon => 3,513,405<br />
Chad => 3,050,376<br />
Ghana => 2,974,198<br />
Senegal => 2,702,979<br />
Mozambique => 2,453,999<br />
Nicaragua => 2,411,013<br />
Belarus => 2,358,961<br />
Kenya => 2,189,134<br />
Honduras => 2,178,059<br />
Anguilla => 2,069,787<br />
Gabon => 1,959,629<br />
Guyana => 1,716,600<br />
Kyrgyzstan => 1,650,110<br />
Rwanda => 1,630,538<br />
Satellite Provider => 1,614,305<br />
Mauritania => 1,564,111<br />
Cameroon => 1,562,752<br />
Tajikistan => 1,351,951<br />
French Polynesia => 1,286,239<br />
Bahamas => 1,272,910<br />
Bermuda => 1,168,327<br />
Namibia => 1,122,896<br />
Equatorial Guinea => 968,711<br />
Ethiopia => 964,567<br />
Samoa => 928,088<br />
Czech Republic => 901,837<br />
Uzbekistan => 838,534<br />
Liechtenstein => 780,715<br />
Suriname => 763,885<br />
Satellite Provider => 761,500<br />
New Caledonia => 723,001<br />
Aruba => 689,709<br />
Jersey => 631,052<br />
Djibouti => 611,903<br />
Seychelles => 598,085<br />
Uganda => 577,081<br />
Mali => 551,049<br />
Zimbabwe => 520,859<br />
Burkina Faso => 484,435<br />
Fiji => 481,484<br />
Armenia => 465,542<br />
Aland Islands => 431,218<br />
Botswana => 425,821<br />
Saint Vincent and the Grenadines => 324,732<br />
Asia/Pacific Region => 304,056<br />
Cook Islands => 237,992<br />
Papua New Guinea => 209,561<br />
Barbados => 156,931<br />
Belize => 137,707<br />
Gibraltar => 132,739<br />
Grenada => 110,107<br />
Satellite Provider => 104,744<br />
Reunion => 85,409<br />
Montenegro => 82,144<br />
Saint Kitts and Nevis => 70,953<br />
Antigua and Barbuda => 21,244<br />
Saint Lucia => 12,181<br />
Monaco => 11,461</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/798/upic-me-traffic-by-country/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>0106 &#124; ไอซ์ เดอะสตอ &#8211; How To</title>
		<link>http://www.icez.net/blog/775/%e0%b9%84%e0%b8%ad%e0%b8%8b%e0%b9%8c-%e0%b9%80%e0%b8%94%e0%b8%ad%e0%b8%b0%e0%b8%aa%e0%b8%95%e0%b8%ad-how-to</link>
		<comments>http://www.icez.net/blog/775/%e0%b9%84%e0%b8%ad%e0%b8%8b%e0%b9%8c-%e0%b9%80%e0%b8%94%e0%b8%ad%e0%b8%b0%e0%b8%aa%e0%b8%95%e0%b8%ad-how-to#comments</comments>
		<pubDate>Tue, 10 Aug 2010 05:23:48 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[karaoke]]></category>
		<category><![CDATA[ริท]]></category>
		<category><![CDATA[ไอซ์ เดอะสตอ]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=775</guid>
		<description><![CDATA[หากท่านกำลังอิ่มอร่อยกับมื้อเย็นหรือมื้ออะไรก็ตามที่เพิ่งกินมา… ได้โปรด อย่าเพิ่งกดฟังเพลงนี้ ไม่เช่นนั้นอย่ามาหาว่าเรายังไม่ได้เตือน !!! ให้ดอกไม้หาเรื่องไปเจอไม่เคยเว้นวัน คำพูดทุกคำเลือกสรรให้เธอรู้สึกดี โทรถามว่าเหนื่อยไหม เธอชอบอะไร หามาให้ทันที ทำเรื่องที่เขาว่าผู้หญิงจะมีใจ * หนังสือทุกเล่มที่ดู อ่านแล้วทำตามมันไปก็ยังอย่างเก่า ปรึกษาคนที่ว่ารู้กี่คน ก็ดูไม่มีความหมาย ไม่เคยได้ใจ ของเธอ ** จะต้องทำยังไงให้เธอมารัก ถามเธอจริง ๆ ช่วยตอบได้ไหม ยิ้มให้เธอไป จนเหนื่อยใจเแล้ว ก็ยังโดนเมินอย่างนี้ หาทางออกไม่เจอ เห็นใจเถอะนะ รบกวนเธอมาแนะนำวิธี จะยากเท่าไหร่ ฉันยินดีทำให้เธอ Message ไป ว่าคิดถึงเธอ ไม่รู้เท่าไหร่เอาใจหรือแคร์ เธอมากอย่างไง ก็อย่างเคย นี่ฉันพลาดตรงไหน ทำไมที่ทำไม่ช่วยอะไรเลย หรือฉันมีค่าไม่มากพอ ให้ซึ้งใจ หนังสือทุกเล่มที่ดู อ่านแล้วทำตามมันไปก็ยังอย่างเก่า ปรึกษาคนที่ว่ารู้กี่คน ก็ดูไม่มีความหมาย ได้แต่คาใจ เหมือนเคย ( ซ้ำ ** ) ( ซ้ำ ** ) [...]]]></description>
			<content:encoded><![CDATA[<p>หากท่านกำลังอิ่มอร่อยกับมื้อเย็นหรือมื้ออะไรก็ตามที่เพิ่งกินมา… ได้โปรด อย่าเพิ่งกดฟังเพลงนี้<br />
ไม่เช่นนั้นอย่ามาหาว่าเรายังไม่ได้เตือน !!!</p>
<script type='text/javascript'>wpa_urls.push('\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0077\u0077\u0077\u002e\u0069\u0063\u0065\u007a\u002e\u006e\u0065\u0074\u002f\u0062\u006c\u006f\u0067\u002f\u0077\u0070\u002d\u0063\u006f\u006e\u0074\u0065\u006e\u0074\u002f\u0075\u0070\u006c\u006f\u0061\u0064\u0073\u002f\u0032\u0030\u0031\u0030\u002f\u0030\u0038\u002f\u0069\u0063\u0065\u007a\u002d\u0068\u006f\u0077\u0074\u006f\u002e\u006d\u0070\u0033');</script><a class='wpaudio wpaudio_url_0' href='#'>ไอซ์ เดอะสตอ - How To</a>
<p>ให้ดอกไม้หาเรื่องไปเจอไม่เคยเว้นวัน<br />
คำพูดทุกคำเลือกสรรให้เธอรู้สึกดี<br />
โทรถามว่าเหนื่อยไหม เธอชอบอะไร หามาให้ทันที<br />
ทำเรื่องที่เขาว่าผู้หญิงจะมีใจ</p>
<p>* หนังสือทุกเล่มที่ดู อ่านแล้วทำตามมันไปก็ยังอย่างเก่า<br />
ปรึกษาคนที่ว่ารู้กี่คน ก็ดูไม่มีความหมาย ไม่เคยได้ใจ ของเธอ</p>
<p>** จะต้องทำยังไงให้เธอมารัก ถามเธอจริง ๆ ช่วยตอบได้ไหม<br />
ยิ้มให้เธอไป จนเหนื่อยใจเแล้ว ก็ยังโดนเมินอย่างนี้<br />
หาทางออกไม่เจอ เห็นใจเถอะนะ รบกวนเธอมาแนะนำวิธี<br />
จะยากเท่าไหร่ ฉันยินดีทำให้เธอ</p>
<p>Message ไป ว่าคิดถึงเธอ ไม่รู้เท่าไหร่เอาใจหรือแคร์ เธอมากอย่างไง ก็อย่างเคย<br />
นี่ฉันพลาดตรงไหน ทำไมที่ทำไม่ช่วยอะไรเลย<br />
หรือฉันมีค่าไม่มากพอ ให้ซึ้งใจ</p>
<p>หนังสือทุกเล่มที่ดู อ่านแล้วทำตามมันไปก็ยังอย่างเก่า<br />
ปรึกษาคนที่ว่ารู้กี่คน ก็ดูไม่มีความหมาย ได้แต่คาใจ เหมือนเคย</p>
<p>( ซ้ำ ** )</p>
<p>( ซ้ำ ** )</p>
<p>ให้ยากเท่าไหร่ ก็เต็มใจทำเพื่อเธอ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/775/%e0%b9%84%e0%b8%ad%e0%b8%8b%e0%b9%8c-%e0%b9%80%e0%b8%94%e0%b8%ad%e0%b8%b0%e0%b8%aa%e0%b8%95%e0%b8%ad-how-to/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://www.icez.net/blog/wp-content/uploads/2010/08/icez-howto.mp3" length="3583581" type="audio/mpeg" />
		</item>
		<item>
		<title>0105 &#124; ไอซ์ เดอะสตอ &#8211; นิยาย</title>
		<link>http://www.icez.net/blog/766/%e0%b9%84%e0%b8%ad%e0%b8%8b%e0%b9%8c-%e0%b9%80%e0%b8%94%e0%b8%ad%e0%b8%b0%e0%b8%aa%e0%b8%95%e0%b8%ad-%e0%b8%99%e0%b8%b4%e0%b8%a2%e0%b8%b2%e0%b8%a2</link>
		<comments>http://www.icez.net/blog/766/%e0%b9%84%e0%b8%ad%e0%b8%8b%e0%b9%8c-%e0%b9%80%e0%b8%94%e0%b8%ad%e0%b8%b0%e0%b8%aa%e0%b8%95%e0%b8%ad-%e0%b8%99%e0%b8%b4%e0%b8%a2%e0%b8%b2%e0%b8%a2#comments</comments>
		<pubDate>Mon, 09 Aug 2010 12:32:13 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[karaoke]]></category>
		<category><![CDATA[นิยาย]]></category>
		<category><![CDATA[โตโน่]]></category>
		<category><![CDATA[ไอซ์ เดอะสตอ]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=766</guid>
		<description><![CDATA[หากท่านกำลังอิ่มอร่อยกับมื้อเย็นหรือมื้ออะไรก็ตามที่เพิ่งกินมา&#8230; ได้โปรด อย่าเพิ่งกดฟังเพลงนี้ ไม่เช่นนั้นอย่ามาหาว่าเรายังไม่ได้เตือน !!! ความรักของเราที่เป็นอยู่ ไม่รู้จะไปได้นานแค่ไหน ที่ฉันยังหวั่นใจ ก็เพราะมันไม่มีอะไรลงตัวเลยซักอย่าง ชีวิตของฉันที่เป็นอยู่ ก็ดูยังไกลและหนักเหลือเกิน กับเธอที่ต้องร่วมเดิน ต้องมาเผชิญความเป็นจริงที่ไม่สวยงาม * เธอเป็นเหมือนแสงดาว ที่ช่างพร่างพราวและสดใส แต่ฉันมีแค่ใจ ที่แม้ทุ่มเทเท่าไหร่ก็ยังไม่คู่ควร ** มันไม่ใช่รักในนิยาย คอยเตือนตัวเองเข้าไว้ให้รับความจริง ถ้ามันต้องสิ้นสุดทุกสิ่ง แค่อยากให้รู้ที่จริงรักเธอมากแค่ไหน เพราะฉันมันไม่ใช่เจ้าชาย แค่สุขที่มันหล่อเลี้ยงใจเธอไปวัน ๆ ถ้าเจอคนในฝันเมื่อไหร่ ไม่ต้องทนลำบากใจ จะไปก็ไม่ว่ากัน อยากบอกว่าฉันเข้าใจ ( ซ้ำ * , ** ) มันไม่ใช่รักในนิยาย คอยเตือนตัวเองเข้าไว้ให้รับความจริง ถ้าหากมันต้องสิ้นสุดทุกสิ่ง แค่อยากให้รู้ที่จริงรักเธอมากแค่ไหน เพราะฉันมันไม่ใช่เจ้าชาย แค่สุขที่มันหล่อเลี้ยงใจเธอไปวัน ๆ เธอเจอคนในฝันเมื่อไหร่ ไม่ต้องทนลำบากใจ จะไปก็ไม่ว่ากัน อยากบอกว่าฉันเข้าใจ]]></description>
			<content:encoded><![CDATA[<p>หากท่านกำลังอิ่มอร่อยกับมื้อเย็นหรือมื้ออะไรก็ตามที่เพิ่งกินมา&#8230; ได้โปรด อย่าเพิ่งกดฟังเพลงนี้<br />
ไม่เช่นนั้นอย่ามาหาว่าเรายังไม่ได้เตือน !!!</p>
<script type='text/javascript'>wpa_urls.push('\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0077\u0077\u0077\u002e\u0069\u0063\u0065\u007a\u002e\u006e\u0065\u0074\u002f\u0062\u006c\u006f\u0067\u002f\u0077\u0070\u002d\u0063\u006f\u006e\u0074\u0065\u006e\u0074\u002f\u0075\u0070\u006c\u006f\u0061\u0064\u0073\u002f\u0032\u0030\u0031\u0030\u002f\u0030\u0038\u002f\u0069\u0063\u0065\u007a\u002d\u0066\u0069\u0063\u0074\u0069\u006f\u006e\u002e\u006d\u0070\u0033');</script><a class='wpaudio wpaudio_url_1' href='#'>ไอซ์ เดอะสตอ - นิยาย</a>
<p>ความรักของเราที่เป็นอยู่ ไม่รู้จะไปได้นานแค่ไหน<br />
ที่ฉันยังหวั่นใจ ก็เพราะมันไม่มีอะไรลงตัวเลยซักอย่าง</p>
<p>ชีวิตของฉันที่เป็นอยู่ ก็ดูยังไกลและหนักเหลือเกิน<br />
กับเธอที่ต้องร่วมเดิน ต้องมาเผชิญความเป็นจริงที่ไม่สวยงาม</p>
<p>* เธอเป็นเหมือนแสงดาว ที่ช่างพร่างพราวและสดใส<br />
แต่ฉันมีแค่ใจ ที่แม้ทุ่มเทเท่าไหร่ก็ยังไม่คู่ควร</p>
<p>** มันไม่ใช่รักในนิยาย คอยเตือนตัวเองเข้าไว้ให้รับความจริง<br />
ถ้ามันต้องสิ้นสุดทุกสิ่ง แค่อยากให้รู้ที่จริงรักเธอมากแค่ไหน<br />
เพราะฉันมันไม่ใช่เจ้าชาย แค่สุขที่มันหล่อเลี้ยงใจเธอไปวัน ๆ<br />
ถ้าเจอคนในฝันเมื่อไหร่ ไม่ต้องทนลำบากใจ จะไปก็ไม่ว่ากัน<br />
อยากบอกว่าฉันเข้าใจ</p>
<p>( ซ้ำ * , ** )</p>
<p>มันไม่ใช่รักในนิยาย คอยเตือนตัวเองเข้าไว้ให้รับความจริง<br />
ถ้าหากมันต้องสิ้นสุดทุกสิ่ง แค่อยากให้รู้ที่จริงรักเธอมากแค่ไหน<br />
เพราะฉันมันไม่ใช่เจ้าชาย แค่สุขที่มันหล่อเลี้ยงใจเธอไปวัน ๆ<br />
เธอเจอคนในฝันเมื่อไหร่ ไม่ต้องทนลำบากใจ จะไปก็ไม่ว่ากัน<br />
อยากบอกว่าฉันเข้าใจ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/766/%e0%b9%84%e0%b8%ad%e0%b8%8b%e0%b9%8c-%e0%b9%80%e0%b8%94%e0%b8%ad%e0%b8%b0%e0%b8%aa%e0%b8%95%e0%b8%ad-%e0%b8%99%e0%b8%b4%e0%b8%a2%e0%b8%b2%e0%b8%a2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.icez.net/blog/wp-content/uploads/2010/08/icez-fiction.mp3" length="4164544" type="audio/mpeg" />
		</item>
		<item>
		<title>0104 &#124; ปุ่มอัพโหลดรูปเข้า upic.me ด่วนทันใจ</title>
		<link>http://www.icez.net/blog/721/quick-upic-me-upload-button</link>
		<comments>http://www.icez.net/blog/721/quick-upic-me-upload-button#comments</comments>
		<pubDate>Sun, 11 Jul 2010 08:24:05 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[PHP Coding]]></category>
		<category><![CDATA[Web Server]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[upicme]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=721</guid>
		<description><![CDATA[คุณสมบัติ - upload รูปได้ทุก format ที่ upic.me รองรับ ขนาดใหญ่ได้ถึง 2MB - เลือกอัพได้ทีละหลายๆ รูปเหมือนหน้าแรก upic.me ด้วย - มีสถานะการ upload ขึ้นตลอดการอัพ และจะหายไปเองเมื่ออัพเสร็จ - อัพเสร็จ code ขึ้นในกล่องข้อความทันที ไม่ต้องก๊อปวาง - ปรับแต่งหน้าตา สีสันของปุ่มได้ตามสะดวก (ส่วนแก้ไขข้อความ จะทำ version ถัดไปครับ) - เอาไปใช้กันได้ฟรีๆ ไม่ต้องแปะ link กลับ ไม่ต้องแปะเครดิตใดๆ ทั้งสิ้น - ไม่เปลือง bandwidth ของ host ด้วย เพราะอัพตรงเข้ามาที่ server ของ upic.me เลย ถ้างงยังไงลองดูตัวอย่าง code ด้านล่างได้เลยครับ &#60;script type=&#34;text/javascript&#34; [...]]]></description>
			<content:encoded><![CDATA[<p>คุณสมบัติ</p>
<p>- upload รูปได้ทุก format ที่ upic.me รองรับ ขนาดใหญ่ได้ถึง 2MB<br />
- เลือกอัพได้ทีละหลายๆ รูปเหมือนหน้าแรก upic.me ด้วย<br />
- มีสถานะการ upload ขึ้นตลอดการอัพ และจะหายไปเองเมื่ออัพเสร็จ<br />
- อัพเสร็จ code ขึ้นในกล่องข้อความทันที ไม่ต้องก๊อปวาง<br />
- ปรับแต่งหน้าตา สีสันของปุ่มได้ตามสะดวก (ส่วนแก้ไขข้อความ จะทำ version ถัดไปครับ)<br />
- เอาไปใช้กันได้ฟรีๆ ไม่ต้องแปะ link กลับ ไม่ต้องแปะเครดิตใดๆ ทั้งสิ้น<br />
- ไม่เปลือง bandwidth ของ host ด้วย เพราะอัพตรงเข้ามาที่ server ของ upic.me เลย</p>
<p>ถ้างงยังไงลองดูตัวอย่าง code ด้านล่างได้เลยครับ</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">&lt;script type=&quot;text/javascript&quot; src=&quot;http://upic.me/js/embedupload.js&quot;&gt;&lt;/script&gt;
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
upic_target <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;targetelement&quot;</span><span style="color: #339933;">;</span>
upic_type <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;resulttype&quot;</span><span style="color: #339933;">;</span>
upic_buttoncss <span style="color: #339933;">+=</span> <span style="color: #3366CC;">&quot;appendcss&quot;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<p>upic_target => จะให้เอา code ไปแปะที่ช่องไหน<br />
upic_type => รูปแบบ code ที่แปะ มี htmlfull / htmlthumb / bbfull / bbthumb (ถ้าไม่ระบุ จะถือว่าเป็น bbthumb ครับ)<br />
upic_buttoncss => css เสริมสำหรับข้อความในปุ่ม เผื่ออยากแก้สีแก้รูปแบบ ใส่ไปได้เลยครับ (การใส่สี รองรับ code แบบ #<a href="http://search.twitter.com/search?q=%23abcdef" rel="nofollow" target="_blank" title="Search Twitter for &quot;abcdef&quot;">abcdef</a> เท่านั้นนะครับ)</p>
<p>ส่วน uploadprogress จะมีประมาณนี้ครับ</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">&lt;style type<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;text/css&quot;</span><span style="color: #00AA00;">&gt;</span>
<span style="color: #cc00cc;">#upic_uploader</span><span style="color: #00AA00;">&#123;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #cc00cc;">#upic_uploadprogress</span><span style="color: #00AA00;">&#123;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.progressWrapper</span><span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">margin-top</span><span style="color: #00AA00;">:</span><span style="color: #933;">5px</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.progressContainer</span><span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">border-bottom</span><span style="color: #00AA00;">:</span><span style="color: #933;">1px</span> <span style="color: #993333;">dotted</span> <span style="color: #cc00cc;">#ddd</span><span style="color: #00AA00;">;</span>padding<span style="color: #00AA00;">:</span><span style="color: #933;">2px</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.progressName</span><span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">text-align</span><span style="color: #00AA00;">:</span><span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">;</span>color<span style="color: #00AA00;">:</span><span style="color: #000000; font-weight: bold;">black</span><span style="color: #00AA00;">;</span>margin-<span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">:</span><span style="color: #933;">2px</span><span style="color: #00AA00;">;</span>float<span style="color: #00AA00;">:</span><span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.progressBarStatus</span><span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#666</span><span style="color: #00AA00;">;</span>text-align<span style="color: #00AA00;">:</span><span style="color: #000000; font-weight: bold;">right</span><span style="color: #00AA00;">;</span>margin<span style="color: #00AA00;">:</span><span style="color: #933;">1px</span> <span style="color: #933;">1px</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>font-<span style="color: #000000; font-weight: bold;">size</span><span style="color: #00AA00;">:</span><span style="color: #933;">9px</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.red</span><span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span><span style="color: #993333;">solid</span> <span style="color: #933;">1px</span> <span style="color: #cc00cc;">#B50000</span><span style="color: #00AA00;">;</span>background-<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#FFEBEB</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.green</span><span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span><span style="color: #993333;">solid</span> <span style="color: #933;">1px</span> <span style="color: #cc00cc;">#DDF0DD</span><span style="color: #00AA00;">;</span>background-<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#EBFFEB</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.blue</span><span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span><span style="color: #993333;">solid</span> <span style="color: #933;">1px</span> <span style="color: #cc00cc;">#CEE2F2</span><span style="color: #00AA00;">;</span>background-<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#F0F5FF</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.progressBarInProgress</span><span style="color: #00AA00;">,</span><span style="color: #6666ff;">.progressBarComplete</span><span style="color: #00AA00;">,</span><span style="color: #6666ff;">.progressBarError</span><span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">clear</span><span style="color: #00AA00;">:</span><span style="color: #993333;">both</span><span style="color: #00AA00;">;</span>font-<span style="color: #000000; font-weight: bold;">size</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>width<span style="color: #00AA00;">:</span><span style="color: #933;"><span style="color: #cc66cc;">0</span>%</span><span style="color: #00AA00;">;</span>height<span style="color: #00AA00;">:</span><span style="color: #933;">2px</span><span style="color: #00AA00;">;</span>background-<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #000000; font-weight: bold;">blue</span><span style="color: #00AA00;">;</span>margin-<span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span><span style="color: #933;">4px</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.progressBarComplete</span><span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;"><span style="color: #cc66cc;">100</span>%</span><span style="color: #00AA00;">;</span>background-<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #993333;">green</span><span style="color: #00AA00;">;</span>visibility<span style="color: #00AA00;">:</span><span style="color: #993333;">hidden</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.progressBarError</span><span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;"><span style="color: #cc66cc;">100</span>%</span><span style="color: #00AA00;">;</span>background-<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #993333;">red</span><span style="color: #00AA00;">;</span>visibility<span style="color: #00AA00;">:</span><span style="color: #993333;">hidden</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
&lt;/style<span style="color: #00AA00;">&gt;</span></pre></div></div>

<p>(พอดีมันผ่าน compressor มาหลายรอบ code เลยดูยากหน่อย ขออภัยด้วยครับ)<br />
ถ้าอยากแก้ไขหน้าตาสีสันยังไง สามารถ copy code ด้านบนไปแก้ไข แล้วใส่ต่อจาก script ได้เลยครับ</p>
<p><span id="more-721"></span></p>
<p>.<br />.<br />
<hr />.<br />.</p>
<p>ตัวอย่าง code นี้สำหรับแปะในบอร์ด SMF ไฟล์ Post.template.php ได้ทันที</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">&lt;script type=&quot;text/javascript&quot; src=&quot;http://upic.me/js/embedupload.js&quot;&gt;&lt;/script&gt;
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
upic_target <span style="color: #339933;">=</span> document.<span style="color: #660066;">postmodify</span>.<span style="color: #660066;">message</span><span style="color: #339933;">;</span>
upic_type <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;bbthumb&quot;</span><span style="color: #339933;">;</span>
upic_buttoncss <span style="color: #339933;">+=</span> <span style="color: #3366CC;">&quot;color:#000000;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<p>อันด้านล่างนี้สำหรับ discuz</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">&lt;script type=&quot;text/javascript&quot; src=&quot;http://upic.me/js/embedupload.js&quot;&gt;&lt;/script&gt;
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
upic_target <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;postmessage&quot;</span><span style="color: #339933;">;</span>
upic_type <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;bbthumb&quot;</span><span style="color: #339933;">;</span>
upic_buttoncss <span style="color: #339933;">+=</span> <span style="color: #3366CC;">&quot;color:#000000;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<p>=======================<br />
update 2010-08-07 :: custom function สำหรับแทรก code เข้าพวก wysiwyg editor ครับ</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">&lt;script type=&quot;text/javascript&quot; src=&quot;http://upic.me/js/embedupload.js&quot;&gt;&lt;/script&gt;
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
upic_target <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;postmessage&quot;</span><span style="color: #339933;">;</span>
upic_type <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;bbthumb&quot;</span><span style="color: #339933;">;</span>
upic_buttoncss <span style="color: #339933;">+=</span> <span style="color: #3366CC;">&quot;color:#000000;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">function</span> upic_custom<span style="color: #009900;">&#40;</span>urlshow<span style="color: #339933;">,</span> urlfull<span style="color: #339933;">,</span> urlthumb<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #006600; font-style: italic;">// do anything here </span>
<span style="color: #009900;">&#125;</span> 
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<p>ตัวอย่างด้านล่างสำหรับ SMF 2.0 ขึ้นไปครับ รองรับการทำงานของ WYSIWYG editor เรียบร้อย</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">&lt;script type=&quot;text/javascript&quot; src=&quot;http://upic.me/js/embedupload.js&quot;&gt;&lt;/script&gt;
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
upic_target <span style="color: #339933;">=</span> document.<span style="color: #660066;">postmodify</span>.<span style="color: #660066;">message</span><span style="color: #339933;">;</span>
upic_type <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;bbthumb&quot;</span><span style="color: #339933;">;</span>
upic_buttoncss  <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;color:#000000;&quot;</span><span style="color: #339933;">;</span>
upic_buttontext <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;Select Images &lt;span class=<span style="color: #000099; font-weight: bold;">\&quot;</span>buttonSmall<span style="color: #000099; font-weight: bold;">\&quot;</span>&gt;(2 MB Max)&lt;/span&gt;&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> upic_custom<span style="color: #009900;">&#40;</span>urlshow<span style="color: #339933;">,</span> urlfull<span style="color: #339933;">,</span> urlthumb<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>oEditorHandle_message.<span style="color: #660066;">bRichTextEnabled</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
oEditorHandle_message.<span style="color: #660066;">insertText</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;&lt;a href=<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span> <span style="color: #339933;">+</span> urlshow <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>&gt;&lt;img src=<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span> <span style="color: #339933;">+</span> urlthumb <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span> border=<span style="color: #000099; font-weight: bold;">\&quot;</span>0<span style="color: #000099; font-weight: bold;">\&quot;</span>&gt;&lt;/a&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
upic_target.<span style="color: #660066;">value</span> <span style="color: #339933;">+=</span> <span style="color: #3366CC;">&quot;[url=&quot;</span><span style="color: #339933;">+</span>urlshow<span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;][img]&quot;</span><span style="color: #339933;">+</span>urlthumb<span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;[/img][/url]&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/721/quick-upic-me-upload-button/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>0103 &#124; top &#8211; Linux Administrative Tools</title>
		<link>http://www.icez.net/blog/715/top-linux-administrative-tools</link>
		<comments>http://www.icez.net/blog/715/top-linux-administrative-tools#comments</comments>
		<pubDate>Fri, 09 Jul 2010 12:41:01 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[monitor]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[top]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=715</guid>
		<description><![CDATA[เอามาลง blog ตัวเองซักที&#8230; &#8221; top &#8220; (capture ช้าไปสองวิ เสียดายจัง) ไม่ต้องลงเพิ่ม ติดมากับ os อยู่แล้วไม่ว่าจะลงแบบ minimal ขนาดไหน หรือถ้าทำหายไป มันจะอยู่ใน package &#8220;procps&#8221; ครับ มันบอกอะไรบ้าง ไล่ทีละบรรทัด เลยนะครับ (คิดจากค่าปกติของ centos ซึ่ง os อื่นๆ ก็คล้ายๆ กัน อาจมีแตกต่างบ้างแล้วแต่การปรับตั้งค่า) บรรทัดบนสุด top &#8211; 09:13:20 up 187 days,&#160; 8:40,&#160; 1 user,&#160; load average: 0.43, 0.66, 0.61 สีแดง: เวลาปัจจุบันของ server สีเขียว: uptime (ระยะเวลาตั้งแต่ boot OS ขึ้นมา) [...]]]></description>
			<content:encoded><![CDATA[<p>เอามาลง blog ตัวเองซักที&#8230;</p>
<h1>&#8221; top &#8220;</h1>
<p><a href="http://upic.me/e5w8j" target="_blank"><img border="0" src="http://upic.me/i/mc/ke4ac.png" alt="" /></a><br />
(capture  ช้าไปสองวิ เสียดายจัง)</p>
<p>ไม่ต้องลงเพิ่ม ติดมากับ os  อยู่แล้วไม่ว่าจะลงแบบ minimal ขนาดไหน<br />
หรือถ้าทำหายไป มันจะอยู่ใน  package &#8220;procps&#8221; ครับ</p>
<p><strong>มันบอกอะไรบ้าง</strong><br />
ไล่ทีละบรรทัด เลยนะครับ (คิดจากค่าปกติของ centos ซึ่ง os อื่นๆ ก็คล้ายๆ กัน  อาจมีแตกต่างบ้างแล้วแต่การปรับตั้งค่า)</p>
<p>บรรทัดบนสุด<br />
top &#8211; <span style="color: red;">09:13:20</span> <span style="color: green;">up 187 days,&nbsp; 8:40</span>,&nbsp; <span style="color: purple;">1 user</span>,&nbsp; <span style="color: blue;">load average: 0.43, 0.66, 0.61</span><br />
<span style="color: red;">สีแดง</span>: เวลาปัจจุบันของ server<br />
<span style="color: green;">สีเขียว</span>: uptime (ระยะเวลาตั้งแต่ boot OS ขึ้นมา)<br />
<span style="color: purple;">สีม่วง</span>: จำนวน user ที่ login เข้าไปใน shell (การ login หน้าเครื่อง + ssh ที่เปิด terminal เท่านั้น)<br />
<span style="color: blue;">สีน้ำเงิน</span>: load average : ปริมาณงานที่ &#8220;ค้าง&#8221; ในระบบ<span class="bbc_u">เฉลี่ย</span> ในรอบ 1 , 5 และ 15 นาทีตามลำดับ</p>
<p>บรรทัดที่ 2: บรรทัดนี้จะบอกข้อมูลเกี่ยวกับ process ในเครื่องครับ<br />
Tasks: <span style="color: red;">183 total</span>,   <span style="color: green;">3 running</span>, <span style="color: purple;">180 sleeping</span>,   <span style="color: blue;">0 stopped</span>,   <span style="color: pink;">0 zombie</span><br />
<span style="color: red;">สีแดง</span>: จำนวน process ทั้งหมด<br />
<span style="color: green;">สีเขียว</span>: จำนวน process ที่กำลังเรียกใช้ CPU อยู่ &#8220;ณ เวลานั้นๆ&#8221;<br />
<span style="color: purple;">สีม่วง</span>: จำนวน process ที่ไม่มีการทำงาน/ไม่มีการเรียกใช้ CPU อยู่<br />
<span style="color: blue;">สีน้ำเงิน</span>: process ที่อยู่ในสถานะ &#8220;หยุด&#8221; (ไอนี้ไม่แน่ใจครับ คู่มือมันเขียนแบบนั้นแต่ผมไม่เคยเห็นตัวเลขขึ้นซักที)<br />
<span style="color: pink;">สีชมพู</span>: process ผีดิบ <img class="smiley" title="lol" src="http://www.thaihosttalk.com/Smileys/default/biggrin.gif" border="0" alt="lol" /> มันคือ process ที่ตาย/จบการทำงานไปแล้ว แต่ยังไม่สามารถ clear ออกจากหน่วยความจำได้ ส่วนมากจะเป็นพวก process ที่รอการตอบสนองจาก hardware ต่างๆ อยู่ครับ (รวมถึงแรมด้วย)</p>
<p>บรรทัดที่ 3: การใช้งาน CPU  อันนี้มีของเล่นนิดหน่อยครับ สำหรับเครื่องที่ cpu หลาย core หรือหลาย cpu<br />
Cpu(s):   4.0%us,  0.7%sy,  0.0%ni, 94.1%id,  0.9%wa,  0.0%hi,  0.3%si,  0.0%st</p>
<p>สังเกต ดีๆ มันจะเขียนหน้าบรรทัดว่า Cpu(s) &lt;&#8211; ตรง (s) หมายความว่าเป็นภาพรวม  cpu ทุก core<br />
ให้กดแป้นพิมพ์เลข 1 ตรงแป้นพิมพ์ธรรมดา ที่อยู่ข้างๆ  ปุ่มตัวหนอน (` / ~) แล้วมันจะแตกออกมาเป็นแบบนี้ครับ</p>
<p>Cpu0  :  27.6%us,  7.2%sy,  0.2%ni, 53.6%id, 10.9%wa,  0.0%hi,  0.5%si,  0.0%st<br />
Cpu1   : 28.1%us,  7.2%sy,  0.1%ni, 55.3%id,  9.0%wa,  0.0%hi,  0.4%si,   0.0%st<br />
Cpu2  : 27.8%us,  7.0%sy,  0.2%ni, 62.0%id,  2.8%wa,  0.0%hi,   0.2%si,  0.0%st<br />
Cpu3  : 28.1%us,  7.3%sy,  0.2%ni, 58.8%id,   3.4%wa,  0.2%hi,  2.1%si,  0.0%st</p>
<p>แยกกันให้เห็นหมดเลย ว่า CPU  ไหนกำลังทำอะไรอยู่<br />
ทีนี้ แต่ละ column ที่มีตัวอักษรย่อสองตัว  มีความหมายต่างกันตามนี้ครับ</p>
<p>us =&gt; user :: เป็นการเรียกใช้ CPU  ตามปกติของโปรแกรม ที่เป็นการประมวลผลภายในโปรแกรมนั้นๆ<br />
sy =&gt; system  :: การเรียกใช้คำสั่งในระดับ kernel ที่มีการประมวลผลอยู่ภายใน kernel  โดยไม่เรียกใช้ hardware<br />
ni =&gt; nice ::  การจัดลำดับความสำคัญของการประมวลผล (priority) ไว้สลับการทำงานของ process  ที่มี priority ต่างๆ กันเวลาเรียกใช้ cpu พร้อมๆ กัน<br />
id =&gt; idle ::  cpu ที่ว่างงาน<br />
wa =&gt; iowait :: เป็นการ &#8216;เสีย เวลารอ&#8217; การเรียกใช้ และติดต่อกับ hardware ตั้งแต่ harddisk ram  การ์ดจอ การ์ดแลน (แต่ส่วนใหญ่ก็ harddisk แหละ)<br />
hi =&gt; ?<br />
si =&gt;  ? (สามอันนี้ขออภัยด้วยครับ ไม่ทราบจริงๆ  ส่วนมากก็ไม่ค่อยขึ้นมาให้เห็นเท่าไหร่ด้วย)<br />
st =&gt; ?</p>
<p>บรรทัดที่ 4-5: เกี่ยวกับหน่วยความจำ ขอรวบเป็นหัวข้อเดียวเลยนะครับ เพราะมันเกี่ยวข้องกัน<br />
Mem:&nbsp; &nbsp;<span style="color: red;">8310380k total</span>,&nbsp; <span style="color: pink;">4970936k used</span>,&nbsp; <span style="color: green;">3339444k free</span>,&nbsp; &nbsp;<span style="color: orange;">217448k buffers</span><br />
Swap:&nbsp; <span style="color: purple;">6225904k total</span>,&nbsp; &nbsp; <span style="color: blue;">52816k used</span>,&nbsp; <span style="color: brown;">6173088k free</span>,&nbsp; 3001860k cached<br />
<span style="color: red;">สีแดง</span>: RAM ทั้งหมดที่ติดตั้งไว้ และ OS มองเห็น (หมายถึงหน่วยความจำหลักอย่างเดียวครับ)<br />
<span style="color: pink;">สีชมพู</span>: ใช้แรมไปแล้ว &#8220;ทั้งหมด&#8221; เท่าไหร่<br />
<span style="color: green;">สีเขียว</span>: แรมที่ยังว่างจริงๆ (คือไม่ได้จองให้กับอะไรเลย)<br />
<span style="color: orange;">สีส้ม</span>: แรมที่ถูกใช้เป็น buffer ที่พักข้อมูลก่อนที่จะมีการอ่าน/เขียนลง harddisk หรือ CPU<br />
<span style="color: purple;">สีม่วง</span>: swap space พื้นที่แรมเสมือนทั้งหมด ที่ใช้พื้นที่จาก harddisk เก็บข้อมูลแทนแรม &#8212; บน windows มันจะมีชื่อว่า pagefile<br />
<span style="color: blue;">สีน้ำเงิน</span>: ปริมาณการใช้งาน swap space มากน้อยไม่ใช่ปัญหาเท่าไหร่ (ถึงมันจะไม่ควรใช้ก็ตาม) แต่ถ้าตัวเลขแกว่งไปมา (พร้อมกับ iowait พุ่ง) หมายความว่ามีปัญหาแรมไม่พอจนต้องมาเขียนลง swap space<br />
<span style="color: brown;">สีน้ำตาล</span>: พื้นที่ swap space ที่ไม่ได้ใช้งาน<br />
สีดำ: เป็น file system memory cache ครับ คือ linux จะมีการใช้ ram เพื่อเก็บข้อมูลไฟล์ที่มีการเรียกใช้งานบ่อยๆ ไว้ใน ram (เผื่อมีอะไรก็อ่านเอาจากแรมไปเลย เร็วกว่าเยอะ)</p>
<p>วิธีคิดพื้นที่ แรมว่าง ให้คิดจาก free + cached ไม่นับพื้นที่ cache  เป็นพื้นที่ที่มีการใช้งาน<br />
เพราะมันจะถูกลบออกได้เสมอถ้ามีความต้องการ ใช้แรมจาก process เยอะๆ</p>
<p>ส่วนพื้นที่ที่เหลือด้านล่าง  จะเป็นรายการ process ทั้งหมด (แสดงเท่าที่พื้นที่จอเหลือ)<br />
เรียงลำดับ ตามปริมาณการใช้งาน CPU ของ process นั้นๆ (เปลี่ยนได้ครับ)</p>
<p>มีหัว ข้อตามนี้<br />
<strong>PID : หมายเลข process id<br />
USER : user ที่ process  ทำงาน<br />
</strong>PR : priority ของ process ที่ nice เท่ากัน<br />
NI :  รหัส nice เรียงความสำคัญของ process (ยิ่งน้อยยิ่งสำคัญ)<br />
VIRT :  ปริมาณการใช้งาน virtual image ทั้งหมด (ตั้งแต่ process  ยันเตไปถึงการเรียก library)<br />
RES / SHR : การใช้แรมส่วนของ private  (เฉพาะภายใน app) / shared (ram กลางของระบบ)<br />
S : สถานะของ process<br />
%CPU  : ปริมาณการใช้งาน CPU (นับต่อ core นะครับ) สมมติ cpu 4 core + process  รัน 4 thread แต่ละ thread เรียกใช้ cpu เต็มที่ มันก็ขึ้น 400  ขึ้นมาได้เหมือนกัน<br />
%MEM : ปริมาณการใช้งาน ram เป็น %<br />
TIME+ :  &#8220;ระยะเวลา&#8221; ที่เรียกใช้ CPU ทั้งหมดตั้งแต่รัน process (เพราะ process  ไม่ได้ทำงานตลอดเวลา)<br />
COMMAND : คำสั่งที่ใช้รัน process</p>
<p>ลูก เล่นเพิ่มเติมของ top สามารถหาอ่านได้จากคำสั่ง man top นะครับ<br />
มีอีก เพียบ นี่แค่แซมเปิ้ลๆ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/715/top-linux-administrative-tools/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>0102 &#124; MRTG monitoring script for nginx</title>
		<link>http://www.icez.net/blog/710/mrtg-monitoring-script-for-nginx</link>
		<comments>http://www.icez.net/blog/710/mrtg-monitoring-script-for-nginx#comments</comments>
		<pubDate>Tue, 06 Jul 2010 04:27:20 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[IP Network]]></category>
		<category><![CDATA[Web Server]]></category>
		<category><![CDATA[mrtg]]></category>
		<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=710</guid>
		<description><![CDATA[สร้างไฟล์ /root/bin/mrtg-nginx.pl ข้อมูลตามนี้ #!/usr/bin/perl # $Revision: 2 $ # $Date: 2008-09-12 15:11:40 +0300 (Fri, 12 Sep 2008) $ &#160; my %opt = &#40; # http link to nginx stub_status, be sure turn on stub_status in nginx conf nginx_status =&#62; 'http://localhost:80/status', # path for program what may dump web page, normaly lynx -dump # lynx =&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>สร้างไฟล์ /root/bin/mrtg-nginx.pl ข้อมูลตามนี้</p>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/usr/bin/perl</span>
<span style="color: #666666; font-style: italic;"># $Revision: 2 $</span>
<span style="color: #666666; font-style: italic;"># $Date: 2008-09-12 15:11:40 +0300 (Fri, 12 Sep 2008) $</span>
&nbsp;
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">%opt</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>
<span style="color: #666666; font-style: italic;"># http link to nginx stub_status, be sure turn on stub_status in nginx conf</span>
    nginx_status   <span style="color: #339933;">=&gt;</span> <span style="color: #ff0000;">'http://localhost:80/status'</span><span style="color: #339933;">,</span>
<span style="color: #666666; font-style: italic;"># path for program what may dump web page, normaly lynx -dump</span>
<span style="color: #666666; font-style: italic;">#    lynx            =&gt; 'lynx -dump',</span>
    lynx            <span style="color: #339933;">=&gt;</span> <span style="color: #ff0000;">'wget -q -Y off -O -'</span><span style="color: #339933;">,</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #0000ff;">$opt</span><span style="color: #009900;">&#123;</span>var<span style="color: #009900;">&#125;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$ARGV</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #b1b100;">if</span> <span style="color: #0000ff;">$ARGV</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #0000ff;">$opt</span><span style="color: #009900;">&#123;</span>nginx_status<span style="color: #009900;">&#125;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$ARGV</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #b1b100;">if</span> <span style="color: #0000ff;">$ARGV</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #b1b100;">and</span> <span style="color: #0000ff;">$ARGV</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=~/^</span>http<span style="color: #339933;">:</span>\<span style="color: #339933;">/</span>\<span style="color: #339933;">/</span><span style="color: #0000ff;">\w</span><span style="color: #339933;">+/;</span>
<span style="color: #0000ff;">$opt</span><span style="color: #009900;">&#123;</span>var<span style="color: #009900;">&#125;</span> <span style="color: #339933;">||=</span> <span style="color: #ff0000;">''</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$do</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">`$opt{lynx} $opt{nginx_status}`</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$opt</span><span style="color: #009900;">&#123;</span>var<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">eq</span> <span style="color: #ff0000;">'req'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #0000ff;">$do</span><span style="color: #339933;">=~/^</span>Active connections<span style="color: #339933;">:</span><span style="color: #0000ff;">\s</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">\d</span><span style="color: #339933;">+</span><span style="color: #009900;">&#41;</span><span style="color: #0000ff;">\s</span><span style="color: #339933;">*</span>$<span style="color: #339933;">/</span>ms <span style="color: #b1b100;">or</span> <span style="color: #000066;">warn</span> <span style="color: #ff0000;">&quot;Error! Can't find data!<span style="color: #000099; font-weight: bold;">\n</span>IN :<span style="color: #000099; font-weight: bold;">\n</span>$do&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #0000ff;">$opt</span><span style="color: #009900;">&#123;</span>d2<span style="color: #009900;">&#125;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$opt</span><span style="color: #009900;">&#123;</span>d1<span style="color: #009900;">&#125;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$1</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">elsif</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$opt</span><span style="color: #009900;">&#123;</span>var<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">eq</span> <span style="color: #ff0000;">'con'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #0000ff;">$do</span><span style="color: #339933;">=~/^</span><span style="color: #0000ff;">\s</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">\d</span><span style="color: #339933;">+</span><span style="color: #009900;">&#41;</span><span style="color: #0000ff;">\s</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">\d</span><span style="color: #339933;">+</span><span style="color: #009900;">&#41;</span><span style="color: #0000ff;">\s</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">\d</span><span style="color: #339933;">+</span><span style="color: #009900;">&#41;</span><span style="color: #0000ff;">\s</span><span style="color: #339933;">*</span>$<span style="color: #339933;">/</span>ms <span style="color: #b1b100;">or</span> <span style="color: #000066;">warn</span> <span style="color: #ff0000;">&quot;Error! Can't find data!<span style="color: #000099; font-weight: bold;">\n</span>IN :<span style="color: #000099; font-weight: bold;">\n</span>$do&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #0000ff;">$opt</span><span style="color: #009900;">&#123;</span>d2<span style="color: #009900;">&#125;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$opt</span><span style="color: #009900;">&#123;</span>d1<span style="color: #009900;">&#125;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$3</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #666666; font-style: italic;">#elsif { $do=~/^Reading:\s+(\d+).*Writing:\s+(\d+).*Waiting:\s+(\d+)/; }</span>
<span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #0000ff;">$opt</span><span style="color: #009900;">&#123;</span>var<span style="color: #009900;">&#125;</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">'ERROR'</span><span style="color: #339933;">;</span>
    <span style="color: #0000ff;">$opt</span><span style="color: #009900;">&#123;</span>d2<span style="color: #009900;">&#125;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$opt</span><span style="color: #009900;">&#123;</span>d1<span style="color: #009900;">&#125;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
    <span style="color: #000066;">warn</span> <span style="color: #ff0000;">&quot;Error! Please read the help and set (req|con)<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;$opt{d1}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;$opt{d2}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">#print &quot;$opt{up}\n&quot; if $opt{up};</span>
<span style="color: #000066;">print</span> <span style="color: #ff0000;">&quot;Nginx $opt{var}<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p>เสร็จแล้วสั่ง<br />
chmod a+x /root/bin/mrtg-nginx.pl<br />
ให้รันได้</p>
<p>แล้วเอาไอ้นี่ไปใส่ใน nginx.conf ส่วนของ vhost นะครับ</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">location <span style="color: #339933;">/</span>status <span style="color: #009900;">&#123;</span>
    stub_status on<span style="color: #339933;">;</span>
    access_log off<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>แล้วก็&#8230; อันนี้เอาไปใส่ใน mrtg.cfg</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">Target<span style="color: #009900;">&#91;</span>nginx<span style="color: #339933;">.</span>newconns<span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span> `<span style="color: #339933;">/</span>root<span style="color: #339933;">/</span>bin<span style="color: #339933;">/</span>mrtg<span style="color: #339933;">-</span>nginx<span style="color: #339933;">.</span>pl con`
Title<span style="color: #009900;">&#91;</span>nginx<span style="color: #339933;">.</span>newconns<span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span> NGINX Connections
PageTop<span style="color: #009900;">&#91;</span>nginx<span style="color: #339933;">.</span>newconns<span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span> <span style="color: #339933;">&lt;</span>H1<span style="color: #339933;">&gt;</span>NGINX Connections<span style="color: #339933;">&lt;/</span>H1<span style="color: #339933;">&gt;</span>
MaxBytes<span style="color: #009900;">&#91;</span>nginx<span style="color: #339933;">.</span>newconns<span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span> <span style="color: #cc66cc;">10000000000</span>
ShortLegend<span style="color: #009900;">&#91;</span>nginx<span style="color: #339933;">.</span>newconns<span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span> c<span style="color: #339933;">/</span>s
YLegend<span style="color: #009900;">&#91;</span>nginx<span style="color: #339933;">.</span>newconns<span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span> Conns <span style="color: #339933;">/</span> sec
LegendI<span style="color: #009900;">&#91;</span>nginx<span style="color: #339933;">.</span>newconns<span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span> In
LegendO<span style="color: #009900;">&#91;</span>nginx<span style="color: #339933;">.</span>newconns<span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span>
Legend1<span style="color: #009900;">&#91;</span>nginx<span style="color: #339933;">.</span>newconns<span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">New</span> inbound connections
Legend2<span style="color: #009900;">&#91;</span>nginx<span style="color: #339933;">.</span>newconns<span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span>
Options<span style="color: #009900;">&#91;</span>nginx<span style="color: #339933;">.</span>newconns<span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span> growright<span style="color: #339933;">,</span>nopercent
&nbsp;
Target<span style="color: #009900;">&#91;</span>nginx<span style="color: #339933;">.</span>requests<span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span> `<span style="color: #339933;">/</span>root<span style="color: #339933;">/</span>bin<span style="color: #339933;">/</span>mrtg<span style="color: #339933;">-</span>nginx<span style="color: #339933;">.</span>pl req`
Title<span style="color: #009900;">&#91;</span>nginx<span style="color: #339933;">.</span>requests<span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span> NGINX Requests
PageTop<span style="color: #009900;">&#91;</span>nginx<span style="color: #339933;">.</span>requests<span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span> <span style="color: #339933;">&lt;</span>H1<span style="color: #339933;">&gt;</span>NGINX Requests<span style="color: #339933;">&lt;/</span>H1<span style="color: #339933;">&gt;</span>
MaxBytes<span style="color: #009900;">&#91;</span>nginx<span style="color: #339933;">.</span>requests<span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span> <span style="color: #cc66cc;">10000000000</span>
ShortLegend<span style="color: #009900;">&#91;</span>nginx<span style="color: #339933;">.</span>requests<span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span> req
YLegend<span style="color: #009900;">&#91;</span>nginx<span style="color: #339933;">.</span>requests<span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span> Req
LegendI<span style="color: #009900;">&#91;</span>nginx<span style="color: #339933;">.</span>requests<span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span> In
LegendO<span style="color: #009900;">&#91;</span>nginx<span style="color: #339933;">.</span>requests<span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span>
Legend1<span style="color: #009900;">&#91;</span>nginx<span style="color: #339933;">.</span>requests<span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">New</span> inbound connections
Legend2<span style="color: #009900;">&#91;</span>nginx<span style="color: #339933;">.</span>requests<span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span>
Options<span style="color: #009900;">&#91;</span>nginx<span style="color: #339933;">.</span>requests<span style="color: #009900;">&#93;</span><span style="color: #339933;">:</span> growright<span style="color: #339933;">,</span>nopercent<span style="color: #339933;">,</span>gauge</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/710/mrtg-monitoring-script-for-nginx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>0101 &#124; Delux Wireless Keyboard + Mouse</title>
		<link>http://www.icez.net/blog/702/delux-wireless-keyboard-mouse</link>
		<comments>http://www.icez.net/blog/702/delux-wireless-keyboard-mouse#comments</comments>
		<pubDate>Wed, 30 Jun 2010 10:00:33 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[delux]]></category>
		<category><![CDATA[keyboard]]></category>
		<category><![CDATA[mouse]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=702</guid>
		<description><![CDATA[แหะๆ มาแปะเรื่องไร้สาระอีกแล้ว พอดีเมื่อวาน จอ dell LED 24&#8243; ที่สั่งไปเพิ่งมาถึง เลยประเดิมครับ ! แล้ว mouse ปากกา พอ extend จอปุ๊ปมันเอ๋อ แถมไม่มี mouse ในห้องเลย บวกกะกำลังเตรียมการทำอะไรนิดหน่อยด้วย เลยต้องไปหา keyboard+mouse ใหม่มา ก็เลยได้ไอ้นี่มาครับ เป็น keyboard mouse ไร้สายของ delux ราคา 899 บาท หน้าตาถูกใจมาก keyboard ปุ่มแบนแบบ notebook กดง่ายดี แถมมีซิลิโคนกันฝุ่นกันน้ำสำหรับรุ่นนี้ให้ด้วย เหมาะสำหรับคนทำอะไรๆ บนโต๊ะคอมอย่างผมมาก&#8230; &#8230; เอ่อ&#8230; อะไรๆ ที่ว่าหมายถึงเอาของกินมากินครับ -*-&#8217; ส่วน mouse เป็น blue optical ไฟสีสวยดี แต่ขนาดเล็กไปนิดนึง คนที่ใหญ่ๆ ยาวๆ อย่างผมใช้ลำบากไปหน่อย [...]]]></description>
			<content:encoded><![CDATA[<p>แหะๆ มาแปะเรื่องไร้สาระอีกแล้ว</p>
<p>พอดีเมื่อวาน จอ dell LED 24&#8243; ที่สั่งไปเพิ่งมาถึง เลยประเดิมครับ !<br />
แล้ว mouse ปากกา พอ extend จอปุ๊ปมันเอ๋อ แถมไม่มี mouse ในห้องเลย<br />
บวกกะกำลังเตรียมการทำอะไรนิดหน่อยด้วย เลยต้องไปหา keyboard+mouse ใหม่มา<br />
ก็เลยได้ไอ้นี่มาครับ</p>
<p><a href="http://upic.me/e7ik5" target="_blank"><img border="0" src="http://upic.me/ts/i/f9/fdmfu.jpg"></a><br />
<a href="http://upic.me/e7ikg" target="_blank"><img border="0" src="http://upic.me/ts/i/sf/f3c3u.jpg"></a><br />
<a href="http://upic.me/e7ika" target="_blank"><img border="0" src="http://upic.me/ts/i/7x/6o7ju.jpg"></a></p>
<p>เป็น keyboard mouse ไร้สายของ delux ราคา 899 บาท หน้าตาถูกใจมาก<br />
keyboard ปุ่มแบนแบบ notebook กดง่ายดี แถมมีซิลิโคนกันฝุ่นกันน้ำสำหรับรุ่นนี้ให้ด้วย<br />
เหมาะสำหรับคนทำอะไรๆ บนโต๊ะคอมอย่างผมมาก&#8230;<br />
&#8230;</p>
<p>เอ่อ&#8230; อะไรๆ ที่ว่าหมายถึงเอาของกินมากินครับ -*-&#8217;</p>
<p>ส่วน mouse เป็น blue optical ไฟสีสวยดี<br />
แต่ขนาดเล็กไปนิดนึง คนที่ใหญ่ๆ ยาวๆ อย่างผมใช้ลำบากไปหน่อย<br />
&#8230; ผมพูดถึงมือกับนิ้วนะ ถึงอย่างอื่นจะใหญ่สมส่วนตามกันด้วยก็เหอะ</p>
<p>อ๊ะ&#8230; ไปถึงไหนละเนี่ย<br />
อ้อ ตัวรับ&#8230; อันกะตึ๋งนึงตามนี้ครับ เวลาเก็บก็เสียบไว้ที่ตูด mouse ได้ จะได้ไม่หาย</p>
<p><a href="http://upic.me/e7ilb" target="_blank"><img border="0" src="http://upic.me/tw/i/i8/unymu.jpg"></a></p>
<p>ใช้สัญญาณ 2.4GHz แบต AAA x 2 ทั้ง mouse ทั้ง keyboard<br />
ตอนนี้กำลังทดสอบอยู่ว่าแบตจะอยู่ได้นานขนาดไหน</p>
<p>ระยะการใช้งานโฆษณาไว้ที่ 10 เมตร&#8230; เอาเป็นว่าผมถือเล่นรอบห้องสบายๆ<br />
ยังไม่เจอปัญหาสัญญาณหาย</p>
<p>ทดสอบกับการเล่น O2JAM พบว่า มันกดพร้อมกันได้ 6 ปุ่ม T_T<br />
เจอเพลงที่โน๊ตลงมา 7 ปุ่มปุ๊ป ดับอนาถเลย T_T กระซิกๆ</p>
<p>โดยรวมก็โอเคแหละครับ สนุกมือดี เวลาเล่นเกมก็เอาซิลิโคนออกจะกดได้มันส์มือมากขึ้นเยอะ</p>
<p>ข้อเสียเดียวที่เจอตอนนี้คือ&#8230; มันไม่มีปุ่ม skip เพลง</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/702/delux-wireless-keyboard-mouse/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
