The SignifAI Community Hub

Welcome to the SignifAI Community Hub.
This is the place for you to find something new, express your thoughts, share and collaborate with other people. You'll find comprehensive guides and documentation to help you start working with SignifAI as quickly as possible, as well as support if you get stuck. Let's jump right in!

Snap Open Telemetry Framework

The 5 key building blocks

  1. Achieve a single extensible flow starting with data collection at all layers, then transforming the data with basic filtering or adding information for context, and finishing with publishing the processed data to one or more platforms.

  2. Allows users to mix and match functionality based on need using three types of plugins: collectors, processors, and publishers.

  3. Collect telemetry data from different systems and sensors at the time intervals you need whether it’s all the time, on-demand, within a window, or on a cron schedule.

  4. Dynamic plugin operations means loading, updating, and unloading plugins without restarting Snap or extra configuration management. Dynamic updates ensure simple and secure bug fixes, security patching, and improved accuracy in production.

  5. The clustering feature, tribe, simplifies cluster configuration management and enables scale with less operational cost.

Snap Simplified Workflow

Snap Simplified Workflow

The key features of Snap

Plugin Architecture: Snap has a simple and smart modular design. The three types of plugins (collectors, processors, and publishers) allow Snap to mix and match functionality based on user need. All plugins are designed with versioning, signing and deployment at scale in mind. The open plugin model allows for loading built-in, community, or proprietary plugins into Snap.

Dynamic Updates: Snap is designed to evolve. Each scheduled workflow automatically uses the most mature plugin. Loading a new plugin automatically upgrades running workflows in tasks. Load plugins dynamically, without a restart to the service or server. This dynamically extends the metric catalog when loaded, giving access to new measurements immediately. Swapping a newer version plugin for an old one in a safe transaction. All of these behaviors allow for simple and secure bug fixes, security patching, and improving accuracy in production.

Snap tribe: Snap is designed for ease of administration. With Snap tribe, nodes work in groups (aka tribes). Requests are made through agreement- or task-based node groups, designed as a scalable gossip-based node-to-node communication process. Administrators can control all Snap nodes in a tribe agreement by messaging just one of them. There is auto-discovery of new nodes and import of tasks and plugins from nodes within a given tribe. It is cluster configuration management made simple.

SignifAI believes the Snap tribe feature is a huge change in the traditional collection mindset. It allows to set a cluster of collectors on a dedicated set of machines, and pull the information very similar to the SignifAI Active Inspector collection concept. It also increases overall scalability and redundancy in the collection process.

SignifAI and Snap

SignifAI contributed to the Snap echo system as follows:

  1. We support a Publisher so it's possible to send all collected metrics from all variety of existing collectors to SignifAI.

  2. We support a processor to detect duplicate metrics before sending them to the publisher. This result in a much more efficient publishing process.

  3. We support a Nagios collector which allows you collect all Nagios status changes, pass them to the dedup processor and publish the unique changes using the publisher to SignifAI.

  4. We support a HIPAA compliant collection by extending the publisher to support Google Pub/Sub.

Finally, we have multiple plans in our road-map to support more intelligent processors that will interact directly with the SignifAI platform.

Getting Started With Snap

For general information about Snap and how to get started: https://github.com/intelsdi-x/snap#getting-started

Snap Open Telemetry Framework