Skip to main content

Insights Core is a data collection and analysis framework

Project description

Insights Core is a data collection and analysis framework that is built for extensibility and rapid development. Included are a set of reusable components for gathering data in myriad ways and providing a reliable object model for commonly useful unstructured and semi-structured data.

>>> from insights import load_default_plugins, run
>>> from insights.parsers import installed_rpms as rpm
>>> lower = rpm.Rpm("bash-4.4.11-1.fc26")
>>> upper = rpm.Rpm("bash-4.4.22-1.fc26")
>>> load_default_plugins()
>>> results = run(rpm.Installed)
>>> rpms = results[rpm.Installed]
>>> rpms.newest("bash")
0:bash-4.4.12-7.fc26
>>> lower <= rpms.newest("bash") < upper
True

Features

  • Over 200 Enterprise Linux data parsers

  • Support for Python 2.7+ and 3.3+

  • Built in support for local host collection

  • Data collection support for several archive formats

Installation

Releases can be installed via pip

$ pip install insights-core

Documentation

There are several resources for digging into the details of how to use insights-core:

To Run the Jupyter Notebooks

If you would like to execute the jupyter notebooks locally, you can install jupyter:

pip install jupyter

To start the notebook server:

jupyter notebook

This should start a web-server and open a tab on your browser. From there, you can navigate to docs/notebooks and select a notebook of interest.

Motivation

Almost everyone who deals with diagnostic files and archives such as sosreports or JBoss server.log files eventually automates the process of rummaging around inside them. Usually, the automation is comprised of fairly simple scripts, but as these scripts get reused and shared, their complexity grows and a more sophisticated design becomes worthwhile.

A general process one might consider is:

  1. Collect some unstructured data (e.g. from a command, an archive, a directory, directly from a system)

  2. Convert the unstructured data into objects with standard APIs.

  3. Optionally combine some of the objects to provide a higher level interface than they provide individually (maybe all the networking components go together to provide a high level API, or maybe multiple individual objects provide the same information. Maybe the same information can be gotten from multiple sources, not all of which are available at the same time from a given system or archive).

  4. Use the data model above at any granularity to write rules that formalize support knowledge, persisters that build database tables, metadata components that extract contextual info for other systems, and more.

Insights Core provides this functionality. It is an extensible framework for collecting and analyzing data on systems, from archives, directories, etc. in a standard way.

Insights Core versus Red Hat Insights

A common confusion about this project is how it relates to Red Hat Insights. Red Hat Insights is a product produced by Red Hat for automated discovery and remediation of issues in Red Hat products. The insights-core project is used by Red Hat Insights, but only represents the data collection and rule analysis infrastructure. This infrastructure is meant to be reusable by other projects.

So, insights-core can be used for individuals wanting to perform analysis locally, or integrated into other diagnostics systems. Parsers or rules written using insights-core can be executed in Red Hat Insights, but, it is not a requirement.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

insights_core-3.7.5.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

insights_core-3.7.5-py3-none-any.whl (2.5 MB view details)

Uploaded Python 3

File details

Details for the file insights_core-3.7.5.tar.gz.

File metadata

  • Download URL: insights_core-3.7.5.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for insights_core-3.7.5.tar.gz
Algorithm Hash digest
SHA256 a8d8710061a36ebae3953bb571e8ca40a1c4011725a633dcb572953d231d85db
MD5 4893b7943ae95d867ed795bb8385fe48
BLAKE2b-256 ba96d4a0fc1e10611c31260c6bb88b55a0e9160e770d136842755286c668c539

See more details on using hashes here.

File details

Details for the file insights_core-3.7.5-py3-none-any.whl.

File metadata

  • Download URL: insights_core-3.7.5-py3-none-any.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for insights_core-3.7.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f298bc0dad3ee96369b38da1ba923e3cf977a8307051a85349536ed0a5b6f823
MD5 e18aa9701ab2e50220db679a5b2bab44
BLAKE2b-256 79bda2bf3b977f10507c6f7888939c2699def11c702b8b5b959dc31e5d321e31

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page