<?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>Monitive Blog</title>
	<atom:link href="http://monitive.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://monitive.com/blog</link>
	<description>Effective Internet Monitoring</description>
	<lastBuildDate>Fri, 14 Jun 2013 04:33:07 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Custom alerts via our HTTP POST alert API</title>
		<link>http://monitive.com/blog/2013/06/custom-alerts-via-our-http-post-alert-api/</link>
		<comments>http://monitive.com/blog/2013/06/custom-alerts-via-our-http-post-alert-api/#comments</comments>
		<pubDate>Fri, 14 Jun 2013 04:25:26 +0000</pubDate>
		<dc:creator>Lucian Daniliuc</dc:creator>
				<category><![CDATA[Product Updates]]></category>

		<guid isPermaLink="false">http://monitive.com/blog/?p=697</guid>
		<description><![CDATA[Want to start a siren or open a door when your main website goes down? No problem, Monitive allows you to add HTTP POST contacts that are automatically called whenever an outage occurs. Along with the usual SMS / email &#8230; <a href="http://monitive.com/blog/2013/06/custom-alerts-via-our-http-post-alert-api/">Continue reading <span class="meta-nav">&#8594;</span></a><p><a href="http://monitive.com/blog/2013/06/custom-alerts-via-our-http-post-alert-api/">Custom alerts via our HTTP POST alert API</a> is a post from: <a href="http://monitive.com/blog">Monitive Blog</a></p>
]]></description>
				<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-699" alt="Alarm" src="http://monitive.com/blog/wp-content/uploads/2013/06/alarm_warning_robbery_siren-300x300.png" width="300" height="300" />Want to <a title="Control a relay over the internet with Arduino" href="http://www.instructables.com/id/Control-a-Relay-over-the-Internet-via-Arduino-with/" target="_blank">start a siren or open a door</a> when your main website goes down? No problem, Monitive allows you to add HTTP POST contacts that are automatically called whenever an outage occurs. Along with the usual SMS / email / Twitter DM or not. This is useful for a number of ways:</p>
