I am a huge proponent of open-source. Often I refer to using open-source software to “standing on the shoulders of giants”. Such amazing leverage to accomplish complex tasks. Software developers today are the modern alchemists stringing together pieces of the solution as the systems integrator. My tribute to open-source and Mozilla. Taken at AOL’s old Netscape offices back in the 2009 time frame.
Scott Scazafavo and I have been working full time on our new start-up, WolkeWerks.com. This often places me in my home office reaching out to colleagues for advice and collaboration. My communication tool of choice has been free peer-to-peer (P2P) video conference tools. Scott and I have used Skype and FaceTime, but experienced the common video lags and garbled voices. These were frustrating experiences needless to say.
It only take a garage to fall on me
My dad used to say, “I don’t need an entire house to fall on me to learn something, it only takes a garage”. I think he was telling me to learn from trends when they are still small – and even a garage hurts when it falls on you.
The second time someone (ok a nice recruiter) asked me connect with Zoom, I realized it was a high quality service in terms video choppiness and garbled voices. I did not look into pricing as I figured it was another service used by larger corporations ala WebEx or BlueJeans. When a colleague in Berlin sent an invite with it, I thought it was odd that he was willing to pay for a service just to chat with me. This was on top of another colleague with a pending Zoom call scheduled. Why does everyone want to see a bald guy on video when it is such a frustrating technology?
FREE Zoom P2P Video Conferencing
Because it really isn’t frustrating anymore. At least from my sample set of 4 calls now. One to Boston, one for two hours to Berlin, and two to different people in Seattle now. But the biggest surprise, it is FREE for 2 people for unlimited connectivity. It is also free for 3 or more people for 40 or less minutes. FREE is my favorite word as I am an unabashed open source bigot. But FREE that really works well is amazing.
I love the idea of getting people to try something for free for personal use and then once they fall in love with it, they are happy to pay for it in other circumstances. I have not tried a 3 or more participant call yet. I suspect they have this technology so dialed in that once you do a 30 minute call with 3/4 people that runs long, you get hooked on how well it worked and add your credit card to the account.
Check out Zoom
The folks at Zoom also have connectivity modules and upgrades for H.323/SIP systems, LifeSize, Polycom, and Cisco gear in corporations. It is all on their website. They seem like they really nailed the tech on this so far.
I have a call Monday to London with another colleague. I would never have asked him to use video conferencing in the past. Too clunky and messy. But we are setup on Zoom and it will be good to see his face for the first time in a year – even though we catch up nearly every month.
Check out Zoom. All it takes is a laptop, iPad or a mobile phone.
Zabbix is an open source system monitoring and alerting tool. Even running a home data center requires monitoring the status of the equipment. When there is an issue, it needs to alert folks that things are not working correctly.
Ted Cahall uses Zabbix for Monitoring and Alerting
As I have mentioned, I run several Linux servers at home and in the AWS cloud. This is great – but it could become a nightmare to know when servers are having issues. Enter Zabbix – it is free and comes included in most Linux distributions. So it is a natural choice for monitoring Linux servers. Another great feature is that is can monitor Windows machines and Macs as well.
High Level Zabbix Overview
Zabbix is written in PHP and stores its configuration, monitoring, and alert data in a MySQL database. All of these are also free and included in Linux distributions. I would recommend adding the Zabbix repo to your package manager for each of your Linux machines. The agent version currently supported in Ubuntu 16.04 LTS is on 2.4.7 as of this blog post. Where as I selected version 3.0 in the repository. Those Linux machines are currently running version 3.0.16 and get updated as the code is updated at Zabbix.
Zabbix uses a server to collect the data and store it in MySQL. It also uses “agents” to run on each of the monitored machines. The agents are further configured to monitor certain aspects of each of the Linux machines on which they run. Zabbix monitors CPU, Memory, bandwidth, context switches, etc. right out of the box for most Linux machines without configuration.
Running in Cahall Labs
Currently I have the agents monitoring the MySQL DBs on some of the Linux servers as well as the Apache web servers and Tomcat app servers. I am also monitoring my Cassandra and Hadoop clusters. An interesting open source feature I found is the ability to monitor my various APC UPS power back-ups. Now I know if one is getting sick or when they go offline onto battery mode. This is useful when I am not at home to know the power has gone out. The agent can also be configured to monitor a Java JVM though its JMX gateway.
I also monitor my Synology NAS servers and my older NetGear NAS with Zabbix. The AWS production instance of marrspoints.com is monitored for uptime and page load performance (see graph below) from my home data center. I also track and graph the number of drivers being tracked in marrspoints. Its built in data graphing of is very useful.
Zabbix can scale to thousands of servers and has a proxy feature to help offload the main server. We used Zabbix at my previous company and monitored thousands of servers in AWS as well as our private cloud. The auto-discovery feature allowed us to locate new VMs and automatically add them to the monitoring and alerting framework. Zabbix is shipping version 3.4. I have note tested beyond 3.0 at this time.
Zabbix can alert you when something has exceeded a pre-configured threshold. For a home data center, this may be challenging as it was not clear it would simply use a Gmail account as the outbound sender. I overcame this issue by adding a SES account to AWS. This allows my Zabbix server to connect to the AWS SES server and send outbound alert emails to my personal email accounts. See sample email alert via Amazon SES below:
It also supports sending SMS text messages as alerts. However, I have not implemented that feature due to the costs of the SMS service. Email is good enough for my home data center.
Ted Cahall highly recommends Zabbix!
In summary, I find there is very little I cannot accomplish with Zabbix for my home data center (or for the Hybrid clouds at my previous employer). With some innovative thinking, I have seen everything from room temperature to number of people coming or going through an automated gate measured.
If there is a way to get the data back to a Linux server, there is a way to monitor and alert it from Zabbix. It is the Swiss Army knife of systems monitoring tools – and it is FREE!
Synology NAS Servers
One of the most important components of my home data center, are my Network Attached Storage (NAS) servers.
I have had my old NetGear ReadyNAS unit for at least 9 or 10 years now. It has a whopping 1.3TB of storage across 3 drives in a RAID 5 configuration. NAS units are great for storing my racing videos that no one will ever watch, old photos now that everyone with a phone collects thousands of photos a year, and copies of my important tax, mortgage, and legal documents. Some of my friends store TBs of pirated videos from the dark web. I am a NetFlix and AppleTV guy so that saves me a few TBs.
Goodbye NetGear, hello Synology
While the ReadyNAS served me well, it was long in the tooth and short on TBs. It also was missing some of the interesting new features that I did not even know I was living without until I bought my first Synology NAS back in 2015- the DS1515+. These guys really have done the whole consumer NAS thing really well.
The main feature I use and like is the immediate file sync of Linux directories on my Linux servers (and one of my Windows 10 desktops as well). Once I configured this option and selected the directories I wanted synced, all of those files continue to be safely stored on the NAS. No backups – it copies the files immediately upon edit or save to the NAS file system. It is also a nice way to grab files from one machine to the other as the systems can all see the disk replicas across the servers.
This does not mean I do not do backups. I have Amazon Glacier storage and I have those critical legal, tax, mortgage files sent out to Glacier storage once a week from the Synology NAS. The great thing about that is Synology provides the service that runs on the NAS to do the Glacier backup. Really simple integration.
Built-in Servers (services)
The disk drives are even “hot swappable“. No downtime if you have a drive go bad. Aside from rock solid hardware technology, another amazing thing about Synology is the application ecosystem they provide on the NAS server. They want you to make this your “server” for everything and anything you do in your home. Want a VPN sever? It has that. DNS? Yep. Connect with my Macs, Windows, and Linux in their native network protocols? Of course. It has email servers, video security servers (I bought two cameras to test and they are great), video, photo, audio servers. There are Active Directory, Email, Network Management, Print, Content Management, WordPress, WikiMedia, E-Commerce, Docker, Git, Web, Plex, Application (Tomcat) and Database servers! These all run Native on the NAS. Not just as the disk – but in the memory and on the quad core CPU.
I cannot possibly list all of the features and servers these new Synology NAS units supply. I have tested many of them, and they are rock solid and dependable. I never envisioned using my NAS as a “server” other than as a network attached storage server. Now it can work as so much more.
The more the merrier
The Synology product has me so hooked, I bought my second unit! A DS1517+ with 8GM of main memory and 30TB of storage (5 disks @ 6TB each). I used this for the security video storage and as a snap backup of the first unit. Had I planned it better, I could have arranged these two Synology units in an active-passive mirrored configuration. This would allow one to take over if the other crashed. Clearly I do not need that at home. But it is nice to know that a simple consumer grade products offer these features now.
These really are a great compliment to my home data center’s NUC-based Linux servers. But I do not use the NAS for Cassandra or Hadoop storage. That all lives on the SSD drives in each of the NUC units for performance reasons. I back them up to the NAS off hours.
Highly Recommend Synology NAS
I fully and highly recommend these Synology NAS products. They do not sell direct. I recommend finding them on Amazon after you spend hours like I did on their product site comparing models and features.
[Update] One cool thing I forgot to mention before I hit “publish”, is that this unit of course runs Linux. It is a 3.10 kernel version modified by Synology. This is the reason so many of these services (servers) are available as a stock part of the unit. Synology chose to make Linux the engine to run the NAS and brought along many of the Linux services. With simple configuration, you can ‘ssh’ into the NAS and work on it as though it were a plain old Linux box. It is really well done.