What Data Do We Really Need In A CMDB?

A while ago I wrote a diatribe on keeping too much data. Recently I have been asked what data I do suggest keeping in a configuration management database (CMDB).My preliminary answer: Less is more. Store whatever data you absolutely cannot live without. Be stingy, for every item requires maintenance, and maintenance requires time which nobody has. Don’t store anything you can query from the machine or elsewhere. Do store information that will help you repair the machine if there is a problem.My suggestions for things to start with:

  • Server name. (duh!) 🙂
  • Hardware serial number. From this you can usually look up the system configuration as shipped.
  • Hardware manufacturer model number, which will tell you a lot.
  • Hardware warranty expiration. While you can get this from the system configuration it’s pretty useful to generate a report of everything that’s going to expire this year.
  • Number of CPUs and the number of cores. Do you really care about their speed? Probably not. The quantity has a bearing on licensing, though. If you don’t care about that don’t record any of this.
  • IP addresses and service DNS records, if you don’t have another way to correlate services to servers.
  • Primary & backup system administrator or administration team (who to call when there’s a question or trouble).
  • The location of the server, should someone need to find it or a labeling mishap occur.
  • Customer information, specifically any financial information you need to bill the customer.

There’s lots of other data that is useful in a CMDB, and it depends on your own business and processes. Just ask yourself: is what I’m storing useful to me right now and not some nebulous “what if” contrived future situation? Could I add the data the first time I need it instead of right now?Fight the urge to add everything you can think of. Less is more!