<ul>
<li><span style="line-height: 16px;">set up an integration with your Campfire platform (check out the simple and powerful <a title="Monitive-Campfire" href="https://github.com/SpiegelDesignGroup/MonitiveCampfire" target="_blank">Monitive-Campfire wrapper</a> by <a href="https://github.com/ArielSpiegel" target="_blank">Ariel Spiegel</a> at <a href="http://www.sdg.la/" target="_blank">SDG</a>);</span></li>
<li>set up automatic fail-over by calling a script that updates DNS information, starts up a new server instance or whatever works for you;</li>
<li>open a support ticket in your internal ticketing system;</li>
<li>restart a faulty service, such as Apache, LightHTTPd or NFS mounts;</li>
<li>set up your own SMS messaging script;</li>
<li>even reboot the server, if you feel that&#8217;s appropriate.</li>
</ul>
<p>Whatever implementation you go with, rest assured that the reliability of the HTTP POST alert is as good as the email, Twitter, or SMS message, but without any extra 3rd party platforms involved. We&#8217;ll directly call whatever script you have there.</p>
<p>To get as much information as possible to your script, the HTTP POST alert send along the following information:</p>
<ul>
<li><span style="line-height: 16px;"><strong>Monitor name</strong> &#8211; so you can distinguish between all your monitored services;</span></li>
<li><strong>Monitor type</strong> &#8211; such as HTTP, FTP, SMTP; use this to create templates that handle generic FTP failure for example, or just include this in your message, or whatever you need;</li>
<li><strong>Date and time of the event</strong> &#8211; this is on your timezone, exactly when we declared the service unavailable or restored; the date and time is in MySQL format (YYYY-MM-DD HH:MM:SS) so it&#8217;s something like 2013-06-14 07:17:32;</li>
<li><strong>Action</strong> &#8211; here you&#8217;ll get either &#8216;UP&#8217; or &#8216;DOWN&#8217;, depending on what just happened;</li>
<li><strong>Diagnosis URL</strong> &#8211; here&#8217;s the outage diagnosis URL, even before the diagnosis are available (because diagnosis kick in a minute later than the outage start moment); use it to include in your ticketing system, chat, log or anything else;</li>
</ul>
<p>Think about the API alert as something that can be done that doesn&#8217;t necessarily require your intervention. May be you&#8217;re having some quality time with your loved ones, hiking in your favourite forest up the mountain and something happens with your websites/servers. Use the API to have that first aid thing that can be automatically done when the problem occurs.</p>
<p>Learn more about the HTTP POST alert API in our knowledge base post about <a title="Uptime monitoring HTTP POST alerts" href="http://monitive.com/help/features/http-post-alerts" target="_blank">uptime monitoring HTTP POST alert</a>. If you have developed a useful integration and want to share, just let us know. All wrappers and integrations will soon land on a &#8220;works with&#8221; page that we&#8217;re working on.</p>
<p><a href="http://monitive.com/blog/2013/06/custom-alerts-via-our-http-post-alert-api/">Custom alerts via our HTTP POST alert API</a> is a post from: <a href="http://monitive.com/blog">Monitive Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://monitive.com/blog/2013/06/custom-alerts-via-our-http-post-alert-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setup Your Iptables Firewall In 5 Minutes</title>
		<link>http://monitive.com/blog/2013/04/setup-your-iptables-firewall-in-5-minutes/</link>
		<comments>http://monitive.com/blog/2013/04/setup-your-iptables-firewall-in-5-minutes/#comments</comments>
		<pubDate>Thu, 18 Apr 2013 19:54:28 +0000</pubDate>
		<dc:creator>Lucian Daniliuc</dc:creator>
				<category><![CDATA[Tech Tips]]></category>

		<guid isPermaLink="false">http://monitive.com/blog/?p=677</guid>
		<description><![CDATA[Iptables is the most popular firewall when it comes to Linux security. There are several tools that hide all the complicated iptables rule mangling (such as UFW), but when you&#8217;re dealing with VPSs (Virtual Private Servers), sooner or later you&#8217;ll &#8230; <a href="http://monitive.com/blog/2013/04/setup-your-iptables-firewall-in-5-minutes/">Continue reading <span class="meta-nav">&#8594;</span></a><p><a href="http://monitive.com/blog/2013/04/setup-your-iptables-firewall-in-5-minutes/">Setup Your Iptables Firewall In 5 Minutes</a> is a post from: <a href="http://monitive.com/blog">Monitive Blog</a></p>
]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-678" alt="Firewall 5 minutes tutorial" src="http://monitive.com/blog/wp-content/uploads/2013/04/firewall-5-minutes-tutorial.jpg" width="640" height="360" /></p>
<p><a title="netfilter/iptables" href="http://www.netfilter.org/" target="_blank">Iptables</a> is the most popular firewall when it comes to Linux security. There are several tools that hide all the complicated iptables rule mangling (such as <a title="UFW" href="https://help.ubuntu.com/community/UFW" target="_blank">UFW</a>), but when you&#8217;re dealing with VPSs (Virtual Private Servers), sooner or later you&#8217;ll need to ditch UFW and go with iptables.<span id="more-677"></span></p>
<p>I&#8217;ve found the UFW (that comes by default with modern Ubuntu server deployments) doesn&#8217;t behave nicely with OpenVZ virtual servers. Just like MongoDB for example, which has some memory management issues. We had serious issues trying to deploy MongoDB to multiple OpenVZ servers, and soon found out that it was a memory management problem known for which there&#8217;s hardly an elegant workaround. Other that to look for Xen/Virtuozzo virtualization platforms. The same goes with UFW. Really easy to use, but has its downsides:</p>
<ul>
<li>no easy way to ban a list of IPs (you have to manually add them to ufw&#8217;s iptables configuration chains &#8211; hence, learn iptables&#8217;s rules system)</li>
<li>issues on some virtual machines (problems with mod probe, mainly at boot time)</li>
</ul>
<p>This left me with the obvious solution: learn and use iptables on all servers, instead of UFW. Iptables is not so creepy if you&#8217;re aiming for simple rules, but it does get quite complicated if you need several chains with complicated rules.</p>
<h2>Basic iptables commands</h2>
<p>Iptables works on a very simple principle: each time a connection is made, iptables parses the rules list, and if it matches a condition, it applies it and leaves the rest to the kernel. The rules are grouped together in chains. If you don&#8217;t add any custom chains, you&#8217;ll have three chains, which you can list with the<strong> iptables -L</strong> command:</p>
<pre>root@server ~ # iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination</pre>
<p>The INPUT chain is the most important and deals with all the incoming connections. Here&#8217;s where you&#8217;ll want to set up most of your filtering. The FORWARD chain is used to configure your Linux box to act as a router, forwarding the Internet connection to the network behind it. Needless to say, the OUTPUT chain deals with rules on the outgoing connection. Add here security rules such as block SMTP ports if your server doesn&#8217;t send mail, so that whatever happens to your machine, it won&#8217;t act as a spam server.</p>
<p>Each rules chain has a default policy, meaning that if none of the rules match the pending connection, the default policy will apply. In this case, ACCEPT. And since we don&#8217;t have any rules yet, all connections will go through. If you&#8217;d just change the policy to DENY (or DROP) without adding any rules, you&#8217;d be locked out since the server will refuse all the connections, even the ones already established.</p>
<h2>Setting up allowed ports</h2>
<p>The first thing to do is to allow the ports that should be open. After we allow all the ports, we&#8217;ll add a rule to block everything else, so that we don&#8217;t have to change the chain policy. First, remember that the worst that could happen is to get locked out of your machine. If that happens, either reboot the machine, or connect to it via VPN, console or other means to clear the rules chains. To clear all the rules, and reset the firewall to its initial state, enter:</p>
<pre>iptables -F</pre>
<p>This will Flush all the chains. Convince yourself that there are no more rules with the iptables -L command. Rules are added with the -A command line option, deleted with -D and inserted with -I. When inserting, you also have to specify on which position to insert the rule. Why inserting? Because our last rule will be to DROP everything, so that if nothing matches above, we&#8217;ll DROP the connection. So it makes no sense adding rules after the &#8220;DROP everything else&#8221; rule.</p>
<p>First, you&#8217;ll want to accept connections that are already established and every connection from localhost (your own machine), so issue:</p>
<pre>iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT</pre>
<p>If you get an error about lo not existing, replace with the loopback interface (find out which one is it with <strong>ifconfig -a</strong>)</p>
<p>Second, add rules for all the ports that you need to open:</p>
<pre>iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT</pre>
<p>The above will open ports for SSH (22) and HTTP (both 80 and 443). Feel free to add as many ports as needed, but be careful not to open ports that you don&#8217;t really need (such as FTP, SNMP or others) to avoid security issues. The whole point of the firewall is to protect the machine from unauthorized access, so opening everything up to everyone is not a good way to go.</p>
<p>Finally, add the rule to drop everything else. Be careful to have your SSH connection accepted or you&#8217;ll lock yourself out. Rules apply as soon as you add them. To drop everything else on the INPUT chain, issue:</p>
<pre>iptables -A INPUT -j DROP</pre>
<p>If you can still type stuff into the console after this, you&#8217;re almost there. Type<strong> iptables -L</strong> to see the current rules list.</p>
<p><img class="aligncenter size-large wp-image-684" alt="iptables List" src="http://monitive.com/blog/wp-content/uploads/2013/04/iptablesL-640x424.png" width="640" height="424" /></p>
<h2>White-listing certain machines</h2>
<p>A deployment of a larger system into production usually includes several machines that communicate and connect to each other to diverse services such as MySQL or MongoDB databases, SNMP for monitoring or custom services that need to be open only for our own network of servers and not the whole world. That&#8217;s right, if you have a MySQL machine, it&#8217;s safer to have the firewall allow connections from your own machines and block everything else, don&#8217;t rely on MySQL&#8217;s &#8220;hacker protection systems&#8221;.</p>
<p>Now, if you already created your rules, you&#8217;ll need to insert the extra rules, since adding them after the DROP rule will have no effect. Let&#8217;s say we have 3 servers 123.45.67.89, 89.67.45.123 and 55.66.77.88 that are ours and we need to allow them to connect to our machine, on any port.</p>
<pre>iptables -I INPUT 1 -s 123.45.67.89 -j ACCEPT
iptables -I INPUT 1 -s 89.67.45.123 -j ACCEPT
iptables -I INPUT 1 -s 55.66.77.88 -j ACCEPT</pre>
<p>The &#8220;INPUT 1&#8243; option specifies that the rule should be inserted on the first position. It&#8217;s important not to insert it after the DROP, but above it, any position should be OK. If you haven&#8217;t added the DROP rule yet, you can issue:</p>
<pre>iptables -A INPUT -s 123.45.67.89 -j ACCEPT
iptables -A INPUT -s 89.67.45.123 -j ACCEPT
iptables -A INPUT -s 55.66.77.88 -j ACCEPT</pre>
<p>Check out the rules with the<strong> iptables -L</strong> command. To get extended information (such as how many bytes have been transferred via each rule) type<strong> iptables -L -v</strong>.</p>
<h2>Filtering out malicious IPs (and detecting them)</h2>
<p>The Internet is not just sunny and pink. It&#8217;s also crawling with scanners and hackers that look to gain access to unsecured machines, send spam or just flood servers to take them down. Spotting the bad guys is a task that depends on what kind of problems are heading your way.</p>
<p>Check out the logs of your services for unusual activity. Apache&#8217;s log will easily point out machines that try to exploit various holes. If you&#8217;re getting excessive spam, open the mail headers to find out the sending IP server. Here&#8217;s how such an exploit looks like:</p>
<p><a href="http://monitive.com/blog/wp-content/uploads/2013/04/bruteforce.png"><img class="aligncenter size-large wp-image-683" alt="Monitive Blog Bruteforce Attack" src="http://monitive.com/blog/wp-content/uploads/2013/04/bruteforce-640x450.png" width="640" height="450" /></a></p>
<p>These kind of scans run daily on your box, you just don&#8217;t know it. That doesn&#8217;t mean you should just ignore them. It&#8217;s possible that one day they get their hands on some zero-day exploit and crack you Linux box. Be sure to filter them out before that happens. This is easily done with insert rule commands such as:</p>
<pre>iptables -I INPUT 1 -s 99.1.2.3 -j DROP
iptables -I INPUT 1 -s 99.1.2.4 -j DROP</pre>
<p>From this moment on, our machine acts like it doesn&#8217;t exist for 99.1.2.3 and 99.1.2.4. Simple and effective. Just remember to add the DROP rules before the port ACCEPT rules, because if a banned IP accesses your server, the firewall will match the ACCEPT on the port before the DROP on the IP, and the connection will go through.</p>
<h2>Activating the firewall rules at boot</h2>
<p>After you set up the rules just the way you like and you reboot the machine, you&#8217;ll see that the rules are permanently gone. This is why you need to reload the rules after each boot. Automatically, of course. This can be done in a number of ways. The simplest would be to install an utility that does this, but I found it to be unreliable. Sometimes it doesn&#8217;t load the rules, on other deployments I had problems installing it and so on.</p>
<p>And if you think about it, it only requires saving the rules somewhere and loading them back at boot time. Fortunately, iptables can do this on it&#8217;s own, by using<strong> iptables-save</strong> and <strong>iptables-restore</strong>.</p>
<p><img class="aligncenter size-large wp-image-686" alt="iptables-save" src="http://monitive.com/blog/wp-content/uploads/2013/04/iptables-save-640x424.png" width="640" height="424" /></p>
<p>Yes, these look just like the rules adding / inserting commands, if you prepend iptables before each line, and execute them in that order, you&#8217;ll have the exact setup that you&#8217;re having right now. What&#8217;s even better is that if you feed this output into iptables-restore. It will adding each rule just as if you would add them by hand.</p>
<p>This is more useful if you save the output in a file. So if you would want to back up the current rule set, you could run:</p>
<pre>iptables-save &gt; /root/rules.backup</pre>
<p>Then, if you mess things up, or just want to get back to the previous setup, just run</p>
<pre>iptables-restore &lt; /root/rules.backup</pre>
<p>And you&#8217;re back to your original setup. So the obvious way to have you rules executed at boot time, is to have the iptables-restore command executed immediately after boot-up.</p>
<p>To restore the rules at boot time, edit <strong>/etc/rc.local</strong> and add <em>iptables-restore &lt; /root/rules.backup</em> just before the last line. I usually keep the rules in <strong>/etc/iptables/rules.v4</strong> because the firewall rules are &#8211; in my opinion &#8211; a configuration thing.</p>
<h2>&#8220;Copy-paste&#8221;-ready firewall setup</h2>
<p>Here&#8217;s a really quick way to set up your firewall. Just copy-paste this code in a text editor, edit whatever ports you need to open, own network IPs you need to white-list or black-list, and copy paste it into your Linux box. Presto! Instant firewall.</p>
<pre>iptables -F
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s 99.1.2.3 -j DROP
iptables -A INPUT -s 99.1.2.4 -j DROP
iptables -A INPUT -s 123.45.67.89 -j ACCEPT
iptables -A INPUT -s 89.67.45.123 -j ACCEPT
iptables -A INPUT -s 55.66.77.88 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -j DROP
iptables -L

mkdir -p /etc/iptables
iptables-save &gt; /etc/iptables/rules.v4
cp /etc/rc.local /etc/rc.local.backup
sed "s@^exit 0@iptables-restore &lt; /etc/iptables/rules.v4\r\n\r\nexit 0@" &lt; \
/etc/rc.local.backup &gt; /etc/rc.local
cat /etc/rc.local | grep iptables-restore</pre>
<p>What happens here should be straight forward: flush the rules, add the basic ESTABLISHED and localhost rules, then drop the bad IPs, then accept whatever connection we have from our trusted machines. After this, only allow access to some ports, or else DROP the connection. The final iptables line displays the setup so I can take a look at it.</p>
<p>Below the iptables commands is the firewall loading on boot. Create the /etc/iptables directory, store the current rules in there, save a copy of our /etc/rc.local file, and replace the last line (exit 0) with the iptables-restore command. After that display the line that we&#8217;ve just added in the rc.local file, so that I can get a visual confirmation that the line is there.</p>
<p>After this, I usually reboot the machine to test the whole firewall and I test connections of closed ports from non-white-listed IPs.</p>
<p>I hope I&#8217;ve shed some light on the apparently-scarry iptables firewall.<br />
Now tell me: <em>How do you set up your firewall? What do you do different?</em></p>
<p>Photo courtesy of <a href="http://vanelderphotography.blogspot.ro/" target="_blank">Vanelder Photography</a></p>
<p><a href="http://monitive.com/blog/2013/04/setup-your-iptables-firewall-in-5-minutes/">Setup Your Iptables Firewall In 5 Minutes</a> is a post from: <a href="http://monitive.com/blog">Monitive Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://monitive.com/blog/2013/04/setup-your-iptables-firewall-in-5-minutes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Latency Monitoring Augmented With Hourly Breakdown, TCP State and Country Breakdown</title>
		<link>http://monitive.com/blog/2013/04/latency-monitoring-augmented-with-hourly-breakdown-tcp-state-and-country-breakdown/</link>
		<comments>http://monitive.com/blog/2013/04/latency-monitoring-augmented-with-hourly-breakdown-tcp-state-and-country-breakdown/#comments</comments>
		<pubDate>Fri, 05 Apr 2013 20:23:17 +0000</pubDate>
		<dc:creator>Lucian Daniliuc</dc:creator>
				<category><![CDATA[Product Updates]]></category>

		<guid isPermaLink="false">http://monitive.com/blog/?p=664</guid>
		<description><![CDATA[In the last couple of weeks, we&#8217;ve revamped the whole latency information displayed, and made it more useful, by adding: Hourly breakdown &#8211; select an interval of 7 days maximum and get an hourly chart to easily spot problems or &#8230; <a href="http://monitive.com/blog/2013/04/latency-monitoring-augmented-with-hourly-breakdown-tcp-state-and-country-breakdown/">Continue reading <span class="meta-nav">&#8594;</span></a><p><a href="http://monitive.com/blog/2013/04/latency-monitoring-augmented-with-hourly-breakdown-tcp-state-and-country-breakdown/">Latency Monitoring Augmented With Hourly Breakdown, TCP State and Country Breakdown</a> is a post from: <a href="http://monitive.com/blog">Monitive Blog</a></p>
]]></description>
				<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-674" alt="Sample Latency Monitoring TCP State Breakdown" src="http://monitive.com/blog/wp-content/uploads/2013/04/sample_latency_tooltip.png" width="157" height="136" />In the last couple of weeks, we&#8217;ve revamped the whole latency information displayed, and made it more useful, by adding:</p>
<ol>
<li><span style="line-height: 16px;"><strong>Hourly breakdown</strong> &#8211; select an interval of 7 days maximum and get an hourly chart to easily spot problems or weird patterns.</span></li>
<li><strong>TCP state breakdown</strong> &#8211; see check state timing information, such as DNS resolve time, time to first byte, or how much does it take the email server to answer the EHLO command.</li>
<li><strong>Country breakdown</strong> &#8211; it&#8217;s down-straight normal to get different response times from different locations around the world. Now Monitive shows you how your service responds from different countries.<span id="more-664"></span></li>
</ol>
<p>All these came with a new charting engine, Highcharts. Check out the new Latency page in your <a title="Uptime Monitoring" href="http://monitive.com/en" target="_blank">uptime monitoring</a> account:</p>
<p><a href="http://monitive.com/blog/wp-content/uploads/2013/04/latency-monitoring-updates2.jpg"><img class="aligncenter size-full wp-image-667" alt="Latency Monitoring Updates" src="http://monitive.com/blog/wp-content/uploads/2013/04/latency-monitoring-updates2.jpg" width="640" height="1400" /></a></p>
<p>&nbsp;</p>
<p>Have&#8217;t yet decided on the chart&#8217;s colors, but we&#8217;re still accepting suggestions!</p>
<p><a href="http://monitive.com/blog/2013/04/latency-monitoring-augmented-with-hourly-breakdown-tcp-state-and-country-breakdown/">Latency Monitoring Augmented With Hourly Breakdown, TCP State and Country Breakdown</a> is a post from: <a href="http://monitive.com/blog">Monitive Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://monitive.com/blog/2013/04/latency-monitoring-augmented-with-hourly-breakdown-tcp-state-and-country-breakdown/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Byobu &#8211; The linux command-line taskbar</title>
		<link>http://monitive.com/blog/2013/04/byobu-the-linux-command-line-taskbar/</link>
		<comments>http://monitive.com/blog/2013/04/byobu-the-linux-command-line-taskbar/#comments</comments>
		<pubDate>Tue, 02 Apr 2013 20:48:47 +0000</pubDate>
		<dc:creator>Lucian Daniliuc</dc:creator>
				<category><![CDATA[Tech Tips]]></category>

		<guid isPermaLink="false">http://monitive.com/blog/?p=646</guid>
		<description><![CDATA[If you spend anywhere between a few hours per week or all day long on terminals such as SSH, managing servers, developing or just trying out new tools, you can easily get lost between windows or tabs. This is where screen might &#8230; <a href="http://monitive.com/blog/2013/04/byobu-the-linux-command-line-taskbar/">Continue reading <span class="meta-nav">&#8594;</span></a><p><a href="http://monitive.com/blog/2013/04/byobu-the-linux-command-line-taskbar/">Byobu &#8211; The linux command-line taskbar</a> is a post from: <a href="http://monitive.com/blog">Monitive Blog</a></p>
]]></description>
				<content:encoded><![CDATA[<p>If you spend anywhere between a few hours per week or all day long on terminals such as SSH, managing servers, developing or just trying out new tools, you can easily get lost between windows or tabs. This is where <a title="Screen man page" href="http://linux.die.net/man/1/screen" target="_blank"><em>screen</em></a> might give you a hand, but if you don&#8217;t have a really good memory, you&#8217;ll soon forget what you have in which screen. And if you work with several servers at a time, screen is not going to get you very far.</p>
<p>Here&#8217;s where <a title="bybou" href="http://byobu.co" target="_blank">Byobu</a> rocks. It magically added all those features that you&#8217;re missing in your terminal, and in the usual <em>screen</em> tool. It works on top of <em>screen</em>, so you don&#8217;t have to learn how to use it all over again. I found it when I launched screen on a recent installation of Ubuntu.<span id="more-646"></span></p>
<p>So if you don&#8217;t have it installed yet, run your favourite package installer command:</p>
<pre># Ubuntu:
sudo apt-get install ubuntu
# CentOS, Fedora
yum install ubunu
# Mac
brew install byobu</pre>
<p>Fire it up by running the <em>byobu</em> command now and you&#8217;re up &amp; running, just like with <em>screen.</em></p>
<p><a href="http://monitive.com/blog/wp-content/uploads/2013/03/01-intro.png"><img alt="Byobu intro screen" src="http://monitive.com/blog/wp-content/uploads/2013/03/01-intro-640x380.png" width="640" height="380" /></a></p>
<p>The first thing you notice is the task-bar. Going from left to right, you have:</p>
<ul>
<li>a nice personalized icon for the current operating system (Ubuntu in this case);</li>
<li>the OS version (12.04.2);</li>
<li>the tabs &#8211; since we just started bybou, we have only one tab, tagged &#8220;0&#8243;, and an asterisk to tell you that this is the screen you&#8217;re currently seeing;</li>
<li>&#8217;6!!&#8217; means there are 6 package upgrades waiting, and at least some of them are security updates; I found this not to be very accurate, also seen on the above screenshot, there should be 6 packages to update, but a few lines above I can see 13/15 package updates available;</li>
<li>0.07 is the current system load; from here on all of them are easy to guess;</li>
<li>2.6GHz is the core&#8217;s speed at this time;</li>
<li>590MB of free RAM available (23% are occupied);</li>
<li>current time and date, just like any respectable taskbar would hold;</li>
</ul>
<p>At this point you can open a new <em>screen </em>by doing <strong>Ctrl+A, C</strong>. You&#8217;ll see the next screens are called &#8220;bash&#8221;. Now rename any window by pressing <strong>F8</strong>. Type a name that would help you identify it in the future and press Enter. Presto: your &#8220;tab&#8221; has been renamed. You can  name them <em>root</em>, <em>logs</em>, <em>apache</em> or whatever makes sense for you.</p>
<p><a href="http://monitive.com/blog/wp-content/uploads/2013/03/02-tabs.png"><img alt="Byobu taba" src="http://monitive.com/blog/wp-content/uploads/2013/03/02-tabs-640x380.png" width="640" height="380" /></a></p>
<p>Just like using screen, byobu is great because you can detach (Ctrl+A, D) the current session and attach later or from another console. Or better yet, if your connection to the server fails for whatever reason, not only you still have your programs running in your screens, but also you still have the tabs configured just like the way you left them.</p>
<p>Having several screens is not a bad idea, I have 20 &#8211; 30 tabs/screens active for a few months, nicely named according to whatever is going on in the specific screen. This helps me keep an eye on things and easily switch to whatever I have to do at any moment. Here are a few keyboard shortcuts that help me get the job done quickly:</p>
<ul>
<li><strong style="font-family: monospace;">Ctrl+A o&#8230;9</strong> &#8211; switch to the screen/tab 0 to 9.</li>
<li><strong style="font-family: monospace;">Ctrl+A Shift+&#8221;</strong> &#8211; list all the screens, and quickly switch to the any of them by pressing the number or letter; this is fairly important because I have 10 digits and 26 letters available, that&#8217;s 36 screens that are accessible with 3 keystrokes; check out the screenshot below.</li>
<li><strong style="font-family: monospace;">Ctrl+A [ </strong>- this is really important &#8211; it let&#8217;s you scroll up to see whatever you&#8217;ve lost when you typed<em> ls -al</em> or <em>grep</em> in some file.</li>
<li><strong style="font-family: monospace;">F9</strong> &#8211; options; here&#8217;s where you can select what status notifications you have in your lower right corner of your byobu screen; it&#8217;s not just available memory or system load you can see there, you can have a lot of other things such as: battery level, fan speed, wifi quality, current IP and even the estimated cost for the current Amazon EC2 instance.</li>
</ul>
<p>Here&#8217;s how the list of screens looks like when you press Ctrl+A Shift+&#8221;:</p>
<p><a href="http://monitive.com/blog/wp-content/uploads/2013/03/03-window-list.png"><img class="aligncenter size-large wp-image-656" alt="Byobu window list" src="http://monitive.com/blog/wp-content/uploads/2013/03/03-window-list-640x376.png" width="640" height="376" /></a></p>
<p>You can switch to the desired screen either by using arrow keys and Enter, or just press the corresponding digit or letter.</p>
<p>The status notifications (items displayed in the lower right part of the byobu screen) provide you with useful information of the system you&#8217;re running byobu on. If you&#8217;re on a laptop, you&#8217;ll want to know wifi signal, CPU power and fan speed. If you&#8217;re on a EC2 instance, you&#8217;d want to know cost, uptime, current IP and system load for example.</p>
<p>Other great features the byobu brings is split panels (you can split a window in half, vertical or horizontal) and interactive sessions (multiple users typing at once and seeing the same screen -very useful for remote administration).</p>
<p>So get started today and you&#8217;ll never go back. I always start with a nice keyboard shortcuts cheat sheet that I usually print and post somewhere around me, until I get aquainted with the keyboard shortcuts. Here&#8217;s really good place to start: <a href="http://www.cheatography.com/gissehel/cheat-sheets/screen/pdf/">http://www.cheatography.com/gissehel/cheat-sheets/screen/pdf/</a></p>
<p><a href="http://monitive.com/blog/2013/04/byobu-the-linux-command-line-taskbar/">Byobu &#8211; The linux command-line taskbar</a> is a post from: <a href="http://monitive.com/blog">Monitive Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://monitive.com/blog/2013/04/byobu-the-linux-command-line-taskbar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Update: new SMS gateway, better messaging</title>
		<link>http://monitive.com/blog/2013/03/update-new-sms-gateway-better-messaging/</link>
		<comments>http://monitive.com/blog/2013/03/update-new-sms-gateway-better-messaging/#comments</comments>
		<pubDate>Sun, 17 Mar 2013 20:43:29 +0000</pubDate>
		<dc:creator>Lucian Daniliuc</dc:creator>
				<category><![CDATA[Product Updates]]></category>

		<guid isPermaLink="false">http://monitive.com/blog/?p=634</guid>
		<description><![CDATA[Reliability being our main focus, we contracted a new SMS sender called AMD Telecom. These guys take SMS delivery serious and even got offended when I asked if they take deliverability seriously. AMD Telecom connects and offers business intelligence to &#8230; <a href="http://monitive.com/blog/2013/03/update-new-sms-gateway-better-messaging/">Continue reading <span class="meta-nav">&#8594;</span></a><p><a href="http://monitive.com/blog/2013/03/update-new-sms-gateway-better-messaging/">Update: new SMS gateway, better messaging</a> is a post from: <a href="http://monitive.com/blog">Monitive Blog</a></p>
]]></description>
				<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-636" alt="SMS Alerts - Uptime Monitoring" src="http://monitive.com/blog/wp-content/uploads/2013/03/sms-alert-uptime-monitoring-168x300.png" width="168" height="300" />Reliability being our main focus, we contracted a new SMS sender called <a href="http://www.amdtelecom.net/" target="_blank">AMD Telecom</a>. These guys take SMS delivery serious and even got offended when I asked if they take deliverability seriously. AMD Telecom connects and offers business intelligence to the Mobile Network Operators and large enterprises worldwide. Very proffessional people, great service, so now all SMS alerts are being dispatched by AMD Telecom.</p>
<p>Another update is the extra information in the SMS and Twitter alert. Everytime I get an alert on my phone stating that X website is down, I start wondering: &#8220;is there an error on the site? or is the server under load? or a networking problem?&#8221;. This happened because I didn&#8217;t get the symptoms of the outage in the message. Also, when I look at my phone, I have to look up when did I got the message, and to rember what was my alert sentivity for that particular monitor, so I can tell when did it actually went down.</p>
<p>No more. From now on, you get the date and time when the site/service when down and the reason why we called it down. Toghether with the platform updates that we&#8217;ve launched weeks ago, you will get notified right on your mobile within seconds when a problem occurs.</p>
<p>And since reliability all comes down to the reliability to the services that our system uses, we still have SMSpm and BulkSMS as backup senders, so that if AMD Telecom is down, we&#8217;ll still make sure SMS alerts are safely on their way to your phones.</p>
<p><a href="http://monitive.com/blog/2013/03/update-new-sms-gateway-better-messaging/">Update: new SMS gateway, better messaging</a> is a post from: <a href="http://monitive.com/blog">Monitive Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://monitive.com/blog/2013/03/update-new-sms-gateway-better-messaging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kickstart an Amazon EC2 Server</title>
		<link>http://monitive.com/blog/2013/02/kickstart-an-amazon-ec2-server/</link>
		<comments>http://monitive.com/blog/2013/02/kickstart-an-amazon-ec2-server/#comments</comments>
		<pubDate>Fri, 22 Feb 2013 14:52:20 +0000</pubDate>
		<dc:creator>Lucian Daniliuc</dc:creator>
				<category><![CDATA[Tech Tips]]></category>

		<guid isPermaLink="false">http://monitive.com/blog/?p=549</guid>
		<description><![CDATA[Amazon Web Services is usually a good choice when you need to deploy something fast, scale fast or even try things out, for example to set up an instance of SugarCRM without deploying it on your live server. An alternative &#8230; <a href="http://monitive.com/blog/2013/02/kickstart-an-amazon-ec2-server/">Continue reading <span class="meta-nav">&#8594;</span></a><p><a href="http://monitive.com/blog/2013/02/kickstart-an-amazon-ec2-server/">Kickstart an Amazon EC2 Server</a> is a post from: <a href="http://monitive.com/blog">Monitive Blog</a></p>
]]></description>
				<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-575" alt="amazon-web-services" src="http://monitive.com/blog/wp-content/uploads/2013/02/amazon-web-services-300x110.png" width="300" height="110" />Amazon Web Services is usually a good choice when you need to deploy something fast, scale fast or even try things out, for example to set up an instance of SugarCRM without deploying it on your live server.</p>
<p>An alternative to this would be starting a virtual server on your workstation, but this limits you a lot and you can’t do simple things such as showing it to your boss, friends or potential clients / users.</p>
<p>Anyway, the beauty of Amazon services is that you only pay for what you use. And if you just need to try things out, a minimal server costs just cents per hour. If you’re not willing to pay that much, then you’re just playing around without any real need and you might go with a free solution such as <a title="VirtualBox" href="https://www.virtualbox.org/" target="_blank">VirtualBox</a> and some virtual server installed right on your computer.</p>
<p>I don’t remember exactly how the signup process for the Amazon services was back a few years when I signed up, but I remember that I went right through it and got my servers up and running in minutes. Amazon is doing a really great job at measuring user experience and improving their services as they go along.</p>
<h2>Create and launch your server</h2>
<p>The first thing you need to do is log into your Amazon AWS console: <strong><a title="Amazon AWS" href="https://console.aws.amazon.com">https://console.aws.amazon.com</a></strong></p>
<p><span id="more-549"></span></p>
<p>After logging in the first thing you see is the list of service that are available for you to use on a pay-as-you-go basis.</p>
<p><img class="aligncenter size-large wp-image-552" alt="Amazon AWS Services List" src="http://monitive.com/blog/wp-content/uploads/2013/02/aws01-services-list-640x448.png" width="640" height="448" /></p>
<p>I won’t go through each of them right now, but you should know about a few of them:</p>
<ul>
<li><strong>EC2</strong> &#8211; Virtual Servers in the Cloud: this is the Elastic Cloud 2 virtual server instance that we’re talking about in this article;</li>
<li><strong>S3</strong> &#8211; Scalable Storage in the Cloud: store anything (or everything) and access it how ever you like; there are many libraries out there that you can use to retrieve or upload files to your very own cloud storage, and you can even upload an entire (static) website and serve it right off your S3 storage service;</li>
<li><strong>DynamoDB</strong> &#8211; Predictable and Scalable NoSQL Data Store: if you’re familiar with MongoDB or CouchDB, this is their Amazon equivalent; of course you can install MongoDB or whatever database system on your EC2 server instead, DynamoDB and many other services are built to be highly scalable and standardised;</li>
<li><strong>SES</strong> &#8211; Email Sending Service: use this to send emails to your users or customers. SES can handle high quantities of emails and is also packed with everything required for your emails to reach the Inbox.</li>
</ul>
<p>Click on EC2 to go to your virtual servers management panel. This page displays all the resources related to your virtual servers, including how many instances you have, volumes (virtual disk drives), security groups, key pairs, IPs, snapshots and load balancers (you won’t need this until later on but you can surely try them out and learn how they work).</p>
<p><img class="aligncenter size-large wp-image-553" alt="Amazon AWS Launch Instance" src="http://monitive.com/blog/wp-content/uploads/2013/02/aws02-launch-instance-640x448.png" width="640" height="448" /></p>
<p>The first thing to do here is select your zone. Amazon has data-centers in several locations around the world, and in order to get the best performance, you’ll need to select the appropriate zone from the upper-right combo, right next to Help (it may be already selected on N. Virginia).</p>
<p>As of 2013, the following zones are available:</p>
<ul>
<li>United States &#8211; Northern Virginia</li>
<li>United States &#8211; Oregon</li>
<li>United States &#8211; Northern California</li>
<li>Europe &#8211; Ireland</li>
<li>Asia Pacific &#8211; Singapore</li>
<li>Asia Pacific &#8211; Tokyo</li>
<li>Asia Pacific &#8211; Sydney</li>
<li>South America &#8211; Sao Paolo</li>
</ul>
<p>Select the zone that’s the closest to you (or to your users) and then click Launch Instance to create a new virtual server. When I say “closest to your users” I mean that if you need to try something out that targets users in or near Europe, you should go with Europe Ireland even if you’re from California. This ensures that the service you deploy has the lowest latency possible.</p>
<p>Going through the Launch Instance wizard is really easy and it only takes minutes. First select classic wizard, to go step by step through the process of launching a new instance. Don’t worry, if you screw things up, you can easily destroy the instance at no extra cost.</p>
<p><img class="aligncenter size-large wp-image-554" alt="Amazon AWS Select Image" src="http://monitive.com/blog/wp-content/uploads/2013/02/aws03-select-image-640x448.png" width="640" height="448" /></p>
<p>Since it’s very popular, we’ll go with <a title="Ubuntul 12.04.2 LTS (Precise)" href="http://releases.ubuntu.com/precise/" target="_blank">Ubuntu 12.04 LTS</a> for now as our operating system for the new machine. Scroll down and identify it in the list, then click Select. You can select 64 bit or 32 bit but you probably won’t notice the difference, so go with either one.</p>
<p>The installation process is not the regular “download, start installer, finish” process. There are many images (virtual hard drive files) with pre-installed operating systems that they only copy into your “account” and power up. This makes it possible to create and power up hundreds of machines in just under a minute.</p>
<p><img class="aligncenter size-large wp-image-555" alt="Amazon AWS Select Instance Type" src="http://monitive.com/blog/wp-content/uploads/2013/02/aws04-select-instance-type-and-count-640x448.png" width="640" height="448" /></p>
<p>If you want to play around, you can start several instances at once, but usually you’d want to start one server and set it up properly. You should know, however, that working with 100 or 500 instances at once is not as hard as it sounds. There’s a nice piece of software that connects to all instances via SSH and runs the same commands on all of them. And since they’re identical, it’s very likely that they will behave exactly the same. You can even edit files and do any kind of tasks, all at once. The network engineer’s job is in fact a daily challenge, with a great sense of power and also fun. Managing hundreds of servers, all working marvellously brings new meaning to the words “one for all and all for one”. Or team work.</p>
<p>Back to reality, let’s leave 1 as the Number of Instances, and select a T1 Micro type instance (that’s the smallest there is, really great to test things and play around). Bigger instances have higher CPU power and more RAM, and are useful for processing large amounts of data or other resource-intensive tasks.</p>
<p>If you missed the zone selection earlier, you can select the desired zone in this step. Click Continue to get to the Advanced Instance Options.</p>
<p><img class="aligncenter size-large wp-image-556" alt="Amazon AWS Select Advanced Options" src="http://monitive.com/blog/wp-content/uploads/2013/02/aws05-select-advanced-options-640x448.png" width="640" height="448" /></p>
<p>Here you can select really advanced options such as the RAM Disk ID or Kernel. You’ll usually want to leave these as they are. If you intend to place really important data on this instance, you can check the <em>Prevent against accidental termination</em> check-box to make sure you don’t click something and find your machine recycled. Click Continue to move on.</p>
<p>You are almost done. What you need to choose is the storage drive and some security options.</p>
<p><img class="aligncenter size-large wp-image-557" alt="Amazon AWS Storage Options" src="http://monitive.com/blog/wp-content/uploads/2013/02/aws06-storage-options-640x448.png" width="640" height="448" /></p>
<p>Usually, a 8 GB drive that will get deleted when you destroy the machine is a good start. But if you need to go wild, feel free to click Edit and have a bigger one. Please note that you will pay a bit more for a bigger drive, and if you don’t really need it, just go with 8 GB. You’ll be able to add a larger drive later on if you suddenly decide that you need 50 GB or so, drive that you can mount on your machine (and even share it between machines). In the cloud, all drives are better called “volumes”.</p>
<p>Click Continue to get to the Tags page.</p>
<p><img class="aligncenter size-large wp-image-558" alt="Amazon AWS Tags" src="http://monitive.com/blog/wp-content/uploads/2013/02/aws07-tags-640x448.png" width="640" height="448" /></p>
<p>Name your machine so that you can identify it later, especially if you’ll have several. You can name this whatever you’d like, even Prime Experiment or whatever you find meaningful. You can add several tags to help you manage the server later.</p>
<p>One really great thing about all these instances is that you can even power on and manage instance via API calls, which gives great flexibility to create a really intelligent system that reacts to change in real time. Think about it. You can have a script in place that powers on a machine for every 5000 concurrent users on your site. Automatic configuration of load balancers is just a matter of API calls. Your entire infrastructure can grow and shrink as needed, without wasting resources. Big press release today and you’re expecting ten times the traffic? Just power on some more machines. It’s that easy!</p>
<p>Click Continue to get to the security part.</p>
<p><img class="aligncenter size-large wp-image-559" alt="Amazon AWS Key Pair Options" src="http://monitive.com/blog/wp-content/uploads/2013/02/aws08-key-pair-640x448.png" width="640" height="448" /></p>
<p>If you&#8217;ve never created a key pair, now is the time. These key pairs are actually files that are used to authenticate you as an authorized user of the machine. It’s called pair, because any pair is composed of two files. One is installed on the machine, and one should be in your possession (on your local computer). Every time you need to connect, you “pair” or “match” the two. If the match is successful, you’re allowed to log in. This means hackers can’t connect to your machine even if they have the password.</p>
<p>Your “part” of the Key Pair is a file that you keep on your computer. If you use PuTTY to connect to your machine, you just have to specify its location and save your connection and you can login without any hassle or even a password. The default user on Ubuntu systems is “ubuntu”, with no password, just the key file.</p>
<p>You can move on without a Key Pair but it’s not recommended. You don’t want your server hijacked and used for malicious purposes.</p>
<p>So, either create a Key Pair or select one you already have and click Continue.</p>
<p>This is the second step regarding security. The Security Groups.</p>
<p><img class="aligncenter size-large wp-image-560" alt="Amazon AWS Security Group" src="http://monitive.com/blog/wp-content/uploads/2013/02/aws09-security-group-640x448.png" width="640" height="448" /></p>
<p>Amazon take security very serious, and this is why the provide an extra layer of protection, before the one that you choose to configure on your machine. Security groups work this way: you create a security group and assign it to one or more machines. After that, you configure the security group based on your needs, using rules, just like the firewall. You can open certain ports for public access, or for access only from specific hosts. This enables you to quickly update your security settings and apply them to all the machines that are part of a certain security group. Otherwise, you’d have to login and update the firewall on each machine, manually.</p>
<p>This also reduces overhead on your instance, because you don’t have to install firewall software on the machine, just add the services that you need and use them.</p>
<p>Of course, you don’t need to decide now what ports you’ll want to have open, you can always do that later.</p>
<p>The next page is a short summary of all the previous questions, and it’s a good idea to go over them and make sure you power up the machine you need.</p>
<p><img class="aligncenter size-large wp-image-561" alt="Amazon AWS Review Instance Information" src="http://monitive.com/blog/wp-content/uploads/2013/02/aws10-review-info-640x448.png" width="640" height="448" /></p>
<p>Here’s your moment of glory. If it all looks ok, click Launch and your machine is up and running!</p>
<p><img class="aligncenter size-large wp-image-562" alt="Amazon AWS Launched" src="http://monitive.com/blog/wp-content/uploads/2013/02/aws11-launched-640x448.png" width="640" height="448" /></p>
<p>Here it’s safe to click Close, this will take you to the instances list where you will click on your new machine to get the connection details.</p>
<p>Each Amazon machine, when powered up, it is assigned a new IP, because IPv4 addresses are scarce. Along with the IP, the new machine gets a Public DNS hostname so that you can connect to it from outside the Amazon “cloud”. Scroll down and find your Public DNS hostname. You’ll need this in the next step.</p>
<p><img class="aligncenter size-large wp-image-563" alt="Amazon AWS Public DNS" src="http://monitive.com/blog/wp-content/uploads/2013/02/aws12-public-dns-640x448.png" width="640" height="448" /></p>
<p>This wasn&#8217;t hard, wasn&#8217;t it?</p>
<h2>Connect to your machine</h2>
<p>On Windows, connecting to your Ubuntu machine is really easy. Just fire up PuTTY, the software used to connect securely, and paste the Public DNS hostname into the Host Name text-box.</p>
<p><img class="aligncenter size-full wp-image-564" alt="PuTTY Configuration" src="http://monitive.com/blog/wp-content/uploads/2013/02/putty01-putty-1.png" width="456" height="439" /></p>
<p>From the list on the left, click on the SSH leaf and then Auth. This is where the authentication options reside.</p>
<p><img class="aligncenter size-full wp-image-565" alt="PuTTY Private Key" src="http://monitive.com/blog/wp-content/uploads/2013/02/putty02-putty-key.png" width="456" height="439" /></p>
<p>Click on Browse and select your Key file that you obtained when you created your Key Pair. Go back up to the Session page, type a name into the Saved Session text box and click Save. This will list your session in the Saved Sessions box, under Default Settings, and each time you want to connect to this machine (if the hostname is not altered by shutdown/restart), just open PuTTY and double-click on your saved connection.</p>
<p>You can make it even simpler, by asking PuTTY to automatically type in the user name, for example ‘ubuntu’. This way, with one double-click you are connected to the virtual server that runs in the cloud.</p>
<p><img class="aligncenter size-large wp-image-566" alt="Ubuntu 12.04 LTS Logged In" src="http://monitive.com/blog/wp-content/uploads/2013/02/ubuntu01-logged-in-640x445.png" width="640" height="445" /></p>
<p>Pretty cool, right?</p>
<h2>The basic setup</h2>
<p>Immediately after you fired up your new machine, you’ll want to do some tasks that usually are meant to put things into place and to update your server to the latest version.</p>
<p>To do this, you need to have Aptitude, the package manager, up to date. Run these commands on your new born machine:</p>
<blockquote><p>sudo apt-get update<br />
sudo apt-get upgrade</p></blockquote>
<p>This will recheck all the package sources and update all the software already installed on your machine. I usually reboot the machine after this step, because it may contain kernel or other boot software updates, which, if go wrong, may prevent your machine from booting in the future. You don&#8217;t want to find out it doesn&#8217;t boot anymore after you&#8217;ve spent hours setting it up with everything, do you? Run <em>sudo reboot</em> and keep your fingers crossed.</p>
<p>After this, I usually install a bunch of packages that I always use, such as Midnight Commander, htop (a smarter top), and unpacking tools:</p>
<blockquote><p>sudo apt-get install zip unzip arj htop mc multitail byobu dnsutils dstat</p></blockquote>
<p>From here on, you can install any software you like, and don&#8217;t forget to power off your machine when you&#8217;re done with it. And, of course, if your website grows a bit and users rely on it, don&#8217;t forget to get some <a title="Uptime Monitoring" href="http://monitive.com/en">uptime monitoring</a>.</p>
<p>If your project&#8217;s architecture is designed to be decoupled, you can fire up a machine just for database storage, and one to server the application to the users. This allows you identify problems within any component independently. For example if the whole application is on one system and that system starts to increase in load, it&#8217;s going to be hard to identify which service has gone rogue. But that&#8217;s the subject for next week&#8217;s article.</p>
<p><em>So, what tools do you usually install by default on your virtual machines?</em></p>
<p><a href="http://monitive.com/blog/2013/02/kickstart-an-amazon-ec2-server/">Kickstart an Amazon EC2 Server</a> is a post from: <a href="http://monitive.com/blog">Monitive Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://monitive.com/blog/2013/02/kickstart-an-amazon-ec2-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Importance of Owning Websites For Businesses</title>
		<link>http://monitive.com/blog/2013/02/the-importance-of-owning-websites-for-businesses/</link>
		<comments>http://monitive.com/blog/2013/02/the-importance-of-owning-websites-for-businesses/#comments</comments>
		<pubDate>Thu, 07 Feb 2013 18:29:00 +0000</pubDate>
		<dc:creator>Janice</dc:creator>
				<category><![CDATA[Tech Tips]]></category>

		<guid isPermaLink="false">http://monitive.com/blog/?p=539</guid>
		<description><![CDATA[It may be an overused topic, but it is still important to inform people of how important websites are to all businesses. No matter how small or how big they are, it would be important for their presence to be &#8230; <a href="http://monitive.com/blog/2013/02/the-importance-of-owning-websites-for-businesses/">Continue reading <span class="meta-nav">&#8594;</span></a><p><a href="http://monitive.com/blog/2013/02/the-importance-of-owning-websites-for-businesses/">The Importance of Owning Websites For Businesses</a> is a post from: <a href="http://monitive.com/blog">Monitive Blog</a></p>
]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-large wp-image-540" alt="Business Websi" src="http://monitive.com/blog/wp-content/uploads/2013/02/business-website-monitoring-640x428.jpg" width="640" height="428" />It may be an overused topic, but it is still important to inform people of how important websites are to all businesses. No matter how small or how big they are, it would be important for their presence to be felt by the people. What better way than to reach their prospects by building their names through their own websites?<span id="more-539"></span></p>
<p>It was hard to use the internet back in the early 2000s. Only a privileged few were lucky enough to have internet access, and it did not come for free – it was very expensive. Those were the days when telephones and yellow directories were more popular. Some years later, the access had become easier and relatively cheaper, allowing more people to use the internet in their own homes. This simple information has been a known fact to many individuals, and it is only right that they use whatever form of communication is available. Especially in businesses, informing prospects of their products is one of the most important things. What better way to do it than by using the most used form of communication, right?</p>
<p>Given that it is one of the most used forms of communication, business-owners should have their own websites. They do not have to pay huge amounts for their website. In fact, they can start by using social networking sites before they finally get their own website. As the internet is the most powerful tool of communication, sending the message across would be much easier. Without repeating the proposal over and over again to different prospects, one may be able to turn their prospects into clients.</p>
<p>With that being said, a business owner should still provide the best website it could present. He should continue having it checked regularly as part of its efforts for his online presence. Using <a title="Website Uptime Monitoring" href="http://monitive.com/en">website monitoring</a> services would give a business owner the benefit of having his website checked regularly for its uptime performance.</p>
<p>There are people who would still use yellow directories and telephones to inquire about businesses. However, many more would go online and search for information about the business they are looking at, so it is definitely better to have a website for any business. As long as the website is user-friendly and the products or services are good, consumers would keep on coming back for it. Keep the website updated and full of information, and people will surely come back.</p>
<p><a href="http://monitive.com/blog/2013/02/the-importance-of-owning-websites-for-businesses/">The Importance of Owning Websites For Businesses</a> is a post from: <a href="http://monitive.com/blog">Monitive Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://monitive.com/blog/2013/02/the-importance-of-owning-websites-for-businesses/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Factors Affecting the Slowness of A Website</title>
		<link>http://monitive.com/blog/2013/02/factors-affecting-the-slowness-of-a-website/</link>
		<comments>http://monitive.com/blog/2013/02/factors-affecting-the-slowness-of-a-website/#comments</comments>
		<pubDate>Mon, 04 Feb 2013 07:30:56 +0000</pubDate>
		<dc:creator>Janice</dc:creator>
				<category><![CDATA[Tech Tips]]></category>

		<guid isPermaLink="false">http://monitive.com/blog/?p=522</guid>
		<description><![CDATA[It is without a doubt that page loading time affects a website&#8217;s usability. No matter what the reason is, website visitors would simply click the close button when their patience has been tried by a slow website. While webmasters can &#8230; <a href="http://monitive.com/blog/2013/02/factors-affecting-the-slowness-of-a-website/">Continue reading <span class="meta-nav">&#8594;</span></a><p><a href="http://monitive.com/blog/2013/02/factors-affecting-the-slowness-of-a-website/">Factors Affecting the Slowness of A Website</a> is a post from: <a href="http://monitive.com/blog">Monitive Blog</a></p>
]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-large wp-image-533" alt="Website slowness" src="http://monitive.com/blog/wp-content/uploads/2013/02/yay-57238501-640x342.jpg" width="640" height="342" /></p>
<p>It is without a doubt that page loading time affects a website&#8217;s usability. No matter what the reason is, website visitors would simply click the close button when their patience has been tried by a slow website. While webmasters can do something to quicken it, this would mean that they will remove certain parts of their websites that add up to the aesthetic factor. But then again, lessening the unneeded parts would be much better than visitors leaving the website without checking the contents it may have. Potential loss of visitors would lead to loss of income, so it is always better to have faster websites than slow ones.<span id="more-522"></span></p>
<p>Sometimes though, a website&#8217;s weak performance do not stem out of the interface. It could also be because of the webhost, and some other factors that might be detrimental to the growth of your website&#8217;s popularity. The thing is, it could be prevented. Aside from having a website that is not too loaded with graphics and videos, having a good host would bring more positive effects on a website.</p>
<p><img class="alignright size-medium wp-image-534" alt="Website under construction" src="http://monitive.com/blog/wp-content/uploads/2013/02/yay-29419691-200x300.jpg" width="200" height="300" /></p>
<p>While designing a website and publishing it is not the hardest part of owning one, making it as perfect as it could be is hard. Preventing negative things from happening is not a hard thing to do though, especially if a website is subscribed to an <a title="Site Uptime Monitoring service by Monitive" href="http://monitive.com" target="_blank">uptime monitoring</a> service such as Monitive.</p>
<p>But then again, it does not always come down to a website&#8217;s performance. There are times when a site loads slowly because of a visitor&#8217;s computer issues and if that is the case, then there is nothing that a website owner and its affiliates could do to make a visitor&#8217;s visit a worthwhile experience. In such cases, it would be better to have the computer checked first.</p>
<p>Although the interface of the website is the first thing that a visitor notices, it is important not to go too far with what is in it. Remove photos and videos that are not really important to the website, or opt for photo optimizers. That way, the website will still contain the photos you want to add without the added weight of unnecessary bytes. Minimize the use of JavaScript and Spreadsheet because it affects the speed a lot, especially when visitors are using DSL connection.</p>
<p>Going to slow websites tend to irritate visitors, and it more often than not result to them not going back to that website. That should be enough reason for a webmaster to continue improving his website and to always have it monitored for superior performance. Keep it fast, user-friendly and up-to-date, and get lots of visitors who will go back whenever they want to.</p>
<p><a href="http://monitive.com/blog/2013/02/factors-affecting-the-slowness-of-a-website/">Factors Affecting the Slowness of A Website</a> is a post from: <a href="http://monitive.com/blog">Monitive Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://monitive.com/blog/2013/02/factors-affecting-the-slowness-of-a-website/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Welcome aboard, Janice!</title>
		<link>http://monitive.com/blog/2013/02/welcome-aboard-janice/</link>
		<comments>http://monitive.com/blog/2013/02/welcome-aboard-janice/#comments</comments>
		<pubDate>Sat, 02 Feb 2013 11:55:59 +0000</pubDate>
		<dc:creator>Lucian Daniliuc</dc:creator>
				<category><![CDATA[Product Updates]]></category>

		<guid isPermaLink="false">http://monitive.com/blog/?p=510</guid>
		<description><![CDATA[Monitive&#8217;s team just got bigger! Starting this week, Janice is our Marketing Specialist, so her job is to make sure that lots and lots of site owners and system engineers hear about our great service. And considering that there are &#8230; <a href="http://monitive.com/blog/2013/02/welcome-aboard-janice/">Continue reading <span class="meta-nav">&#8594;</span></a><p><a href="http://monitive.com/blog/2013/02/welcome-aboard-janice/">Welcome aboard, Janice!</a> is a post from: <a href="http://monitive.com/blog">Monitive Blog</a></p>
]]></description>
				<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-511" alt="Screen Shot 2013-02-01 at 7.49.01 PM" src="http://monitive.com/blog/wp-content/uploads/2013/02/Screen-Shot-2013-02-01-at-7.49.01-PM-204x300.png" width="204" height="300" />Monitive&#8217;s team just got bigger! Starting this week, Janice is our Marketing Specialist, so her job is to make sure that lots and lots of site owners and system engineers hear about our great service. And considering that there are roughly <a href="http://news.netcraft.com/archives/2012/03/05/march-2012-web-server-survey.html" target="_blank">200 million active websites</a> in the world, this will not be a boring task to acomplish.</p>
<p>She will also handle most of our Social Media outreach, so be sure to follow us on <a href="http://twitter.com/#!/monitive" target="_blank">Twitter</a>, <a href="http://www.facebook.com/pages/Monitive/164228183607525" target="_blank">Facebook</a> and <a href="https://plus.google.com/102764800690361359794" target="_blank">Google+</a> to read about interesting news in the IT industry.</p>
<p>Janice will focus on building traffic, SEO, content publishing, Social Media and she&#8217;ll also write neat stuff on our company blog.</p>
<p>We&#8217;re always happy when our team grows, as this is a clear sign of prosperity and a confirmation what we&#8217;re going in the right direction.</p>
<p>Welcome Janice, we&#8217;re confident that you will do a great job!</p>
<p><a href="http://monitive.com/blog/2013/02/welcome-aboard-janice/">Welcome aboard, Janice!</a> is a post from: <a href="http://monitive.com/blog">Monitive Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://monitive.com/blog/2013/02/welcome-aboard-janice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Give your team members access</title>
		<link>http://monitive.com/blog/2012/12/give-your-team-members-access/</link>
		<comments>http://monitive.com/blog/2012/12/give-your-team-members-access/#comments</comments>
		<pubDate>Mon, 24 Dec 2012 07:59:11 +0000</pubDate>
		<dc:creator>Lucian Daniliuc</dc:creator>
				<category><![CDATA[Product Updates]]></category>

		<guid isPermaLink="false">http://monitive.com/blog/?p=504</guid>
		<description><![CDATA[Service uptime is usually a topic concerning more than just one team member. Yes, it&#8217;s Christmas eve, but starting today you can add as many users you&#8217;d like to your account, with read-only access or read-write to specific monitors that &#8230; <a href="http://monitive.com/blog/2012/12/give-your-team-members-access/">Continue reading <span class="meta-nav">&#8594;</span></a><p><a href="http://monitive.com/blog/2012/12/give-your-team-members-access/">Give your team members access</a> is a post from: <a href="http://monitive.com/blog">Monitive Blog</a></p>
]]></description>
				<content:encoded><![CDATA[<p>Service uptime is usually a topic concerning more than just one team member. Yes, it&#8217;s Christmas eve, but starting today you can add as many users you&#8217;d like to your account, with read-only access or read-write to specific monitors that you choose.</p>
<p><img class="aligncenter size-large wp-image-505" alt="Monitive extra users list" src="http://monitive.com/blog/wp-content/uploads/2012/12/users-list-640x451.png" width="640" height="451" /></p>
<p>They will then be able to login and view all the information in the Monitive account, but they will not have access to subscription information, to change account information, delete or add alerts.</p>
<p>You can even choose to give them updating access to specific monitors in your account. Just head out to the Users option in the Account menu. For more information check out the  <a title="Monitive read-only user acacess" href="http://monitive.com/help/features/read-only-account-users" target="_blank">Monitive users article</a>, in our knowledge-base.</p>
<p><strong>Merry Christmas!</strong></p>
<p><a href="http://monitive.com/blog/2012/12/give-your-team-members-access/">Give your team members access</a> is a post from: <a href="http://monitive.com/blog">Monitive Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://monitive.com/blog/2012/12/give-your-team-members-access/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
