<?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>Gary Rixon, Author at Dogsbody Technology</title>
	<atom:link href="https://www.dogsbody.com/blog/author/garyrixon/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>Linux managed services &#38; consulting for ambitious web agencies and SaaS companies</description>
	<lastBuildDate>Wed, 08 Jun 2022 09:54:24 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>WP-CLI &#8211; The Swiss Army Knife For WordPress</title>
		<link>https://www.dogsbody.com/blog/wp-cli-the-swiss-army-knife-for-wordpress/?pk_campaign=feed&#038;pk_kwd=wp-cli-the-swiss-army-knife-for-wordpress</link>
					<comments>https://www.dogsbody.com/blog/wp-cli-the-swiss-army-knife-for-wordpress/?pk_campaign=feed&#038;pk_kwd=wp-cli-the-swiss-army-knife-for-wordpress#respond</comments>
		
		<dc:creator><![CDATA[Gary Rixon]]></dc:creator>
		<pubDate>Tue, 02 Jul 2019 09:20:16 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://www.dogsbody.com/?p=11584</guid>

					<description><![CDATA[<p>WP-CLI (WordPress Command-Line Interface) is an open source project providing a command-line interface for managing WordPress sites. It is an extremely powerful and versatile tool, being able to carry out pretty much any operation that would normally be carried out via the web control panel, along with some additional functions that are only available via [&#8230;]<img src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Fwp-cli-the-swiss-army-knife-for-wordpress%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dwp-cli-the-swiss-army-knife-for-wordpress&amp;action_name=WP-CLI%20%26%238211%3B%20The%20Swiss%20Army%20Knife%20For%20WordPress&amp;urlref=https%3A%2F%2Fwww.dogsbody.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
<p>The post <a href="https://www.dogsbody.com/blog/wp-cli-the-swiss-army-knife-for-wordpress/?pk_campaign=feed&#038;pk_kwd=wp-cli-the-swiss-army-knife-for-wordpress">WP-CLI &#8211; The Swiss Army Knife For WordPress</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><a href="https://wp-cli.org/" target="_blank" rel="noopener noreferrer">WP-CLI</a> (WordPress Command-Line Interface) is an open source project providing a command-line interface for managing <a href="https://wordpress.org/" target="_blank" rel="noopener noreferrer">WordPress</a> sites. It is an extremely powerful and versatile tool, being able to carry out pretty much any operation that would normally be carried out via the web control panel, along with some additional functions that are only available via the CLI.</p>
<p>We use WP-CLI extensively here at Dogsbody Technology. It allows us to streamline and automate our WordPress set up and maintenance routine, so we thought we&#8217;d spread the word and get everybody else in on the action.</p>
<h2>Installation</h2>
<p>There are a few installation methods for WP-CLI, all which are documented <a href="https://make.wordpress.org/cli/handbook/installing/" target="_blank" rel="noopener noreferrer">here</a>. We typically use the Phar installation method, which is as simple as:</p>
<pre class="highlight"><code>curl <span class="nt">-O</span> https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
<span class="nb">sudo </span>mv wp-cli.phar /usr/local/bin/wp</code></pre>
<h2>Basic Usage</h2>
<p>Unless otherwise instructed, WP-CLI will operate on the site contained in your current working directory. So if you want to work on a particular site you&#8217;ll need to &#8220;cd&#8221; to the installation directory before running your command, or alternatively you can pass the <code>--path</code> argument to WP-CLI. e.g.</p>
<pre>wp --path=/var/www/dogsbody.com plugin install yoast</pre>
<h2>Creating a new site</h2>
<p>As well as managing existing sites, WP-CLI can also set up new ones. You&#8217;ll need to create a MySQL database and user, but beyond that WP-CLI can handle the rest. A basic site download/install procedure may look something like this:</p>
<pre>wp core download --locale=en_GB
wp core config --dbname=database_name --dbuser=database_user --dbpass=database_password
wp core install --url=www.dogsbody.com --title="Dogsbody's Website" --admin_user=dogsbody --admin_password=admin_password --admin_email= --skip-email</pre>
<h2>Re-Writing a site</h2>
<p>We often have customers wanting to take an existing site and re-configuring it to work on a new domain, or wanting to add HTTPS to an existing site and update everything to be served securely. WP-CLI makes this otherwise quite complex process much easier with with it&#8217;s search/replace feature:</p>
<pre>wp search-replace 'https://www.dogsbodytechnology.com' 'https://www.dogsbody.com' --skip-columns=guid</pre>
<p><strong>(It&#8217;s advisable to skip the guid column as the guid of posts/pages within WordPress should never change).</strong></p>
<p>In summary, WP-CLI is a very powerful tool and one that anybody working with WordPress sites often should at least be aware of. It can save you heaps of time and help you avoid mistakes.</p>
<p>If you want any help with WP-CLI, then please <a href="https://www.dogsbody.com/contact/" target="_blank" rel="noopener noreferrer">contact us.</a> Or if you want some seriously fast and secure WordPress hosting, be sure to <a href="https://www.dogsbody.com/linux-services/hosting/optimised-wordpress-hosting/" target="_blank" rel="noopener noreferrer">check out our WordPress hosting.</a></p>
<img decoding="async" src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Fwp-cli-the-swiss-army-knife-for-wordpress%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dwp-cli-the-swiss-army-knife-for-wordpress&amp;action_name=WP-CLI%20%26%238211%3B%20The%20Swiss%20Army%20Knife%20For%20WordPress&amp;urlref=https%3A%2F%2Fwww.dogsbody.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /><p>The post <a href="https://www.dogsbody.com/blog/wp-cli-the-swiss-army-knife-for-wordpress/?pk_campaign=feed&#038;pk_kwd=wp-cli-the-swiss-army-knife-for-wordpress">WP-CLI &#8211; The Swiss Army Knife For WordPress</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dogsbody.com/blog/wp-cli-the-swiss-army-knife-for-wordpress/?pk_campaign=feed&#038;pk_kwd=wp-cli-the-swiss-army-knife-for-wordpress/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>The Cloud Native Computing Foundation</title>
		<link>https://www.dogsbody.com/blog/the-cloud-native-computing-foundation/?pk_campaign=feed&#038;pk_kwd=the-cloud-native-computing-foundation</link>
					<comments>https://www.dogsbody.com/blog/the-cloud-native-computing-foundation/?pk_campaign=feed&#038;pk_kwd=the-cloud-native-computing-foundation#respond</comments>
		
		<dc:creator><![CDATA[Gary Rixon]]></dc:creator>
		<pubDate>Tue, 26 Mar 2019 11:29:06 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Certification]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[container]]></category>
		<category><![CDATA[training]]></category>
		<guid isPermaLink="false">https://www.dogsbody.com/?p=10979</guid>

					<description><![CDATA[<p>The Cloud Native Computing Foundation (CNCF) is: an open source software foundation dedicated to making cloud native computing universal and sustainable They do this by hosting and &#8220;incubating&#8221; projects they see as valuable, helping them to develop and reach maturity, where they can be used widely in cloud environments. CNCF has over 350 members including [&#8230;]<img src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Fthe-cloud-native-computing-foundation%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dthe-cloud-native-computing-foundation&amp;action_name=The%20Cloud%20Native%20Computing%20Foundation&amp;urlref=https%3A%2F%2Fwww.dogsbody.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
<p>The post <a href="https://www.dogsbody.com/blog/the-cloud-native-computing-foundation/?pk_campaign=feed&#038;pk_kwd=the-cloud-native-computing-foundation">The Cloud Native Computing Foundation</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>The <a href="https://www.cncf.io/" target="_blank" rel="noopener noreferrer">Cloud Native Computing Foundation</a> (CNCF) is:</p>
<blockquote><p>an open source software foundation dedicated to making cloud native computing universal and sustainable</p></blockquote>
<p>They do this by hosting and &#8220;incubating&#8221; projects they see as valuable, helping them to develop and reach maturity, where they can be used widely in cloud environments.</p>
<blockquote><p>CNCF has over 350 members including the world’s largest public cloud and enterprise software companies as well as dozens of innovative startups</p></blockquote>
<p>The CNCF is also backed by the <a href="https://www.linuxfoundation.org/">Linux Foundation</a>, who are fast becoming one of the most recognised organisations in the industry. They support the open source community as a whole, aiming to protect and accelerate development of the Linux kernel, along with many other things.</p>
<h2>Why should I care?</h2>
<p>The CNCF is exciting as, for me at least, it provides a bit of a portal into the way that the industry is moving at the moment.  It showcases both the current behemoths of cloud computing software stacks, along with projects that are likely to replace or supplement them in the future. The CNCF split their projects into 3 main categories:</p>
<ul>
<li>Graduated</li>
<li>Incubating</li>
<li>Sandbox</li>
</ul>
<p>Graduated projects are ones that have reached maturity and see wide adoption. The current list of these projects at the time of writing are <a href="https://kubernetes.io/" target="_blank" rel="noopener noreferrer">Kubernetes</a>, <a href="https://prometheus.io/" target="_blank" rel="noopener noreferrer">Prometheus</a>, <a href="https://www.envoyproxy.io/" target="_blank" rel="noopener noreferrer">Envoy</a>, <a href="https://coredns.io/" target="_blank" rel="noopener noreferrer">CoreDNS</a> and <a href="https://containerd.io/" target="_blank" rel="noopener noreferrer">containerd</a>. If you&#8217;ve been even dabbling in the cloud/linux community, then you&#8217;ve probably heard of at least a few of these projects.</p>
<p>Incubating projects are ones that haven&#8217;t quite hit the prime time yet, but are well on their way. These currently include projects such as <a href="https://github.com/rkt/rkt" target="_blank" rel="noopener noreferrer">rkt</a>, a container engine that&#8217;s a potential competitor for Docker, <a href="https://github.com/containernetworking/cni" target="_blank" rel="noopener noreferrer">CNI</a> (Container Network Interface), which focuses on configuring networking within containers, and <a href="https://github.com/etcd-io/etcd" target="_blank" rel="noopener noreferrer">etcd</a>, a key-value store designed for storing critical system data.</p>
<p>I find the CNCF useful for guiding me on what pieces of software I should be learning to enhance my skill set as they&#8217;re likely to be desirable in the short to medium term. It&#8217;s also one of the first places I&#8217;m likely to check for a piece of software that fits a particular need, as I know that CNCF projects are going to be active, well supported, and have lots of related stack overflow questions / Github issues for when I&#8217;m getting started.</p>
<h2>Training and Certification</h2>
<p>The CNCF also offer some training and certification options. This is useful to prove that you&#8217;re familiar and capable with some of the technologies they support. At the time of writing, the <a href="https://www.cncf.io/certification/training/#" target="_blank" rel="noopener noreferrer">training courses and certifications</a> they offer are all kubernetes based (which is by no means a bad thing), but I&#8217;m sure they will offer more in the future.</p>
<p>In summary, the CNCF acts a sort of central hub for a lot of the hottest and biggest projects right now, and even if you&#8217;re don&#8217;t have a particular need for them at this time, it&#8217;s good to know what&#8217;s out there right now, as well as coming over the hill, and it&#8217;s therefore useful for this reason alone.</p>
<p>&nbsp;</p>
<p><em>Featured image by <a href="https://www.chuttersnap.com">chuttersnap</a> on <a href="https://unsplash.com/license">Unsplash</a></em></p>
<img decoding="async" src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Fthe-cloud-native-computing-foundation%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dthe-cloud-native-computing-foundation&amp;action_name=The%20Cloud%20Native%20Computing%20Foundation&amp;urlref=https%3A%2F%2Fwww.dogsbody.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /><p>The post <a href="https://www.dogsbody.com/blog/the-cloud-native-computing-foundation/?pk_campaign=feed&#038;pk_kwd=the-cloud-native-computing-foundation">The Cloud Native Computing Foundation</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dogsbody.com/blog/the-cloud-native-computing-foundation/?pk_campaign=feed&#038;pk_kwd=the-cloud-native-computing-foundation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Multi -Factor Authentication And Why You Should Use it</title>
		<link>https://www.dogsbody.com/blog/multi-factor-authentication-why-you-should-use-it/?pk_campaign=feed&#038;pk_kwd=multi-factor-authentication-why-you-should-use-it</link>
					<comments>https://www.dogsbody.com/blog/multi-factor-authentication-why-you-should-use-it/?pk_campaign=feed&#038;pk_kwd=multi-factor-authentication-why-you-should-use-it#comments</comments>
		
		<dc:creator><![CDATA[Gary Rixon]]></dc:creator>
		<pubDate>Tue, 22 Jan 2019 11:22:53 +0000</pubDate>
				<category><![CDATA[Knowledge Base]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">https://www.dogsbody.com/?p=10260</guid>

					<description><![CDATA[<p>With ever-growing portions of our lives spent on the internet, or using services that depend on it, keeping your online accounts secure has never been more important. A breach of a key personal account can have devastating effects on our lives. Think identity theft, or embarrassing information/media being leaked. One of the most effective solutions [&#8230;]<img src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Fmulti-factor-authentication-why-you-should-use-it%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dmulti-factor-authentication-why-you-should-use-it&amp;action_name=Multi%20-Factor%20Authentication%20And%20Why%20You%20Should%20Use%20it&amp;urlref=https%3A%2F%2Fwww.dogsbody.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
<p>The post <a href="https://www.dogsbody.com/blog/multi-factor-authentication-why-you-should-use-it/?pk_campaign=feed&#038;pk_kwd=multi-factor-authentication-why-you-should-use-it">Multi -Factor Authentication And Why You Should Use it</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>With ever-growing portions of our lives spent on the internet, or using services that depend on it, keeping your online accounts secure has never been more important. A breach of a key personal account can have devastating effects on our lives. Think identity theft, or embarrassing information/media being leaked.</p>
<p>One of the most effective solutions to this problem is Multi-Factor Authentication, or MFA (sometimes written 2FA for 2 Factor Authentication).</p>
<h2><u>What is MFA?</u></h2>
<p>MFA is a process by which more than one piece of information is required in order to authenticate against a service or provider.</p>
<h2><u>What’s the problem?</u></h2>
<p>In days of old, and still on less tech-savvy sites on the internet, a single username and password combination would be sufficient to grant you access to an account. Now in an ideal world, everybody would use lengthy and difficult to guess passwords, using different passwords for every service. But humans will be human, and take the easier route of using shorter, easy to remember, and worst of all <b>common </b>passwords. This inevitably leads to accounts being compromised when those common passwords are tried, or when the attacker reads the post-it that’s stuck to the bottom of your monitor…</p>
<h2><u>How does MFA help?</u></h2>
<p>MFA helps to resolve this problem by requiring a second piece of information; a second <b>factor</b>. This second factor can be many different things, with different sites offering the choices they think best. The most common are:</p>
<ul>
<li>email</li>
<li>SMS</li>
<li>Automated phone call</li>
<li>Mobile device</li>
</ul>
<h2><u>How does it work?</u></h2>
<p>Upon entering your valid username and password combination, the site or application will ask you for your second factor. If you provide this second factor correctly, then you will be authenticated. If you provide the wrong information, or no information at all, then you are denied. Simple right?</p>
<h2><u>Isn’t this essentially just a second password?</u></h2>
<p>Great question! Some sites may just require a second piece of text for your second factor, and in this case, it is essentially just a second password yes. However, good MFA is usually configured so that is requires <b>something you know, and something you have. </b>For example, a password, and an SMS. Using SMS as the second factor requires the user to <b>have </b>the mobile phone with the number configured on the account. Same for a phone call. This means that if somebody learns your password, it is useless unless they also have your unlocked mobile phone.</p>
<p>The next thing to consider is that <b>the second factor is changing regularly and often. </b>When a provider sends you an SMS, this is usually valid for a short period of time, say 10 minutes. If you wish to login after this time, you must receive a new SMS with a new passcode. This of course prevents people from writing the second factor down, as it would be useless a short while later, and also means that if an attacker were to find out what the second factor was, they would have a very short window in which to login.</p>
<p><em>Side note: though we&#8217;ve used SMS as an example here, there&#8217;s a growing movement of people that consider it insecure due to demonstrated attacks which are able to <a href="https://threatpost.com/survey-2fa-kill-sms/140933/" target="_blank" rel="noopener">bypass this second factor</a>. As with any security procedure, you should always consider it&#8217;s merits and potential weaknesses before putting it in place yourselves.</em></p>
<p>In summary MFA is both a simple and effective way of keeping your online accounts secure. We strongly recommend everyone enables it where possible. You should still continue to use strong passwords and follow best practices in terms of security too. <b> </b></p>
<p><em>Feature image background by <a href="https://www.flickr.com/photos/chrisdag/" target="_blank" rel="noopener"> ChrisDag</a> licensed <a title="Creative Commons BY-SA 2.0" href="https://creativecommons.org/licenses/by/2.0/">CC BY 2.0</a>.</em></p>
<p>&nbsp;</p>
<img decoding="async" src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Fmulti-factor-authentication-why-you-should-use-it%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dmulti-factor-authentication-why-you-should-use-it&amp;action_name=Multi%20-Factor%20Authentication%20And%20Why%20You%20Should%20Use%20it&amp;urlref=https%3A%2F%2Fwww.dogsbody.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /><p>The post <a href="https://www.dogsbody.com/blog/multi-factor-authentication-why-you-should-use-it/?pk_campaign=feed&#038;pk_kwd=multi-factor-authentication-why-you-should-use-it">Multi -Factor Authentication And Why You Should Use it</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dogsbody.com/blog/multi-factor-authentication-why-you-should-use-it/?pk_campaign=feed&#038;pk_kwd=multi-factor-authentication-why-you-should-use-it/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>EMF Camp 2018 &#8211; A Field Full of Nerds</title>
		<link>https://www.dogsbody.com/blog/emf-camp-2018-a-field-full-of-nerds/?pk_campaign=feed&#038;pk_kwd=emf-camp-2018-a-field-full-of-nerds</link>
					<comments>https://www.dogsbody.com/blog/emf-camp-2018-a-field-full-of-nerds/?pk_campaign=feed&#038;pk_kwd=emf-camp-2018-a-field-full-of-nerds#comments</comments>
		
		<dc:creator><![CDATA[Gary Rixon]]></dc:creator>
		<pubDate>Thu, 06 Sep 2018 10:41:47 +0000</pubDate>
				<category><![CDATA[Activities]]></category>
		<category><![CDATA[EMFcamp]]></category>
		<category><![CDATA[hacking]]></category>
		<guid isPermaLink="false">https://www.dogsbody.com/?p=8688</guid>

					<description><![CDATA[<p>From the 31st of August &#8211; 2nd September 2018, Dogsbody Technology attended Electromagnetic Field, in the grounds of Eastnor Castle Deer Park, in Herefordshire. It was a fun packed weekend, with talks and workshops on a huge variety of subjects, from blacksmithing to knitting, soldering to giant walking hexapods! How was it? The whole weekend was [&#8230;]<img src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Femf-camp-2018-a-field-full-of-nerds%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Demf-camp-2018-a-field-full-of-nerds&amp;action_name=EMF%20Camp%202018%20%26%238211%3B%20A%20Field%20Full%20of%20Nerds&amp;urlref=https%3A%2F%2Fwww.dogsbody.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
<p>The post <a href="https://www.dogsbody.com/blog/emf-camp-2018-a-field-full-of-nerds/?pk_campaign=feed&#038;pk_kwd=emf-camp-2018-a-field-full-of-nerds">EMF Camp 2018 &#8211; A Field Full of Nerds</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>From the 31st of August &#8211; 2nd September 2018, Dogsbody Technology attended <a href="https://www.emfcamp.org/" target="_blank" rel="noopener noreferrer">Electromagnetic Field</a>, in the grounds of Eastnor Castle Deer Park, in Herefordshire. It was a fun packed weekend, with talks and workshops on a huge variety of subjects, from blacksmithing to knitting, soldering to <a href="https://twitter.com/andrewgodwin/status/1035841997121236992" target="_blank" rel="noopener noreferrer">giant walking hexapods!</a></p>
<h2>How was it?</h2>
<p>The whole weekend was brilliant, and the energy when you&#8217;re there is amazing. There is a real sense of community and friendship amongst everybody, many of whom have never even met before. There&#8217;s no such thing as a silly question at EMF, if you want to know more about something, just ask; there will be lots of people willing to help you out. There are some very clever people present, so there are many opportunities for learning, and teaching too.</p>
<h2>Power and Internet</h2>
<p>One of the more unique aspects of EMF is the fact that you get power and super fast internet to your tent/village. This year, a ludicrously quick 1Gbps symmetrical connection was provided. This is a fast circuit for a permanent installation, let alone one for a ~3 day event (not forgetting the amazing volunteers who&#8217;d been on site for nearly 10 days when all was said and done!)</p>
<h2>Villages</h2>
<p>Campers are allowed, and encouraged, to set up villages on the site. These are basically collections of tents/structures where people camp together so they can work on similar projects, or just enjoy the company of other like minded people. Whilst Dogsbody didn&#8217;t have a &#8220;village&#8221; as such, we all camped together and had a communal space for hacking / eating / chatting etc. Here&#8217;s most of us hacking on our badges (more on these in a while)</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-8691" src="https://www.dogsbody.com/wp-content/uploads/P1120451-1030x773.jpg" alt="Badge hacking at camp Dogsbody" width="1030" height="773" srcset="https://www.dogsbody.com/wp-content/uploads/P1120451-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/P1120451-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/P1120451-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/P1120451-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/P1120451-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/P1120451-450x338.jpg 450w" sizes="auto, (max-width: 1030px) 100vw, 1030px" /></p>
<h2>The Talks / Workshops</h2>
<p>EMF 2018 was the biggest yet, and it was packed full of content. There were roughly 120 talks, 74 workshops, 20 performances and 43 other events. And they were all amazing! There&#8217;s obviously too much stuff to discuss here, so I&#8217;ve asked the rest of the company to tell me a little about their favourite parts:</p>
<blockquote><p>Friday night at EMF Camp was amazing &#8211; 100 watts of lasers, Fire&#8230;<a href="https://www.professorelemental.com/">Professor Elemental</a> live and seeing the Null Sector for the first time was incredible. I&#8217;m a sucker for multi coloured lights</p>
<p>&#8211; Claire</p></blockquote>
<blockquote><p>As a regular user of the trains, I was drawn to the railway signalling talk. I often jokingly write the trains off as hopeless and incompetent but as we all know everything is always more complex than it first appears so this was a great place to get a better idea as to what keeps going wrong. The talk was interesting, informative and well delivered.</p>
<p>Here are some of the things that fall under &#8220;a signalling problem&#8221;:</p>
<ul>
<li>Keeping track of where the trains are (this is often done by putting a battery on the track or a small box to count the axles as they pass it).</li>
<li>Making sure you aren&#8217;t too close to the train in front (is usually done by either splitting the track into zones and only allowing one train per zone or by keeping track of the zone in front of each train that it will need to safely stop).</li>
<li>Signalling the driver and making sure the fail safes are working in case they miss / ignore the signal.</li>
</ul>
<p>Just from these things you end up with a huge number of ways for the trains to be delayed to ensure passenger safety.</p>
<p>&#8211; Jim</p></blockquote>
<blockquote><p>My favourite talk was <a href="https://media.ccc.de/v/emf2018-145-boiling-nemo-make-your-own-internet-of-things">Boiling nemo</a> &#8211; make your own internet of things. Which detailed out the presenters descent into IoT madness, after his fish tank malfunctioned he set up a Raspberry Pi to monitor it.</p>
<p>He slowly takes his home IoT further and further until at the end he is comparing &#8220;Big data&#8221; with a graph showing his son leaving for school (later and later!).</p>
<p>My other highlight was watching Hackers, it is one of those movies that is so much better with a crowd. HACK THE PLANET!</p>
<p>&#8211; Rob</p></blockquote>
<blockquote><p>The Cracking HiTag2 Crypto talk was very interesting as I&#8217;ve always wondered how they work. Learning that as well as how to crack them was indeed fascinating. The way you can crack and copy them is seriously impressive and now I&#8217;ve seen how all of that is done I want to go myself.</p>
<p>&#8211; Chris</p></blockquote>
<blockquote><p><a href="https://media.ccc.de/v/emf2018-393-banned-from-encrypting">The talk from from two hackers</a> that at the age of 16 were banned from using any encryption technology for 5 years was fascinating.  It&#8217;s very clear that the UK police service has a long way to go before they even know what to do with criminals in an online world.  With the UN declaring the internet now being a basic human right and the push for encryption of all online content over the last few years there can easily be a disconnect between punishment and rehabilitation.</p>
<p>&#8211; Dan</p></blockquote>
<p>At the time of writing, all of the happenings of EMF 2018 are detailed <a href="https://www.emfcamp.org/line-up/2018" target="_blank" rel="noopener noreferrer">here</a> and videos of all of the talks can be found <a href="https://media.ccc.de/c/emf2018" target="_blank" rel="noopener noreferrer">here</a></p>
<h2>Badges</h2>
<p>The badges at EMF are truly unique. Most conferences give you a name badge which has your name on it, along with maybe your occupation / job title etc. EMF goes above and beyond this quite stratospherically, giving you badges which are small, hackable microcontrollers. This year, along with the now &#8220;standard&#8221; screen and LEDs, this year&#8217;s badges had <strong>fully functional mobile phones built in. </strong>And these connected to&#8230; the <strong>fully functional GSM mobile network that was set up on</strong> <strong>site. </strong>We could write an entire post on the badges and what they&#8217;re capable of (which we may well do at some point), so I&#8217;ll just have to leave you with some pictures for now (note the SIM card above the battery wires in the second picture)</p>
<p><img loading="lazy" decoding="async" class="size-medium wp-image-8700 aligncenter" src="https://www.dogsbody.com/wp-content/uploads/20180904_142658_HDR-300x225.jpg" alt="" width="300" height="225" srcset="https://www.dogsbody.com/wp-content/uploads/20180904_142658_HDR-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/20180904_142658_HDR-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/20180904_142658_HDR-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/20180904_142658_HDR-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/20180904_142658_HDR-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/20180904_142658_HDR-450x338.jpg 450w" sizes="auto, (max-width: 300px) 100vw, 300px" /><img loading="lazy" decoding="async" class="size-medium wp-image-8699 aligncenter" src="https://www.dogsbody.com/wp-content/uploads/20180904_142808_HDR-300x225.jpg" alt="" width="300" height="225" srcset="https://www.dogsbody.com/wp-content/uploads/20180904_142808_HDR-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/20180904_142808_HDR-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/20180904_142808_HDR-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/20180904_142808_HDR-450x338.jpg 450w, https://www.dogsbody.com/wp-content/uploads/20180904_142808_HDR.jpg 800w" sizes="auto, (max-width: 300px) 100vw, 300px" /></p>
<p>&nbsp;</p>
<h2>Summary</h2>
<p>We all had a blast at EMF 2018, and we&#8217;re already looking forward to EMF 2020, which we hope to attend. We really don&#8217;t know what the organisers are going to do next, but we&#8217;re sure it&#8217;s gonna be mega.</p>
<p>If you attended EMF 2018 and have anything to share, please leave a comment below.</p>
<p>Here are some of our favourite photos from this years event.</p>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-1ycxwg-0597fa4e6819bb10fddb5846b9671718">
#top .avia-gallery.av-1ycxwg-0597fa4e6819bb10fddb5846b9671718 .avia-gallery-thumb a{
width:20%;
}
</style>
<div  class='avia-gallery av-1ycxwg-0597fa4e6819bb10fddb5846b9671718 avia_animate_when_visible  avia-builder-el-0  avia-builder-el-no-sibling  avia_lazyload avia-gallery-animate avia-gallery-1'  itemprop="image" itemscope="itemscope" itemtype="https://schema.org/ImageObject" ><meta itemprop="contentURL" content="https://www.dogsbody.com/blog/emf-camp-2018-a-field-full-of-nerds/?pk_campaign=feed&amp;pk_kwd=emf-camp-2018-a-field-full-of-nerds"><div class='avia-gallery-thumb'><a href="https://www.dogsbody.com/wp-content/uploads/2018-08-31-07.14.43-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-07.14.43-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-07.14.43-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-07.14.43-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-07.14.43-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-07.14.43-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-07.14.43-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/2018-08-31-07.14.43-495x400.jpg' class='first_thumb lightbox ' data-onclick='1' title='Loading up the car'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8737 avia-img-lazy-loading-not-8737"  data-avia-tooltip='Loading up the car' src="https://www.dogsbody.com/wp-content/uploads/2018-08-31-07.14.43-495x400.jpg" width="495" height="400"  title='2018-08-31 07.14.43' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-07.14.43-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-07.14.43-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8737 avia-img-lazy-loading-8737"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/2018-08-31-07.14.43-495x400.jpg" title='2018-08-31 07.14.43' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-07.14.43-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-07.14.43-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.39.43-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.39.43-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.39.43-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.39.43-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.39.43-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.39.43-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.39.43-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.39.43-495x400.jpg' class='lightbox ' data-onclick='2' title='2018-08-31 19.39.43'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8736 avia-img-lazy-loading-not-8736"   src="https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.39.43-495x400.jpg" width="495" height="400"  title='2018-08-31 19.39.43' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.39.43-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.39.43-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8736 avia-img-lazy-loading-8736"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.39.43-495x400.jpg" title='2018-08-31 19.39.43' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.39.43-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.39.43-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.40.03-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.40.03-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.40.03-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.40.03-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.40.03-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.40.03-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.40.03-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.40.03-495x400.jpg' class='lightbox ' data-onclick='3' title='One of many geodesic domes'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8735 avia-img-lazy-loading-not-8735"  data-avia-tooltip='One of many geodesic domes' src="https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.40.03-495x400.jpg" width="495" height="400"  title='2018-08-31 19.40.03' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.40.03-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.40.03-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8735 avia-img-lazy-loading-8735"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.40.03-495x400.jpg" title='2018-08-31 19.40.03' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.40.03-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.40.03-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.41.02-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.41.02-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.41.02-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.41.02-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.41.02-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.41.02-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.41.02-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.41.02-495x400.jpg' class='lightbox ' data-onclick='4' title='Blacksmithing workshop'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8734 avia-img-lazy-loading-not-8734"  data-avia-tooltip='Blacksmithing workshop' src="https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.41.02-495x400.jpg" width="495" height="400"  title='2018-08-31 19.41.02' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.41.02-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.41.02-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8734 avia-img-lazy-loading-8734"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.41.02-495x400.jpg" title='2018-08-31 19.41.02' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.41.02-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-19.41.02-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.36.10-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.36.10-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.36.10-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.36.10-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.36.10-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.36.10-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.36.10-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.36.10-495x400.jpg' class='lightbox ' data-onclick='5' title='Professor Elemental'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8733 avia-img-lazy-loading-not-8733"  data-avia-tooltip='Professor Elemental' src="https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.36.10-495x400.jpg" width="495" height="400"  title='2018-08-31 21.36.10' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.36.10-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.36.10-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8733 avia-img-lazy-loading-8733"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.36.10-495x400.jpg" title='2018-08-31 21.36.10' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.36.10-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.36.10-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.54-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.54-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.54-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.54-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.54-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.54-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.54-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.54-495x400.jpg' class='first_thumb lightbox ' data-onclick='6' title='Professor Elemental'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8732 avia-img-lazy-loading-not-8732"  data-avia-tooltip='Professor Elemental' src="https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.54-495x400.jpg" width="495" height="400"  title='2018-08-31 21.55.54' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.54-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.54-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8732 avia-img-lazy-loading-8732"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.54-495x400.jpg" title='2018-08-31 21.55.54' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.54-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.54-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/2018-08-31-22.44.48-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-22.44.48-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-22.44.48-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-22.44.48-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-22.44.48-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-22.44.48-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-22.44.48-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/2018-08-31-22.44.48-495x400.jpg' class='lightbox ' data-onclick='7' title='Lazors!'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8731 avia-img-lazy-loading-not-8731"  data-avia-tooltip='Lazors!' src="https://www.dogsbody.com/wp-content/uploads/2018-08-31-22.44.48-495x400.jpg" width="495" height="400"  title='2018-08-31 22.44.48' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-22.44.48-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-22.44.48-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8731 avia-img-lazy-loading-8731"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/2018-08-31-22.44.48-495x400.jpg" title='2018-08-31 22.44.48' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-22.44.48-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-22.44.48-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.18-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.18-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.18-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.18-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.18-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.18-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.18-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.18-495x400.jpg' class='lightbox ' data-onclick='8' title='Lazors!'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8730 avia-img-lazy-loading-not-8730"  data-avia-tooltip='Lazors!' src="https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.18-495x400.jpg" width="495" height="400"  title='2018-08-31 21.55.18' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.18-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.18-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8730 avia-img-lazy-loading-8730"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.18-495x400.jpg" title='2018-08-31 21.55.18' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.18-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/2018-08-31-21.55.18-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/P1120392-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/P1120392-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/P1120392-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/P1120392-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/P1120392-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/P1120392-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/P1120392-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/P1120392-495x400.jpg' class='lightbox ' data-onclick='9' title='The Belgian Embassy'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8729 avia-img-lazy-loading-not-8729"  data-avia-tooltip='The Belgian Embassy' src="https://www.dogsbody.com/wp-content/uploads/P1120392-495x400.jpg" width="495" height="400"  title='P1120392' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120392-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120392-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8729 avia-img-lazy-loading-8729"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/P1120392-495x400.jpg" title='P1120392' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120392-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120392-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/P1120401-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/P1120401-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/P1120401-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/P1120401-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/P1120401-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/P1120401-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/P1120401-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/P1120401-495x400.jpg' class='lightbox ' data-onclick='10' title='One of 3 main tents'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8728 avia-img-lazy-loading-not-8728"  data-avia-tooltip='One of 3 main tents' src="https://www.dogsbody.com/wp-content/uploads/P1120401-495x400.jpg" width="495" height="400"  title='P1120401' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120401-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120401-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8728 avia-img-lazy-loading-8728"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/P1120401-495x400.jpg" title='P1120401' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120401-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120401-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/P1120407-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/P1120407-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/P1120407-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/P1120407-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/P1120407-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/P1120407-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/P1120407-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/P1120407-495x400.jpg' class='first_thumb lightbox ' data-onclick='11' title='Wacky Racers Tracker'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8727 avia-img-lazy-loading-not-8727"  data-avia-tooltip='Wacky Racers Tracker' src="https://www.dogsbody.com/wp-content/uploads/P1120407-495x400.jpg" width="495" height="400"  title='P1120407' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120407-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120407-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8727 avia-img-lazy-loading-8727"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/P1120407-495x400.jpg" title='P1120407' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120407-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120407-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/P1120412-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/P1120412-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/P1120412-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/P1120412-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/P1120412-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/P1120412-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/P1120412-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/P1120412-495x400.jpg' class='lightbox ' data-onclick='12' title='EMF 2018 Sign'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8726 avia-img-lazy-loading-not-8726"  data-avia-tooltip='EMF 2018 Sign' src="https://www.dogsbody.com/wp-content/uploads/P1120412-495x400.jpg" width="495" height="400"  title='P1120412' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120412-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120412-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8726 avia-img-lazy-loading-8726"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/P1120412-495x400.jpg" title='P1120412' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120412-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120412-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/P1120416-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/P1120416-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/P1120416-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/P1120416-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/P1120416-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/P1120416-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/P1120416-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/P1120416-495x400.jpg' class='lightbox ' data-onclick='13' title='6 Wheeled Thingy&#8230;'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8725 avia-img-lazy-loading-not-8725"  data-avia-tooltip='6 Wheeled Thingy&#8230;' src="https://www.dogsbody.com/wp-content/uploads/P1120416-495x400.jpg" width="495" height="400"  title='P1120416' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120416-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120416-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8725 avia-img-lazy-loading-8725"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/P1120416-495x400.jpg" title='P1120416' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120416-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120416-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/P1120423-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/P1120423-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/P1120423-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/P1120423-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/P1120423-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/P1120423-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/P1120423-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/P1120423-495x400.jpg' class='lightbox ' data-onclick='14' title='Colourful 3D Polygon'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8724 avia-img-lazy-loading-not-8724"  data-avia-tooltip='Colourful 3D Polygon' src="https://www.dogsbody.com/wp-content/uploads/P1120423-495x400.jpg" width="495" height="400"  title='P1120423' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120423-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120423-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8724 avia-img-lazy-loading-8724"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/P1120423-495x400.jpg" title='P1120423' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120423-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120423-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/P1120438-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/P1120438-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/P1120438-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/P1120438-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/P1120438-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/P1120438-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/P1120438-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/P1120438-495x400.jpg' class='lightbox ' data-onclick='15' title='Another geodesic dome, ft Dan'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8723 avia-img-lazy-loading-not-8723"  data-avia-tooltip='Another geodesic dome, ft Dan' src="https://www.dogsbody.com/wp-content/uploads/P1120438-495x400.jpg" width="495" height="400"  title='P1120438' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120438-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120438-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8723 avia-img-lazy-loading-8723"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/P1120438-495x400.jpg" title='P1120438' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120438-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120438-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.07.09-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.07.09-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.07.09-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.07.09-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.07.09-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.07.09-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.07.09-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.07.09-495x400.jpg' class='first_thumb lightbox ' data-onclick='16' title='Wacky Races In Full Flow'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8722 avia-img-lazy-loading-not-8722"  data-avia-tooltip='Wacky Races In Full Flow' src="https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.07.09-495x400.jpg" width="495" height="400"  title='2018-09-01 18.07.09' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.07.09-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.07.09-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8722 avia-img-lazy-loading-8722"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.07.09-495x400.jpg" title='2018-09-01 18.07.09' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.07.09-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.07.09-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.12.54-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.12.54-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.12.54-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.12.54-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.12.54-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.12.54-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.12.54-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.12.54-495x400.jpg' class='lightbox ' data-onclick='17' title='EMF Map'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8721 avia-img-lazy-loading-not-8721"  data-avia-tooltip='EMF Map' src="https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.12.54-495x400.jpg" width="495" height="400"  title='2018-09-01 18.12.54' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.12.54-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.12.54-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8721 avia-img-lazy-loading-8721"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.12.54-495x400.jpg" title='2018-09-01 18.12.54' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.12.54-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/2018-09-01-18.12.54-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/20180901_224821-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/20180901_224821-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/20180901_224821-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/20180901_224821-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/20180901_224821-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/20180901_224821-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/20180901_224821-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/20180901_224821-495x400.jpg' class='lightbox ' data-onclick='18' title='Null Sector (Lazors!)'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8720 avia-img-lazy-loading-not-8720"  data-avia-tooltip='Null Sector (Lazors!)' src="https://www.dogsbody.com/wp-content/uploads/20180901_224821-495x400.jpg" width="495" height="400"  title='20180901_224821' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/20180901_224821-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/20180901_224821-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8720 avia-img-lazy-loading-8720"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/20180901_224821-495x400.jpg" title='20180901_224821' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/20180901_224821-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/20180901_224821-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2253194-772x1030.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2253194-772x1030.jpg 772w, https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2253194-225x300.jpg 225w, https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2253194-768x1025.jpg 768w, https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2253194-1124x1500.jpg 1124w, https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2253194-528x705.jpg 528w, https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2253194-450x600.jpg 450w" data-sizes="(max-width: 772px) 100vw, 772px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2253194-495x400.jpg' class='lightbox ' data-onclick='19' title='Tentactle Thingy'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8719 avia-img-lazy-loading-not-8719"  data-avia-tooltip='Tentactle Thingy' src="https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2253194-495x400.jpg" width="495" height="400"  title='IMG_20180901_2253194' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2253194-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2253194-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8719 avia-img-lazy-loading-8719"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2253194-495x400.jpg" title='IMG_20180901_2253194' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2253194-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2253194-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2258396-1030x772.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2258396-1030x772.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2258396-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2258396-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2258396-1500x1124.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2258396-705x528.jpg 705w, https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2258396-450x337.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2258396-495x400.jpg' class='lightbox ' data-onclick='20' title='Null Sector'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8718 avia-img-lazy-loading-not-8718"  data-avia-tooltip='Null Sector' src="https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2258396-495x400.jpg" width="495" height="400"  title='IMG_20180901_2258396' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2258396-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2258396-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8718 avia-img-lazy-loading-8718"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2258396-495x400.jpg" title='IMG_20180901_2258396' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2258396-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/IMG_20180901_2258396-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/20180901_231046-e1536071667189-772x1030.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/20180901_231046-e1536071667189-772x1030.jpg 772w, https://www.dogsbody.com/wp-content/uploads/20180901_231046-e1536071667189-225x300.jpg 225w, https://www.dogsbody.com/wp-content/uploads/20180901_231046-e1536071667189-768x1025.jpg 768w, https://www.dogsbody.com/wp-content/uploads/20180901_231046-e1536071667189-1124x1500.jpg 1124w, https://www.dogsbody.com/wp-content/uploads/20180901_231046-e1536071667189-528x705.jpg 528w, https://www.dogsbody.com/wp-content/uploads/20180901_231046-e1536071667189-450x601.jpg 450w, https://www.dogsbody.com/wp-content/uploads/20180901_231046-e1536071667189.jpg 1744w" data-sizes="(max-width: 772px) 100vw, 772px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/20180901_231046-e1536071667189-495x400.jpg' class='first_thumb lightbox ' data-onclick='21' title='20180901_231046'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8717 avia-img-lazy-loading-not-8717"   src="https://www.dogsbody.com/wp-content/uploads/20180901_231046-e1536071667189-495x400.jpg" width="495" height="400"  title='20180901_231046' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/20180901_231046-e1536071667189-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/20180901_231046-e1536071667189-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8717 avia-img-lazy-loading-8717"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/20180901_231046-e1536071667189-495x400.jpg" title='20180901_231046' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/20180901_231046-e1536071667189-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/20180901_231046-e1536071667189-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/20180901_231117-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/20180901_231117-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/20180901_231117-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/20180901_231117-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/20180901_231117-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/20180901_231117-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/20180901_231117-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/20180901_231117-495x400.jpg' class='lightbox ' data-onclick='22' title='Null Sector DJ Stand'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8716 avia-img-lazy-loading-not-8716"  data-avia-tooltip='Null Sector DJ Stand' src="https://www.dogsbody.com/wp-content/uploads/20180901_231117-495x400.jpg" width="495" height="400"  title='20180901_231117' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/20180901_231117-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/20180901_231117-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8716 avia-img-lazy-loading-8716"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/20180901_231117-495x400.jpg" title='20180901_231117' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/20180901_231117-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/20180901_231117-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/20180901_232946-e1536071791561-773x1030.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/20180901_232946-e1536071791561-773x1030.jpg 773w, https://www.dogsbody.com/wp-content/uploads/20180901_232946-e1536071791561-225x300.jpg 225w, https://www.dogsbody.com/wp-content/uploads/20180901_232946-e1536071791561-768x1024.jpg 768w, https://www.dogsbody.com/wp-content/uploads/20180901_232946-e1536071791561-1125x1500.jpg 1125w, https://www.dogsbody.com/wp-content/uploads/20180901_232946-e1536071791561-529x705.jpg 529w, https://www.dogsbody.com/wp-content/uploads/20180901_232946-e1536071791561-450x600.jpg 450w" data-sizes="(max-width: 773px) 100vw, 773px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/20180901_232946-e1536071791561-495x400.jpg' class='lightbox ' data-onclick='23' title='LED Sphere Thingy'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8715 avia-img-lazy-loading-not-8715"  data-avia-tooltip='LED Sphere Thingy' src="https://www.dogsbody.com/wp-content/uploads/20180901_232946-e1536071791561-495x400.jpg" width="495" height="400"  title='20180901_232946' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/20180901_232946-e1536071791561-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/20180901_232946-e1536071791561-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8715 avia-img-lazy-loading-8715"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/20180901_232946-e1536071791561-495x400.jpg" title='20180901_232946' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/20180901_232946-e1536071791561-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/20180901_232946-e1536071791561-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/20180901_235301-e1536071694233-773x1030.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/20180901_235301-e1536071694233-773x1030.jpg 773w, https://www.dogsbody.com/wp-content/uploads/20180901_235301-e1536071694233-225x300.jpg 225w, https://www.dogsbody.com/wp-content/uploads/20180901_235301-e1536071694233-768x1024.jpg 768w, https://www.dogsbody.com/wp-content/uploads/20180901_235301-e1536071694233-1125x1500.jpg 1125w, https://www.dogsbody.com/wp-content/uploads/20180901_235301-e1536071694233-529x705.jpg 529w, https://www.dogsbody.com/wp-content/uploads/20180901_235301-e1536071694233-450x600.jpg 450w" data-sizes="(max-width: 773px) 100vw, 773px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/20180901_235301-e1536071694233-495x400.jpg' class='lightbox ' data-onclick='24' title='Rainbow Tree!'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8714 avia-img-lazy-loading-not-8714"  data-avia-tooltip='Rainbow Tree!' src="https://www.dogsbody.com/wp-content/uploads/20180901_235301-e1536071694233-495x400.jpg" width="495" height="400"  title='20180901_235301' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/20180901_235301-e1536071694233-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/20180901_235301-e1536071694233-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8714 avia-img-lazy-loading-8714"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/20180901_235301-e1536071694233-495x400.jpg" title='20180901_235301' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/20180901_235301-e1536071694233-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/20180901_235301-e1536071694233-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/20180901_235501-e1536071730950-773x1030.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/20180901_235501-e1536071730950-773x1030.jpg 773w, https://www.dogsbody.com/wp-content/uploads/20180901_235501-e1536071730950-225x300.jpg 225w, https://www.dogsbody.com/wp-content/uploads/20180901_235501-e1536071730950-768x1024.jpg 768w, https://www.dogsbody.com/wp-content/uploads/20180901_235501-e1536071730950-1125x1500.jpg 1125w, https://www.dogsbody.com/wp-content/uploads/20180901_235501-e1536071730950-529x705.jpg 529w, https://www.dogsbody.com/wp-content/uploads/20180901_235501-e1536071730950-450x600.jpg 450w" data-sizes="(max-width: 773px) 100vw, 773px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/20180901_235501-e1536071730950-495x400.jpg' class='lightbox ' data-onclick='25' title='(Roof) Lazors!'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8713 avia-img-lazy-loading-not-8713"  data-avia-tooltip='(Roof) Lazors!' src="https://www.dogsbody.com/wp-content/uploads/20180901_235501-e1536071730950-495x400.jpg" width="495" height="400"  title='20180901_235501' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/20180901_235501-e1536071730950-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/20180901_235501-e1536071730950-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8713 avia-img-lazy-loading-8713"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/20180901_235501-e1536071730950-495x400.jpg" title='20180901_235501' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/20180901_235501-e1536071730950-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/20180901_235501-e1536071730950-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/20180901_235502-e1536071749371-773x1030.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/20180901_235502-e1536071749371-773x1030.jpg 773w, https://www.dogsbody.com/wp-content/uploads/20180901_235502-e1536071749371-225x300.jpg 225w, https://www.dogsbody.com/wp-content/uploads/20180901_235502-e1536071749371-768x1024.jpg 768w, https://www.dogsbody.com/wp-content/uploads/20180901_235502-e1536071749371-1125x1500.jpg 1125w, https://www.dogsbody.com/wp-content/uploads/20180901_235502-e1536071749371-529x705.jpg 529w, https://www.dogsbody.com/wp-content/uploads/20180901_235502-e1536071749371-450x600.jpg 450w" data-sizes="(max-width: 773px) 100vw, 773px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/20180901_235502-e1536071749371-495x400.jpg' class='first_thumb lightbox ' data-onclick='26' title='Moar (Roof) Lazors!'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8712 avia-img-lazy-loading-not-8712"  data-avia-tooltip='Moar (Roof) Lazors!' src="https://www.dogsbody.com/wp-content/uploads/20180901_235502-e1536071749371-495x400.jpg" width="495" height="400"  title='20180901_235502' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/20180901_235502-e1536071749371-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/20180901_235502-e1536071749371-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8712 avia-img-lazy-loading-8712"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/20180901_235502-e1536071749371-495x400.jpg" title='20180901_235502' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/20180901_235502-e1536071749371-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/20180901_235502-e1536071749371-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/P1120485-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/P1120485-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/P1120485-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/P1120485-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/P1120485-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/P1120485-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/P1120485-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/P1120485-495x400.jpg' class='lightbox ' data-onclick='27' title='Null Sector Lazors!'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8711 avia-img-lazy-loading-not-8711"  data-avia-tooltip='Null Sector Lazors!' src="https://www.dogsbody.com/wp-content/uploads/P1120485-495x400.jpg" width="495" height="400"  title='P1120485' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120485-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120485-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8711 avia-img-lazy-loading-8711"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/P1120485-495x400.jpg" title='P1120485' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120485-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120485-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/P1120493-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/P1120493-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/P1120493-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/P1120493-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/P1120493-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/P1120493-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/P1120493-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/P1120493-495x400.jpg' class='lightbox ' data-onclick='28' title='3D Snake (This was hard!)'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8710 avia-img-lazy-loading-not-8710"  data-avia-tooltip='3D Snake (This was hard!)' src="https://www.dogsbody.com/wp-content/uploads/P1120493-495x400.jpg" width="495" height="400"  title='P1120493' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120493-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120493-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8710 avia-img-lazy-loading-8710"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/P1120493-495x400.jpg" title='P1120493' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120493-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120493-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/P1120495-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/P1120495-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/P1120495-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/P1120495-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/P1120495-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/P1120495-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/P1120495-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/P1120495-495x400.jpg' class='lightbox ' data-onclick='29' title='So much fire!'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8709 avia-img-lazy-loading-not-8709"  data-avia-tooltip='So much fire!' src="https://www.dogsbody.com/wp-content/uploads/P1120495-495x400.jpg" width="495" height="400"  title='P1120495' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120495-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120495-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8709 avia-img-lazy-loading-8709"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/P1120495-495x400.jpg" title='P1120495' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120495-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120495-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/20180902_134703_HDR-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/20180902_134703_HDR-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/20180902_134703_HDR-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/20180902_134703_HDR-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/20180902_134703_HDR-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/20180902_134703_HDR-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/20180902_134703_HDR-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/20180902_134703_HDR-495x400.jpg' class='lightbox ' data-onclick='30' title='HACK THE PLANET!'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8708 avia-img-lazy-loading-not-8708"  data-avia-tooltip='HACK THE PLANET!' src="https://www.dogsbody.com/wp-content/uploads/20180902_134703_HDR-495x400.jpg" width="495" height="400"  title='20180902_134703_HDR' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/20180902_134703_HDR-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/20180902_134703_HDR-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8708 avia-img-lazy-loading-8708"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/20180902_134703_HDR-495x400.jpg" title='20180902_134703_HDR' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/20180902_134703_HDR-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/20180902_134703_HDR-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/P1120396-773x1030.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/P1120396-773x1030.jpg 773w, https://www.dogsbody.com/wp-content/uploads/P1120396-225x300.jpg 225w, https://www.dogsbody.com/wp-content/uploads/P1120396-768x1024.jpg 768w, https://www.dogsbody.com/wp-content/uploads/P1120396-1125x1500.jpg 1125w, https://www.dogsbody.com/wp-content/uploads/P1120396-529x705.jpg 529w, https://www.dogsbody.com/wp-content/uploads/P1120396-450x600.jpg 450w" data-sizes="(max-width: 773px) 100vw, 773px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/P1120396-495x400.jpg' class='first_thumb lightbox ' data-onclick='31' title='P1120396'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8707 avia-img-lazy-loading-not-8707"   src="https://www.dogsbody.com/wp-content/uploads/P1120396-495x400.jpg" width="495" height="400"  title='P1120396' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120396-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120396-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8707 avia-img-lazy-loading-8707"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/P1120396-495x400.jpg" title='P1120396' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120396-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120396-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/P1120411-773x1030.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/P1120411-773x1030.jpg 773w, https://www.dogsbody.com/wp-content/uploads/P1120411-225x300.jpg 225w, https://www.dogsbody.com/wp-content/uploads/P1120411-768x1024.jpg 768w, https://www.dogsbody.com/wp-content/uploads/P1120411-1125x1500.jpg 1125w, https://www.dogsbody.com/wp-content/uploads/P1120411-529x705.jpg 529w, https://www.dogsbody.com/wp-content/uploads/P1120411-450x600.jpg 450w" data-sizes="(max-width: 773px) 100vw, 773px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/P1120411-495x400.jpg' class='lightbox ' data-onclick='32' title='P1120411'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8706 avia-img-lazy-loading-not-8706"   src="https://www.dogsbody.com/wp-content/uploads/P1120411-495x400.jpg" width="495" height="400"  title='P1120411' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120411-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120411-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8706 avia-img-lazy-loading-8706"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/P1120411-495x400.jpg" title='P1120411' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120411-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120411-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/P1120497-773x1030.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/P1120497-773x1030.jpg 773w, https://www.dogsbody.com/wp-content/uploads/P1120497-225x300.jpg 225w, https://www.dogsbody.com/wp-content/uploads/P1120497-768x1024.jpg 768w, https://www.dogsbody.com/wp-content/uploads/P1120497-1125x1500.jpg 1125w, https://www.dogsbody.com/wp-content/uploads/P1120497-529x705.jpg 529w, https://www.dogsbody.com/wp-content/uploads/P1120497-450x600.jpg 450w" data-sizes="(max-width: 773px) 100vw, 773px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/P1120497-495x400.jpg' class='lightbox ' data-onclick='33' title='P1120497'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8705 avia-img-lazy-loading-not-8705"   src="https://www.dogsbody.com/wp-content/uploads/P1120497-495x400.jpg" width="495" height="400"  title='P1120497' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120497-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120497-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8705 avia-img-lazy-loading-8705"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/P1120497-495x400.jpg" title='P1120497' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120497-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120497-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/P1120536-773x1030.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/P1120536-773x1030.jpg 773w, https://www.dogsbody.com/wp-content/uploads/P1120536-225x300.jpg 225w, https://www.dogsbody.com/wp-content/uploads/P1120536-768x1024.jpg 768w, https://www.dogsbody.com/wp-content/uploads/P1120536-1125x1500.jpg 1125w, https://www.dogsbody.com/wp-content/uploads/P1120536-529x705.jpg 529w, https://www.dogsbody.com/wp-content/uploads/P1120536-450x600.jpg 450w" data-sizes="(max-width: 773px) 100vw, 773px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/P1120536-495x400.jpg' class='lightbox ' data-onclick='34' title='EMF 2018'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-8704 avia-img-lazy-loading-not-8704"   src="https://www.dogsbody.com/wp-content/uploads/P1120536-495x400.jpg" width="495" height="400"  title='EMF 2018' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120536-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120536-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-8704 avia-img-lazy-loading-8704"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/P1120536-495x400.jpg" title='EMF 2018' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/P1120536-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/P1120536-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a></div></div>
<img loading="lazy" decoding="async" src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Femf-camp-2018-a-field-full-of-nerds%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Demf-camp-2018-a-field-full-of-nerds&amp;action_name=EMF%20Camp%202018%20%26%238211%3B%20A%20Field%20Full%20of%20Nerds&amp;urlref=https%3A%2F%2Fwww.dogsbody.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /><p>The post <a href="https://www.dogsbody.com/blog/emf-camp-2018-a-field-full-of-nerds/?pk_campaign=feed&#038;pk_kwd=emf-camp-2018-a-field-full-of-nerds">EMF Camp 2018 &#8211; A Field Full of Nerds</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dogsbody.com/blog/emf-camp-2018-a-field-full-of-nerds/?pk_campaign=feed&#038;pk_kwd=emf-camp-2018-a-field-full-of-nerds/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Duplicacy: Backup to the cloud</title>
		<link>https://www.dogsbody.com/blog/duplicacy-backup-to-the-cloud/?pk_campaign=feed&#038;pk_kwd=duplicacy-backup-to-the-cloud</link>
					<comments>https://www.dogsbody.com/blog/duplicacy-backup-to-the-cloud/?pk_campaign=feed&#038;pk_kwd=duplicacy-backup-to-the-cloud#respond</comments>
		
		<dc:creator><![CDATA[Gary Rixon]]></dc:creator>
		<pubDate>Tue, 03 Jul 2018 09:24:05 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[duplicacy]]></category>
		<category><![CDATA[s3]]></category>
		<guid isPermaLink="false">https://www.dogsbody.com/?p=8403</guid>

					<description><![CDATA[<p>Duplicacy is an open source backup tool which supports a large number of storage back-ends, including many cloud offerings, whilst also providing many other useful features. We recently implemented a duplicacy-based backup solution for a customer, and wanted to share our experience to help out anybody looking to implement duplicacy themselves. Installation Duplicacy is written [&#8230;]<img src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Fduplicacy-backup-to-the-cloud%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dduplicacy-backup-to-the-cloud&amp;action_name=Duplicacy%3A%20Backup%20to%20the%20cloud&amp;urlref=https%3A%2F%2Fwww.dogsbody.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
<p>The post <a href="https://www.dogsbody.com/blog/duplicacy-backup-to-the-cloud/?pk_campaign=feed&#038;pk_kwd=duplicacy-backup-to-the-cloud">Duplicacy: Backup to the cloud</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><a href="https://duplicacy.com/">Duplicacy</a> is an open source backup tool which supports a large number of storage back-ends, including many cloud offerings, whilst also providing many other useful features. We recently implemented a duplicacy-based backup solution for a customer, and wanted to share our experience to help out anybody looking to implement duplicacy themselves.</p>
<h2>Installation</h2>
<p>Duplicacy is written in Go, meaning it can be easily downloaded and compiled on the CLI. However, this involves installing Go on the system you wish to backup, which may not always be an option. Fortunately, duplicacy also provides binary releases, which can be downloaded and executed with ease.</p>
<p>To install duplicacy on a Linux system, the steps are as follows:</p>
<pre>wget https://github.com/gilbertchen/duplicacy/releases/download/v2.1.0/duplicacy_linux_x64_2.1.0
sudo mv duplicacy_linux_x64_2.1.0 /usr/local/bin/duplicacy
sudo chmod +x /usr/local/bin/duplicacy</pre>
<p>You can then run duplicacy by simple running the &#8220;duplicacy&#8221; command in your terminal.</p>
<h2>Setting up your storage</h2>
<p>As mentioned above, duplicacy supports an impressive number of storage back-ends. As of the time of writing, they are:</p>
<ul>
<li>Local disk</li>
<li>SFTP</li>
<li>Dropbox</li>
<li>Amazon S3</li>
<li>Wasabi</li>
<li>DigitalOcean Spaces</li>
<li>Google Cloud Storage</li>
<li>Microsoft Azure</li>
<li>Backblaze B2</li>
<li>Google Drive</li>
<li>Microsoft OneDrive</li>
<li>Hubic</li>
<li>OpenStack Swift</li>
<li>WebDAV (under beta testing)</li>
<li>pcloud (via WebDAV)</li>
<li>Box.com (via WebDAV)</li>
</ul>
<p>The two options that we&#8217;ve used are SFTP and AWS (Amazon Web Services) S3. To backup a system over SFTP, all you need is a working SFTP user on the remote system. No additional set up is required.</p>
<p>The set up for Amazon S3 is a little more involved, in summary, the steps are:</p>
<ul>
<li>Create an Amazon S3 bucket in your preferred region</li>
<li>Create an IAM policy granting permissions on this bucket</li>
<li>Create an IAM user and assign them this policy</li>
<li>Configure duplicacy to use this user and bucket</li>
</ul>
<h3>Creating an S3 bucket</h3>
<p>Creating a bucket is pretty straightforward. Login to your Amazon S3 account, go to the S3 service, click &#8220;Create bucket&#8221;, give your bucket a name, select a region, done. There are some other options when creating a bucket but these are not relevant to this post so I&#8217;ll not cover them here.</p>
<h3>Creating an IAM policy</h3>
<p>IAM stands for Identity and Access Management, and is central to many operations in AWS. To create your policy, navigate to the IAM service in AWS, select &#8220;policies&#8221; on the left, and click the big blue &#8220;Create policy&#8221; button at the top.</p>
<p>On this screen, choose the &#8220;JSON&#8221; tab. This is where we&#8217;ll specify the guts of our policy. It should look something like this:</p>
<pre>{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:ListAllMyBuckets",
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::dbt-gary-duplicacy-backup-example",
                "arn:aws:s3:::dbt-gary-duplicacy-backup-example/*"
            ]
        }
    ]
}</pre>
<p><strong>You&#8217;ll need to replace &#8220;dbt-gary-duplicacy-backup-example&#8221; with the name of the S3 bucket you created in the last step</strong></p>
<p>When you&#8217;re happy with your policy, click &#8220;Review policy&#8221;, followed by &#8220;Save changes&#8221;</p>
<h3>Creating an IAM user and assigning the policy</h3>
<p>From the home of the IAM service, now click &#8220;Users&#8221; on the left, followed by the big blue &#8220;Add user&#8221; button at the top. Provide a name for your user, and check the &#8220;Programmatic access&#8221; box below. Click next.</p>
<p>On the next screen, click &#8220;Attach existing policies directly&#8221;. At the top of the list of policies now listed below, click the &#8220;Filter: Policy type&#8221; drop-down, and select &#8220;Customer managed&#8221;. Check the box for your IAM policy, and click &#8220;review&#8221; to continue, followed by &#8220;Create user&#8221; on the next page.</p>
<p>Your IAM user and policy have now been created.</p>
<p><strong>Ensure that you save the details now presented to you. You will need these to configure duplicacy</strong></p>
<h2>Configuring duplicacy</h2>
<p>On the system you wish to backup, navigate to the directory you wish to backup. For example, on the system we configured, this was the &#8220;/home&#8221; directory. You can now configure duplicacy. The steps are as follows:</p>
<pre>sudo duplicacy init <em>your_repo_name</em> s3://<a class="external-link" href="mailto:eu-west-2@amazon.com" rel="nofollow"><em>your-region</em>@amazon.com</a>/<em>your_bucket_name</em>
sudo duplicacy set -key s3_id -value <em>your_access_key</em>
sudo duplicacy set -key s3_secret -value <em>your_secret_key</em></pre>
<p>There are a number of strings you&#8217;ll need to replace in the above snippet:</p>
<p><em>your_repo_name</em> &#8211; The name you&#8217;d like to give to this set of backups. For example, &#8220;johns-desktop&#8221;</p>
<p><em>your_bucket_name</em> &#8211; The name you gave your S3 bucket in the steps above.</p>
<p><em>your_region</em> &#8211; This is the AWS region you select for your buck above. Please see this table, using the &#8220;region&#8221; column that corresponds to your region name. For example, &#8220;eu-west-2&#8221; for the London region</p>
<p><em>your_access_key</em> &#8211; This is the access key for the IAM user you created above. It will be a long string of random looking characters.</p>
<p><em>your_secret_key</em> &#8211; This is the secret key for the IAM user you created above. It will again be a long string of random looking characters. Make sure you keep this safe, as anybody who has it can access your backups!</p>
<h2>Running a backup</h2>
<p>If all went well with the above, then you&#8217;re ready to run your first backup. This is as easy as running:</p>
<pre>sudo duplicacy backup</pre>
<p>This will backup all files under the current directory. Depending on the number of and size of files, this may take some time.</p>
<h4>Including/excluding certain files/directories from your backups</h4>
<p>Duplicacy offers powerful filtering functionality allowing for fine grained control over what files and directories you want to backup. These can be somewhat confusing to configure, but are very useful once you&#8217;ve got the hang of them. We may do a follow up post covering these, so be sure to check back in the future.</p>
<h2>Restoring backups from duplicacy</h2>
<p>In order to restore from duplicacy, you need to configure your system to interact with your backups. If you&#8217;re restoring on the same system the backups were taken on, you need not take any additional steps. If you&#8217;re restoring to a different system, you need to follow the installation and duplicacy configuration steps show above.</p>
<p>Once things are configured, you can view the available backups like so:</p>
<pre>sudo duplicacy list</pre>
<p><b> Note that you must be in the correct directory on your system (the one where you initialised your repo), in order to view the backups</b></p>
<p>This will give you a list of your backups:</p>
<pre>Snapshot johns-desktop revision 1 created at 2018-04-12 07:29 -hash
Snapshot johns-desktop revision 2 created at 2018-04-12 12:03 
Snapshot johns-desktop revision 3 created at 2018-04-17 17:37 
Snapshot johns-desktop revision 4 created at 2018-04-18 11:10 
Snapshot johns-desktop revision 5 created at 2018-04-18 14:38 
Snapshot johns-desktop revision 6 created at 2018-04-20 03:02 
Snapshot johns-desktop revision 7 created at 2018-04-21 03:02 
Snapshot johns-desktop revision 8 created at 2018-04-22 03:02 
Snapshot johns-desktop revision 9 created at 2018-04-23 03:02</pre>
<p>As you can see, there are revision numbers and the corresponding times and dates for these revisions. Revisions are just another name for a backup.</p>
<p>You can then restore a particular backup. For example, to restore revision 7:</p>
<pre>sudo duplicacy restore -r 7</pre>
<p>Again, depending on the number and size of files in this backup, this may take some time.</p>
<p>Duplicacy offer some really cool features when using the restore command. For example, you can see the contents of a file in a backup with the &#8220;cat&#8221; option, and compare differences between two backups with the &#8220;diff&#8221; option. You can see all of the options <a href="https://github.com/gilbertchen/duplicacy/wiki/restore" target="_blank" rel="noopener">here</a>.</p>
<h3>Selective restores</h3>
<p>One of the more useful restore options is to only restore a certain file or directory from your backup. This can be accomplished with the following command:</p>
<pre>sudo duplicacy restore -r 7 path/to/your/file.txt</pre>
<p>This can also be extended to restore everything under a directory, like so:</p>
<pre>sudo duplicacy restore -r 7 path/to/your/directory\*</pre>
<h2>Summary</h2>
<p>Duplicacy is an extremely powerful and portable backup tool, allowing for reliable and fine grained backups of your data. If you have any questions on duplicacy or would like any help setting it up, please leave a comment below or <a href="https://www.dogsbody.com/contact/" target="_blank" rel="noopener">contact us</a> and we&#8217;ll be happy to help. Thanks for reading.</p>
<p><em>Feature image background by <a href="https://www.flickr.com/people/111692634@N04/" target="_blank" rel="noopener">111692634@N04/</a> licensed <a title="Creative Commons BY-SA 2.0" href="https://creativecommons.org/licenses/by-nd/2.0/">CC BY-SA 2.0</a>.</em></p>
<img loading="lazy" decoding="async" src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Fduplicacy-backup-to-the-cloud%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dduplicacy-backup-to-the-cloud&amp;action_name=Duplicacy%3A%20Backup%20to%20the%20cloud&amp;urlref=https%3A%2F%2Fwww.dogsbody.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /><p>The post <a href="https://www.dogsbody.com/blog/duplicacy-backup-to-the-cloud/?pk_campaign=feed&#038;pk_kwd=duplicacy-backup-to-the-cloud">Duplicacy: Backup to the cloud</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dogsbody.com/blog/duplicacy-backup-to-the-cloud/?pk_campaign=feed&#038;pk_kwd=duplicacy-backup-to-the-cloud/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Replacement Server Monitoring – Part 3: Kapacitor alerts and going live!</title>
		<link>https://www.dogsbody.com/blog/replacement-server-monitoring-part-3-kapacitor-alerts-and-going-live/?pk_campaign=feed&#038;pk_kwd=replacement-server-monitoring-part-3-kapacitor-alerts-and-going-live</link>
					<comments>https://www.dogsbody.com/blog/replacement-server-monitoring-part-3-kapacitor-alerts-and-going-live/?pk_campaign=feed&#038;pk_kwd=replacement-server-monitoring-part-3-kapacitor-alerts-and-going-live#comments</comments>
		
		<dc:creator><![CDATA[Gary Rixon]]></dc:creator>
		<pubDate>Mon, 09 Apr 2018 15:47:16 +0000</pubDate>
				<category><![CDATA[Company]]></category>
		<category><![CDATA[monitoring]]></category>
		<guid isPermaLink="false">https://www.dogsbody.com/?p=8022</guid>

					<description><![CDATA[<p>So far in this series of blog posts we&#8217;ve discussed picking a replacement monitoring solution and getting it up and running. This instalment will cover setting up the actual alerting rules for our customers&#8217; servers, and going live with the new solution. Kapacitor Alerts As mentioned in previous posts, the portion of the TICK stack [&#8230;]<img src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Freplacement-server-monitoring-part-3-kapacitor-alerts-and-going-live%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dreplacement-server-monitoring-part-3-kapacitor-alerts-and-going-live&amp;action_name=Replacement%20Server%20Monitoring%20%E2%80%93%20Part%203%3A%20Kapacitor%20alerts%20and%20going%20live%21&amp;urlref=https%3A%2F%2Fwww.dogsbody.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
<p>The post <a href="https://www.dogsbody.com/blog/replacement-server-monitoring-part-3-kapacitor-alerts-and-going-live/?pk_campaign=feed&#038;pk_kwd=replacement-server-monitoring-part-3-kapacitor-alerts-and-going-live">Replacement Server Monitoring – Part 3: Kapacitor alerts and going live!</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>So far in this series of blog posts we&#8217;ve discussed <a href="https://www.dogsbody.com/blog/replacement-server-monitoring-part-1-picking-a-replacement/" target="_blank" rel="noopener">picking a replacement monitoring solution</a> and <a href="https://www.dogsbody.com/blog/replacement-server-monitoring-part-2-building-the-replacement/" target="_blank" rel="noopener">getting it up and running</a>. This instalment will cover setting up the actual alerting rules for our customers&#8217; servers, and going live with the new solution.</p>
<h2>Kapacitor Alerts</h2>
<p>As mentioned in previous posts, the portion of the TICK stack responsible for the actual alerting is Kapacitor. Put simply, Kapacitor takes metrics stored in the InfluxDB database, processes and transforms them, and then sends alerts based on configured thresholds. It can deal with both batches and streams of data, the difference is fairly clear from the names; batch data takes multiple data points as an input and looks at them as a whole. Streams accept a single point at a time, folding each new point into the mix and re-evaluating thresholds each time.</p>
<p>As we wanted to monitor servers constantly over large time periods, stream data was the obvious choice for our alerts.</p>
<p>We went through many iterations of out alerting scripts, known as TICK scripts, before mostly settling on what we have now. I&#8217;ll explain one of our &#8220;Critical&#8221; CPU alert scripts to show how things work (comments inline):</p>
<pre>var critLevel = 80 // The CPU percentage we want to alert on
var critTime = 15 // How long the CPU percentage must be at the critLevel (in this case, 80) percentage before we alert
var critResetTime = 15 // How long the CPU percentage must be back below the critLevel (again, 80) before we reset the alert

stream // Tell Kapacitor that this alert is using stream data
    |from()
        .measurement('cpu') // Tell Kapacitor to look at the CPU data
    |where(lambda: ("host" == '$reported_hostname') AND ("cpu" == 'cpu-total')) // Only look at the data for a particular server (more on this below)
    |groupBy('host')
    |eval(lambda: 100.0 - "usage_idle") // Calculate percentage of CPU used...
      .as('cpu_used') // ... and save this value in it's own variable
    |stateDuration(lambda: "cpu_used" &gt;= critLevel) // Keep track of how long CPU percentage has been above the alerting threshold
        .unit(1m) // Minutely resolution is enough for us, so we use minutes for our units
        .as('crit_duration') // Store the number calculated above for later user
    |stateDuration(lambda: "cpu_used" &lt; critLevel) // The same as the above 3 lines, but for resetting the alert status 
        .unit(1m) .as('crit_reset_duration') 
    |alert() // Create an alert... 
        .id('CPU - {{ index .Tags "host" }}') // The alert title 
        .message('{{.Level}} - CPU Usage &gt; ' + string(critLevel) + ' on {{ index .Tags "host" }}') // The information contained in the alert
        .details('''
        {{ .ID }}
        {{ .Message }}
        ''')
        .crit(lambda: "crit_duration" &gt;= critTime) // Generate a critical alert when CPU percentage has been above the threshold for the specified amount of time
        .critReset(lambda: "crit_reset_duration" &gt;= critResetTime) // Reset the alert when CPU percentage has come back below the threshold for the right time
        .stateChangesOnly() // Only send out information when an alert changes from normal to critical, or back again
        .log('/var/log/kapacitor/kapacitor_alerts.log') // Record in a log file that this alert was generated / reset
        .email() // Send the alert via email 
        |influxDBOut() // Write the alert data back into InfluxDB for later reference...
             .measurement('kapacitor_alerts') // The name to store the data under
             .tag('kapacitor_alert_level', 'critical') // Information on the alert
.tag('metric', 'cpu') // The type of alert that was generated
</pre>
<p>The above TICK script generates a &#8220;Critcal&#8221; level alert when the CPU usage on a given server has been above 80% for 15 minutes or more. Once it has alerted, the alert will not reset until the CPU usage has come back down below 80% for a further 15 minutes. Both the initial notification and the &#8220;close&#8221; notification are sent via email.</p>
<p>The vast majority of our TICK scripts are very similar to the above, with changes to monitor different metrics (memory, disk space, disk IO etc) with different threshold levels and times etc.</p>
<p>To load this TICK script into Kapacitor, we use the kapacitor command line interface. Here&#8217;s what we&#8217;d run:</p>
<pre>kapacitor define example_server_cpu -type stream -tick cpu.tick -dbrp example_server.autogen
kapacitor enable example_server_cpu
</pre>
<p>This creates a Kapacitor alert with the name &#8220;example_server_cpu&#8221;, with the &#8220;stream&#8221; alert type, against a database and retention policy we specify.</p>
<p>In reality, we automate this process with another script. This also replaces the <code>$reported_hostname</code> slug with the actual hostname of the server we&#8217;re setting the alert up for.</p>
<h2>Getting customer servers reporting</h2>
<p>Now that we could actually alert on information coming into InfluxDB, it was time to get each of our customers&#8217; servers reporting in. Since we have a large number of customer systems to monitor, installing and configuring Telegraf by hand was simply not an option. We used <a href="https://www.ansible.com/" target="_blank" rel="noopener">ansible</a> to roll the configuration out to the servers that needed it which involved 12 different operating systems and 4 different configurations.</p>
<p>Here&#8217;s a list of the tasks that Ansible carries out for us:</p>
<ul>
<li>On our servers:
<ul>
<li>Create a specific InfluxDB database for the customers server</li>
<li>Create a locked down InfluxDB write only user for the server to send it&#8217;s data in with</li>
<li>Add Grafana data source to link the database to the customer</li>
</ul>
</li>
<li>On the customers server:
<ul>
<li>Setup the Telegraf repo to ensure it is updated</li>
<li>Install Telegraf</li>
<li>Configure Telegraf outputs to point to our endpoint with the correct server specific credentials</li>
<li>Configure Telegraf inputs with all the metrics we want to capture</li>
<li>Restart Telegraf to load the new configuration</li>
</ul>
</li>
</ul>
<p>The above should be pretty self-explanatory. Whilst every one of the above steps would be carried out for a new server, we wrote the Ansible files to allow for most of them to be run independently of one another. This means that in future we&#8217;d be able to, for example, include another input to report metrics on, with relative ease.</p>
<p>For those of you not familiar with Ansible, here&#8217;s an excerpt from one of the files. It places a Telegraf config file into the relevant directory on the server, and sets the file permissions to the values we want:</p>
<pre>---
- name: Copy inputs config onto client
  copy:
    src: ../files/telegraf/telegraf_inputs.conf
    dest: /etc/telegraf/telegraf.d/telegraf_inputs.conf
    owner: root
    group: root
    mode: 0644
become: yes
</pre>
<p>&nbsp;</p>
<p>With the use of more ansible we incorporated various different tasks into a single repository structure, did lots of testing, and then ran things against our customers&#8217; servers. Shortly after, we had all of our customers&#8217; servers reporting in. After making sure everything looked right, we created and enabled various alerts for each server. The process for this was to write a BASH script which looped over a list of our customers&#8217; servers and the available alert scripts, and combined them so that we had alerts for the key metrics across all servers. The floodgates had been opened!</p>
<h2>Summary</h2>
<p>So, at the end of everything covered in the posts in this series, we had ourselves a very respectable New Relic replacement. We ran the two systems side by side for a few weeks and are very happy with the outcome.  While what we have described here is a basic guide to setting the system up we have already started to make improvements way beyond the power we used to have.  If any of them are exciting enough, there will be more blog posts coming your way, so make sure you come back soon.</p>
<p>We&#8217;re also hoping to open source all of our TICK scripts, ansible configs, and various other snippets used to tie everything together at some point, once they&#8217;ve been tidied up and improved a bit more. If you cannot wait that long and need them now, <a href="https://www.dogsbody.com/contact/" target="_blank" rel="noopener">drop us a line</a> and we&#8217;ll do our best to help you out.</p>
<p>I hope you&#8217;ve enjoyed this series. It was great of a project that the whole company took part in and that enabled us to provide an even better experience for our customers. Thanks for reading!</p>
<h3>Replacement Server Monitoring</h3>
<ul>
<li><a href="https://www.dogsbody.com/blog/replacement-server-monitoring-part-1-picking-a-replacement/">Part 1: Picking a Replacement</a></li>
<li><a href="https://www.dogsbody.com/blog/replacement-server-monitoring-part-2-building-the-replacement/">Part 2: Building the replacement</a></li>
<li>Part 3: Kapacitor alerts and going live! (you are here)</li>
</ul>
<p><em>Feature image background by <a href="https://www.flickr.com/photos/swadley/" target="_blank" rel="noopener">swadley</a> licensed <a title="Creative Commons BY 3.0" href="https://creativecommons.org/licenses/by-nd/2.0/">CC BY 2.0</a>.</em></p>
<img loading="lazy" decoding="async" src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Freplacement-server-monitoring-part-3-kapacitor-alerts-and-going-live%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dreplacement-server-monitoring-part-3-kapacitor-alerts-and-going-live&amp;action_name=Replacement%20Server%20Monitoring%20%E2%80%93%20Part%203%3A%20Kapacitor%20alerts%20and%20going%20live%21&amp;urlref=https%3A%2F%2Fwww.dogsbody.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /><p>The post <a href="https://www.dogsbody.com/blog/replacement-server-monitoring-part-3-kapacitor-alerts-and-going-live/?pk_campaign=feed&#038;pk_kwd=replacement-server-monitoring-part-3-kapacitor-alerts-and-going-live">Replacement Server Monitoring – Part 3: Kapacitor alerts and going live!</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dogsbody.com/blog/replacement-server-monitoring-part-3-kapacitor-alerts-and-going-live/?pk_campaign=feed&#038;pk_kwd=replacement-server-monitoring-part-3-kapacitor-alerts-and-going-live/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title>Replacement Server Monitoring – Part 2: Building the replacement</title>
		<link>https://www.dogsbody.com/blog/replacement-server-monitoring-part-2-building-the-replacement/?pk_campaign=feed&#038;pk_kwd=replacement-server-monitoring-part-2-building-the-replacement</link>
					<comments>https://www.dogsbody.com/blog/replacement-server-monitoring-part-2-building-the-replacement/?pk_campaign=feed&#038;pk_kwd=replacement-server-monitoring-part-2-building-the-replacement#comments</comments>
		
		<dc:creator><![CDATA[Gary Rixon]]></dc:creator>
		<pubDate>Tue, 27 Mar 2018 10:55:50 +0000</pubDate>
				<category><![CDATA[Company]]></category>
		<category><![CDATA[monitoring]]></category>
		<guid isPermaLink="false">https://www.dogsbody.com/?p=7934</guid>

					<description><![CDATA[<p>This is part two of a three part series of blog posts about picking a replacement monitoring solution, getting it running and ready, and finally moving our customers over to it. In our last post we discussed our need for a replacement monitoring system and our pick for the software stack we were going to [&#8230;]<img src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Freplacement-server-monitoring-part-2-building-the-replacement%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dreplacement-server-monitoring-part-2-building-the-replacement&amp;action_name=Replacement%20Server%20Monitoring%20%E2%80%93%20Part%202%3A%20Building%20the%20replacement&amp;urlref=https%3A%2F%2Fwww.dogsbody.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
<p>The post <a href="https://www.dogsbody.com/blog/replacement-server-monitoring-part-2-building-the-replacement/?pk_campaign=feed&#038;pk_kwd=replacement-server-monitoring-part-2-building-the-replacement">Replacement Server Monitoring – Part 2: Building the replacement</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>This is part two of a three part series of blog posts about picking a replacement monitoring solution, getting it running and ready, and finally moving our customers over to it.</p>
<p>In our <a href="https://www.dogsbody.com/blog/replacement-server-monitoring-part-1-picking-a-replacement/" target="_blank" rel="noopener">last post </a>we discussed our need for a replacement monitoring system and our pick for the software stack we were going to build it on. If you haven&#8217;t already, you should go and read that before continuing with this blog post.</p>
<p>This post aims to detail the set up and configuration of the different components to work together, along with some additional customisations we made to get the functionality we wanted.</p>
<h2>Component Installation</h2>
<p>As mentioned in the previous entry in this series, <a href="https://www.influxdata.com/">InfluxData</a>, the TICK stack creators, provide package repositories where pre-built and ready to use packages are available. This eliminates the need for configuration and compilation of source code before we can use it. This allows us to install and run software with the use of a few commands with very predictable results, as opposed to often many commands needed for compilation, with sometimes wildly varying results. Great stuff.</p>
<p>All components are available from the same repository. Here&#8217;s how you install them (example shown is for an Ubuntu 16.04 &#8220;Xenial&#8221; system</p>
<pre>curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/lsb-release
echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
sudo apt-get update &amp;&amp; sudo apt-get install influxdb
sudo systemctl start influxdb</pre>
<p>The above steps are also identical for the other components, Telegraf, Chronograf and Kapacitor. You&#8217;ll just need to replace &#8220;influxdb&#8221; with the correct name in lines 4 and 5.</p>
<h2>Configuring and linking the components</h2>
<p>As each of the components are created by the same people, InfluxData, linking them together is fortunately very easy (another reason we went with the TICK stack). I&#8217;ll show you what additional configuration was put in place for the components and how we then linked together. Note that the components are out of order here, as the configuration of some components is a prerequisite to linking them to another.</p>
<h3>InfluxDB</h3>
<p>The main change that we make to InfluxDB is to have it listen for connections over HTTPS, meaning any data flowing to/from it will be encrypted. (To do this, you will need to have an SSL certificate and key pair to use. Obtaining that cert/key pair is outside the scope of the blog post). We also require authentication for logins, and disable the query log. We then restart InfluxDB for these changes to take effect.</p>
<pre>sudo vim /etc/influx/influx.conf

[http]
    enabled = true
    bind-address = "0.0.0.0:8086"
    auth-enabled = true
    log-enabled = false
    https-enabled = true
    https-certificate = "/etc/influxdb/ssl/reporting-endpoint.dogsbodytecnhology.com.pem"

sudo systemctl restart influxd
</pre>
<p>Note that the path used for the &#8220;https-certificate&#8221; parameter will need to exist on your system of course.</p>
<p>We then need to create an administrative user like so:</p>
<pre>influx -ssl -host ivory.dogsbodyhosting.net
&gt; CREATE USER admin WITH PASSWORD 'superstrongpassword' WITH ALL PRIVILEGES
</pre>
<h3>Telegraf</h3>
<p>The customisations for Telegraf involve telling it where to reports its metrics to, and what metrics to record. We have an automated process, using <a href="https://www.ansible.com/" target="_blank" rel="noopener">ansible</a> for rolling these customisations out to customer servers, which we&#8217;ll cover in the next part of this series. Make sure you check back for that. These are essentially what changes are made:</p>
<pre>sudo vim /etc/telegraf.d/outputs.conf

[[outputs.influxdb]]
  urls = ["https://reporting-endpoint.dogsbodytechnology.com:8086"]
  database = "3340ad1c-31ac-11e8-bfaf-5ba54621292f"
  username = "3340ad1c-31ac-11e8-bfaf-5ba54621292f"
  password = "supersecurepassword"
  retention_policy = ""
  write_consistency = "any"
  timeout = "5s"
</pre>
<p>The above dictates that Telegraf should connect securely over HTTPS and tells it the username, database and password to use for it&#8217;s connection.</p>
<p>We also need to tell Telegraf what metrics it should record. This is configured like so:</p>
<pre>[[inputs.cpu]]
  percpu = true
  totalcpu = true
  collect_cpu_time = false
  report_active = true
[[inputs.disk]]
  ignore_fs = ["tmpfs", "devtmpfs", "devfs"]
[[inputs.diskio]]
[[inputs.net]]
[[inputs.kernel]]
[[inputs.mem]]
[[inputs.processes]]
[[inputs.swap]]
[[inputs.system]]
[[inputs.procstat]]
  pattern = "."
</pre>
<p>The above tells Telegraf what metrics to report, and customises how they are reported a little. For example, we tell it to ignore some pseudo-filesystems in the disk section, as these aren&#8217;t important to us.</p>
<h3>Kapacitor</h3>
<p>The customisations for Kapacitor primarily tell it which InfluxDB instance it should use, and the channels it should use for sending out alerts:</p>
<pre>sudo vim /etc/kapacitor/kapacitor.conf
    [http]
    log-enabled = false
    
    [logging]
    level = “WARN”

    [[influxdb]]
    name = "ivory.dogsbodyhosting.net"
    urls = ["https://reporting-endpoint.dogsbodytechnology.com:8086"]
    username = admin
    password = “supersecurepassword”

    [pushover]
    enabled = true
    token = “yourpushovertoken”
    user-key = “yourpushoveruserkey”

    [smtp]
    enabled = true
    host = "localhost"
    port = 25
    username = ""
    password = ""
    from = "alerts@example.com"
    to = ["sysadmin@example.com"]
</pre>
<p>As you can probably work out, we use <a href="https://pushover.net/" target="_blank" rel="noopener">Pushover</a> and email to send/receive our alert messages. This is subject to change over time. During the development phase, I used the Slack output.</p>
<h3><del>Chronograf</del> Grafana</h3>
<p>Although the TICK stack offers it&#8217;s own visualisation (and control) tool, Chronograf, we ended up using the very popular <a href="https://grafana.com/" target="_blank" rel="noopener">Grafana</a> instead. At the time when we were building the replacement solution, Chronograf, although very pretty, was somewhat lacking in features, and the features that did exist were sometimes buggy. Please do note that Chronograf was the only component that was still in beta at this period in time. It&#8217;s now had a full release and another ~5 months of development. You should definitely try it out for yourself before jumping straight to Grafana. We intend to re-evaluate Chronograf ourselves soon, especially as it is able to control the other components in the TICK stack, something which Grafana does not offer at all.</p>
<p>The Grafana install is pretty straightforward, as it also has a package repository:</p>
<pre>sudo vim /etc/apt/sources.list.d/grafana.list
    deb https://packagecloud.io/grafana/stable/debian/ jessie main
sudo apt update
sudo apt install grafana
</pre>
<p>We then of course make some customisations. The important part here is setting the base URL which is required due to the fact we&#8217;ve got Grafana running behind an <a href="http://nginx.org/" target="_blank" rel="noopener">nginx</a> reverse proxy. (We love nginx and use it wherever we get the chance. We won&#8217;t detail the customisations here though as they&#8217;re not strictly related to the monitoring solution, and Grafana works just fine on it&#8217;s own.)</p>
<pre>sudo vim /etc/grafana/grafana.ini
    [server]
    domain = display-endpoint.dogsbodytechnology
    root_url = %(protocol)s://%(domain)s:/grafana
sudo systemctl restart grafana
</pre>
<h3>Summary</h3>
<p>The steps above left us with a very powerful and customisable monitoring solution, which worked fantastically for us. Be sure to check back for future instalments in this series. In part 3 we cover setting up alerts with Kapacitor, creating awesome visualisations with Grafana, and getting all of our hundreds of customers&#8217; servers reporting in and alerting.</p>
<p><a href="https://www.dogsbody.com/blog/replacement-server-monitoring-part-3-kapacitor-alerts-and-going-live/">Part three is here.</a></p>
<h3>Replacement Server Monitoring</h3>
<ul>
<li><a href="https://www.dogsbody.com/blog/replacement-server-monitoring-part-1-picking-a-replacement/">Part 1: Picking a Replacement</a></li>
<li>Part 2: Building the replacement (you are here)</li>
<li><a href="https://www.dogsbody.com/blog/replacement-server-monitoring-part-3-kapacitor-alerts-and-going-live/">Part 3: Kapacitor alerts and going live!</a></li>
</ul>
<p><em>Feature image background by <a href="https://www.flickr.com/photos/tomandellystravels/" target="_blank" rel="noopener">tomandellystravels</a> licensed <a title="Creative Commons BY 3.0" href="https://creativecommons.org/licenses/by-nd/2.0/">CC BY 2.0</a>.</em></p>
<img loading="lazy" decoding="async" src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Freplacement-server-monitoring-part-2-building-the-replacement%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dreplacement-server-monitoring-part-2-building-the-replacement&amp;action_name=Replacement%20Server%20Monitoring%20%E2%80%93%20Part%202%3A%20Building%20the%20replacement&amp;urlref=https%3A%2F%2Fwww.dogsbody.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /><p>The post <a href="https://www.dogsbody.com/blog/replacement-server-monitoring-part-2-building-the-replacement/?pk_campaign=feed&#038;pk_kwd=replacement-server-monitoring-part-2-building-the-replacement">Replacement Server Monitoring – Part 2: Building the replacement</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dogsbody.com/blog/replacement-server-monitoring-part-2-building-the-replacement/?pk_campaign=feed&#038;pk_kwd=replacement-server-monitoring-part-2-building-the-replacement/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Replacement Server Monitoring &#8211; Part 1: Picking a Replacement</title>
		<link>https://www.dogsbody.com/blog/replacement-server-monitoring-part-1-picking-a-replacement/?pk_campaign=feed&#038;pk_kwd=replacement-server-monitoring-part-1-picking-a-replacement</link>
					<comments>https://www.dogsbody.com/blog/replacement-server-monitoring-part-1-picking-a-replacement/?pk_campaign=feed&#038;pk_kwd=replacement-server-monitoring-part-1-picking-a-replacement#comments</comments>
		
		<dc:creator><![CDATA[Gary Rixon]]></dc:creator>
		<pubDate>Tue, 13 Mar 2018 11:24:10 +0000</pubDate>
				<category><![CDATA[Company]]></category>
		<category><![CDATA[monitoring]]></category>
		<guid isPermaLink="false">https://www.dogsbody.com/?p=7814</guid>

					<description><![CDATA[<p>As a company primarily dealing with Linux servers and keeping them online constantly, here at Dogsbody we take a huge interest in the current status of any and all servers we’re responsible for. Having accurate and up to date information allows us to move proactively and remedy potential problems before they became service-impacting for our [&#8230;]<img src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Freplacement-server-monitoring-part-1-picking-a-replacement%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dreplacement-server-monitoring-part-1-picking-a-replacement&amp;action_name=Replacement%20Server%20Monitoring%20%26%238211%3B%20Part%201%3A%20Picking%20a%20Replacement&amp;urlref=https%3A%2F%2Fwww.dogsbody.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
<p>The post <a href="https://www.dogsbody.com/blog/replacement-server-monitoring-part-1-picking-a-replacement/?pk_campaign=feed&#038;pk_kwd=replacement-server-monitoring-part-1-picking-a-replacement">Replacement Server Monitoring &#8211; Part 1: Picking a Replacement</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>As a company primarily dealing with Linux servers and keeping them online constantly, here at Dogsbody we take a huge interest in the current status of any and all servers we’re responsible for. Having accurate and up to date information allows us to move proactively and remedy potential problems before they became service-impacting for our customers.</p>
<p>For many years, and as long as I have worked at the company, we’d used an offering from New Relic, called simply “Servers”. In 2017, New Relic announced that they would be discontinuing their “Servers” offering, with their “Infrastructure” product taking it’s place. The pricing for New Relic infrastructure was exorbitant for our use case, and there were a few things we wanted from our monitoring solution that New Relic didn’t offer, so being the tinkerers that we are, we decided to implement our own.</p>
<p>This is a 3 part series of blog posts about picking a replacement monitoring solution, getting it running and ready, and finally moving our customers over to it.</p>
<h2 align="left"><u>What we needed from our new solution</u></h2>
<p>The phase one objective for this project was rather simple: to replicate the core functionality offered by New Relic. This meant that the following items were considered crucial:</p>
<ul>
<li>Configurable alert policies – All servers are different. Being able to tweak the thresholds for alerts depending on the server was very important to us. Nobody likes false alarms, especially not in the middle of the night!</li>
<li>Historical data – Being able to view system metrics at a given timestamp is of huge help when investigating problems that have occurred in the past</li>
<li>Easy to install and lightweight server-side software – As we’d be needing to install the monitoring tool on hundreds of servers, some with very low resources, we needed to ensure that this was a breeze to configure and as slim as possible</li>
<li>Webhook support for alerts – Our alerting process is built around having alerts from various different monitoring tools report to a single endpoint where we handle the alerting with custom logic. Flexibility in ours alerts was a must-have</li>
</ul>
<h2 align="left"><u>Solutions we considered</u></h2>
<p>A quick Google for “linux server monitoring” returns a <b>lot</b> of results. The first round of investigations essentially consisted of checking out the ones we’d heard about and reading up on what they had to offer. Anything of note got recorded for later reference, including any solutions that we knew would not be suitable for whatever reason. It didn’t take very long for a short list of “big players” to present themselves. Now, this is not to say that we discounted any solutions on the account of them being small, but we did want a solution that was gonna be stable and widely supported from the get-go. We wanted to get on with <i>using </i>the software, instead of spending time getting it to install/run.</p>
<p>The big names were Nagios, Zabbix, Prometheus, and Influx (TICK).</p>
<p>After much reading of the available documentation, performing some test installations (some successful, some very much not), and having a general play with each of them, I decided to look further at the TICK stack from <a href="https://www.influxdata.com/">InfluxData</a>. I wont go too much into the negatives of the failed candidates, but the main points across them were:</p>
<ul>
<li>Complex installation and/or management of central server</li>
<li>Poor / convoluted documentation</li>
<li>Lack of repositories for agent installation</li>
</ul>
<h2 align="left"><u>Influx (TICK)</u></h2>
<p>The monitoring solution offered by Influx consists of 4 parts, each of which can be installed independently of one another</p>
<p><span class='av_dropcap2 av-av_dropcap2-21c86f7a1fbddaa06b9d9923710e6bba'>T</span>Telegraf – Agent for collecting and reporting system metrics</p>
<p><span class='av_dropcap2 av-av_dropcap2-21c86f7a1fbddaa06b9d9923710e6bba'>I</span>InfluxDB – Database to store metrics</p>
<p><span class='av_dropcap2 av-av_dropcap2-21c86f7a1fbddaa06b9d9923710e6bba'>C</span>Chronograf – Management and graphing interface for the rest of the stack</p>
<p><span class='av_dropcap2 av-av_dropcap2-21c86f7a1fbddaa06b9d9923710e6bba'>K</span>Kapacitor – Data processing and alerting engine</p>
<p>&nbsp;</p>
<p>Package repositories existed for all parts of the stack, most importantly for Telegraf which would be going on customer systems. This allowed for easy installation, updating, and removal of any of the components.</p>
<p>One of the biggest advantages for InfluxDB was the very simple installation: add the repo, install the package, start the software. At this point Influx was ready to accept metrics reported from a server running Telegraf (or anything else for that matter. There were many clients that support reporting to InfluxDB, which was another positive)</p>
<p>In the same vein, the Telegraf installation was also very easy, using the same steps as above, with the additional step of updating the config to tell the software where to report it’s metrics too. This is a one-line change in the config, followed by a quick restart of the software.</p>
<p>At this point we had basically all of the system information we could ever need, in an easy to access format, only a few seconds after things happen. Awesome.</p>
<p>Although the most important functionality to replicate was the alerting, the next thing we installed and focused on was the visualisation of the data Telegraf was reporting into InfluxDB. We needed to ensure the data we were receiving mirrored what we were seeing in New Relic, and it can also be tricky to create test alerts when you have no visibility of the data you’re alerting against too, so we needed some graphs (everyone loves pretty graphs as well of course!)</p>
<p>As mentioned above, Chronograf is the component of the TICK stack responsible for data visualisation, and also allows you to interface with InfluxDB and Kapacitor, to run queries and create alerts, respectively.</p>
<p>In summary, the TICK stack offered us an open source, modular and easy to use system. It felt pleasant to use, the documentation was reasonable, and the system seemed very stable. We had a great base, one which we could design and build our new server monitoring system. Exciting!</p>
<p><a href="https://www.dogsbody.com/blog/replacement-server-monitoring-part-2-building-the-replacement/">Part two is here.</a></p>
<h3>Replacement Server Monitoring</h3>
<ul>
<li>Part 1: Picking a Replacement (you are here)</li>
<li><a href="https://www.dogsbody.com/blog/replacement-server-monitoring-part-2-building-the-replacement/">Part 2: Building the replacement</a></li>
<li><a href="https://www.dogsbody.com/blog/replacement-server-monitoring-part-3-kapacitor-alerts-and-going-live/">Part 3: Kapacitor alerts and going live!</a></li>
</ul>
<p><em>Feature image background by <a href="https://www.flickr.com/photos/xmodulo/" target="_blank" rel="noopener">xmodulo</a> licensed <a title="Creative Commons BY 3.0" href="https://creativecommons.org/licenses/by-nd/2.0/">CC BY 2.0</a>.</em></p>
<img loading="lazy" decoding="async" src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Freplacement-server-monitoring-part-1-picking-a-replacement%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dreplacement-server-monitoring-part-1-picking-a-replacement&amp;action_name=Replacement%20Server%20Monitoring%20%26%238211%3B%20Part%201%3A%20Picking%20a%20Replacement&amp;urlref=https%3A%2F%2Fwww.dogsbody.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /><p>The post <a href="https://www.dogsbody.com/blog/replacement-server-monitoring-part-1-picking-a-replacement/?pk_campaign=feed&#038;pk_kwd=replacement-server-monitoring-part-1-picking-a-replacement">Replacement Server Monitoring &#8211; Part 1: Picking a Replacement</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dogsbody.com/blog/replacement-server-monitoring-part-1-picking-a-replacement/?pk_campaign=feed&#038;pk_kwd=replacement-server-monitoring-part-1-picking-a-replacement/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>The Importance of Backups</title>
		<link>https://www.dogsbody.com/blog/the-importance-of-backups/?pk_campaign=feed&#038;pk_kwd=the-importance-of-backups</link>
					<comments>https://www.dogsbody.com/blog/the-importance-of-backups/?pk_campaign=feed&#038;pk_kwd=the-importance-of-backups#comments</comments>
		
		<dc:creator><![CDATA[Gary Rixon]]></dc:creator>
		<pubDate>Tue, 13 Feb 2018 11:31:55 +0000</pubDate>
				<category><![CDATA[Knowledge Base]]></category>
		<category><![CDATA[backups]]></category>
		<category><![CDATA[raid]]></category>
		<category><![CDATA[recovery]]></category>
		<category><![CDATA[redundancy]]></category>
		<guid isPermaLink="false">https://www.dogsbody.com/?p=7721</guid>

					<description><![CDATA[<p>Operating systems and applications can be re-installed with relative ease, but personal data is just that, personal. Nobody else (hopefully) has any copies of it, so if you lose it, that’s it, it’s gone forever. For this reason, it’s important to keep backups of your personal data. That being said, backups of reproducible data can [&#8230;]<img src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Fthe-importance-of-backups%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dthe-importance-of-backups&amp;action_name=The%20Importance%20of%20Backups&amp;urlref=https%3A%2F%2Fwww.dogsbody.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
<p>The post <a href="https://www.dogsbody.com/blog/the-importance-of-backups/?pk_campaign=feed&#038;pk_kwd=the-importance-of-backups">The Importance of Backups</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Operating systems and applications can be re-installed with relative ease, but personal data is just that, personal. Nobody else (hopefully) has any copies of it, so if you lose it, that’s it, it’s gone forever. For this reason, it’s important to keep backups of your personal data.</p>
<p>That being said, backups of reproducible data can still be very useful as well, if the time it would take you to recreate said data is more valuable to you than the data itself. For example, it’s very easy to get an operating system set up the way you like it, but if you want to get on with creating things, instead of setting things up, then it’s worth having backups that allow you to get going again quickly should the worst happen.</p>
<h2>What should you backup? How often? Why?</h2>
<p>As we touched on above, you should back up anything that is irreplaceable (photos, letters, nan’s recipes), and anything that would take a non-trivial amount of time to recreate. How often to backup your data depends on a few things:</p>
<ul>
<li><strong>How often is it changing?</strong> Taking daily backups is pointless if your data is only changing once a week. On the flip side, backing up once a week if you’re data is changing daily also leaves a lot of room for lost work, which brings us to our next point</li>
<li><strong>Granularity</strong> – how much detail would you like your backups to cover? Lets use a novel you’re writing for an example. How often would you want to save copies of your work? Every page? Every paragraph? Every line? Every word? Whilst this isn’t the best example, seeing as storage is so cheap nowadays you could store every different <i>letter </i>and get away with it, it illustrates the concept nicely. Even if a paragraph in your novel only takes a few minutes to write, what about the <i>ideas</i> in that paragraph, can you guarantee that you’ll think of the same great words next time if you were forced to rewrite it? Make sure you can track changes in the right detail can make all the difference between having backups, and having <em>useful </em>backups.</li>
<li><strong>Storage costs</strong> – Let’s scrap the novel idea for now and think big, really big. Take a media production house, they’re gonna be storing Gigabytes, maybe Terabytes of data per project. This can result in some serious costs for your storage hardware. Unlike the novel, the cost of saving a copy after every change would be prohibitive, so you need to draw the line somewhere else. Where this line falls again comes back to the time-cost comparison: how much will it cost you to store the backups, and how much would it cost you to carry out the work again? Missing an important deadline to lost data is a real pain and can make you look unprofessional.</li>
</ul>
<h2>The 3-2-1 Rule</h2>
<p>This is a common rule when talking about backups, at least at the simpler levels. The rule dictates that you should always aim for:</p>
<ul>
<li>At least <strong>three</strong> copies of your data</li>
<li>On at least <strong>two</strong> different storage mediums</li>
<li>With least <strong>one</strong> of these copies in an off-site location</li>
</ul>
<p>For example, one copy of the data on on your hard disk, one copy on an external drive, and a final copy in the cloud. This gives you a great chance of recovering your data in the event of problems. With the ubiquity of moderately priced external storage, and the plethora of free cloud storage solutions out there, it makes it really, really easy to have multiple copies of your most valued bytes.</p>
<h2>RAID, why it’s great, and why it’s not a backup</h2>
<p>RAID (Redundant Array of Independent Disks) is a technology that used to be found solely in the enterprise. However, as with most things in the tech world, it has found it’s way down into the levels of your everyday users over the years. RAID allows you to keep multiple copies of your data <i>automatically</i> and <i>transparently </i>with relative easy. At the user level, you save you data just as you normally would. But behind the scenes, clever bits of hardware and/or software makes multiple copies of this data and store it on multiple physical disks. In it’s most basic form, RAID-1, also know as a mirror, does just that; <i>mirrors</i> your data. One file (or millions of them) stored identically on two (or more) disks. If one of the disks stops working, you can grab your data back from the other disks. Great right? Yes.</p>
<p>However, RAID is not the solution to all of your backup woes. RAID’s strength can also be seen as it’s downfall, and that is that it does things automatically. If you delete a file, it’s deleted from <i>all</i> of the disks. It’s not clever enough to realise that you didn’t actually want to remove that file forever. Remember, computers are dumb, they just do what you tell them. RAID can be seen as increasing the <i>availability</i> of your data. It saves you having to pull copies from your other storage methods from the 3-2-1 rule. What it doesn’t protect again is somebody clicking the wrong button and washing away all of your favourite pictures.</p>
<p>This is another advantage to the 3-2-1 rule. Even if you delete something on your primary storage, chances are that you realise before you sync this storage to your secondary storage. And if you don’t catch it then, then chances are you will catch it before you sync things to your off-site storage. These layers offer time delays allowing you to realise your mistakes and correct them.</p>
<h2>Testing your backups</h2>
<p>Testing your backups is of critical but often overlooked importance. Having all the backups in the world is still no good if they don’t actually <i>work. </i>For this reason, you should try to verify your backups are in good condition as often as possible. Make sure that novel opens fine in your text editor, make sure some of those family photos aren’t missing etc etc. It’ll be devastating to find out your golden backup solution is anything but in the times when you need it most.</p>
<h2>Let us help</h2>
<p>If in reading this blog post you&#8217;ve had a panic and realised your server is lacking any meaningful backup solutions, then please <a href="https://www.dogsbody.com/contact/">get in touch</a>. We&#8217;d love to get your data stored away safely for you.</p>
<p>&nbsp;</p>
<p><em>Feature image background by <a href="https://www.flickr.com/photos/zagrobot/" target="_blank" rel="noopener">gothopotam</a> licensed <a title="Creative Commons BY 3.0" href="https://creativecommons.org/licenses/by-nd/2.0/">CC BY 2.0</a>.</em></p>
<img loading="lazy" decoding="async" src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Fthe-importance-of-backups%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dthe-importance-of-backups&amp;action_name=The%20Importance%20of%20Backups&amp;urlref=https%3A%2F%2Fwww.dogsbody.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /><p>The post <a href="https://www.dogsbody.com/blog/the-importance-of-backups/?pk_campaign=feed&#038;pk_kwd=the-importance-of-backups">The Importance of Backups</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dogsbody.com/blog/the-importance-of-backups/?pk_campaign=feed&#038;pk_kwd=the-importance-of-backups/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>4 Common Server Setups For Your Web Application</title>
		<link>https://www.dogsbody.com/blog/4-common-server-setups-for-your-web-application/?pk_campaign=feed&#038;pk_kwd=4-common-server-setups-for-your-web-application</link>
					<comments>https://www.dogsbody.com/blog/4-common-server-setups-for-your-web-application/?pk_campaign=feed&#038;pk_kwd=4-common-server-setups-for-your-web-application#respond</comments>
		
		<dc:creator><![CDATA[Gary Rixon]]></dc:creator>
		<pubDate>Tue, 31 Oct 2017 11:53:02 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<guid isPermaLink="false">http://newnewnewsite.dogsbodytechnology.com/?p=4973</guid>

					<description><![CDATA[<p>There are so, so, many possibilities you may consider when designing your infrastructure, each with its distinct advantages and disadvantages. Here we&#8217;ll cover 4 of the most popular combinations, and explain the pros and cons of each. To start with, take the following bullet points and think for a moment how your architecture may differ [&#8230;]<img src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2F4-common-server-setups-for-your-web-application%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3D4-common-server-setups-for-your-web-application&amp;action_name=4%20Common%20Server%20Setups%20For%20Your%20Web%20Application&amp;urlref=https%3A%2F%2Fwww.dogsbody.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
<p>The post <a href="https://www.dogsbody.com/blog/4-common-server-setups-for-your-web-application/?pk_campaign=feed&#038;pk_kwd=4-common-server-setups-for-your-web-application">4 Common Server Setups For Your Web Application</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>There are so, so, many possibilities you may consider when designing your infrastructure, each with its distinct advantages and disadvantages. Here we&#8217;ll cover 4 of the most popular combinations, and explain the pros and cons of each.</p>
<p>To start with, take the following bullet points and think for a moment how your architecture may differ vs another if you made each one the top priority when designing it:</p>
<ul>
<li>ease of management</li>
<li>cost</li>
<li>reliability</li>
<li>performance</li>
<li>scalability</li>
<li>availability</li>
</ul>
<h2>Everything on one server</h2>
<p>All components sits on a single system. For a typical modern web application, this would include all of the parts needed to run the app, such as a web server, database server, and the application code itself. A very common setup of these components would be the LAMP stack, which is an acronym for Linux, Apache, MySQL, PHP (Python, Perl), and is used at all levels, entry to enterprise, just with tweaks for the latter.</p>
<p><strong>When to use it?</strong></p>
<p>If you&#8217;re just after a quick and simple set up to host your basic app/site, then you&#8217;re gonna struggle to find anything easier to get started with. A tried and tested workhorse.</p>
<p><strong>Advantages</strong></p>
<ul>
<li>Simple! With some hosting providers you can set this up in just a few clicks</li>
</ul>
<p><strong>Disadvantages</strong></p>
<ul>
<li>All your eggs in one basket. If this server goes offline, so does your site/app</li>
<li>Not very easy to scale horizontally</li>
<li>All components competing for the same limited resources</li>
</ul>
<h2>Separate Database Server</h2>
<p>Splitting out the database component of your infrastructure from the rest of it (and this will be an ongoing theme) allows you to isolate the resources available to each of these components. This makes capacity planning much easier, and can also give you some fault tolerance in more advanced configurations. This is almost always the first infrastructure upgrade we see people spring for and we often recommend it ourselves. It&#8217;s a quick win, and pretty easy to do.</p>
<p><strong>When to use it?</strong></p>
<p>When you&#8217;re looking for your first set of upgrades for your infrastructure, your database layer is struggling, or you&#8217;d like better separation between your web and database components.</p>
<p><strong>Advantages</strong></p>
<ul>
<li>Simple upgrade from a single server set up</li>
<li>Better separation between resources, leading to easier scaling</li>
</ul>
<p><strong>Disadvantages</strong></p>
<ul>
<li>Additional cost over single server</li>
<li>A little more complex than a single server setup</li>
<li>More areas, primarily network performance, need to be considered</li>
</ul>
<h2>Caching Layer</h2>
<p>Caching content can make an absolutely massive difference to site performance and scalability. Caching involves storing in memory a (usually) commonly requested asset, think a logo or a web page, so that it can be served to a visitor without having to be generated and/or loaded from the disk every time.</p>
<p>Two of the most popular pieces of software used in caching are Memcached and Redis, both of which are key-value stores. This means that each piece of cached data has a key, which is essentially a name used to identify the data, and a value, which is the data itself. As explained above, these values are returned to a visitor instead of having to generate the data fresh again.</p>
<p>Plugins for Redis/Memcached support exist for most popular CMSes, allowing for very easy integration with an existing set up. See <a href="https://www.digitalocean.com/community/tutorials/how-to-configure-redis-caching-to-speed-up-wordpress-on-ubuntu-14-04">this tutorial</a> for an example of integrating WordPress with Redis</p>
<p><strong>When to use it?</strong></p>
<p>When you&#8217;re serving a lot of static content, such as images, CSS or Javascript.</p>
<p><strong>Advantages</strong></p>
<ul>
<li>Alleviates load on your application servers</li>
<li>Big performance increases for little effort</li>
</ul>
<p><strong>Disadvantages</strong></p>
<ul>
<li>Can be difficult to tune correctly</li>
</ul>
<h2>Load Balancing</h2>
<p>The clue is in the name. In this set up, the load is balanced between multiple servers, allowing them all to serve a portion of the traffic. This also has the benefit of added redundancy, in that if one of the servers were to go offline, the other server(s) around around to handle the load.</p>
<p><strong>When to use it?</strong></p>
<p>When redundancy is important, and when scaling individual servers any higher becomes an unreasonable process.</p>
<p><strong>Advantages</strong></p>
<ul>
<li>Increased redundancy</li>
<li>Scaling with zero downtime by adding in additional servers to the pool</li>
</ul>
<p><strong>Disadvantages</strong></p>
<ul>
<li>Single point of failure. If the load balancer goes down, all traffic to your site will go down</li>
<li>Additional complexity. A prime example is with sessions, and ensuring that visitors have a consistent web experience regardless of which app server handles their request</li>
</ul>
<h2>Summary</h2>
<p>Managing infrastructure can be hard, especially when you get to the advanced levels such as load balancing and auto-scaling, but there are also very positive results to be had from not huge amounts of work. Planning for the future and considering the differing needs of the many parts of your app can save you a lot of heartache and expense down the line. Still unsure? <a href="https://www.dogsbody.com/contact/">Contact us</a> and we&#8217;ll be happy to help.</p>
<p>&nbsp;</p>
<p><em><a href="https://www.flickr.com/photos/122969584@N07/13780488715/in/photolist-mZJBc2-cEAWp-xb8UZ-4LyMUD-n6mHgT-ewV4Q-ebtmq-iVLPFp-656Hkv-4U2Ypr-3fPrB4-3fPsLz-c1egko-5tZnt-6bR1E7-5R33w-y4sVa-87HEF1-3fTPRj-5dFvHF-mZMcsm-mZD96i-3fTNZd-6384mP-tKFFR-4zibXS-qvefP-hBucg-c1eggw-9W6HmU-y4sTM-65cUp7-2XNVQ-4vAMmQ-mWPzB-AUJA-M3bh-c2Ms4-9sYkiC-Rugv6-mZJDtg-c1egtL-3iagV-xNJ78-4QYSWw-bDoi42-9sViKR-8itpR-9sYjow-T6XUsQ" target="_blank" rel="noopener">Feature image</a> credit <a href="https://www.flickr.com/photos/122969584@N07/" target="_blank" rel="noopener"> CWCS Managed Hosting</a> &#8211; <a href="https://creativecommons.org/licenses/by/2.0/" target="_blank" rel="noopener">CC BY 2.0</a></em></p>
<img loading="lazy" decoding="async" src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2F4-common-server-setups-for-your-web-application%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3D4-common-server-setups-for-your-web-application&amp;action_name=4%20Common%20Server%20Setups%20For%20Your%20Web%20Application&amp;urlref=https%3A%2F%2Fwww.dogsbody.com%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /><p>The post <a href="https://www.dogsbody.com/blog/4-common-server-setups-for-your-web-application/?pk_campaign=feed&#038;pk_kwd=4-common-server-setups-for-your-web-application">4 Common Server Setups For Your Web Application</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dogsbody.com/blog/4-common-server-setups-for-your-web-application/?pk_campaign=feed&#038;pk_kwd=4-common-server-setups-for-your-web-application/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 

Served from: www.dogsbody.com @ 2026-05-05 06:03:30 by W3 Total Cache
-->