Home Programming IT Inventory and Resource Management with OCS Inventory NG 1.02

IT Inventory and Resource Management with OCS Inventory NG 1.02

books-svg-icon Book
eBook $25.99 $17.99
Print $43.99
Subscription $15.99 $10 p/m for three months
$10 p/m for first 3 months. $15.99 p/m after that. Cancel Anytime!
What do you get with a Packt Subscription?
This book & 7000+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook + Subscription?
Download this book in EPUB and PDF formats, plus a monthly download credit
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook?
Download this book in EPUB and PDF formats
Access this title in our online reader
DRM FREE - Read whenever, wherever and however you want
Online reader with customised display settings for better reading experience
What do you get with video?
Download this video in MP4 format
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with video?
Stream this video
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with Audiobook?
Download a zip folder consisting of audio files (in MP3 Format) along with supplementary PDF
What do you get with Exam Trainer?
Flashcards, Mock exams, Exam Tips, Practice Questions
Access these resources with our interactive certification platform
Mobile compatible-Practice whenever, wherever, however you want
BUY NOW $10 p/m for first 3 months. $15.99 p/m after that. Cancel Anytime!
eBook $25.99 $17.99
Print $43.99
Subscription $15.99 $10 p/m for three months
What do you get with a Packt Subscription?
This book & 7000+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook + Subscription?
Download this book in EPUB and PDF formats, plus a monthly download credit
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook?
Download this book in EPUB and PDF formats
Access this title in our online reader
DRM FREE - Read whenever, wherever and however you want
Online reader with customised display settings for better reading experience
What do you get with video?
Download this video in MP4 format
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with video?
Stream this video
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with Audiobook?
Download a zip folder consisting of audio files (in MP3 Format) along with supplementary PDF
What do you get with Exam Trainer?
Flashcards, Mock exams, Exam Tips, Practice Questions
Access these resources with our interactive certification platform
Mobile compatible-Practice whenever, wherever, however you want
  1. Free Chapter
    Introduction to IT Inventory and Resource Management
About this book
OCS Inventory NG is a cross-platform, open-source inventory and asset management solution. It brings more than plentiful features to the table to satisfy the business needs of small-to-large organizations with up to tens of thousands of computers. However, to put this inventory solution to optimum use requires a lot of skill.This book will lead you through the steps of implementing OCS-NG until you master working with it. This book aims at reducing efforts involved in resource management. The solution gives a robust foundation on top of which we can implement other third party applications, plugins, and much more.This book begins with the basics—it explains what IT inventorying needs are to be met in the real-world. Then, it covers a step-by-step approach to everything you need to know to set up and implement OCS-NG as a centralized inventory solution to meet all these requirements. It delves deeper into carrying out inventory tasks with every chapter.You will learn how to choose the best agent type and deployment method. We discuss the process of gathering inventory data and cover techniques for creating and deploying packages. You will also learn how to acquire added benefits with the use of plugins. We discuss best practices on inventorying and troubleshooting agent-related problems. The book presents real-world inventorying scenarios along with their solutions. You will basically learn how to use OCS-NG to get the most out of it.As a conclusion, if you want to learn about a free solution that fulfils inventorying necessities of the real-world, this is the book for you.
Publication date:
May 2010
Publisher
Packt
Pages
260
ISBN
9781849511100

 

Chapter 1. Introduction to IT Inventory and Resource Management

In the past decade or so, we have begun to realize that computers are an indispensable necessity. They're around us everywhere, from the computers in our comfortable households to rovers from other planets. Currently, it is not uncommon at all to have more than a few dozen office computers and other pieces of IT equipment in the infrastructure of a small company that does nothing directly related to that specific area.

It should not surprise anyone that in the case of business environments, there has to be some streamlined inventory, especially when we consider that the network might have a total of several hundred, if not thousands, of workstation computers, servers, portable devices, and other office equipment such as printers, scanners, and other networking components.

