<?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>Rob Hooper, Author at Dogsbody Technology</title>
	<atom:link href="https://www.dogsbody.com/blog/author/robhooper/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>Linux managed services &#38; consulting for ambitious web agencies and SaaS companies</description>
	<lastBuildDate>Mon, 14 Feb 2022 09:33:10 +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>Common warning signs before server outages</title>
		<link>https://www.dogsbody.com/blog/common-warning-signs-before-server-outages/?pk_campaign=feed&#038;pk_kwd=common-warning-signs-before-server-outages</link>
					<comments>https://www.dogsbody.com/blog/common-warning-signs-before-server-outages/?pk_campaign=feed&#038;pk_kwd=common-warning-signs-before-server-outages#respond</comments>
		
		<dc:creator><![CDATA[Rob Hooper]]></dc:creator>
		<pubDate>Mon, 20 Apr 2020 10:02:17 +0000</pubDate>
				<category><![CDATA[Managed Services]]></category>
		<category><![CDATA[Maintenance]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">https://www.dogsbody.com/?p=17236</guid>

					<description><![CDATA[<p>Everyone knows that server outages and server down time cost. It directly affects your business in a number of ways including: Loss of opportunities Damage to your brand Data loss Lost sales Lost trust It&#8217;s essential to stay on top and ahead of any potential downtime. Here are three areas where you need to be [&#8230;]<img src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Fcommon-warning-signs-before-server-outages%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dcommon-warning-signs-before-server-outages&amp;action_name=Common%20warning%20signs%20before%20server%20outages&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/common-warning-signs-before-server-outages/?pk_campaign=feed&#038;pk_kwd=common-warning-signs-before-server-outages">Common warning signs before server outages</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Everyone knows that server outages and server down time cost. It directly affects your business in a number of ways including:</p>
<ul>
<li>Loss of opportunities</li>
<li>Damage to your brand</li>
<li>Data loss</li>
<li>Lost sales</li>
<li>Lost trust</li>
</ul>
<p>It&#8217;s essential to stay on top and ahead of any potential downtime.</p>
<p>Here are three areas where you need to be ahead of the curve:</p>
<h2>Know your limits / server resources</h2>
<h3>Physical resource shortages</h3>
<p>A common cause of downtime is from running out of server resources.</p>
<p>Whether it is RAM, CPU, disk space or other, when you run out, you risk data corruption, programs crashing and severe slowdowns to say the least. It is essential to perform regular <a href="https://www.dogsbody.com/in-life-support/server-management-and-monitoring/">server monitoring</a> of your resources.</p>
<p>One of the most important; yet overlooked metrics, is disk space. Running out of disk space is one of the most preventable issues facing IT systems in our opinion.</p>
<p>When you run out of disk space, your system can no longer save files, losing data and leading to data corruption.</p>
<p>Often your website might still look like it is up and running and it&#8217;s only when a customer interacts with it, perhaps uploading new data or adding an item to a shopping basket, that you find it then fails to work.</p>
<p>We see this happen most frequently, when there is a &#8220;run-away log file&#8221; that keeps expanding until everything stops on the server!</p>
<p>CMS systems like Magento fall particularly prey to this as they often have unchecked application logs.</p>
<p>Internally, we record all server resource metrics every 10 seconds onto <a href="https://www.dogsbody.com/blog/replacement-server-monitoring-part-1-picking-a-replacement/">our MINDER stack</a> and alerts will be raised well in advance of disk space running out. You don&#8217;t need to be this &#8216;advanced&#8217; &#8211; you could simply have a script check current disk space hourly and email you if it is running out.</p>
<h3>Configured resource shortages</h3>
<p>Another common resource limit is a misconfigured server.</p>
<p>You could have a huge server with more CPU cores, RAM and storage than you could dream of using, but if your software isn&#8217;t configured to use it it won&#8217;t matter.</p>
<p>For example, if you were using PHP-FPM, and hadn&#8217;t configured it correctly, it would only have five processes running to process PHP. This means that in the case of a traffic spike, the first five requests would be served as normal but anything beyond that 5th request will be queued up until the first five had been served. This will of course n<span class="ILfuVd"><span class="e24Kjd">eedlessly s</span></span>lowing the site down for visitors.</p>
<p>Issues like this are often flagged up in server logs, letting you know when you hit these configured limits, so it is good to keep your eyes on them. These logs can also indicate that your site is getting busier and help you to grow your infrastructure in good time, along with your visitors.</p>
<p>You might be thinking, &#8220;why are there these arbitrary limits getting in my way? I don&#8217;t need these at all&#8221;.</p>
<p>Well, it is good to have these limits so that in the case of an unusual traffic spike, everything will run slowly but importantly it will work! If they are set too high, or not set at all, you might reach the aforementioned &#8220;physical limits&#8221; issue risking data corruption and crashing.</p>
<blockquote><p>Did you know, by default NGINX only runs with one <a href="http://nginx.org/en/docs/ngx_core_module.html#worker_processes" target="_blank" rel="noopener noreferrer">single threaded worker</a>!</p></blockquote>
<h2>Providers</h2>
<p>As a small business, it is normally impossible to do everything in house &#8211; and why would you want to,  when you need to focus on your business?</p>
<p>So it is good to step back every once in a while and document your suppliers.</p>
<p>Even if you only own a simple website, suppliers could include:</p>
<ul>
<li>Domain registrar (OpenSRS, Domainbox, &#8230;)</li>
<li>DNS providers (Route 53, DNS Made Easy, &#8230;)</li>
<li>Server hosting (Rapidswitch, Linode, AWS EC2, &#8230;)</li>
<li>Server maintenance (Dogsbody Technology, &#8230;)</li>
<li>Website software updates (WordPress, Magento, &#8230;)</li>
<li>Website plugin updates (Akismit, W3 Total Cache, &#8230;)</li>
<li>Content Delivery Network (Cloudflare, Akamai, &#8230;)</li>
<li>Third parties (Sagepay, Worldpay, &#8230;)</li>
</ul>
<p>All of these providers need to keep their software and/or services up to date. Some will cause more impact on you than others.</p>
<h3>Planned maintenance</h3>
<p>Looking at server hosting, all servers need maintenance every now and again, perhaps to load in a recent security update or to migrate you away from ageing hardware.</p>
<p>The most important point here is to be aware of it.</p>
<p>All reputable providers will send notifications about upcoming maintenance windows and depending on the update they will let you reschedule the maintenance for a more convenient time &#8211; reducing the effect on your business.</p>
<p>It is also good to have someone (<a href="https://www.dogsbody.com/linux-managed-services-consulting/" target="_blank" rel="noopener noreferrer">like us</a>) on call in case it doesn&#8217;t go to plan. Maintenance work might start in the dead of night, but if no one realises it&#8217;s still broken at 09:00, heads might roll!</p>
<h3>Unplanned maintenance</h3>
<p>Not all downtime can is planned. Even the giants, Facebook and Amazon have unplanned outages now and again.</p>
<p>This makes it critical to know where to go if your provider is having issues. Most providers have support systems where you can reach their technical team. <a href="https://www.dogsbody.com/contact/">Our customers can call us up at a moments notice</a>.</p>
<p>Another good first point of call is a provider&#8217;s <a href="https://www.dogsbody.com/blog/what-are-status-pages/">status page</a>, here you can see any current (as well as past or future) maintenance or issues that are occurring. For example if you use Linode you can see issues on their <a href="https://status.linode.com/" target="_blank" rel="noopener noreferrer">status page here</a>.</p>
<p>Earlier this year, we developed <a href="https://www.dogsbody.com/blog/dogsbody-is-proud-to-announce-statuspile/">Status Pile</a> a webapp, which combines provider status information into one place, making it easier for you to see issues at a glance.</p>
<h2>Uptime monitoring</h2>
<p>This isn&#8217;t really a warning sign, but it&#8217;s impossible to foresee everything. The above areas are great places to start, but they can&#8217;t cover you for the unexpected.</p>
<p>That&#8217;s where uptime monitoring comes in. Regardless of the cause, you need to know when your site goes down and you need to know fast.</p>
<p>We recommend monitoring your website at least minutely with a provider like <a href="https://www.pingdom.com/product/uptime-monitoring/" target="_blank" rel="noopener noreferrer">Pingdom</a> or <a href="https://www.appbeat.io/" target="_blank" rel="noopener noreferrer">AppBeat</a>.</p>
<h3>Proper configuration</h3>
<p>Just setting up uptime monitoring is one thing, but it is imperative to configure it properly. You can tell someone to &#8220;watch the turkey in the oven&#8221; and so they watch the turkey burn!</p>
<p>I&#8217;ve seen checks which make sure a site returns a webpage, but if that page says, &#8220;error connecting to database&#8221; it doesn&#8217;t matter!</p>
<p>Good website monitoring checks the page returned includes the correct status code and site content. Perhaps your website connects to your docker application but only for specific actions then you should test specifically as well.</p>
<p>Are you checking your entire website stack?</p>
<p><img fetchpriority="high" decoding="async" class="aligncenter wp-image-17338 size-full" title="outages" src="https://www.dogsbody.com/wp-content/uploads/this-is-fine.0.jpg" alt="Cartoon Dog sat at Table woth fire around him. Next frames he is saying 'this is fine'" width="565" height="271" srcset="https://www.dogsbody.com/wp-content/uploads/this-is-fine.0.jpg 565w, https://www.dogsbody.com/wp-content/uploads/this-is-fine.0-300x144.jpg 300w" sizes="(max-width: 565px) 100vw, 565px" /></p>
<h3>Who is responsible?</h3>
<p>A key part of uptime monitoring &#8211; and a number of other items I have mentioned &#8211; is that it alerts the right people and that they action those alerts.</p>
<p>If your uptime alerts flag an outage and they are sent to an accounts team it&#8217;s unlikely they&#8217;ll be able to take action. Equally if an alert comes in late in the evening when no one is around your site might be down until 0900 the next morning.</p>
<p>This is where our <a href="https://www.dogsbody.com/in-life-support/server-management-and-monitoring/">maintenance service</a> comes in. We have a support team on call 24/7, ready to jump on any issues.</p>
<p>&nbsp;</p>
<p>Phew that was a lot, we handle all of this and more. <a href="https://www.dogsbody.com/contact/">Contact us</a> and see how we can give you peace of mind.</p>
<p><em>Feature image by <a href="https://www.flickr.com/photos/birsk/" target="_blank" rel="noopener noreferrer">Andrew Klimin</a> licensed <a title="Creative Commons BY-SA 2.0" href="https://creativecommons.org/licenses/by/2.0/" target="_blank" rel="noopener noreferrer">CC BY 2.0</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%2Fcommon-warning-signs-before-server-outages%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dcommon-warning-signs-before-server-outages&amp;action_name=Common%20warning%20signs%20before%20server%20outages&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/common-warning-signs-before-server-outages/?pk_campaign=feed&#038;pk_kwd=common-warning-signs-before-server-outages">Common warning signs before server outages</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dogsbody.com/blog/common-warning-signs-before-server-outages/?pk_campaign=feed&#038;pk_kwd=common-warning-signs-before-server-outages/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Things I learned from my mission trip to Tanzania</title>
		<link>https://www.dogsbody.com/blog/things-i-learned-from-my-mission-trip-to-tanzania/?pk_campaign=feed&#038;pk_kwd=things-i-learned-from-my-mission-trip-to-tanzania</link>
					<comments>https://www.dogsbody.com/blog/things-i-learned-from-my-mission-trip-to-tanzania/?pk_campaign=feed&#038;pk_kwd=things-i-learned-from-my-mission-trip-to-tanzania#respond</comments>
		
		<dc:creator><![CDATA[Rob Hooper]]></dc:creator>
		<pubDate>Mon, 23 Sep 2019 16:01:15 +0000</pubDate>
				<category><![CDATA[Activities]]></category>
		<guid isPermaLink="false">https://www.dogsbody.com/?p=14521</guid>

					<description><![CDATA[<p>On the 25th July 2019 myself and ten other members from my church St Peters Farnborough caught the plane from Heathrow heading to Tanzania. There we spent two and a half weeks in the small village of Ibumu helping build a nursery school and school administration block, as well as teaching secondary school and pre-school [&#8230;]<img src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Fthings-i-learned-from-my-mission-trip-to-tanzania%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dthings-i-learned-from-my-mission-trip-to-tanzania&amp;action_name=Things%20I%20learned%20from%20my%20mission%20trip%20to%20Tanzania&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/things-i-learned-from-my-mission-trip-to-tanzania/?pk_campaign=feed&#038;pk_kwd=things-i-learned-from-my-mission-trip-to-tanzania">Things I learned from my mission trip to Tanzania</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>On the 25th July 2019 myself and ten other members from my church <a href="https://stpetersfarnborough.org.uk/">St Peters Farnborough</a> caught the plane from Heathrow heading to Tanzania. There we spent two and a half weeks in the small village of Ibumu helping build a nursery school and school administration block, as well as teaching secondary school and pre-school children. We did this in support of Emmanuel International (EI), a charity who work with local churches helping plan and complete community projects with the aim of empowering and building a self-reliant community. Our church specifically supports missionaries based in Iringa (the nearest city to Ibumu).</p>
<p>It was a very successful trip and there are lots of learning points that apply to my own projects at home.</p>
<h2>Team diversity</h2>
<p>Our team came from numerous backgrounds and, thanks to that, had a huge range of skills and experiences. Some skills were obvious, we had a few teachers on the team who quickly took to working in the secondary school. But a lot of skills I didn’t fully appreciate until we were out there. For example, one team member had a real gift of communication especially with children thanks to being a grandparent.</p>
<p>In addition to the core team, we had support back in Farnborough. The value of this support can be seen in the small things, such as forwarding update emails to friends and family while we were away, but also in major events such as organising lifts to and from the airport after our taxi was cancelled at the last minute.</p>
<p>We also had members of the EI team and community that joined us day to day. I found their insight into the community invaluable as they were able to point out the cultural changes that I wouldn’t have seen myself for example motivating women to work on the build site.</p>
<p>Knowing and trusting in the team strengths was immensely useful as it meant that I didn’t need to worry about everything, for example, I always knew that logistics were in hand, this let me focus on the activities we were doing and engage with the now.</p>
<p>But there can be a danger in trusting in skills. At one point we found out that the building plan was being followed upside down; leading to a rather impromptu building redesign.</p>
<div id="attachment_14886" style="width: 1510px" class="wp-caption aligncenter"><img decoding="async" aria-describedby="caption-attachment-14886" class="wp-image-14886 size-featured" src="https://www.dogsbody.com/wp-content/uploads/Brick-Chain-1500x430.jpg" alt="" width="1500" height="430" /><p id="caption-attachment-14886" class="wp-caption-text">Moving bricks at the nursery school</p></div>
<h2>Flexibility</h2>
<p>We always knew we would have to be flexible, especially working in the secondary school as there were many unknowns. The biggest one being, how good is their English? When we got there we found other issues, two of the school forms actually shared the same classroom &#8211; so with 80+ students it was a squeeze.</p>
<p>Knowing that their English skills might be an issue and during our planning we had built in flexibility so that we could spend more time on the items they struggled on and also teach more if they excelled. The &#8220;form two&#8221; class did excel, so we were able to focus on using plurals, something that they were particularly struggling with.</p>
<p>Flexibility was also required at the build site where we were all given trowels and floats and taught how to lay bricks. Towards the end of our trip so many locals were joining us on site we were running out of equipment. Flexibility allowed this to be used to our advantage rather than being a hindrance. We were able to help in other ways, collecting water, getting to know the locals and even sitting in the school classrooms helping with marking.</p>
<div id="attachment_14990" style="width: 1510px" class="wp-caption aligncenter"><img decoding="async" aria-describedby="caption-attachment-14990" class="size-featured wp-image-14990" src="https://www.dogsbody.com/wp-content/uploads/Students-1500x430.jpg" alt="" width="1500" height="430" /><p id="caption-attachment-14990" class="wp-caption-text">Secondary school students</p></div>
<h2>Forward Planning</h2>
<p>Over the months leading up to the trip, we spent a lot of time planning. Deciding who will lead each activity, what songs we will sing, creating school lesson plans and gathering resources. This was also happening in Tanzania where the EI team were planning logistics and getting building materials to the site for us. This was especially important since we were doing two back to back building projects. Both sites would need to be at a point where we could come and help as well as being well resourced.</p>
<p>It is notoriously difficult to plan anything far in advance in Tanzania as they are always focused on the present. We were fortunate to have one team member heading out early and kicking the community into action, setting up bunk beds, showers and paving the way for the rest of us.</p>
<p>These three points all came together in an unexpected manner when we visited the nearby village of Ikuka, some team members and others from St Peters had visited Ikuka two years ago so we were excited to see the village again. When we got there we spent a couple of minutes of seeing the new church building when we received a text saying “get to the village office, the whole village is here.” There we were met with hundreds of people singing, dancing and bearing gifts filled with jubilation.</p>
<p>All in all I had a great trip, filled with many great memories so do ask me about it if you get the chance.</p>
<p>If you want to learn more checkout the <a href="http://www.eiuk.org.uk/ei-uk/">Emmanuel International website</a>.</p>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-wkw8xl-80fb9de1126b7ecf78592b8622744cf3">
#top .avia-gallery.av-wkw8xl-80fb9de1126b7ecf78592b8622744cf3 .avia-gallery-thumb a{
width:20%;
}
</style>
<div  class='avia-gallery av-wkw8xl-80fb9de1126b7ecf78592b8622744cf3 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/things-i-learned-from-my-mission-trip-to-tanzania/?pk_campaign=feed&amp;pk_kwd=things-i-learned-from-my-mission-trip-to-tanzania"><div class='avia-gallery-thumb'><a href="https://www.dogsbody.com/wp-content/uploads/Welcome-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/Welcome-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/Welcome-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/Welcome-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/Welcome-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/Welcome-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/Welcome-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/Welcome-495x400.jpg' class='first_thumb lightbox ' data-onclick='1' title='Welcome!'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14993 avia-img-lazy-loading-not-14993"  data-avia-tooltip='Welcome!' src="https://www.dogsbody.com/wp-content/uploads/Welcome-495x400.jpg" width="495" height="400"  title='Welcome' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Welcome-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Welcome-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14993 avia-img-lazy-loading-14993"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/Welcome-495x400.jpg" title='Welcome' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Welcome-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Welcome-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/Backgarden-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/Backgarden-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/Backgarden-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/Backgarden-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/Backgarden-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/Backgarden-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/Backgarden-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/Backgarden-495x400.jpg' class='lightbox ' data-onclick='2' title='The view from behind the village office where we were staying'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14887 avia-img-lazy-loading-not-14887"  data-avia-tooltip='The view from behind the village office where we were staying' src="https://www.dogsbody.com/wp-content/uploads/Backgarden-495x400.jpg" width="495" height="400"  title='Back garden' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Backgarden-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Backgarden-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14887 avia-img-lazy-loading-14887"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/Backgarden-495x400.jpg" title='Back garden' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Backgarden-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Backgarden-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/Sports-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/Sports-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/Sports-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/Sports-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/Sports-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/Sports-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/Sports-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/Sports-495x400.jpg' class='lightbox ' data-onclick='3' title='Throwing tennis balls around '  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14892 avia-img-lazy-loading-not-14892"  data-avia-tooltip='Throwing tennis balls around ' src="https://www.dogsbody.com/wp-content/uploads/Sports-495x400.jpg" width="495" height="400"  title='Sports' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Sports-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Sports-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14892 avia-img-lazy-loading-14892"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/Sports-495x400.jpg" title='Sports' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Sports-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Sports-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/Clay-pit-e1567071838775-773x1030.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/Clay-pit-e1567071838775-773x1030.jpg 773w, https://www.dogsbody.com/wp-content/uploads/Clay-pit-e1567071838775-225x300.jpg 225w, https://www.dogsbody.com/wp-content/uploads/Clay-pit-e1567071838775-768x1024.jpg 768w, https://www.dogsbody.com/wp-content/uploads/Clay-pit-e1567071838775-1125x1500.jpg 1125w, https://www.dogsbody.com/wp-content/uploads/Clay-pit-e1567071838775-529x705.jpg 529w, https://www.dogsbody.com/wp-content/uploads/Clay-pit-e1567071838775-450x600.jpg 450w" data-sizes="(max-width: 773px) 100vw, 773px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/Clay-pit-e1567071838775-495x400.jpg' class='lightbox ' data-onclick='4' title='Workers at the clay pit'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14978 avia-img-lazy-loading-not-14978"  data-avia-tooltip='Workers at the clay pit' src="https://www.dogsbody.com/wp-content/uploads/Clay-pit-e1567071838775-495x400.jpg" width="495" height="400"  title='Clay-pit' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Clay-pit-e1567071838775-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Clay-pit-e1567071838775-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14978 avia-img-lazy-loading-14978"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/Clay-pit-e1567071838775-495x400.jpg" title='Clay-pit' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Clay-pit-e1567071838775-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Clay-pit-e1567071838775-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/Brick-kiln-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/Brick-kiln-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/Brick-kiln-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/Brick-kiln-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/Brick-kiln-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/Brick-kiln-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/Brick-kiln-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/Brick-kiln-495x400.jpg' class='lightbox ' data-onclick='5' title='Freshly cooked bricks'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14974 avia-img-lazy-loading-not-14974"  data-avia-tooltip='Freshly cooked bricks' src="https://www.dogsbody.com/wp-content/uploads/Brick-kiln-495x400.jpg" width="495" height="400"  title='Brick-kiln' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Brick-kiln-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Brick-kiln-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14974 avia-img-lazy-loading-14974"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/Brick-kiln-495x400.jpg" title='Brick-kiln' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Brick-kiln-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Brick-kiln-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/Brick-Chain-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/Brick-Chain-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/Brick-Chain-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/Brick-Chain-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/Brick-Chain-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/Brick-Chain-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/Brick-Chain-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/Brick-Chain-495x400.jpg' class='first_thumb lightbox ' data-onclick='6' title='Moving bricks at the nursery school'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14886 avia-img-lazy-loading-not-14886"  data-avia-tooltip='Moving bricks at the nursery school' src="https://www.dogsbody.com/wp-content/uploads/Brick-Chain-495x400.jpg" width="495" height="400"  title='Brick Chain' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Brick-Chain-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Brick-Chain-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14886 avia-img-lazy-loading-14886"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/Brick-Chain-495x400.jpg" title='Brick Chain' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Brick-Chain-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Brick-Chain-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/Nursery-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/Nursery-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/Nursery-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/Nursery-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/Nursery-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/Nursery-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/Nursery-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/Nursery-495x400.jpg' class='lightbox ' data-onclick='7' title='The nursery build site'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14984 avia-img-lazy-loading-not-14984"  data-avia-tooltip='The nursery build site' src="https://www.dogsbody.com/wp-content/uploads/Nursery-495x400.jpg" width="495" height="400"  title='Nursery' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Nursery-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Nursery-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14984 avia-img-lazy-loading-14984"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/Nursery-495x400.jpg" title='Nursery' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Nursery-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Nursery-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/Compassion-project-2-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/Compassion-project-2-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/Compassion-project-2-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/Compassion-project-2-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/Compassion-project-2-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/Compassion-project-2-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/Compassion-project-2-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/Compassion-project-2-495x400.jpg' class='lightbox ' data-onclick='8' title='Compassion'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14979 avia-img-lazy-loading-not-14979"  data-avia-tooltip='Compassion' src="https://www.dogsbody.com/wp-content/uploads/Compassion-project-2-495x400.jpg" width="495" height="400"  title='Compassion-project-2' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Compassion-project-2-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Compassion-project-2-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14979 avia-img-lazy-loading-14979"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/Compassion-project-2-495x400.jpg" title='Compassion-project-2' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Compassion-project-2-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Compassion-project-2-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/Compassion-Project-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/Compassion-Project-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/Compassion-Project-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/Compassion-Project-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/Compassion-Project-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/Compassion-Project-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/Compassion-Project-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/Compassion-Project-495x400.jpg' class='lightbox ' data-onclick='9' title='Everyone getting ready for a church service at compassion'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14888 avia-img-lazy-loading-not-14888"  data-avia-tooltip='Everyone getting ready for a church service at compassion' src="https://www.dogsbody.com/wp-content/uploads/Compassion-Project-495x400.jpg" width="495" height="400"  title='Compassion Project' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Compassion-Project-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Compassion-Project-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14888 avia-img-lazy-loading-14888"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/Compassion-Project-495x400.jpg" title='Compassion Project' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Compassion-Project-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Compassion-Project-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/Running-at-compassion-1030x957.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/Running-at-compassion-1030x957.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/Running-at-compassion-300x279.jpg 300w, https://www.dogsbody.com/wp-content/uploads/Running-at-compassion-768x714.jpg 768w, https://www.dogsbody.com/wp-content/uploads/Running-at-compassion-1500x1394.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/Running-at-compassion-705x655.jpg 705w, https://www.dogsbody.com/wp-content/uploads/Running-at-compassion-450x418.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/Running-at-compassion-495x400.jpg' class='lightbox ' data-onclick='10' title='Running at compassion'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14985 avia-img-lazy-loading-not-14985"  data-avia-tooltip='Running at compassion' src="https://www.dogsbody.com/wp-content/uploads/Running-at-compassion-495x400.jpg" width="495" height="400"  title='Running-at-compassion' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Running-at-compassion-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Running-at-compassion-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14985 avia-img-lazy-loading-14985"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/Running-at-compassion-495x400.jpg" title='Running-at-compassion' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Running-at-compassion-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Running-at-compassion-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/students-carrying-water-e1567071802153-773x1030.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/students-carrying-water-e1567071802153-773x1030.jpg 773w, https://www.dogsbody.com/wp-content/uploads/students-carrying-water-e1567071802153-225x300.jpg 225w, https://www.dogsbody.com/wp-content/uploads/students-carrying-water-e1567071802153-768x1024.jpg 768w, https://www.dogsbody.com/wp-content/uploads/students-carrying-water-e1567071802153-1125x1500.jpg 1125w, https://www.dogsbody.com/wp-content/uploads/students-carrying-water-e1567071802153-529x705.jpg 529w, https://www.dogsbody.com/wp-content/uploads/students-carrying-water-e1567071802153-450x600.jpg 450w" data-sizes="(max-width: 773px) 100vw, 773px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/students-carrying-water-e1567071802153-495x400.jpg' class='first_thumb lightbox ' data-onclick='11' title='Students carrying water home from school'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14991 avia-img-lazy-loading-not-14991"  data-avia-tooltip='Students carrying water home from school' src="https://www.dogsbody.com/wp-content/uploads/students-carrying-water-e1567071802153-495x400.jpg" width="495" height="400"  title='students-carrying-water' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/students-carrying-water-e1567071802153-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/students-carrying-water-e1567071802153-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14991 avia-img-lazy-loading-14991"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/students-carrying-water-e1567071802153-495x400.jpg" title='students-carrying-water' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/students-carrying-water-e1567071802153-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/students-carrying-water-e1567071802153-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/Secondary-school-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/Secondary-school-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/Secondary-school-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/Secondary-school-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/Secondary-school-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/Secondary-school-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/Secondary-school-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/Secondary-school-495x400.jpg' class='lightbox ' data-onclick='12' title='The secondary school'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14987 avia-img-lazy-loading-not-14987"  data-avia-tooltip='The secondary school' src="https://www.dogsbody.com/wp-content/uploads/Secondary-school-495x400.jpg" width="495" height="400"  title='Secondary-school' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Secondary-school-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Secondary-school-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14987 avia-img-lazy-loading-14987"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/Secondary-school-495x400.jpg" title='Secondary-school' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Secondary-school-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Secondary-school-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/Students-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/Students-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/Students-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/Students-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/Students-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/Students-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/Students-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/Students-495x400.jpg' class='lightbox ' data-onclick='13' title='Secondary school students'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14990 avia-img-lazy-loading-not-14990"  data-avia-tooltip='Secondary school students' src="https://www.dogsbody.com/wp-content/uploads/Students-495x400.jpg" width="495" height="400"  title='Students' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Students-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Students-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14990 avia-img-lazy-loading-14990"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/Students-495x400.jpg" title='Students' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Students-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Students-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/English-speaking-zone-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/English-speaking-zone-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/English-speaking-zone-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/English-speaking-zone-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/English-speaking-zone-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/English-speaking-zone-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/English-speaking-zone-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/English-speaking-zone-495x400.jpg' class='lightbox ' data-onclick='14' title='English speaking zone'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14982 avia-img-lazy-loading-not-14982"  data-avia-tooltip='English speaking zone' src="https://www.dogsbody.com/wp-content/uploads/English-speaking-zone-495x400.jpg" width="495" height="400"  title='English-speaking-zone' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/English-speaking-zone-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/English-speaking-zone-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14982 avia-img-lazy-loading-14982"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/English-speaking-zone-495x400.jpg" title='English-speaking-zone' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/English-speaking-zone-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/English-speaking-zone-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/School-build-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/School-build-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/School-build-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/School-build-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/School-build-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/School-build-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/School-build-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/School-build-495x400.jpg' class='lightbox ' data-onclick='15' title='The school administration block mid build '  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14889 avia-img-lazy-loading-not-14889"  data-avia-tooltip='The school administration block mid build ' src="https://www.dogsbody.com/wp-content/uploads/School-build-495x400.jpg" width="495" height="400"  title='School build' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/School-build-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/School-build-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14889 avia-img-lazy-loading-14889"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/School-build-495x400.jpg" title='School build' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/School-build-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/School-build-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/Managing-the-build-e1567071855256-773x1030.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/Managing-the-build-e1567071855256-773x1030.jpg 773w, https://www.dogsbody.com/wp-content/uploads/Managing-the-build-e1567071855256-225x300.jpg 225w, https://www.dogsbody.com/wp-content/uploads/Managing-the-build-e1567071855256-768x1024.jpg 768w, https://www.dogsbody.com/wp-content/uploads/Managing-the-build-e1567071855256-1125x1500.jpg 1125w, https://www.dogsbody.com/wp-content/uploads/Managing-the-build-e1567071855256-529x705.jpg 529w, https://www.dogsbody.com/wp-content/uploads/Managing-the-build-e1567071855256-450x600.jpg 450w" data-sizes="(max-width: 773px) 100vw, 773px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/Managing-the-build-e1567071855256-495x400.jpg' class='first_thumb lightbox ' data-onclick='16' title='Discussing the secondary school build '  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14983 avia-img-lazy-loading-not-14983"  data-avia-tooltip='Discussing the secondary school build ' src="https://www.dogsbody.com/wp-content/uploads/Managing-the-build-e1567071855256-495x400.jpg" width="495" height="400"  title='Managing-the-build' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Managing-the-build-e1567071855256-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Managing-the-build-e1567071855256-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14983 avia-img-lazy-loading-14983"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/Managing-the-build-e1567071855256-495x400.jpg" title='Managing-the-build' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Managing-the-build-e1567071855256-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Managing-the-build-e1567071855256-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/School-administration-block-1030x773.jpeg" data-srcset="https://www.dogsbody.com/wp-content/uploads/School-administration-block-1030x773.jpeg 1030w, https://www.dogsbody.com/wp-content/uploads/School-administration-block-300x225.jpeg 300w, https://www.dogsbody.com/wp-content/uploads/School-administration-block-768x576.jpeg 768w, https://www.dogsbody.com/wp-content/uploads/School-administration-block-1500x1125.jpeg 1500w, https://www.dogsbody.com/wp-content/uploads/School-administration-block-705x529.jpeg 705w, https://www.dogsbody.com/wp-content/uploads/School-administration-block-450x338.jpeg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/School-administration-block-495x400.jpeg' class='lightbox ' data-onclick='17' title='Our first view of the secondary school'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14986 avia-img-lazy-loading-not-14986"  data-avia-tooltip='Our first view of the secondary school' src="https://www.dogsbody.com/wp-content/uploads/School-administration-block-495x400.jpeg" width="495" height="400"  title='School-administration-block' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/School-administration-block-495x400.jpeg 495w, https://www.dogsbody.com/wp-content/uploads/School-administration-block-845x684.jpeg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14986 avia-img-lazy-loading-14986"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/School-administration-block-495x400.jpeg" title='School-administration-block' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/School-administration-block-495x400.jpeg 495w, https://www.dogsbody.com/wp-content/uploads/School-administration-block-845x684.jpeg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/Carrying-water-e1567071816232-773x1030.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/Carrying-water-e1567071816232-773x1030.jpg 773w, https://www.dogsbody.com/wp-content/uploads/Carrying-water-e1567071816232-225x300.jpg 225w, https://www.dogsbody.com/wp-content/uploads/Carrying-water-e1567071816232-768x1024.jpg 768w, https://www.dogsbody.com/wp-content/uploads/Carrying-water-e1567071816232-1125x1500.jpg 1125w, https://www.dogsbody.com/wp-content/uploads/Carrying-water-e1567071816232-529x705.jpg 529w, https://www.dogsbody.com/wp-content/uploads/Carrying-water-e1567071816232-450x600.jpg 450w" data-sizes="(max-width: 773px) 100vw, 773px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/Carrying-water-e1567071816232-495x400.jpg' class='lightbox ' data-onclick='18' title='Me carrying water'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14976 avia-img-lazy-loading-not-14976"  data-avia-tooltip='Me carrying water' src="https://www.dogsbody.com/wp-content/uploads/Carrying-water-e1567071816232-495x400.jpg" width="495" height="400"  title='Carrying-water' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Carrying-water-e1567071816232-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Carrying-water-e1567071816232-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14976 avia-img-lazy-loading-14976"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/Carrying-water-e1567071816232-495x400.jpg" title='Carrying-water' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Carrying-water-e1567071816232-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Carrying-water-e1567071816232-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/Brick-laying-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/Brick-laying-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/Brick-laying-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/Brick-laying-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/Brick-laying-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/Brick-laying-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/Brick-laying-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/Brick-laying-495x400.jpg' class='lightbox ' data-onclick='19' title='Laying bricks '  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14975 avia-img-lazy-loading-not-14975"  data-avia-tooltip='Laying bricks ' src="https://www.dogsbody.com/wp-content/uploads/Brick-laying-495x400.jpg" width="495" height="400"  title='Brick-laying' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Brick-laying-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Brick-laying-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14975 avia-img-lazy-loading-14975"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/Brick-laying-495x400.jpg" title='Brick-laying' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Brick-laying-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Brick-laying-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/Sports-1-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/Sports-1-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/Sports-1-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/Sports-1-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/Sports-1-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/Sports-1-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/Sports-1-450x338.jpg 450w, https://www.dogsbody.com/wp-content/uploads/Sports-1.jpg 2048w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/Sports-1-495x400.jpg' class='lightbox ' data-onclick='20' title='Playing sports at the kids club'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14989 avia-img-lazy-loading-not-14989"  data-avia-tooltip='Playing sports at the kids club' src="https://www.dogsbody.com/wp-content/uploads/Sports-1-495x400.jpg" width="495" height="400"  title='Sports' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Sports-1-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Sports-1-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14989 avia-img-lazy-loading-14989"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/Sports-1-495x400.jpg" title='Sports' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Sports-1-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Sports-1-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/Singing-773x1030.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/Singing-773x1030.jpg 773w, https://www.dogsbody.com/wp-content/uploads/Singing-225x300.jpg 225w, https://www.dogsbody.com/wp-content/uploads/Singing-768x1024.jpg 768w, https://www.dogsbody.com/wp-content/uploads/Singing-1125x1500.jpg 1125w, https://www.dogsbody.com/wp-content/uploads/Singing-529x705.jpg 529w, https://www.dogsbody.com/wp-content/uploads/Singing-450x600.jpg 450w" data-sizes="(max-width: 773px) 100vw, 773px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/Singing-495x400.jpg' class='first_thumb lightbox ' data-onclick='21' title='Singing at the kids club'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14988 avia-img-lazy-loading-not-14988"  data-avia-tooltip='Singing at the kids club' src="https://www.dogsbody.com/wp-content/uploads/Singing-495x400.jpg" width="495" height="400"  title='Singing' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Singing-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Singing-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14988 avia-img-lazy-loading-14988"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/Singing-495x400.jpg" title='Singing' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Singing-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Singing-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/Craft-in-church-1030x773.jpeg" data-srcset="https://www.dogsbody.com/wp-content/uploads/Craft-in-church-1030x773.jpeg 1030w, https://www.dogsbody.com/wp-content/uploads/Craft-in-church-300x225.jpeg 300w, https://www.dogsbody.com/wp-content/uploads/Craft-in-church-768x576.jpeg 768w, https://www.dogsbody.com/wp-content/uploads/Craft-in-church-1500x1125.jpeg 1500w, https://www.dogsbody.com/wp-content/uploads/Craft-in-church-705x529.jpeg 705w, https://www.dogsbody.com/wp-content/uploads/Craft-in-church-450x338.jpeg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/Craft-in-church-495x400.jpeg' class='lightbox ' data-onclick='22' title='Kids club crafts hanging in the church'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14980 avia-img-lazy-loading-not-14980"  data-avia-tooltip='Kids club crafts hanging in the church' src="https://www.dogsbody.com/wp-content/uploads/Craft-in-church-495x400.jpeg" width="495" height="400"  title='Craft-in-church' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Craft-in-church-495x400.jpeg 495w, https://www.dogsbody.com/wp-content/uploads/Craft-in-church-845x684.jpeg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14980 avia-img-lazy-loading-14980"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/Craft-in-church-495x400.jpeg" title='Craft-in-church' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Craft-in-church-495x400.jpeg 495w, https://www.dogsbody.com/wp-content/uploads/Craft-in-church-845x684.jpeg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/Primary-School-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/Primary-School-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/Primary-School-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/Primary-School-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/Primary-School-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/Primary-School-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/Primary-School-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/Primary-School-495x400.jpg' class='lightbox ' data-onclick='23' title='The local Primary School'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14891 avia-img-lazy-loading-not-14891"  data-avia-tooltip='The local Primary School' src="https://www.dogsbody.com/wp-content/uploads/Primary-School-495x400.jpg" width="495" height="400"  title='Primary School' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Primary-School-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Primary-School-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14891 avia-img-lazy-loading-14891"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/Primary-School-495x400.jpg" title='Primary School' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Primary-School-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Primary-School-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/celebration-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/celebration-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/celebration-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/celebration-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/celebration-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/celebration-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/celebration-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/celebration-495x400.jpg' class='lightbox ' data-onclick='24' title='The celebration at Ikuka'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14977 avia-img-lazy-loading-not-14977"  data-avia-tooltip='The celebration at Ikuka' src="https://www.dogsbody.com/wp-content/uploads/celebration-495x400.jpg" width="495" height="400"  title='celebration' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/celebration-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/celebration-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14977 avia-img-lazy-loading-14977"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/celebration-495x400.jpg" title='celebration' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/celebration-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/celebration-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/Dancing-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/Dancing-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/Dancing-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/Dancing-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/Dancing-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/Dancing-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/Dancing-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/Dancing-495x400.jpg' class='lightbox ' data-onclick='25' title='The leaving celebration at Ibumu'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14981 avia-img-lazy-loading-not-14981"  data-avia-tooltip='The leaving celebration at Ibumu' src="https://www.dogsbody.com/wp-content/uploads/Dancing-495x400.jpg" width="495" height="400"  title='Dancing' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Dancing-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Dancing-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14981 avia-img-lazy-loading-14981"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/Dancing-495x400.jpg" title='Dancing' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Dancing-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Dancing-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/Team-photo-1030x760.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/Team-photo-1030x760.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/Team-photo-300x221.jpg 300w, https://www.dogsbody.com/wp-content/uploads/Team-photo-768x567.jpg 768w, https://www.dogsbody.com/wp-content/uploads/Team-photo-1500x1107.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/Team-photo-705x520.jpg 705w, https://www.dogsbody.com/wp-content/uploads/Team-photo-450x332.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/Team-photo-495x400.jpg' class='first_thumb lightbox ' data-onclick='26' title='One last team photo '  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14992 avia-img-lazy-loading-not-14992"  data-avia-tooltip='One last team photo ' src="https://www.dogsbody.com/wp-content/uploads/Team-photo-495x400.jpg" width="495" height="400"  title='Team photo' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Team-photo-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Team-photo-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14992 avia-img-lazy-loading-14992"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/Team-photo-495x400.jpg" title='Team photo' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Team-photo-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Team-photo-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/Elephants-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/Elephants-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/Elephants-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/Elephants-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/Elephants-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/Elephants-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/Elephants-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/Elephants-495x400.jpg' class='lightbox ' data-onclick='27' title='A happy family of elephants looking for water'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14890 avia-img-lazy-loading-not-14890"  data-avia-tooltip='A happy family of elephants looking for water' src="https://www.dogsbody.com/wp-content/uploads/Elephants-495x400.jpg" width="495" height="400"  title='Elephants' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Elephants-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Elephants-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14890 avia-img-lazy-loading-14890"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/Elephants-495x400.jpg" title='Elephants' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Elephants-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Elephants-845x684.jpg 845w" sizes="auto, (max-width: 495px) 100vw, 495px" /></div></a><a href="https://www.dogsbody.com/wp-content/uploads/Sunflower-1030x773.jpg" data-srcset="https://www.dogsbody.com/wp-content/uploads/Sunflower-1030x773.jpg 1030w, https://www.dogsbody.com/wp-content/uploads/Sunflower-300x225.jpg 300w, https://www.dogsbody.com/wp-content/uploads/Sunflower-768x576.jpg 768w, https://www.dogsbody.com/wp-content/uploads/Sunflower-1500x1125.jpg 1500w, https://www.dogsbody.com/wp-content/uploads/Sunflower-705x529.jpg 705w, https://www.dogsbody.com/wp-content/uploads/Sunflower-450x338.jpg 450w" data-sizes="(max-width: 1030px) 100vw, 1030px" data-rel='gallery-1' data-prev-img='https://www.dogsbody.com/wp-content/uploads/Sunflower-495x400.jpg' class='lightbox ' data-onclick='28' title='Sunflower'  itemprop="thumbnailUrl"  ><img decoding="async" fetchpriority="high" class="wp-image-14885 avia-img-lazy-loading-not-14885"   src="https://www.dogsbody.com/wp-content/uploads/Sunflower-495x400.jpg" width="495" height="400"  title='Sunflower' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Sunflower-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Sunflower-845x684.jpg 845w" sizes="(max-width: 495px) 100vw, 495px" /><div class='big-prev-fake'><img decoding="async" loading="lazy" class="wp-image-14885 avia-img-lazy-loading-14885"  width="495" height="400" src="https://www.dogsbody.com/wp-content/uploads/Sunflower-495x400.jpg" title='Sunflower' alt='' srcset="https://www.dogsbody.com/wp-content/uploads/Sunflower-495x400.jpg 495w, https://www.dogsbody.com/wp-content/uploads/Sunflower-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%2Fthings-i-learned-from-my-mission-trip-to-tanzania%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dthings-i-learned-from-my-mission-trip-to-tanzania&amp;action_name=Things%20I%20learned%20from%20my%20mission%20trip%20to%20Tanzania&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/things-i-learned-from-my-mission-trip-to-tanzania/?pk_campaign=feed&#038;pk_kwd=things-i-learned-from-my-mission-trip-to-tanzania">Things I learned from my mission trip to Tanzania</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dogsbody.com/blog/things-i-learned-from-my-mission-trip-to-tanzania/?pk_campaign=feed&#038;pk_kwd=things-i-learned-from-my-mission-trip-to-tanzania/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>5 Vim tips for advanced users</title>
		<link>https://www.dogsbody.com/blog/vim-tips-for-advanced-users/?pk_campaign=feed&#038;pk_kwd=vim-tips-for-advanced-users</link>
					<comments>https://www.dogsbody.com/blog/vim-tips-for-advanced-users/?pk_campaign=feed&#038;pk_kwd=vim-tips-for-advanced-users#respond</comments>
		
		<dc:creator><![CDATA[Rob Hooper]]></dc:creator>
		<pubDate>Tue, 13 Aug 2019 10:01:08 +0000</pubDate>
				<category><![CDATA[Knowledge Base]]></category>
		<category><![CDATA[vim]]></category>
		<guid isPermaLink="false">https://www.dogsbody.com/?p=12254</guid>

					<description><![CDATA[<p>This blog post lists out my top five Vim tips and tricks to bring your Vim game to the next level. Here at Dogsbody Technology we are connected to servers, editing files and improving configs every day. All of this means that a good text editor is a must. That is why we chose Vim. [&#8230;]<img src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Fvim-tips-for-advanced-users%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dvim-tips-for-advanced-users&amp;action_name=5%20Vim%20tips%20for%20advanced%20users&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/vim-tips-for-advanced-users/?pk_campaign=feed&#038;pk_kwd=vim-tips-for-advanced-users">5 Vim tips for advanced users</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>This blog post lists out my top five Vim tips and tricks to bring your Vim game to the next level.</p>
<p>Here at Dogsbody Technology we are connected to servers, editing files and improving configs <a href="https://www.dogsbody.com/in-life-support/server-management-and-monitoring/">every day</a>. All of this means that a good text editor is a must. That is why we chose Vim.</p>
<p>I assume you know the basics, If you don&#8217;t I recommend starting <a href="https://www.linux.com/learn/vim-101-beginners-guide-vim" target="_blank" rel="noopener noreferrer">here</a>.</p>
<h2>Tip 1: Use Vim as a file browser</h2>
<p>Have you ever accidentally opened a directory in vim? if you had, you would be pleasantly surprised that it creates a nice interface to find and start editing the file you meant.</p>
<p>Well you can get to that menu another way:</p>
<pre>:Explore</pre>
<p>From this menu you can use your arrow keys to select and open up new files for editing.</p>
<p>Of course if you already know the file name, just open it directly:</p>
<pre>:open filename</pre>
<p><em>Phew I was worried I might need to leave vim for a second then.</em></p>
<h2>Tip 2: Try out multi-line inserts</h2>
<p>*tap**tap**tap**tap**tap**tap**tap* the sound of a colleague commenting out a code block. Slow, noisy. Vim has a much quicker approach using visual blocks:</p>
<pre>ctrl + v # Enter visual block mode and using your arrow keys select all of the lines you wish to edit
ctrl + shift + i # Enter insert mode
"Example text entry"
Esc # Stop entering text</pre>
<p>A very similar method can be used to append text to lines.</p>
<pre>ctrl + v 
end # Move the cursor to the end of the line - This works even if the line endings are different lengths 
ctrl + shift + a # Enter append insert mode
"Example text entry"
Esc</pre>
<p>You can also use visual block mode to quickly delete a large area of text. Just select it and press &#8220;d&#8221;.</p>
<h2>Tip 3: Make the most of macros</h2>
<p>Macros are incredibly simple and just as powerful. They are a sequence of Vim inputs and commands that you can re-run at the touch of a button.</p>
<p><script id="asciicast-K2zTJU6xWvHYOi9pss8CNDnub" src="https://asciinema.org/a/K2zTJU6xWvHYOi9pss8CNDnub.js" async></script></p>
<p>Here&#8217;s how to start recording your custom macro:</p>
<pre>q # Start recording
j # or any other character you want to trigger it
# any collection of commands you want
q # Stop recording</pre>
<p>Then to run the macro:</p>
<pre># To run the "j" macro
@
j</pre>
<p>To quickly re-run the last macro, you can double tap &#8220;@&#8221; or just hold it.</p>
<p>Simple to learn, but when you combine it with other commands, you can quickly build something amazing.</p>
<p>For example &#8211; I had a JSON blob containing a list of different SSH keys multiple times. I needed to delete the second key that matched the word &#8220;frank&#8221;. Quickly creating a macro that runs a search, go to next line, delete. Manually this job would have taken half an hour, with Macros, just five mins.</p>
<h2>Tip 4: All the things she &#8216;sed&#8217;</h2>
<p>&#8230;running through my head</p>
<p>Vim has an inbuilt stream editor, this enables you to modify lines in a quick and replicable manner. But did you know that it comes with regex support out of the box?</p>
<p>Lets look at this command:</p>
<pre>:% s/\(wibble\)/ --&gt; \1 &lt;-- /g
:g/[Ww]ibble/d</pre>
<p>The first command finds the word &#8220;wibble&#8221; and puts two big arrows around it, not very useful but a good example:</p>
<ul>
<li>The &#8220;%&#8221; at the beginning tells it to match all lines. Alternatively you could put in specific line numbers (e.x. 5,13 &#8211; match lines five to thirteen)</li>
<li>&#8220;s/$input/$output/g&#8221; start a text substitution. Ending g means match multiple times on one line.</li>
<li>\(wibble\) create a capture group looking for the word &#8220;wibble&#8221;.  Notice that the braces need escaping, unlike normal regex.</li>
<li>\1 return the contents of capture group one</li>
</ul>
<p>The second command uses a slightly different function. It deletes all lines with the word wibble in them, matching both with an without a capital letter W.</p>
<p>If you need to brush up on your regex, we find the <a href="https://regexr.com/" target="_blank" rel="noopener noreferrer">regexr site an indispensable resource</a>.</p>
<h2>Tip 5: Escaping</h2>
<p>If you have ever seen this error &#8220;<code>E45: 'readonly' option is set</code>&#8221; then you have probably seen this work around&#8230;</p>
<pre>:w ! sudo tee %</pre>
<p>But did you know you can expand this to use any bash commands?</p>
<pre>:w ! sort | uniq | tee %</pre>
<p>These commands sort the file, then remove any duplicate lines before using <code>tee</code> to write the output back into your vim file.</p>
<p><script id="asciicast-xGDOtI598w4Or1J4QrGD1lvwS" src="https://asciinema.org/a/xGDOtI598w4Or1J4QrGD1lvwS.js" async></script></p>
<p>That concludes my top five Vim tips. Vim is an astonishingly advanced tool that rewards you the further you dig into it.</p>
<p>Did you learn something new? Do you have your own Vim tips to share? Leave us a message in the comments below!</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%2Fvim-tips-for-advanced-users%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dvim-tips-for-advanced-users&amp;action_name=5%20Vim%20tips%20for%20advanced%20users&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/vim-tips-for-advanced-users/?pk_campaign=feed&#038;pk_kwd=vim-tips-for-advanced-users">5 Vim tips for advanced users</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dogsbody.com/blog/vim-tips-for-advanced-users/?pk_campaign=feed&#038;pk_kwd=vim-tips-for-advanced-users/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What&#8217;s a hosts file?</title>
		<link>https://www.dogsbody.com/blog/whats-a-hosts-file/?pk_campaign=feed&#038;pk_kwd=whats-a-hosts-file</link>
					<comments>https://www.dogsbody.com/blog/whats-a-hosts-file/?pk_campaign=feed&#038;pk_kwd=whats-a-hosts-file#respond</comments>
		
		<dc:creator><![CDATA[Rob Hooper]]></dc:creator>
		<pubDate>Tue, 07 May 2019 10:29:14 +0000</pubDate>
				<category><![CDATA[Knowledge Base]]></category>
		<category><![CDATA[dns]]></category>
		<guid isPermaLink="false">https://www.dogsbody.com/?p=11219</guid>

					<description><![CDATA[<p>In the early days of the internet the hosts file was created. It is a text file which stores the domain name you are going to (www.example.com) and the IP address where it is hosted (203.0.133.54). It is just like an address book, it stores your friends phone numbers for when you want to contact [&#8230;]<img src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Fwhats-a-hosts-file%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dwhats-a-hosts-file&amp;action_name=What%26%238217%3Bs%20a%20hosts%20file%3F&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/whats-a-hosts-file/?pk_campaign=feed&#038;pk_kwd=whats-a-hosts-file">What&#8217;s a hosts file?</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="moz-text-html" lang="x-unicode">In the <a href="https://en.wikipedia.org/wiki/ARPANET">early days of the internet</a> the hosts file was created. It is a text file which stores the domain name you are going to (www.example.com) and the IP address where it is hosted (203.0.133.54).</p>
<p class="moz-text-html" lang="x-unicode">It is just like an address book, it stores your friends phone numbers for when you want to contact them. Originally network admins had to store every domain they knew about in hosts file but this was quickly replaced when the internet became so big this was impossible. This information is now provided by a service called DNS (domain name service) but nearly every system still supports the hosts file.</p>
<p lang="x-unicode">It is very useful to know that the hosts file is checked before DNS and therefore can be used to <strong>overwrite DNS on your computer</strong>. This is immensely useful for testing, development work and moving things around on the internet. We regularly use hosts files to test websites on new servers without interrupting normal site visitors.</p>
<h2 class="moz-text-html" lang="x-unicode">How to change your hosts file:</h2>
<h3 class="moz-text-html" lang="x-unicode">Windows 10 and 8</h3>
<p class="moz-text-html" lang="x-unicode">1. Press the Windows key</p>
<p class="moz-text-html" lang="x-unicode">2. Type &#8220;Notepad&#8221; into search</p>
<p class="moz-text-html" lang="x-unicode">3. Right click on the Notepad app and select &#8220;Run as administrator&#8221;</p>
<p class="moz-text-html" lang="x-unicode">4. From Notepad, open the following file: &#8220;c:\Windows\System32\Drivers\etc\hosts&#8221;</p>
<p class="moz-text-html" lang="x-unicode">5. <a href="#hosts-file-changes">Make your changes</a></p>
<p class="moz-text-html" lang="x-unicode">6. Save the file</p>
<h3 class="moz-text-html" lang="x-unicode">macOS (Mojave)</h3>
<p class="moz-text-html" lang="x-unicode">1. Open up the terminal (this is found in Applications/Utilities)</p>
<p class="moz-text-html" lang="x-unicode">2. sudo nano /private/etc/hosts</p>
<p class="moz-text-html" lang="x-unicode">3. <a href="#hosts-file-changes">Make your changes</a></p>
<p class="moz-text-html" lang="x-unicode">4. Save the file (ctrl-x and then y)</p>
<p class="moz-text-html" lang="x-unicode">You will need to clear the system cache before your changes are loaded in.</p>
<p class="moz-text-html" lang="x-unicode">5. sudo killall -HUP mDNSResponder</p>
<h3 class="moz-text-html" lang="x-unicode">Linux</h3>
<p class="moz-text-html" lang="x-unicode">1. Open a terminal</p>
<p class="moz-text-html" lang="x-unicode">2. sudo vim /etc/hosts</p>
<p class="moz-text-html" lang="x-unicode">3. <a href="#hosts-file-changes">Make your changes</a></p>
<p class="moz-text-html" lang="x-unicode">4. Save the file</p>
<h2 id="hosts-file-changes" class="moz-text-html" lang="x-unicode">I am in my hosts file, now what?</h2>
<p lang="x-unicode">Hosts files are written as so:</p>
<p><code>ip.ad.dr.ess      domain names</code></p>
<p>For example if you wanted all traffic to dogsbody.com (and www.) to instead go to 203.0.133.54:</p>
<p><code>203.0.133.54      www.dogsbody.com dogsbody.com</code></p>
<p>&nbsp;</p>
<p class="moz-text-html" lang="x-unicode">Finally remember to revert your changes when you have finished testing!</p>
<p class="moz-text-html" lang="x-unicode">Migrating websites? updating DNS? kerfufled? <a href="https://www.dogsbody.com/contact/">contact us</a> today</p>
<p><i>Feature image by <a class="external text" href="https://pixabay.com/users/jarmoluk-143740/" rel="nofollow">Michal Jarmoluk</a> licensed for <a class="external text" href="https://pixabay.com/service/license/" rel="nofollow">Free</a>.</i></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%2Fwhats-a-hosts-file%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dwhats-a-hosts-file&amp;action_name=What%26%238217%3Bs%20a%20hosts%20file%3F&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/whats-a-hosts-file/?pk_campaign=feed&#038;pk_kwd=whats-a-hosts-file">What&#8217;s a hosts file?</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dogsbody.com/blog/whats-a-hosts-file/?pk_campaign=feed&#038;pk_kwd=whats-a-hosts-file/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>5 things you need to know when working with big logs</title>
		<link>https://www.dogsbody.com/blog/5-things-you-need-to-know-when-working-with-big-logs/?pk_campaign=feed&#038;pk_kwd=5-things-you-need-to-know-when-working-with-big-logs</link>
					<comments>https://www.dogsbody.com/blog/5-things-you-need-to-know-when-working-with-big-logs/?pk_campaign=feed&#038;pk_kwd=5-things-you-need-to-know-when-working-with-big-logs#respond</comments>
		
		<dc:creator><![CDATA[Rob Hooper]]></dc:creator>
		<pubDate>Tue, 12 Mar 2019 11:24:23 +0000</pubDate>
				<category><![CDATA[Knowledge Base]]></category>
		<category><![CDATA[Amazon AWS]]></category>
		<category><![CDATA[log management]]></category>
		<category><![CDATA[logs]]></category>
		<guid isPermaLink="false">https://www.dogsbody.com/?p=10400</guid>

					<description><![CDATA[<p>With everything being logged the logs on a busy server can get very big and very noisy. The bigger your logs the harder it is to extract the information you want, therefore it is essential to have a number of analytics techniques up your sleeve. In the case of an outage logs are indispensable to [&#8230;]<img src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2F5-things-you-need-to-know-when-working-with-big-logs%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3D5-things-you-need-to-know-when-working-with-big-logs&amp;action_name=5%20things%20you%20need%20to%20know%20when%20working%20with%20big%20logs&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/5-things-you-need-to-know-when-working-with-big-logs/?pk_campaign=feed&#038;pk_kwd=5-things-you-need-to-know-when-working-with-big-logs">5 things you need to know when working with big logs</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>With everything being logged the logs on a busy server can get very big and very noisy. The bigger your logs the harder it is to extract the information you want, therefore it is essential to have a number of analytics techniques up your sleeve.</p>
<blockquote><p>In the case of an outage logs are indispensable to see what happened. If you’re under attack it will be logged. Everything is logged so it is essential to pay attention.<br />
<strong>&#8211; From my last blog post</strong> <a title="Permanent Link: Why there’s nothing quite like Logcheck" href="https://www.dogsbody.com/blog/why-theres-nothing-quite-like-logcheck/" rel="bookmark">why there’s nothing quite like Logcheck.</a></p></blockquote>
<p>These are our top five tips when working with large log files.</p>
<h2>1. tail</h2>
<p>The biggest issue with log files is the size, logs can easily grow into gigabytes. Most text editing tools normally used with other text files (vim, nano, gedit etc) load these files into memory, this is not an option when the file is larger than your systems memory.</p>
<p>The <code>tail</code> command fixes this by only getting the bottom lines of the log file. It fixes the problem of reading the whole file into memory by only loading the final bytes of the file.</p>
<p>Log files nearly always have new log lines appended to the bottom of them meaning they are already in chronological order. <code>tail</code> therefore gets you the most recent logs.</p>
<p>A good technique with this is to use tail to export a section of the log (in this example the last 5000 lines of the log). This means you can comb a smaller extract (perhaps with the further tools below) without needing to look through every single log line, reducing resource usage on the server.</p>
<p><code>tail -5000 &gt; ~/logfile.log</code></p>
<p>You may also find the <code>head</code> command useful, it is just like tail but for the top lines in a file.</p>
<h2>2. grep is your best friend.</h2>
<p>Perhaps you are only interested in a certain lines in your log file, then you need <code>grep</code>.</p>
<p>For example if you are only interested in a specific timestamp, this <code>grep</code> returns all of the logs that match the 05th March 2019 at 11:30 until 11:39.</p>
<p><code>grep "05/Mar/2019:11:3" logfile.log</code></p>
<p>When using <code>grep</code> you need to know what is in the log file and how it is formatted, <code>head</code> and <code>tail</code> can help there.</p>
<p>Be careful to not assume things, different logs are often written in different formats logs even when they are created by the one application (for example trying to compare webserver access and error logs).</p>
<p>So far I have only used <code>grep</code> inclusively but you can also use it to exclude lines. For example the bellow command returns all logs from the 05th of March at 11:30 and then removes lines from two IP&#8217;s. You can use this to remove your office IP&#8217;s from your log analytics.</p>
<p><code>grep "05/Mar/2019:11:3" logfile.log | grep -v '203.0.113.43\|203.0.113.44'</code></p>
<h2>3. Unique identifiers</h2>
<p><code>grep</code> is at its best when working with unique identifiers as you saw above we focussed in on a specific time stamps. This can be extended to any unique identifier but what do you look for?</p>
<p>A great unique identifier for web server logs is the visitors IP address this can be used to follow their session and see all of the URL&#8217;s they visited on the site. Unless they are trying to obfuscate it, their IP address persists everywhere the visitor goes so can be used when collating logs between multiple servers.</p>
<p><code>grep "203.0.113.43" server1-logfile.log server2-logfile.log</code></p>
<p>Some software includes its own unique identifiers for example email software like postfix logs a unique ID against each email it processes. You can use this identifier to collate all logs related to a specific email. It could be that the email has been stuck in the system for days which this approach will pick up on.</p>
<p>This command will retrieve all logs with the unique identifier 123ABC123A from all files that start &#8220;mail.log&#8221; (mail.log.1, mail.log.3.gz)</p>
<p><code>zgrep '123ABC123A' mail.log*</code></p>
<p>Taking points 2 and 3 one step further, with a little bit of command line magic. This command returns the IP addresses of the most frequent site visitors at on the 5th of March at 11 AM.</p>
<p><code>grep "05/Mar/2019:11:" nginx-access.log | awk '{ print $1 }' | sort | uniq -c | sort -n | tail</code></p>
<h2>4. Logrotate</h2>
<p>As I have said before logs build up quickly over time and to keep your logs manageable it is good to rotate them. This means that rather than one huge log file you have multiple of smaller files. Logrotate is a system tool which does this, in fact you may likely find that it is already installed.</p>
<p>It stores its config&#8217;s in <code>/etc/logrotate.d</code> and most software provides their own config&#8217;s to rotate their logs.</p>
<p>If you are still dealing with large log files then it may well be time to edit these config&#8217;s.</p>
<p>A quick win might be rotating the file daily rather than weekly.</p>
<p>You can also configure logrotate to rotate files <a href="https://stackoverflow.com/a/20179359/5185336">based on size rather than date</a>.</p>
<h2>5. AWS Athena</h2>
<p><a href="https://aws.amazon.com/athena/">AWS Athena</a> brings your log analytics to the next level. With it you can turn your text log file into a database and search it with SQL queries. This is great for when you are working with huge volumes of log data. To make this easier Athena natively supports the Apache log format and only charge you for the queries you make.</p>
<p>AWS have lots of good documentation on <a href="https://aws.amazon.com/premiumsupport/knowledge-center/analyze-logs-athena/">setting up Athena</a> and tying it into <a href="https://docs.aws.amazon.com/athena/latest/ug/apache.html">Apache logs</a>.</p>
<p>Fighting huge log files? not getting the insights you want? <a href="https://www.dogsbody.com/contact/">Contact us and see how we can help</a>.</p>
<p>&nbsp;</p>
<p><em>Feature image by <a class="owner-name truncate no-outline" title="Go to Wolfgang.W. 's photostream" href="https://www.flickr.com/photos/ruthanddave/" data-track="attributionNameClick">Ruth Hartnup</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>
<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%2F5-things-you-need-to-know-when-working-with-big-logs%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3D5-things-you-need-to-know-when-working-with-big-logs&amp;action_name=5%20things%20you%20need%20to%20know%20when%20working%20with%20big%20logs&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/5-things-you-need-to-know-when-working-with-big-logs/?pk_campaign=feed&#038;pk_kwd=5-things-you-need-to-know-when-working-with-big-logs">5 things you need to know when working with big logs</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dogsbody.com/blog/5-things-you-need-to-know-when-working-with-big-logs/?pk_campaign=feed&#038;pk_kwd=5-things-you-need-to-know-when-working-with-big-logs/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Why there&#8217;s nothing quite like Logcheck</title>
		<link>https://www.dogsbody.com/blog/why-theres-nothing-quite-like-logcheck/?pk_campaign=feed&#038;pk_kwd=why-theres-nothing-quite-like-logcheck</link>
					<comments>https://www.dogsbody.com/blog/why-theres-nothing-quite-like-logcheck/?pk_campaign=feed&#038;pk_kwd=why-theres-nothing-quite-like-logcheck#comments</comments>
		
		<dc:creator><![CDATA[Rob Hooper]]></dc:creator>
		<pubDate>Tue, 08 Jan 2019 11:19:22 +0000</pubDate>
				<category><![CDATA[Knowledge Base]]></category>
		<category><![CDATA[Maintenance]]></category>
		<guid isPermaLink="false">https://www.dogsbody.com/?p=10118</guid>

					<description><![CDATA[<p>Anyone who has been to a techie conference in the last few years will know there are lots of log management tools out there, but none have filled the space Logcheck has in our hearts servers. Logs are our bread and butter. They store details on everything that happens on any server; each request to [&#8230;]<img src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Fwhy-theres-nothing-quite-like-logcheck%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dwhy-theres-nothing-quite-like-logcheck&amp;action_name=Why%20there%26%238217%3Bs%20nothing%20quite%20like%20Logcheck&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/why-theres-nothing-quite-like-logcheck/?pk_campaign=feed&#038;pk_kwd=why-theres-nothing-quite-like-logcheck">Why there&#8217;s nothing quite like Logcheck</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Anyone who has been to a techie conference in the last few years will know <a href="https://logentries.com/">there</a> <a href="https://www.alertlogic.com/solutions/log-management-software/">are</a> <a href="https://www.splunk.com/en_us/solutions/solution-areas/log-management.html#">lots</a> <a href="https://www.graylog.org/">of</a> <a href="https://www.loggly.com/">log</a> <a href="https://www.sumologic.com/unified-logs-metrics/">management</a> <a href="https://www.elastic.co/products/logstash">tools</a> out there, but none have filled the space <a href="http://logcheck.org/">Logcheck</a> has in our <s>hearts</s> servers.</p>
<p>Logs are our bread and butter. They store details on everything that happens on any server; each request to each asset on this webpage is logged, every login and email sent. In the case of an outage logs are indispensable to see what happened. If you&#8217;re under attack it will be logged. <strong>Everything is logged</strong> so it is essential to pay attention.</p>
<p>Manually checking all server logs is a slow and arduous task and quickly becomes impossible as you scale up. We actively monitor server logs with Logcheck. Logcheck makes this log monitoring possible<strong> across hundreds of servers</strong> by reducing the logs needing to be looked at, it does this with the <strong>exception tracking</strong> approach.</p>
<p>Most log management tools use a <strong>blacklist</strong> approach, looking for bad words such as &#8220;attack&#8221;, &#8220;bad&#8221; and &#8220;error&#8221;. In doing so they only tell you about the &#8220;known bad&#8221;, the log lines that have shown errors before. Big problems will come if you&#8217;re hosting a brand new app or using new software, there is no way of knowing what is bad and what should be alerted on. You rely completely on the new software to have configured logging that matches your current rules.</p>
<p>Logcheck&#8217;s <strong>whitelist</strong> approach fixes the problem these other tools have, as it passes you all unknown/rogue logs. This makes it perfect for any venture in to the unknown by telling you exceptions to known good rules.</p>
<p><strong>Regex</strong> can be used in the whitelist making the rules very <strong>customisable</strong> and still broad enough to not have to whitelist every single combination of log.  We maintain our whitelist rules on a per-server basis, as logs that are OK on one server could indicate a problem on another.</p>
<p>Logcheck and log administration are services offered in our <a href="https://www.dogsbody.com/in-life-support/server-management-and-monitoring/">maintenance packages</a>.</p>
<p><a href="https://www.dogsbody.com/contact/">Contact us today to find out more!</a></p>
<p><em>Feature image background by <a href="https://www.flickr.com/photos/gregloby" target="_blank" rel="noopener">gregloby</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>
<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%2Fwhy-theres-nothing-quite-like-logcheck%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dwhy-theres-nothing-quite-like-logcheck&amp;action_name=Why%20there%26%238217%3Bs%20nothing%20quite%20like%20Logcheck&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/why-theres-nothing-quite-like-logcheck/?pk_campaign=feed&#038;pk_kwd=why-theres-nothing-quite-like-logcheck">Why there&#8217;s nothing quite like Logcheck</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dogsbody.com/blog/why-theres-nothing-quite-like-logcheck/?pk_campaign=feed&#038;pk_kwd=why-theres-nothing-quite-like-logcheck/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>How will the Ubuntu 14.04 EOL affect me?</title>
		<link>https://www.dogsbody.com/blog/how-will-the-ubuntu-14-04-end-of-life-affect-me/?pk_campaign=feed&#038;pk_kwd=how-will-the-ubuntu-14-04-end-of-life-affect-me</link>
					<comments>https://www.dogsbody.com/blog/how-will-the-ubuntu-14-04-end-of-life-affect-me/?pk_campaign=feed&#038;pk_kwd=how-will-the-ubuntu-14-04-end-of-life-affect-me#respond</comments>
		
		<dc:creator><![CDATA[Rob Hooper]]></dc:creator>
		<pubDate>Tue, 30 Oct 2018 11:39:33 +0000</pubDate>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[EOL]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">https://www.dogsbody.com/?p=8625</guid>

					<description><![CDATA[<p>On April 2019, Ubuntu 14.04 reaches end of life (EOL). We recommend that you update to Ubuntu 18.04. Over time technology and security evolves, new bugs are fixed and new threats prevented, so in order to maintain a secure infrastructure it is important to keep all software and systems up to date. Operating systems are [&#8230;]<img src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Fhow-will-the-ubuntu-14-04-end-of-life-affect-me%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dhow-will-the-ubuntu-14-04-end-of-life-affect-me&amp;action_name=How%20will%20the%20Ubuntu%2014.04%20EOL%20affect%20me%3F&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/how-will-the-ubuntu-14-04-end-of-life-affect-me/?pk_campaign=feed&#038;pk_kwd=how-will-the-ubuntu-14-04-end-of-life-affect-me">How will the Ubuntu 14.04 EOL affect me?</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><strong><span style="color: #ff0000;">On April 2019, Ubuntu 14.04 reaches end of life (EOL).</span><br />
We recommend that you update to Ubuntu 18.04.</strong></h2>
<p>Over time technology and security evolves, new bugs are fixed and new threats prevented, so in order to maintain a secure infrastructure it is important to keep all software and systems up to date.</p>
<p>Operating systems are key to security, providing the libraries and technologies behind NGINX, Apache and anything else running your application. Old operating systems don&#8217;t support the latest technologies which new releases of software depend on, leading to compatibility issues.</p>
<h4>Leaving old Ubuntu 14.04 systems past April 2019 leaves you at risk to:</h4>
<ul>
<li>Security vulnerabilities of the system in question</li>
<li>Making your network more vulnerable as a whole</li>
<li>Software incompatibility</li>
<li>Compliance issues (PCI)</li>
<li>Poor performance and reliability</li>
</ul>
<h4>Ubuntu End of life dates:</h4>
<p>Ubuntu LTS (long term support) operating systems come with a 5 year End Of Life policy. This means that after 5 years it receives no maintenance updates including security updates.</p>
<ul>
<li>Ubuntu 14.04 : April 2019</li>
<li>Ubuntu 16.04 : April 2021</li>
<li>Ubuntu 18.04 : April 2023</li>
</ul>
<h4>Faster:</h4>
<p>Just picking up your files and moving them from Ubuntu 14.04 to Ubuntu 18.04 will speed up your site due to the new software.</p>
<ul>
<li>Apache 2.4.7 -&gt; Apache 2.4.29</li>
<li>NGINX 1.4.6 -&gt; NGINX 1.14.0</li>
<li>MySQL 5.5 -&gt; MySQL 5.7</li>
<li>PHP 5.5 -&gt; PHP 7.2</li>
</ul>
<p>Are you still using an old operating system?</p>
<p>Want to upgrade?</p>
<p>Not sure if this effects you?</p>
<p><a href="https://www.dogsbody.com/contact/">Drop us a line and see what we can do for you!</a></p>
<p>&nbsp;</p>
<p><em>Feature image by <a href="https://www.flickr.com/photos/mpaulmd/">See1,Do1,Teach1</a> licensed <a title="Creative Commons BY 3.0" href="https://creativecommons.org/licenses/by/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%2Fhow-will-the-ubuntu-14-04-end-of-life-affect-me%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dhow-will-the-ubuntu-14-04-end-of-life-affect-me&amp;action_name=How%20will%20the%20Ubuntu%2014.04%20EOL%20affect%20me%3F&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/how-will-the-ubuntu-14-04-end-of-life-affect-me/?pk_campaign=feed&#038;pk_kwd=how-will-the-ubuntu-14-04-end-of-life-affect-me">How will the Ubuntu 14.04 EOL affect me?</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dogsbody.com/blog/how-will-the-ubuntu-14-04-end-of-life-affect-me/?pk_campaign=feed&#038;pk_kwd=how-will-the-ubuntu-14-04-end-of-life-affect-me/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Root email notifications with postfix</title>
		<link>https://www.dogsbody.com/blog/root-email-notifications-with-postfix/?pk_campaign=feed&#038;pk_kwd=root-email-notifications-with-postfix</link>
					<comments>https://www.dogsbody.com/blog/root-email-notifications-with-postfix/?pk_campaign=feed&#038;pk_kwd=root-email-notifications-with-postfix#comments</comments>
		
		<dc:creator><![CDATA[Rob Hooper]]></dc:creator>
		<pubDate>Tue, 31 Jul 2018 09:34:07 +0000</pubDate>
				<category><![CDATA[Knowledge Base]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">https://www.dogsbody.com/?p=8525</guid>

					<description><![CDATA[<p>Now that Ubuntu 18.04 is out and stable, we are busy building servers to the latest and greatest. One of the most important parts of new servers builds is root notifications. This is a common way for the server to contact you if anything goes wrong. Postfix is a popular piece of email software, alternatively [&#8230;]<img src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Froot-email-notifications-with-postfix%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Droot-email-notifications-with-postfix&amp;action_name=Root%20email%20notifications%20with%20postfix&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/root-email-notifications-with-postfix/?pk_campaign=feed&#038;pk_kwd=root-email-notifications-with-postfix">Root email notifications with postfix</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Now that Ubuntu 18.04 is out and stable, we are busy building servers to the latest and greatest. One of the most important parts of new servers builds is root notifications. This is a common way for the server to contact you if anything goes wrong. Postfix is a popular piece of email software, alternatively you can use exim or sendmail. I will be guiding you through a Postfix install on an Ubuntu 18.04 server.</p>
<blockquote><p>&#8220;I wanna scream and shout and let it all out&#8221;.<br />
&#8211; will.i.am &amp; Britney Spears</p></blockquote>
<h2>Postfix set up</h2>
<p>Install the postfix email software:</p>
<p><code>sudo apt-get install postfix mailutils</code></p>
<p>The following screen will pop up. I am setting up a Internet site where email is sent directly using SMTP.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8543 size-full" src="https://www.dogsbody.com/wp-content/uploads/postfix-screen-1.png" alt="" width="930" height="523" srcset="https://www.dogsbody.com/wp-content/uploads/postfix-screen-1.png 930w, https://www.dogsbody.com/wp-content/uploads/postfix-screen-1-300x169.png 300w, https://www.dogsbody.com/wp-content/uploads/postfix-screen-1-768x432.png 768w, https://www.dogsbody.com/wp-content/uploads/postfix-screen-1-705x396.png 705w, https://www.dogsbody.com/wp-content/uploads/postfix-screen-1-450x253.png 450w" sizes="auto, (max-width: 930px) 100vw, 930px" /></p>
<p>Next enter the server hostname.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8544 size-full" src="https://www.dogsbody.com/wp-content/uploads/postfix-screen-2.png" alt="" width="930" height="523" srcset="https://www.dogsbody.com/wp-content/uploads/postfix-screen-2.png 930w, https://www.dogsbody.com/wp-content/uploads/postfix-screen-2-300x169.png 300w, https://www.dogsbody.com/wp-content/uploads/postfix-screen-2-768x432.png 768w, https://www.dogsbody.com/wp-content/uploads/postfix-screen-2-705x396.png 705w, https://www.dogsbody.com/wp-content/uploads/postfix-screen-2-450x253.png 450w" sizes="auto, (max-width: 930px) 100vw, 930px" /></p>
<p>If you want to change these settings after the initial install you can with <code>sudo dpkg-reconfigure postfix</code>. There are a number of other prompts for different settings, but I have found the default values are all sensible out of the box.</p>
<p>Now to configure where email notifications are sent to:</p>
<p><code>sudo vim /etc/aliases</code></p>
<p>In this file you should already have the &#8220;postmaster&#8221; alias set to root.  This means that any emails to postmaster are sent on to the root user, making it even more important root emails are seen.</p>
<p>It is good practice to set up a few other common aliases. &#8220;admin&#8221; and your admin username (In my case this was &#8220;ubuntu&#8221;).</p>
<p>Finally we need to send root email somewhere.  Your file should end up looking like this&#8230;</p>
<pre>postmaster: root
admin: root
ubuntu: root
root: replaceme@example.com</pre>
<p>Obviously &#8220;replaceme@example.com&#8221; should be an email address you have access to and check regularly.</p>
<p>These new aliases need to be loaded into the hashed alias database (/etc/aliases.db) with the following command:</p>
<p><code>sudo newaliases</code></p>
<p>Finally send an email to the root user (which should be sent onto the email you configured above) testing our setup is working:</p>
<p><code>echo "Testing my new postfix setup" | mail -s "Test email from `hostname`" root</code></p>
<h2>Sending Problems?</h2>
<p>If you have done the above and are still having problems sending email there are two first points of call I would check.</p>
<p>This command shows all queued email that is waiting to be sent out by the server. If an email is stuck it will show up here.</p>
<p><code>sudo mailq</code></p>
<p>&nbsp;</p>
<p>All postfix actions are logged into <code>/var/log/mail.log</code>. You will want to look specifically at the postfix/smtpd messages as that is the process which is talking out of your server to others.</p>
<p>A useful tip for debugging is to use <code>tail -f</code> to monitor a log file for any updates. Then in another terminal session, try to send another email. You can then watch for the corresponding log entries in the original terminal. This way you can be sure which log entries you need to be focusing on.</p>
<p><code>tail -f /var/log/mail.log</code></p>
<p>&nbsp;</p>
<p>Another thing to consider is that your server is part of the bigger internet where spam is a serious issue.</p>
<p>Your <a href="https://www.dogsbody.com/blog/servers-have-reputations-too/">servers reputation</a> is important in effecting how email is received, there are <a href="https://www.dogsbody.com/blog/the-dark-art-of-email-deliverability/">technologies you can set up to improve reputation</a>.</p>
<p>Some providers have their own anti-spam protection that could be affecting you such as <a href="https://cloud.google.com/compute/docs/tutorials/sending-mail/">Google Cloud blocking all traffic on port 25, 465 and 587</a> &amp; <a href="https://aws.amazon.com/premiumsupport/knowledge-center/ec2-port-25-throttle/">AWS throttling port 25</a>.</p>
<h2>Now email is working</h2>
<p>Make sure your server scripts and crons are set up to send alerts, and not fail silently. With crons there is a variable to manage this for you, just add <code>MAILTO=root</code> at the top of your cron file.</p>
<p>Lastly, don&#8217;t fall victim to alert fatigue. It is easy to send all email to root but this will quickly become tiring. You should only get emails if something goes wrong, or if something needs to be actioned. This way, when a new email comes in you know you need to look at it.</p>
<p>&nbsp;</p>
<p>Need help setting up email? Struggling with emails failing to send? Want someone else to receive and manage server notifications? <a href="https://www.dogsbody.com/contact/">Contact us and see how we can help today</a>!</p>
<p>&nbsp;</p>
<p><em>Feature image background by <a href="https://www.flickr.com/photos/tejvan/" target="_blank" rel="noopener">tejvan</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>
<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%2Froot-email-notifications-with-postfix%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Droot-email-notifications-with-postfix&amp;action_name=Root%20email%20notifications%20with%20postfix&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/root-email-notifications-with-postfix/?pk_campaign=feed&#038;pk_kwd=root-email-notifications-with-postfix">Root email notifications with postfix</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dogsbody.com/blog/root-email-notifications-with-postfix/?pk_campaign=feed&#038;pk_kwd=root-email-notifications-with-postfix/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Cloud Storage Pricing Comparison</title>
		<link>https://www.dogsbody.com/blog/cloud-storage-pricing-comparison/?pk_campaign=feed&#038;pk_kwd=cloud-storage-pricing-comparison</link>
					<comments>https://www.dogsbody.com/blog/cloud-storage-pricing-comparison/?pk_campaign=feed&#038;pk_kwd=cloud-storage-pricing-comparison#respond</comments>
		
		<dc:creator><![CDATA[Rob Hooper]]></dc:creator>
		<pubDate>Thu, 31 May 2018 11:01:06 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Amazon AWS]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Backblaze]]></category>
		<category><![CDATA[Digital Ocean]]></category>
		<category><![CDATA[Google Cloud]]></category>
		<category><![CDATA[IBM Cloud]]></category>
		<category><![CDATA[Rackspace]]></category>
		<category><![CDATA[storage]]></category>
		<guid isPermaLink="false">http://www.dogsbodytechnology.com/?p=111</guid>

					<description><![CDATA[<p>For a long time AWS has been the go to for cloud storage but the competition has heated up over the last few years. We keep a close eye on the various storage offerings so that we can recommend the best solutions to our customers.  So where are we now?  Who&#8217;s the current &#8220;winner&#8221;? Obviously, [&#8230;]<img src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Fcloud-storage-pricing-comparison%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dcloud-storage-pricing-comparison&amp;action_name=Cloud%20Storage%20Pricing%20Comparison&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/cloud-storage-pricing-comparison/?pk_campaign=feed&#038;pk_kwd=cloud-storage-pricing-comparison">Cloud Storage Pricing Comparison</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>For a long time AWS has been the go to for cloud storage but the competition has heated up over the last few years. We keep a close eye on the various storage offerings so that we can recommend the best solutions to our customers.  So where are we now?  Who&#8217;s the current &#8220;winner&#8221;?</p>
<p>Obviously, the best provider will depend entirely on what you want to use it for. We frequently use cloud storage for backups. It is a perfect use case, you can sync your backups into multiple geographical locations at the touch of a button. Storage space grows with you and it doesn&#8217;t require anything extra on our servers. Backups of course are not the only option.</p>
<p>Here is a handful of use cases for cloud storage:</p>
<ul>
<li>Backups (especially off-site Backups)</li>
<li>Online File Sharing</li>
<li>Content delivery networks (CDNs)</li>
<li>Team Collaboration</li>
<li>Infrequently accessed files storage</li>
<li>Storage with unparalleled availability (uptime) and durability (data corruption)</li>
<li>Static sites (<a href="https://robhooper.net/">such as my personal site)</a> which is hosted directly out of an AWS S3 bucket</li>
</ul>
<h3>The Data</h3>
<p>Below is an abridged version of the data we keep on various providers. This spreadsheet is correct at time of publishing.</p>
<p><iframe loading="lazy" src="https://docs.google.com/spreadsheets/d/e/2PACX-1vS3LltevJx0F4iX_h12NYWh7V16W7wlvRfjPqNgmxmqyK66FKcABIVzFqh2zagDy1yHsgOsHe8LM2aj/pubhtml?gid=109852957&amp;single=true&amp;widget=false&amp;headers=false&amp;chrome=false" width="100%" height="290" frameborder="0"></iframe></p>
<h3>An Example</h3>
<p>As we said above, we regularly use cloud storage for for server backups. In this example I am backing up 20 GB&#8217;s of data every day. It is stored for 3 months. Each month a backup is downloaded to verify its integrity. This equates to:</p>
<ul>
<li>1860GB&#8217;s of stored data</li>
<li>620GB&#8217;s uploaded</li>
<li>20GB&#8217;s downloaded</li>
<li>3100 Put requests</li>
<li>100 Get requests</li>
</ul>
<p>And the winners are (yearly price)&#8230;</p>
<ol>
<li><strong>£113.73</strong> &#8211; Backblaze B2</li>
<li><strong>£321.57</strong> &#8211; Azure</li>
<li><strong>£335.29</strong> &#8211; Digital Ocean Spaces</li>
<li><strong>£386.29</strong> &#8211; Google Cloud Storage</li>
<li><strong>£410.96</strong> &#8211; IBM Cloud</li>
<li><strong>£419.33</strong> &#8211; AWS S3</li>
<li><strong>£1,581.60</strong> &#8211; Rackspace</li>
</ol>
<p>At the time of writing, Backblaze provide the cheapest storage per GB by miles but with two large caveats. They only have two data centres and because of that cannot match the redundancy of bigger companies like AWS.  They also do not have a UK data centre which can cause a potential compliance issue as data has to be stored in the US.</p>
<p>Azure is our current recommendation for new cloud storage setups. They are the second cheapest per GB stored, have a UK based data centre and also provide great control over data redundancy. Digital Ocean are the next cheapest but because of the minimum $5 spend they may not be for everyone.</p>
<h3>Gotcha&#8217;s</h3>
<p>Of course what is right for you will also depend on your current server set up. If you are using AWS for data processing and analytics it makes sense to use them, data transfer within AWS being free.</p>
<p>Most cloud providers price in US dollars which we have converted to UK sterling.  This means that exchange rates can affect storage prices greatly.  Azure were the only provider to provide UK sterling prices directly.</p>
<p>Be sure to check the durability (chance that files will become corrupted) of your data as well as it&#8217;s availability (chance that you cannot access a file).</p>
<p>The options are limitless. Interested in what cloud storage can do for you? <a href="https://www.dogsbody.com/contact/">Drop us a line today!</a></p>
<p>&nbsp;</p>
<p><em>Feature image background by <a href="https://www.flickr.com/photos/zagrobot/" target="_blank" rel="noopener noreferrer">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%2Fcloud-storage-pricing-comparison%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dcloud-storage-pricing-comparison&amp;action_name=Cloud%20Storage%20Pricing%20Comparison&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/cloud-storage-pricing-comparison/?pk_campaign=feed&#038;pk_kwd=cloud-storage-pricing-comparison">Cloud Storage Pricing Comparison</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dogsbody.com/blog/cloud-storage-pricing-comparison/?pk_campaign=feed&#038;pk_kwd=cloud-storage-pricing-comparison/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Manual patching vs auto patching</title>
		<link>https://www.dogsbody.com/blog/manual-patching-vs-auto-patching/?pk_campaign=feed&#038;pk_kwd=manual-patching-vs-auto-patching</link>
					<comments>https://www.dogsbody.com/blog/manual-patching-vs-auto-patching/?pk_campaign=feed&#038;pk_kwd=manual-patching-vs-auto-patching#comments</comments>
		
		<dc:creator><![CDATA[Rob Hooper]]></dc:creator>
		<pubDate>Tue, 30 Jan 2018 12:51:35 +0000</pubDate>
				<category><![CDATA[Knowledge Base]]></category>
		<category><![CDATA[Maintenance]]></category>
		<category><![CDATA[patching]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">https://www.dogsbody.com/?p=7605</guid>

					<description><![CDATA[<p>Everyone agrees keeping your software and devices updated is important.  These can be manually or automatically installed.  People assume that automatic is the better option however both have their advantages. I&#8217;m Rob, I look after maintenance packages here at Dogsbody Technology. I want to explain the advantages between the two main patching approaches. What to [&#8230;]<img src="https://analytics.dogsbody.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.dogsbody.com%2Fblog%2Fmanual-patching-vs-auto-patching%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dmanual-patching-vs-auto-patching&amp;action_name=Manual%20patching%20vs%20auto%20patching&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/manual-patching-vs-auto-patching/?pk_campaign=feed&#038;pk_kwd=manual-patching-vs-auto-patching">Manual patching vs auto patching</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Everyone agrees keeping your software and devices updated is important.  These can be manually or automatically installed.  People assume that automatic is the better option however both have their advantages.</p>
<p>I&#8217;m Rob, I look after maintenance packages here at Dogsbody Technology. I want to explain the advantages between the two main patching approaches.</p>
<h2>What to Patch</h2>
<p><img loading="lazy" decoding="async" class="size-full wp-image-7637 alignright" src="https://www.dogsbody.com/wp-content/uploads/patch-all-the-things.jpg" alt="" width="320" height="240" srcset="https://www.dogsbody.com/wp-content/uploads/patch-all-the-things.jpg 320w, https://www.dogsbody.com/wp-content/uploads/patch-all-the-things-300x225.jpg 300w" sizes="auto, (max-width: 320px) 100vw, 320px" />Before we get into the differences of <strong>how</strong> to patch it&#8217;s worth discussing <strong>what</strong> to patch.</p>
<p>Generally speaking we want to patch everything.  A patch has been produced for a reason to either fix a bug or security issue.</p>
<p>Sometimes patches add new features to a package and this can be when issues occur.  Adding new features can cause things to break (usually due to broken configuration files).</p>
<p>Identifying when a patch release is for a bug, a security fix or adding a feature can be hard. In some cases the patch can be all three things.  Some operating systems try and separate or tag security patches separately however our experience shows that these are rarely accurate.</p>
<p>One of the reasons we like manual patching so much is that it allows us to treat each patch/customer/server combination independently and only install what is required, when it is required.</p>
<h2>Auto Patching Advantages</h2>
<p>The server checks and updates itself regularly (hourly/daily/weekly).</p>
<ul>
<li>Patches can easily be installed out of hours overnight.</li>
<li>Patches are installed during the weekend and bank holidays.</li>
<li>Perfect for dev environments where downtime is OK.</li>
<li>Perfect for use in Constant Integration (CI) workflows where new patches can be tested before being put into production.</li>
</ul>
<p>Our automatic patching strategy is to typically install all patches available for the system as it is the only sure way to know you have all the security patches required.</p>
<h2>Manual Patching Advantages</h2>
<p>A notification (e-mail or internal ticket) is sent to the server admin who logs onto the server and installs the latest updates.</p>
<ul>
<li>Patches can be held during busy/quiet periods.</li>
<li>The admin can ensure that services are always restarted to use the patch.</li>
<li>The admin can search for dependant applications that maybe using a library that has been patched (e.g. <a href="https://www.dogsbody.com/blog/cve-2015-7547-glibc-vulnerability/">glibc patches</a>)</li>
<li>The admin is already logged onto the server ready to act in case something does break.</li>
<li>Kernel reboots (e.g. <a href="https://www.dogsbody.com/blog/intel-vulnerabilities-meltdown-spectre/">Meltdown</a> or <a href="https://www.dogsbody.com/blog/stack-clash-vulnerability/">Stack Clash</a>) can be scheduled in and mitigated.</li>
<li>Configuration changes can be reviewed and new options implemented when they are released. Catching issues before something tries to load a broken configuration file.</li>
<li>Perfect for production environments where you need control. Manual patching works around your business.</li>
</ul>
<p>Because we manually track the packages used by a customer we can quickly identify when a patch is a security update for that specific server.  We typically patch security updates on the day it is released also install non-security updates at the same time to ensure the system has the latest and greatest.</p>
<p>&nbsp;</p>
<p>Are you unsure of your current patch strategy? Unsure what the best solution is for you? <a href="https://www.dogsbody.com/contact/">Contact us today!</a></p>
<p>&nbsp;</p>
<p><em>Feature image background by <a href="http://www.freepik.com/free-photos-vectors/background">Courtnei Moon</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%2Fmanual-patching-vs-auto-patching%2F%3Fpk_campaign%3Dfeed%26pk_kwd%3Dmanual-patching-vs-auto-patching&amp;action_name=Manual%20patching%20vs%20auto%20patching&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/manual-patching-vs-auto-patching/?pk_campaign=feed&#038;pk_kwd=manual-patching-vs-auto-patching">Manual patching vs auto patching</a> appeared first on <a href="https://www.dogsbody.com">Dogsbody Technology</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dogsbody.com/blog/manual-patching-vs-auto-patching/?pk_campaign=feed&#038;pk_kwd=manual-patching-vs-auto-patching/feed/</wfw:commentRss>
			<slash:comments>2</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-04-29 12:18:02 by W3 Total Cache
-->