Software for a One-Man IT Department?
skywalker107 asks: "I am a one man IT department for a small Company (~100 PCs 4 Servers). I know that the bigger companies use alot of admin tools for inventory, documentation and management. Right now all of my information is spread out over documents, spreadsheets, and diagrams. The software I have tried has been poor at best and only covers one of the areas I need. What do the other small IT departments use to bring this information together and help manage the madness? Is shareware/freeware a good route? Does the open source movement have anything to fit a small scale setting?"
How about a good wiki with version control? Also, a versioning system like Subversion can be very useful for maintaining source code and configuration files.
UNIX/Linux Consulting
There are a whole lot of things that you can mean by "manage." Are you looking for asset management? Configuration management? Security? Software upgrades? All of the above?
I think if you can decide what it is you want to manage, you'll be better able to find tools that you need. Yes, plural; because what's a kick-butt asset management tool may suck at making sure all your servers are patched.
Mit der Dummheit kämpfen Götter selbst vergebens.
I have a similar situation on my hands. Though I'm not given much of a budget. I either make (aka program) or use open source. I've found a great tool for documentation is a Wiki - especially if other people interact with it (but mainly cause its simple and has history). I use KeePass for passwords - also a great tool. As for asset tracking, I dont have a suggestion on cause I use my companies own product for that.
snowulf.com
Check out the HelpBox and AuditWizard offerings from Layton Technology.
Not free, but very affordable, and very knowledgable and helpful helpdesk staff. My company's using it, and I'm quite happy with it.
____
~ |rip/\/\aster /\/\onkey
You're going to get 50 posts telling you to just use a wiki. That's decent for documentation but hardly the answer you need.
My suggestion is to try something like Plone. Set up document types for inventory and any specialized documentation you may need. You can set up simple workflows for processes if you want to get fancy (e.g. track computer order status). You can easily attach documents like spreadsheets as well.
I think you should look at one decent open source package you can customize a little (in Plone's case with no programming) which would encompass as much as you want to manage in one place.
Developers: We can use your help.
I kinda like MediaWiki as a searchable documentation dump -- to at least capture things and have a decent format.
Benefits:
- auto-generated table of contents at the top of each page, from very simple headings format
- can make links to flat files (html, PDFs, images, documentation that came with other software) in a separate space
- popular format for How-To's and Wikipedia provides some consistency with what users might see elsewhere
- automatically keeps track of when things were edited, which provides a rudimentary way of logging
what you've been up to day-to-day, week-to-week
- easily searchable
- users can provide their own information
- separate "talk" pages for discussion
- can see the whole history of changes
- nice presentation format for verbatim text, such as you would use to display a series of commands
- easy for users to navigate
Drawbacks:A trouble ticket system for users to request help is a must (e.g. Request Tracker).
UNIX/Linux Consulting
But in all seriousness, you need to say (like the other posts have mentioned) what you are trying to manage. This is way too open ended of a question. I wish the editors would pick up on these rediculously open ended questions and ask the submitter to provide more details before posting.
WebGUI is an intranet in a box, it's free, and it can handle all your IT needs.
http://www.webgui.org/
It has versioning and workflow so you can set up complex processes. You can store your documents on it and access them from anywhere. You can set up privileges to allow other users to publish/download anything you want. It can handle incident tracking so you can keep track of support requests. It integrates with Active Directory or any other LDAP store so you can use your same user accounts/passwords. And it's used by companies all around the world (from multi-billion dollar companies down to mom and pop shops) to do exactly this kind of thing.
Use bat scripts, VB scripts or Perl, Python, Ruby scripts to automate tasks. Automate _everything_ you possible can (app installs OS installs, firewall configurations, etc). Put your computers in a AD domain! We do this. We have one sys admin for each 300 systems/users and it works rather well. The one downside is that finding and hiring IT guys who are _good_ at this is a bit difficult. Most of them deserve higher pay than what we typically want to spend, but for the right person... it's 50 - 60K per year.
I'm currently interning at a company with a one-man IT department. When I arrived, their hardware/software inventory was spread over a half-dozen excel spreadsheets and (even worse) some pen-and-paper forms. I set up a server with the OCS Inventory tool and bam, it was as simple as adding a line to the network logon script -- now the hardware and software inventory of every computer is updated each time a user logs onto the network. It's absolutely the best inventory software I've ever encountered, and it's saved our IT guy a hell of a lot of time previously wasted on visiting each station to perform inventories.
I'm not sure what other information you want to 'manage,' but for hardware/software inventory, OCS takes the cake.
http://ocsinventory.sourceforge.net/
At the (small) company I work for, we have been using http://manageengine.adventnet.com/products/service -desk/. It is a pretty nice tool, with some pieces that we will probably never use. I used to work for a couple really big companies that used really big (read: expensive) tools, and this one covers most of those bases pretty well. For small installs (25 pcs) you can use this one for free.
The combination of these things keeps everything in line. In particular, I'll point out that each part works together in such a way that there is only one place to check documentation (the wiki), one place to check for a work queue (the issue tracker) and one place to check for state information and discussion (the mailing list). That makes it easy to deal with, easy to delegate etc.
Also, you'll note that on a day-to-day basis, unless something breaks, there is no work required. That's huge. If the status quo requires any work at all, you'll eventually hit a scaling limit. The only thing that should require work is either a migration, an upgrade, or an expansion. And of those, upgrades should be easy to (nagios, yum and version control help there)
an interesting way for you to venture into software development inyour spare time. Find a niche and scratch it
...so I hope I can help. I use VNC for any troubleshooting with the users. In smaller shops, you have a chance to educate your users a little more. Therefore, I do simple things (like OMG my shared folder is not connected!) with them so they know how to fix things and do not bother me with the same things twice. Trouble tickets are handled by a little Access database I created to keep track of things. I handle an inventory of vending machine and I created another database for that. I use thunderbird and the calendar extension for my day-to-day tasks. If my boss asks me, I just refer to the calendar and ask if I should shift my obligations. I could also create a "To do" database and assign levels of importance based on need, but I dont got much time for that. I automated antivirus and patch distribution on the servers. I installed firefox to all the users. That way they dont mess with IE. I gotta go now, but if i think of more, I'll post again.
--MaxPowerDJ
Well, Wikis are a rich-get-richer-poor-get-poorer proposition with respect to organization.
Our group used a wiki extensively for posting meeting notes, keeping priority lists, documenting open issues, posting reference data etc. The Wiki was good for us because it was simple, easy to learn, and we could adapt it to a wide variety of uses without having to go through a major requirements analysis and software selection. If we thought we might be able to track, say, outstanding customer issues by giving them a wiki page, we'd try it and see if it worked. By in large the simplicity and flexibility of using a wiki instead of a aresenal of special purpose software was a win for us. Until a certain manager got wind of what we were doing. In fact, we invited him to use our wiki to track what we were up to, instead of buttonholing an engineer and giving him the third degree every time he felt a twinge of anxiety on some issue or another.
The problem is that this manager likes to edit things. At first, it started with his changing fonts around and putting cute little animated gif icons of flames for items he thought were "hot". Then it proceeded to wholesale reorganization of the wiki, in the process breaking about half the document links. Finally he began to use the wiki as his private "brain dump" area, and started to demand that everyone know everything that was in it, which was impossible because he works 80 hours a week, and any time he got a hankering to edit something at a night or on a weekend, he'd satisfy it by spending a few hours shuffling wiki's content around.
Pretty quickly, everyone gave looking the wiki on a regular basis; they only went there when he browbeat them into it. This left him perplexed. He complained that we "advocated" using a wiki (which we never did, we just used it because it was convenient), and then we dropped it. When we point out that a system that changes too rapidly is useless for documentation and tracking, he's completely unable to see how what he's doing might pose a problem for other people. From his perspective, he's just making things "better organized". The more time you spend organizing, the better organized you'll be, right? Sure. And if you spend most of your time in a rush, it must mean you're punctual.
Eventually, what we did was set up a CRM system. Since this is a database application, and we've "neglected" to give him admin privileges, he can't alter the framework of the information at least. He does pelt us with regular "trouble tickets" in which he suggests all kinds of feature enhancements we should add to the CRM "if we have time". We quietly close them and continue taking care of the customers.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
I set up Plone at our office, mainly for IT, but in the near future other departments may end up using it too. You can choose to keep notes in a wiki, or in more structured forms like a documents in folders. Everything is searchable too.
I ended up writing a plone product for tracking the inventory of our machines. I used archetypes to create a PCInventory and PCInventoryFolder products. Together I get a top level view of where the machines are, the important hardware stats, etc. in a table, and each row links to the more detailed view of the individual hardware. And the web forms dovetail nicely with the old paper forms we used before.
Other nice things Plone gave me was integration (via LDAP) with our Active Directory, so no need to keep two sets of passwords, a nice product for discussion boards, and it was easy to change the look of the site to match the official company website.
They'll think I've lost control again and leave it all to evolution. -- Supreme Being, Time Bandits
All of these are open source, built on LAMP, and run great on Windows.
e ). The Anonymous Reporting Form is a time saver.
a in_Page). Mind maps are a FANTASTIC tool for documentation and you can publish them easily on a web server (get 0.8.1 beta3).
HW & SW inventory: Winventory (http://winventory.sourceforge.net./
Trouble ticketing: Eventum (http://eventum.mysql.org/wiki/index.php/Main_Pag
Cacti (http://www.cacti.net./ Graphs all parameters on your servers and routers.
Documentation: TikiWiki (http://tikiwiki.org/tiki-index.php). It has articles, FAQs and LDAP integration.
FreeMind (http://freemind.sourceforge.net/wiki/index.php/M
These are free, and get the job done.
SysInternals's tools (http://www.sysinternals.com./ Process Explorer and TCPView are the most useful, and there are many other great utils.
KiXtart (http://www.kixtart.org./ The best language for login scripts, and just about all your scripting needs on Windows.
Network Notepad (http://www.networknotepad.com./ Draw your nework diagrams here, and then publish them on your web server.
Role
I work 60-70% of my time as a member of the core consulting team here and the rest of the time on "IT" administration and management around the local office. I should note though that I am a software engineer first and fore most, but it so happens that in small businesses one must wear many hats. Last year I was also heavily involved in accounting activities and managed a marketing program.
Scale
I only have 30 workstations and 27 servers (only 2 are publicly accessible and 8 are in a RCF) to worry about presently:
Culture
It should be noted that my users are technically very competent, which is a totally different can of worms to you (I assume from your comments), but there are plenty of issues to guard against with too competent a user as well!:) The issues are just different.
Environment
Server OS: RHEL 3
Workstation OS: Fedora Core 4 and 2 MacOS X (those damn graphic designers/marketing folk!:)
VPN Server OS: NetBSD 3 (runs on an Alpha box)
Software Tools
SCM: Subversion http://subversion.tigris.org/
Issue Tracking: Trac, which integrates nicely with Subversion http://edgewall.com/trac/
Internal Documentation (for future growth): Trac's built-in wiki http://edgewall.com/trac/
Web Server: Apache, mod_python, mod_ssl, mod_dav, and all that good stuff http://apache.org/
Knowledge Base: OpenCyc (but looking for something better that is still open source)
Intranet Framework: Python 2.4/TurboGears/Apache/mod_python http://python.org/ and http://turbogears.org/
Authentication: Fedora Directory Server (LDAP)
Updates: Yum, up2date
Server Monitoring: Nagios http://www.nagios.org/
[Internal] Remote Access: ssh and Gnome/VNC for the rare visual task
[External] Remote Access (i.e. VPN): OpenVPN
Internal Tools
Fixed Asset Management: Rolled my own TurboGears Web/AJAX application that hooks into our accounting system (it took 3 days part-time).
Backups: Rolled own Python backup mechanisms including scripts
Deployment Tools: Using Python's autoinst http://autoinst.tigris.org/
Continous Integration: I have started using Bitten instead of using cron and shell scripts to launch Python distribution builds and tests on a nightly and "continuous" basis for immediate feedback - something I find invaluable.
Office Software
As mentioned in a previous posting using a good calendaring tool is a very good idea. My recommendation is the Calendar extension for the Mozilla suite of tools.
This is not really a tool per se, but the faster you can convert your users to thin clients on a terminal server platform, the better off you'll be. If you get 70 or 80 of your users to use TS, it means less hardware to manage, less time patching systems, high availabilty by backing up and/or RAIDing the data, faster response times for user's problems, less power and HVAC usage, etc. It's not an answer for everyone, but it can make your job a lot easier if it's done right.
Because teenage pranks are fun when you're about to die!