Resource management, in its essence, when viewed from an IT perspective, provides a method to gather and store all kinds of information about items in our infrastructure. Later on it supports means to further maintain the said inventory. Moreover, it performs routine tasks based on the collected data such as generating reports, locating relevant information easily (like where is a specific memory module with the model number you're looking for), auditing the type of software installed on workstation computers, and more.

Our plan of action for this chapter is going to be pretty straightforward; we will analyze the IT inventorying needs and some general requisites when it comes to managing those assets. What's more, we'll be presenting the client-server model that is the underlying foundation on which most centralized management solutions are working. This is when OCS Inventory NG pops into the picture saving the day. Soon we will see why.

Throughout this book, we will adopting a step-by-step approach to build up our full-fledged OCS-NG, become familiar with its set of features, and excel in fulfilling our inventorying needs on all levels. Once the groundwork is done, we can further discuss more on best practices and learn how to troubleshoot confidently. Moreover, we can present a future possibility to empower what we've already done by building on top of it another asset management system that provides even more functionalities.

We will learn about OCS Inventory NG soon. For now, it's to realize that it's an open source project. No matter how successful a company is, open source solutions are always appreciated by the IT staff and management. Open source projects are preferred as long as they are actively developed, fairly popular, well documented, provides community support, and meets the needs of the company. Among others, open source projects end up modular and flexible.

Inventorying requirements in the real world

One of the general requirements of an IT inventory is to be efficient and practical. The entire process should be seamless to the clients and should require limited (or no) user interaction. Once set up, it just needs to be automated to update the inventory database, based on the latest changes, without requiring manual intervention. Thereafter, the collage of data gathered is ought to be organized and labeled the way we want.

Businesses everywhere have come to realize that process integration is the best method for querying, standardizing, and organizing information about the infrastructure. The age of hi-tech computing made this possible by speeding up routine tasks and saving up employee time, eliminating bureaucracy and unnecessary filing of papers that all lead to frustration and waste of resources. Implementing integrated processes can change the structure and behavior of an organization, but finding the correct integration often becomes a dilemma.

A feasible solution to avoid inevitable havoc

Drifting back to the case of the IT department, the necessity of having an integrated and centralized solution to manage numerous systems and other hardware equipment becomes obvious. The higher the number of systems, the bigger the volume to be managed, the more easily the situation can get out of control, thus leading to a crisis. Everyone runs around in panic like headless zombies trying to figure out who can be held responsible, and what can be done in order to avoid such scenarios.

Taking a rational approach as soon as possible can improve the stability of entire organizations. Chances are you already know this, but usually system administrators tend to dislike working with papers, filling in forms, storing them purely for archiving needs, and then when they least expect it, finding relevant information. A system like that won't make anyone happy.

A centralized repository in the form of a database gives almost instant access to results whenever such a query happens. Its actual state of always being up-to-date and reflecting the actual state of the infrastructure can be guaranteed by implementing an updating mechanism.

Later on, once the database is in a healthy state and the process is integrated, tried, and proven, it won't make any significant difference whether you are managing dozens of computers or thousands. A well-designed integrated process is future-proof and scalable. Thus it won't become a setback if and when the company decides to expand.

Streamlining software auditing and license management

As mentioned earlier, it is important to understand that auditing workstation machines cannot be neglected. In certain environments, the users or employees have limited access and work within a sort of enclosed program area, and they can do little to nothing outside of their specialization. There are situations that arise when the employees are supposed to have administrative access and full permissions. It is for the good of both the user and the company to monitor and pay attention to what happens within each and every computer.

Having an up to par auditing mechanism can integrate the license management system as well. The persons responsible for this can track the total amount of licenses used and owned by the company, can calculate balance, can notify when this number is about to run out, and so on. It isn't uncommon at all to automate the purchasing of licenses either.

The license management process description varies from firm to firm, but usually it's something similar to the following: the user requests for a license, the supervisor agrees, and the request is sent to the relevant IT staff. After this step, the license request gets analyzed. Based on the result, it is either handed out or ordered/acquired if necessary.

If the process is not automated, all this would involve paperwork, and soon you will see frustrated employees running back and forth through departments asking who else needs to sign this paper. The process of automating and printing the end result is elegant and takes no trouble. The responsible department can then store the printed document for archiving purposes, if required. However, the key of the process lies in integration. Inventorying can help here too.

More uses of an integrated IT inventory solution

The count of office consumables can also be tracked and maintained. This is a trickier process because it cannot be done totally unattended, unless by installing some sort of sensor to track the count of printer cartridges inside office furniture or the warehouse. However, you can update this field each time the item in question gets restocked.

A centralized method for tracking consumables means the responsible parties can get notified before running out of stock. Once again, this step eliminates unexpected scenarios and unnecessary tasks.

The beauty of centralized management solutions in the IT world is that if it is done correctly, then it can open doors to numerous other activities as well. For example, in the case of workstation PCs, the integrated process can be expanded into providing remote administration and similar other activities to be carried out remotely on the client machine.

Package deployment and execution of scripts are just few distinctive examples. Think of it as, license is granted, the package is deployed, and the script is run to ensure proper registration of the application, if required. System administrators can usually help fix common issues of employees through remote execution of scripts. Surely, there are other means to administer the machines, but we're focusing on all-in-one integrated solutions.

Another possibility is integrating the help-desk and ticketing system within the centralized inventory's management control panel as well. In this way, when an employee asks for help or reports a hardware issue, the system administrator can take a look at what's inside that system (hardware specifications, software installed, and so on.).Therefore, the system administrator gets to know the situation beforehand and thus use the right tools to troubleshoot the issue.

Gathering relevant inventory information

We can conclude that in order to have a complete inventory which we can build on and implement other IT-related and administrative tasks, we need, at least, the following:

  • Collecting relevant hardware information in case of workstation computers

    • Manufacturer, serial number, model number of every component

    • When applicable, some of the following: Revision number, size, speed, memory, type, description, designation, connection port, interface, slot number, driver, MAC and IP address, and so on

  • Collecting installed software/OS (licensing) information

    • Operating system: Name, version, and registration information

    • Application name, publisher, version, location

    • Customqueries from the Windows registry (if applicable)

  • Collecting information about networking equipment and office peripherals

    • Manufacturer, serial number, model, type of component, and so on

  • MAC and IP address

    • When applicable: Revision, firmware, total uptime, and so on

Overall inventory demands to enhance usability

Now let's create a list of criteria that we want our IT inventory solution to meet. In the previous paragraph, we enumerated some of the must-have data that cannot be left out from our inventory. Likewise, we have expectancies regarding how the process works.

From the perspective of your users, the process must be transparent and the background software must not become a resource hog. The bandwidth usage that is required to communicate with the centralized management server should be minimal. The inventorying mechanism must be automatic and discover on its own every item within the environment. Once everything is recorded, the copy stored in the database must always be kept up-to-date and backed up.

The inventorying client that sweeps through the entire network should be cross-platform. As always, everyone likes an intuitive and fast user interface. This is especially important when managing inventories and working with large volumes of data. The control panel or management center is the place where we can organize, label, and work with the gathered information. If the interface is too complex or overcrowded, it leads to frustration.

The way information is queried from the database and displayed on screen must be snappy so that we don't have to wait and get bored to tears while some rotating hourglass is animated.

In addition, we want integrated backup functions. It's always possible to manually create database dumps or backup points, but if we can do so directly from the interface, it's much easier and possible for non-IT proficient individuals as well.

Assuming that the web interface can be configured to be accessed by multiple users having different permissions and rights, it can become quite a useful tool for employees working in non-IT departments such as accounting and management. The process of inventorying becomes streamlined, and everyone can work with the inventory information to get their share of tasks done.

In a corporate environment, it might happen quite often that an employee receives a new computer and the older computer is received by another user having different needs. The inventory must be able to automatically detect and diagnose these situations and track the history of a machine.

The ability to custom specify, define, and set labels to the inventoried items is really important. When done professionally, companies might agree upon some naming convention to label inventoried items. An example of this is the following: pc001 in case of workstation computers, nt001 for networking equipment, sv001 for servers, ph001 for phones, pr001 for printers, and so on.

This means that we need such functionalities from our IT inventory solution to track these inventory IDs as well. Should you want to take this idea further, you can generate and print barcodes, and stick those on the side of those items. A feature-laden IT inventory can systematize the way tasks are carried out within an organization.

Summing these up, we have looked upon the most common inventorying requirements that each one of us is facing within a corporate environment. These are the necessities, and the solution we require to implement so that our needs are met. In order to understand how it's going to accomplish our demands, we will talk about the client-server model. Once we know that, we are going to overview how OCS-NG ticks those inventory-requisite checkboxes.

 

Inventorying requirements in the real world


One of the general requirements of an IT inventory is to be efficient and practical. The entire process should be seamless to the clients and should require limited (or no) user interaction. Once set up, it just needs to be automated to update the inventory database, based on the latest changes, without requiring manual intervention. Thereafter, the collage of data gathered is ought to be organized and labeled the way we want.

Businesses everywhere have come to realize that process integration is the best method for querying, standardizing, and organizing information about the infrastructure. The age of hi-tech computing made this possible by speeding up routine tasks and saving up employee time, eliminating bureaucracy and unnecessary filing of papers that all lead to frustration and waste of resources. Implementing integrated processes can change the structure and behavior of an organization, but finding the correct integration often becomes a dilemma.

A feasible solution to avoid inevitable havoc

Drifting back to the case of the IT department, the necessity of having an integrated and centralized solution to manage numerous systems and other hardware equipment becomes obvious. The higher the number of systems, the bigger the volume to be managed, the more easily the situation can get out of control, thus leading to a crisis. Everyone runs around in panic like headless zombies trying to figure out who can be held responsible, and what can be done in order to avoid such scenarios.

Taking a rational approach as soon as possible can improve the stability of entire organizations. Chances are you already know this, but usually system administrators tend to dislike working with papers, filling in forms, storing them purely for archiving needs, and then when they least expect it, finding relevant information. A system like that won't make anyone happy.

A centralized repository in the form of a database gives almost instant access to results whenever such a query happens. Its actual state of always being up-to-date and reflecting the actual state of the infrastructure can be guaranteed by implementing an updating mechanism.

Later on, once the database is in a healthy state and the process is integrated, tried, and proven, it won't make any significant difference whether you are managing dozens of computers or thousands. A well-designed integrated process is future-proof and scalable. Thus it won't become a setback if and when the company decides to expand.

Streamlining software auditing and license management

As mentioned earlier, it is important to understand that auditing workstation machines cannot be neglected. In certain environments, the users or employees have limited access and work within a sort of enclosed program area, and they can do little to nothing outside of their specialization. There are situations that arise when the employees are supposed to have administrative access and full permissions. It is for the good of both the user and the company to monitor and pay attention to what happens within each and every computer.

Having an up to par auditing mechanism can integrate the license management system as well. The persons responsible for this can track the total amount of licenses used and owned by the company, can calculate balance, can notify when this number is about to run out, and so on. It isn't uncommon at all to automate the purchasing of licenses either.

The license management process description varies from firm to firm, but usually it's something similar to the following: the user requests for a license, the supervisor agrees, and the request is sent to the relevant IT staff. After this step, the license request gets analyzed. Based on the result, it is either handed out or ordered/acquired if necessary.

If the process is not automated, all this would involve paperwork, and soon you will see frustrated employees running back and forth through departments asking who else needs to sign this paper. The process of automating and printing the end result is elegant and takes no trouble. The responsible department can then store the printed document for archiving purposes, if required. However, the key of the process lies in integration. Inventorying can help here too.

More uses of an integrated IT inventory solution

The count of office consumables can also be tracked and maintained. This is a trickier process because it cannot be done totally unattended, unless by installing some sort of sensor to track the count of printer cartridges inside office furniture or the warehouse. However, you can update this field each time the item in question gets restocked.

A centralized method for tracking consumables means the responsible parties can get notified before running out of stock. Once again, this step eliminates unexpected scenarios and unnecessary tasks.

The beauty of centralized management solutions in the IT world is that if it is done correctly, then it can open doors to numerous other activities as well. For example, in the case of workstation PCs, the integrated process can be expanded into providing remote administration and similar other activities to be carried out remotely on the client machine.

Package deployment and execution of scripts are just few distinctive examples. Think of it as, license is granted, the package is deployed, and the script is run to ensure proper registration of the application, if required. System administrators can usually help fix common issues of employees through remote execution of scripts. Surely, there are other means to administer the machines, but we're focusing on all-in-one integrated solutions.

Another possibility is integrating the help-desk and ticketing system within the centralized inventory's management control panel as well. In this way, when an employee asks for help or reports a hardware issue, the system administrator can take a look at what's inside that system (hardware specifications, software installed, and so on.).Therefore, the system administrator gets to know the situation beforehand and thus use the right tools to troubleshoot the issue.

Gathering relevant inventory information

We can conclude that in order to have a complete inventory which we can build on and implement other IT-related and administrative tasks, we need, at least, the following:

  • Collecting relevant hardware information in case of workstation computers

    • Manufacturer, serial number, model number of every component

    • When applicable, some of the following: Revision number, size, speed, memory, type, description, designation, connection port, interface, slot number, driver, MAC and IP address, and so on

  • Collecting installed software/OS (licensing) information

    • Operating system: Name, version, and registration information

    • Application name, publisher, version, location

    • Customqueries from the Windows registry (if applicable)

  • Collecting information about networking equipment and office peripherals

    • Manufacturer, serial number, model, type of component, and so on

  • MAC and IP address

    • When applicable: Revision, firmware, total uptime, and so on

Overall inventory demands to enhance usability

Now let's create a list of criteria that we want our IT inventory solution to meet. In the previous paragraph, we enumerated some of the must-have data that cannot be left out from our inventory. Likewise, we have expectancies regarding how the process works.

From the perspective of your users, the process must be transparent and the background software must not become a resource hog. The bandwidth usage that is required to communicate with the centralized management server should be minimal. The inventorying mechanism must be automatic and discover on its own every item within the environment. Once everything is recorded, the copy stored in the database must always be kept up-to-date and backed up.

The inventorying client that sweeps through the entire network should be cross-platform. As always, everyone likes an intuitive and fast user interface. This is especially important when managing inventories and working with large volumes of data. The control panel or management center is the place where we can organize, label, and work with the gathered information. If the interface is too complex or overcrowded, it leads to frustration.

The way information is queried from the database and displayed on screen must be snappy so that we don't have to wait and get bored to tears while some rotating hourglass is animated.

In addition, we want integrated backup functions. It's always possible to manually create database dumps or backup points, but if we can do so directly from the interface, it's much easier and possible for non-IT proficient individuals as well.

Assuming that the web interface can be configured to be accessed by multiple users having different permissions and rights, it can become quite a useful tool for employees working in non-IT departments such as accounting and management. The process of inventorying becomes streamlined, and everyone can work with the inventory information to get their share of tasks done.

In a corporate environment, it might happen quite often that an employee receives a new computer and the older computer is received by another user having different needs. The inventory must be able to automatically detect and diagnose these situations and track the history of a machine.

The ability to custom specify, define, and set labels to the inventoried items is really important. When done professionally, companies might agree upon some naming convention to label inventoried items. An example of this is the following: pc001 in case of workstation computers, nt001 for networking equipment, sv001 for servers, ph001 for phones, pr001 for printers, and so on.

This means that we need such functionalities from our IT inventory solution to track these inventory IDs as well. Should you want to take this idea further, you can generate and print barcodes, and stick those on the side of those items. A feature-laden IT inventory can systematize the way tasks are carried out within an organization.

Summing these up, we have looked upon the most common inventorying requirements that each one of us is facing within a corporate environment. These are the necessities, and the solution we require to implement so that our needs are met. In order to understand how it's going to accomplish our demands, we will talk about the client-server model. Once we know that, we are going to overview how OCS-NG ticks those inventory-requisite checkboxes.

 

Centralization: Introducing the client-server model


Ever since distributed applications appeared, the client-server model has become popular. In the simplest terms, the server is a computer (usually, a high performing one) running the service that centralizes some kind of information. It's also able to receive connections from clients, process their requests, and give them the results whenever necessary.

Clients establish a connection with the server in order to request or upload some content. This communication model describes one of the most basic relationship and architecture. Typically, servers can simultaneously accept and process requests. This is done with multithreading programming. Other times, the queries are so fast that sequential execution is enough.

The communication between clients and the server can happen either through the Internet in case of wide area network (WAN) or just locally when it's limited to the local area network (LAN). When necessary to enhance scalability, it is possible to incorporate more than one server in the client-server model. The servers will be part of a pool and they can share the load between each other. Thus a balanced workload and bandwidth is achieved.

Example of the client-server model—an Internet forum

The service that runs on the servers is a computer application. It usually uses elements of other services. Let's consider the example of a PHP-based web application: forums or bulletin boards. Everyone knows those. The forum application is the service running on the server, and the clients are the members visiting the site, posting, reading posts, and so on.

The forum service cannot run on its own. It needs a set of other vital server components. A web server is necessary to listen, accept, and serve HTTP requests from visitors. In the case of users, the web browser can formulate the HTTP requests, establish the communication with the target web server, and retrieve its HTTP responses. This is how web surfing can be explained from a client-server architecture perspective.

Nevertheless, this is not sufficient for the forum script to function properly. It is heavily dependent on a database service as well. This is the place where the data is stored. If the script is PHP based, then the PHP service is also a prerequisite so that the dynamically generated web pages can be processed. While, other services may also be required, for the sake of keeping things simple and to present the basis of a client-server architecture, these services will suffice.

The client-server model versus the peer-to-peer paradigm

The client-server model has its share of advantages and drawbacks when compared with other similar models such as the peer-to-peer paradigm. First and foremost, the client-server model is based on having only one place where the data is stored, on the server. This provides enhanced security and management. The server can be tightly secured, firewalled, and powered by high-performing components. In addtion, the sever has access to plenty of system resources, is backed up regularly, and must be maintained appropriately.

The data is centralized, and this gives a safer infrastructure to maintain an error-free copy of the actual data on the side of every client. From the client's perspective, the server can be replaced, upgraded, or migrated on another server, without being affected. They know the path and destination of how to reach the server. If the migration or the maintenance is carried out properly, clients will not even be aware of that.

The peer-to-peer (P2P) paradigm takes a different approach to the client-server model. The model presumes that every end point can act both as a server and client likewise. Undoubtedly this brings the advantage of greater scalability and flexibility. But it is tougher and time-consuming to maintain an actual up-to-date copy of the database on every end-point client.

The P2P paradigm solves the possibility of network traffic congestion as there's no dedicated server to get overloaded. Ultimately, this is not a magic pill either as all of the clients creating so much cross-talk contributes to increased all-around network traffic.

On the other hand, the client-server model does not provide such a high degree of robustness. If and when the server fails on a hardware level, until it gets replaced, repaired, or fixed, clients won't be able to connect and get any data out of the management server at all. However, there are various workarounds to enhance the uptime of servers and ensure their balanced workflow. Redundancy can also be implemented within the model if it is truly necessary.

IT inventorying based on the client-server model

Each of the paradigms mentioned have their share of best fit scenarios where using one in favor of the other is a better decision. In case of IT inventorying and resource management solutions, the first model-which is the client-server model, centralization is a better approach. The chance of overloading the server is lower because the volume of data that is exchanged is really low, a few kilobytes at most. The bandwidth usage is light.

Most importantly, the server-client model yields immediate access to the actual information stored (that is secured) in the database. Centralization is an advantage here.

 

How does OCS Inventory NG meet our needs?


OCS Inventory NG stands for Open Computer and Software Inventory Next Generation, and it is the name of an open source project that was started back in late 2005. The project matured into the first final release in the beginning of the year 2007. It's an undertaking that is still actively maintained, fully documented, and has support forums. It has all of the requirements that an open source application should have in order to be competitive.

There is a tricky part when it comes to open source solutions. Proposing them and getting them accepted by the management requires quite a bit of research. One side of the coin is that it is always favorable as everyone appreciates cutting down licensing costs. The problem with such a solution is that you cannot always take for granted their future support.

In order to make an educated guess as to whether an open source solution could be beneficial for the company, we need to look at the following criteria: how frequently is the project updated, check the download count, what is the feedback of the community, how thorough is the documentation, and how active is the support community?.

OCS-NG occupies a dominant position when it comes to open source projects in the area of inventorying computers and software.

Brief overview on OCS Inventory NG's architecture

The architecture of OCS-NG is based on the client-server model. The client program is called a network agent. These agents need to be deployed on the client computers that we want to include in our inventory.

The management server is composed of four individual server roles: the database server, communication server, deployment server, and the administration console server. More often than not, these can be run from the same machine.

OCS Inventory NG is cross-platform and supports most Unices, BSD derivates (including Mac OS X), and all kinds of Windows-based operating systems. The server can also be run on either platform. As it is an open source project, it's based on the popular LAMP or WAMP solution stack. This means that the main server-side prerequisites are Apache web server, MySQL database server, and PHP server. These are also the viable components of a fully functional web server.

The network agents communicate with the management server under standardized HTTP protocols. The data that is exchanged is then formatted under XML conventions. The following screenshot gives a general overview of the way clients communicate with the management server's sub-server components:

Rough performance evaluation of OCS-NG

The data that is collected in the case of a fully-inventoried computer adds up to something around 5KB. That is a small amount, and it will neither overload the server nor create network congestion. It is often said that around one million systems can be inventoried daily on a 3GHz bi-Xeon processor based server with 4 GB of RAM without any issues.

Any modest old-generation server should suffice for the inventory of few thousand systems. When scalability is necessary such as over 10,000-20,000 inventoried systems, it is recommended to split those 4 server-role components on two individual servers.

Should this be the case, the database server needs to be installed on the same machine with the communication server and on another system with the administration server and the deployment server with a database replica. Any other combination is also possible.

Although distributing the server components is possible, very rarely do we really need to do that. In this day and age, we can seamlessly virtualize up to four or more servers on any dual or quad-core new generation computer. OCS-NG's management server can be one of those virtual machines. If necessary, distributing server components in the future is possible.

Meeting our inventory demands

First and foremost, OCS Inventory NG network agents are able to collect all of the must-have attributes of a client computer and many more. Let's do a quick checkup on these:

  • BIOS:

    • System serial number, manufacturer, and model

    • Bios manufacturer, version, and date

  • Processors:

    • Type, count (how many of them), manufacturer, speed, and cache

  • Memory:

    • Physical memory type, manufacturer, capacity, and slot number

    • Total physical memory

    • Total swap/paging memory

  • Video:

    • Video adapter: Chipset/model, manufacturer, memory size, speed, and screen resolution

    • Display monitor: Manufacturer, description, refresh rate, type, serial number, and caption

  • Storage/removable devices:

    • Manufacturer, model, size, type, speed—all when applicable

    • Drive letter, filesystem type, partition/volume size, free space

  • Network adapters/telephony:

    • Manufacturer, model, type, speed, and description

    • MAC and IP address, mask and IP gateway, DHCP server used

  • Miscellaneous hardware:

    • Input devices: Keyboard, mouse, and pointing device

    • Sound devices: Manufacturer name, type, and description

    • System slots: Name, type, and designation

    • System ports: Type, name, caption, and description

  • Software information:

    • Operating system: Name, version, comments, and registration info

    • Installed software: Name, publisher, version (from Add / Remove software or Programs and Features menu)

    • Custom-specified registry queries (applicable to Windows OS)

Not only computers, but also networking components can be used for inventorying. OCS Inventory NG detects and collects network-specific information about these (such as MAC address and IP address, subnet mask, and so on.). Later on, we can set labels and organize them appropriately.

The place where OCS-NG comes as a surprise is its unique capability to make an inventory of hosts that are not on the network. The network agent can be run manually on these offline hosts and are then imported into the centralized management server.

One of its features includes intelligent auto-discovering functionalities and its ability to detect hosts that have not been inventoried. It is based on popular network diagnosing and auditing tools such as nmap. The algorithm can decide whether it's an actual workstation computer or rather just a printer. If it's the former, then the agent needs to be deployed. The network scanning is not done by the management server. It is delegated to network agents.

In this way, the network is never overcrowded or congested. If the management server itself scans for populated networks spanning throughout different subnets, the process would be disastrous. In this way, the process is seamless and simply practical. Another interesting part is the election mechanism based on which the server is able to decide the most suited client to carry out the discovery. A rough sketch of this in action can be seen in the next figure:

Set of functions and what it brings to the table

At this moment, we're fully aware that the kind information that the network agents are getting into the database are relevant and more than enough for our inventorying needs. Nevertheless, we won't stop here. It's time to analyze and present its web interface. We will also shed a bit of light on the set of features it supports out of the box without any plugins or other mods yet. There will be a time for those too.

Taking a glance at the OCS-NG web interface

The web interface of OCS Inventory NG is slightly old-fashioned. One direct advantage of this is that the interface is really snappy. Queries are displayed quickly, and the UI won't lag.

The other side of the coin is that intuitiveness is not the interface's strongest point. Getting used to it might take a while. At least it does not make you feel that the interface is overcrowded. However, the location and naming of buttons leaves plenty of room for improvement. Some people might prefer to see captions below the shortcuts as the meaning of the icons is not always obvious. After the first few minutes, we will easily get used to them.

A picture is worth thousands of words, so let's exemplify our claims.

The buttons that appear in the previous screenshot from left to right are the following:

  • All computers

  • Tag/Number of PC repartition

  • Groups

  • All softwares

  • Search with various criteria

In the same fashion, in this case, the buttons in the previous screenshot stand for the following features:

  • Deployment

  • Security

  • Dictionary

  • Agent

  • Configuration (this one is intuitive!)

  • Registry (self-explanatory)

  • Admin Info

  • Duplicates

  • Label File configuration

  • Users

  • Local Import

  • Help

When you click on the name of the specific icon, the drop-down menu appears right below on the cursor.

All in all, the web interface is not that bad after all. We must accept that the strongest point lies in its snappiness, and the wealth of information that is presented in a fraction of a second rather than its design or intuitiveness.

We appreciate its overall simplicity and its quick response time. We are often struggling with new generation Java-based and AJAX-based overcrowded interfaces of network equipment that seem slow as hell. So, we'll choose OCS Inventory NG's UI over those anytime!

An incentive on functionalities

Now that we are familiar with the look of the web admin panel of OCS Inventory NG, let's find out the kinds of functionalities that are hiding beyond those icons.

Firstly, we have the All computers option to enumerate the entire inventory. We can customize the type of columns we want to track. One of the most common configurations is the following setup: Tag, Last Inventory, Computer, User, RAM, and CPU. This seems intuitive and could suffice for most usages. Whenever necessary, we can fine-tune this by adding or removing columns from the following possibilities:

  • Bios Manufacturer, Bios Version, Bios Date

  • CPU number (stands for core number), CPU Type

  • Company

  • Description

  • Domain

  • Fidelity

  • IP address

  • Last come

  • Manufacturer, Model

  • OS Version

  • Owner

  • Quality

  • Serial number

  • Service pack

  • Swap

  • User Agent, User Domain

  • Win Product ID, Win Product Key

This gives us a global view of the inventory. Should we want to find more about a specific computer, we click on its name. Then, we are redirected to a dedicated page for that item.

The following two images give us a sense of what to expect.

What's more, we can also find details about the hardware components inside the computer, details about the software applications installed, and even investigate the behavior of IpDiscover. This is how the automatic network diagnosis feature is called. We're going to get in depth of this concept in a later chapter as we progress and build our inventory.

There are situations when we need to repartition and categorize computers into several groups based on some attributes. This is when the TAG-based repartitioning feature comes out as a winner. We can configure network clients to submit the inventory data accompanied with TAG information. This option is practical when departments or different sites are inventoried in the same database. A simple tag makes all the difference.

The searching functionalities are impressive. We're able to forge any kind of query using parameters such as processor speed, manufacturer, IP address, OS version, and the ones mentioned earlier. The modifiers are EXACTLY, DIFFERENTLY, or LIKE. In this way, we can build complex search queries in a rather simple fashion.

Check out the following example. Let's find Windows-based Test machines in that IP range.

From the OCS-NG web interface, we can set up users with different levels of access. This is one of our inventory requirements as well. Lots of other functionalities are worth mentioning, such as categorizing software applications, and setting up ignored ones, which do not matter from our point of view (for example, freeware and open source applications do not require licensing).

The package deployment and remote execution functionalities might be appreciated by some. They won't make or break the deal of choosing OCS-NG anyway. The real benefit comes from its lightweight structure and the intelligent auto-discover routines. On top of these, the modular build of the inventory makes it possible for further extensions.

Until now, we have seen that OCS-NG seems to meet all of the inventorying demands we specified earlier. This means that we're beginning a journey to build an entire fully-fledged inventorying solution from ground up.

We can guarantee a practical ride!

 

Summary


In this introductory chapter, we have kick started our venture to understand and solve IT inventory requirements that exist in almost every firm in the real world. We presented the practical uses of having a mature inventory coupled with a healthy database ready to serve requests. No doubt we have realized that implementing such an integrated process is a necessary method before the situation gets out of control.

Together we created a list of criteria and expectations that we demand from our integrated inventory solution. By having all of these in place, the way work is done inside an organization becomes streamlined. Moreover, we can eliminate unnecessary paperwork. The responsible parties that will be managing their own departments will be able to get their tasks done even more efficiently.

We have realized that centralization is the best solution for an inventory and asset management system. After analyzing and comparing two of the most popular networking and distributed computing paradigms with each other, we backed up our suppositions. We have learned the mechanism of the client-server model as well as the peer-to-peer paradigm architecture.

We have set the scene for the book by presenting an incentive on OCS Inventory NG and overviewing the set of features it brings to the table. Moreover, we can tackle this situation further and build from ground up our OCS-NG inventory on a step-by-step basis.

So let's go ahead and begin setting up our OCS-NG central management server.

Latest Reviews (2 reviews total)
simple and easy process to procure
IT Inventory and Resource Management with OCS Inventory NG 1.02
Unlock this book and the full library FREE for 7 days
Start now