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.2.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.2-py3-none-any.whl (2.5 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: insights_core-3.7.2.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.2.tar.gz
Algorithm Hash digest
SHA256 28d3c877447f6a84e2179bea9157911ba6c6f1f9ec5dd1f3f5ba6eadf6bb03ff
MD5 a740acb04fc3288efabcc3220af23ce2
BLAKE2b-256 7e4af8906fe403425ca30aacbb3480d226e6a523773e78d09da44ee2632c339d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: insights_core-3.7.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5603b786b44c71ea486709575158ceb88e4404a4118e1a3de47fb7fefebefedc
MD5 c59ceea8e9d6ba1eddd6a539f1801ca6
BLAKE2b-256 c1b32ccf4d2ff6ab7a9a59aad570fc51b50cf23a1d9e2ebfdbbc39a52f6b9343

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