I've been running on blogger for awhile without a real domain name. A lot of people I know are running wordpress and seem to like it. I set up a hosted wordpress for Alexa a while back. It definitely looks nicer than blogger and has a lot more features. It's a little easier to add plugins, too.
It's not worth switching unless I get a new domain name. So, I'm now proud to present my new blog: The Cult of Gary.
I've imported all of my blogger articles. There's a new Feedburner feed too, so make sure you update your clients if you're following me! I'll leave the blogger site up for a bit, but I will be shutting it down.
I decided to host my own instead of the hosted option. I wanted to be able to have cookies (for google analytics) and patch any bugs. In particular, there's a nasty Safari one.
I have an EC2 host up that's not doing too much, so my blog is running on an EC2!
Sunday, January 20, 2008
Taking the Wordpress Plunge
Posted by
Gary
at
12:44 PM
0
comments
Labels: ec2
Friday, January 18, 2008
facter -- where to find puppet variables
Posted by
Gary
at
3:03 PM
0
comments
Labels: puppet
Thursday, January 17, 2008
Timecapsule: every Mac house should have one
About two weeks ago, Alexa's parents were ready to take the Mac plunge. Of course, I offered my help. We decided the 20" iMac was the right fit for them. My brothers in law that are still at home both now have laptops, one of them is a MacBook.
Posted by
Gary
at
5:09 AM
0
comments
Wednesday, January 16, 2008
Puppet just made me about 3000% more efficient
I've spent the afternoon playing with puppet. It's brilliant and I wish I would have set it up sooner.
- creates a file called /tmp/hello_world
- makes sure that screen and vim-enhanced
- makes sure ntp is installed, running and configured to start (using the default config)
- makes sure the perforce cli is installed
- make sure snmp is configured the way I like it
- /etc/resolv.conf is configured as I expect it
define snmp_server($community = "public",
$location = "Unknown (edit /etc/snmp/snmpd.conf)",
$contact = "Root (configure /etc/snmp/snmp.local.conf)"
) {
file { "/etc/snmp/snmpd.conf":
ensure => present,
mode => "0644",
owner => "root",
group => "root",
content => template("snmpd.conf.erb"),
}
include snmp_apps
}
class snmp_apps {
package { net-snmp: ensure => installed, }
package { net-snmp-devel: ensure => installed, }
package { net-snmp-utils: ensure => installed, }
service { snmpd:
ensure => true,
enable => true,
subscribe => File["/etc/snmp/snmpd.conf"]
}
}
And this into a snmpd.conf.erb template file in your template directory:
com2sec notConfigUser default
group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser
view systemview included .1 <%= community %>
access notConfigGroup "" any noauth exact systemview none none
syslocation <%= location %>
syscontact <%= contact %>
Then configure your systems with:
snmp_server { "not used" : community => 'your_commnity', location => 'Springfield', contact => 'root@apple.com' }
Posted by
Gary
at
3:49 PM
0
comments
Labels: puppet, sysadmin practices
MySQL Meetup Last Night
It's a strange world. Last night, I attended my first Vancouver MySQL meetup. This morning, my google reader is filled with news that Sun is buying MySQL.
Posted by
Gary
at
9:18 AM
0
comments
Sunday, January 13, 2008
So this is it
Friday was my last day at the old job. It was a very bitter-sweet day. Eight years, two months is a long time to be anywhere in the IT world, especially since it has been my only real day job.
Posted by
Gary
at
7:33 AM
2
comments
Labels: cfengine, puppet, sysadmin practices
Thursday, January 10, 2008
My Last EC2 Availability Post
Tomorrow is my last day at the current gig, so this will be my last EC2 uptime report. I won't have access to these graphs/machines any longer.
So far, 100% availability of this EC2 dating back to November 27.
Unfortunately, there have been two other incidences with different EC2 hosted machines in the past couple of weeks. One machine rebooted itself. I'm not sure if it crashed or if there was another issue. It came back up fine, other than a few services that weren't configured to start at boot (that's mostly how we knew it rebooted).
Another machine disappeared for about an hour. It wasn't reachable at all -- ping, ssh, etc. When it came back to life, everything was fine. No change in uptime, so it didn't reboot. It was clustered with another EC2, which was fine during the outage, though it also couldn't access the down machine.
We're still in development, so at any one time, we're currently running 6-8 EC2's. With that rate of failure, be sure to back up your data and keep tabs on them with some sort of remote monitoring.
Posted by
Gary
at
10:50 AM
0
comments
Wednesday, January 9, 2008
Where Do I Put My Crontabs?
There's another good discussion forming around where to put your crontabs on the SAGE mailing list.
On linux based systems, there are typically 4 places to stick your crontabs:
- Where ever crontab -e puts them on your system (per user crons)
- /etc/crontab
- /etc/cron.daily, /etc/cron.hourly, /etc/cron.weekly and /etc/cron.monthly
- /etc/cron.d
Putting them into /etc/cron.d makes it easy to revision control the files and keep track of changes. It's also handy for package management -- you can build a custom RPM or DEB of your app and have it drop any required crontabs into /etc/cron.d.
Crons should never run as human user account. When they are configured this way, they tend to break if someone leaves or an account is shut down for other reasons. Depending on what the cron needs access to, it should run as nobody, apache, and in special cases, root. It's easy to configure which user a cron runs as in these files since each entry in the file requires you to specify which user to run as.
Of course, if your cron doesn't support /etc/cron.d, ignore everything I said :)
Posted by
Gary
at
5:56 AM
0
comments
Labels: crontabs, sage, sysadmin practices
Tuesday, January 8, 2008
LongJump DaaS
LongJump's Database as a Service was featured on TechCrunch today. It appears to be a competitor to SimpleDB:
LongJump’s DaaS provides a complete environment for hosting a database that’s highly secure and web-enabled while simultaneously cutting the costs and easing the hassles for entrepreneurs and developers who would otherwise have to purchase a database server, provision it, address data access and availability issues, manage backup and replication issues, and tackle security and data protection.
Saturday, January 5, 2008
Network Monitoring: Auto Discovery vs. Configuration Management
There is some discussion on the SAGE-members list regarding network monitoring solutions. The first post was about Zenoss vs. Nagios. I haven't been involved in the conversation, I've only been lurking.
I am planning to move to a system that I can configure with my configuration management system instead of auto discovery (probably Nagios as I have used it before).
- I'm in a position where I monitor 200+ machines
- A monitoring system lets your write customer monitors in perl/ruby/python and the interface includes the ability to add auto discovery code to your monitor
Posted by
Gary
at
7:58 PM
2
comments
Labels: nagios, sage, sysadmin practices, zenoss
Thursday, January 3, 2008
SuperBlade Servers
I came across a press release for a new quad core SuperMicro SuperBlade today. I'm not currently in the market for one of these, but I was shopping around for blade servers about a year ago.
I wonder how long Supermicro will support this platform? I also wonder if they offer support contracts and SLA's for parts. You're putting a lot of eggs into one basket with these chassis'.
Back then, I found that the market was pretty bleak -- the products from Dell and IBM were silly. You might as well buy 1U servers -- they were more powerful and the density was around 1.1 servers/u (of course, you get management and power savings). The IBM machines didn't have hot swap drive bays. The Dell blades were 7U's tall.
HP's c-Class chassis was the exception back then. It was well thought out and had a good density. Since then, they've even come out with a half sized chassis. Their blades were their 1U and 2U servers crammed into a blade and included hot swap drive bays. You could even install a storage module for additional drive attachments.
When I was doing the price comparision, the break even point seemed to be around a half filled chassis -- if you were buying 8 blades, it was cheaper than the equivalent 8 stand alone machines. That included networking modules in the chassis, but no networking for the stand alone machines.
Last year, when I was meeting with the HP reps, they said the c-class chassis was their blade platform for years to come (I'm thinking at least 5 years).
I've been using Supermicro servers for ages. They were always cheaper than the big names and they ran reliably. Recently, I 'grew up' to using HP and Dell servers. I've learned that there are some advantages to buying name brand servers instead. They tend to work better as a unit -- they are well thought out and easy to service.
The biggest issue I ran into with Supermicro was getting replacement parts (like power supplies) for 2 year old Supermicro machines. We've had to throw out a few perfectly fine machines due to lack of parts. With a support contract on a Dell or HP machine, you'll get the part you need.
I won't be in the market for a blade server for a while now, but t least there is another product on the market for comparison when it is time.
Posted by
Gary
at
9:11 AM
0
comments
Labels: blade servers, hp, superblade, supermicro
Wednesday, January 2, 2008
List-Unsubscribe
Since I'm leaving my current gig, I'm starting to unsubscribe from all the various mailing lists I'm a part of. This will should make the person who inherits my email address life easier.
I decided awhile ago to only pick up RSS feeds in Google Reader and to no longer subscribe to email lists. Email is for personal communication only. There are a few exceptions (like SAGE). Otherwise, the stuff I'm still subscribed to is left over from before I started using Google Reader.
Most of the mailing lists I subscribe to have List-Unsubscribe headers. That means I only have to view source on mailing list messages to find out how to unsubscribe.
I wish more mail clients supported using these headers. Hotmail sort of has it (but I never really got it working as a sender, so I don't trust it. I also don't use hotmail). You'd think it would be relatively easy to add to Gmail or Mail.app. I'm not the only one to consider it, either.
Google even recommends adding the header:
Provide a 'List-Unsubscribe' header which points to a web form where the user can unsubscribe easily from future mailings (Note: This is not a substitute method for unsubscribing).I guess I'll be copying and pasting for a bit.
Posted by
Gary
at
1:08 PM
0
comments
Labels: list-unsubscribe, Mail.app