Systems Administration - Technical Skills, Tools for Success
Successful system administration needs more than just the requisite technical skills.
5 Skills And Abilities To Become The Sharpest Systems Administrator
1. Monitor, measure and record
You’re responsible for the system and its failings so you must have in place a means of monitoring, measuring and recording all relevant data in this regard. You may have to go to your finance department to request new software or a hardware upgrade and it’s vital that you have the information to hand that’s going to convince the hand holding the cheque that the business really needs it.
Here’s what you need to know in a nutshell;
Disk storage Memory usage Disk I/O Network throughput Network throughput per virtual host/site Transfer Load average Transfer per virtual host Average response time of a PHP SSH logins by user and IP address per day/month Average response time of test URI (in milliseconds) Once you’re in possession of this information you can look for patterns and spot anything unusual. This comes in handy when you’re troubleshooting problems and you don’t know where to start looking.
2. Develop project management habits
Even if it’s just for small projects or those that you are running for yourself, write up a brief plan and scope of work. Get stakeholders to sign-off on their expectations, record your daily activities and actions and draw up a project plan. At the end of the piece of work, write up an end of project report. All this may seem a bit over the top but it will help to keep you organised and focused. It’s also useful when you are tasked with building a new system; there can be no complaints that you’ve got it wrong if the users have signed off the requirements document first.
3. Develop a system for day-to-day work
This might sound a bit overly bureaucratic but it’s easy to while away your days doing whatever lands on your desk without a proper “To Do List”; when staff appraisal time comes around, you really do need to know what you’ve achieved and for whom.
If you’re working on several projects at once, it’s helpful to have a proper record of what you aim to achieve each day too. This helps to keep you focused and on target.
4. Develop communications skills (sales, presentation, etc)
Working alone in a server room keeping things running sweetly is great but what happens when you have a team working with you? You need to be able to communicate your expectations clearly, propose and advocate your ideas to your peers and your management.
Then there may be times when you need to persuade someone that the web server really does need upgrading and that your new server proposal will fix all their problems. Or what about convincing the developer that his code is what’s causing memory issues in a totally non-accusatory manner?
5. Start preparing for “what if” scenarios
No matter how dedicated you are, how good you are or how lucky you are; one day something will go pear-shaped. Perhaps your servers will crash, or be hacked or your backups will be corrupted; what are you going to do when that happens?
Obviously, you try to ensure that nothing terminal will happen to your systems but what if it did? How about if the server drops off the network due to a power spike and now it says, “kernel not found”. What about when your user asks for a backup to be restored and that backup is found to be corrupted?
You might not get all the answers until you actually have to deal with the problem first hand, but it’s much better to start some self-training scenarios now to test your solutions out. In the case of our example, set up a test box and remove the kernel then see if you can get it operational again. Get someone to install a rootkit on it, or at least do something that you have to troubleshoot and fix. If you ask these questions now, you’ll be much more confident and in a better position to sort them out should the need arise.