views:

198

answers:

3

The last couple years have placedme in charge of system administrator at a couple of small companies I work at. Mostly on small dev machines running Linux, but a couple of times in the full spotlight of internet facing large scale systems.

I am a strong developer, but a weak system administrator. I can run a basic LAMP stack, keep it maintained, install software etc, but I would like to grow as a sysadmin. I want tips to diagnose problems instead of just restarting services, I want to know more about whats happening to our server. I want to know what types of tools to use and what stats to collect. For example, When apache eats up CPU cycles how can I tell what site it is attached to?

I have never been employed as a sysadmin with other more experienced sysadmins and haven't had a chance to learn from someone experience, and I think that has been a minor set back.

I like to learn from books / webs, but havent' found a knowledgable book or a vibrant web community of to which to learn. Most resources I have found are either way too simple or way too narrow (read: focused on one tool). Hopefully someone can point me in a good direction, thanks!

+2  A: 

It's nearly impossible to really master a skill without a business purpose. You need to have a need. Like the old saw, "Necessity is the mother of Invention".

When Apache starts doing something interesting, you can't stop probing when it's resolved. You have to take the extra step of understanding what happened. Keep googling, ask here, ask on forums -- don't stop figuring out why until you understand what happened, not just until it's fixed.

We have that happen where I work. There will be an issue. People ring bells, sound sirens... then the problem goes away. I don't leave the scene with the rest of the ambulance chasers, I stay behind, trying to figure out what happened that precipitated the crisis.

You waste a lot of time and you learn a lot.

Unfortunately our day-to-day tasks are at a very high level. High level of the web server, high level of the database, whatever. Where true understanding comes from is at a much lower level. Your day to day tasks rarely take you to how does Apache do-what-it-do. Or MySQL or Linux. The more you understand the fundamentals, the more likely you'll be able to come to a reasoned answer to higher level problems.

+1  A: 

Try reading Perl for System administrators. It will help you learn more perl, and automate some administration tasks. It might help you get noticed as an especially productive administrator.

David Nehme
+1  A: 

You got only one lifetime. so if you think you want to pursue to become sysad then do it. Here's a link to a post which mentions all good books for system administration for your referrance.

http://stackoverflow.com/questions/236838/what-are-good-linuxunix-books-for-an-advancing-user

Hope it helps and good luck.

Viky