Introduction

Introduction

The Indeni knowledge platform is a powerful software used to collect data from IT infrastructure components and analyze them according to known best practices, common issues and misconfigurations and product bugs. The knowledge base that is used by the platform is community-generated, with people from around the globe contributing their knowledge to form a gigantic library.

If you are interested in contributing your own knowledge, this space is for you. Here, we will explain how the platform works, how you can add your own knowledge (and test it!) as well as review work done by others.

Indeni's goal

The software, called Indeni, has one main goal in mind: to identify what could go wrong in IT infrastructure components and tell the user about it before things actually break. The main output of the product are pre-emptive alerts, containing information regarding what the issue is going to be, why it thinks it's an issue and how to fix it.

The result - a reduction of up to 90% in critical, severity one, issues. The product is designed to be used by the engineering and operations teams responsible for maintaining a wide range of IT infrastructure components, including switches, routers, firewalls, load balancers, proxies, server virtualization environments, private clouds, public clouds, storage networks and devices and more.

At the base of all of this is the platform - a set of software packages capable of retrieving data from running infrastructure components, storing that data and then analyzing it with the knowledge base in mind. 

How does Indeni work?


Collector

The first step in that platform's operation is the collection, done by the collector. The collector is responsible for connecting to the variety of infrastructure components and retrieving data from them using a variety of protocols. Some components are communicated with via vendor-supplied APIs, some via command line (CLI) over SSH, some via SNMP, and some via other means.

Data collected by the collector is parsed and converted into metrics by the collector. Those metrics are then sent to the backend server for storage in its databases. 

Read more about the collector here

Server

The server contains the databases in which data retrieved from devices is stored, as well as runs the rule engine. The rule engine is the component responsible for reviewing the data and looking for potential issues. If a rule finds a possible issue, it informs the alerting component of this, together with the actual text of the alert.

Contributing knowledge

If you're interested in contributing your own knowledge, you will need to learn how to write rules for the rule engine to execute.
If your rule requires certain pieces of data that are not yet available, you will also need to learn how to write collection scripts for the collector to execute.
The separation between the rules and collector scripts allows for an easier development process, reusability and testability.
Testing is a crucial element of knowledge contribution and we will discuss that in-depth as well.