Synse is a simple, scalable API for sensing and controlling data center equipment, or more generally - physical and virtual devices. It is an open standard for highly automated and programmatic operation and monitoring of data centers. It can integrate with existing DCIM standards, such as IPMI, for monitoring IT equipment, and can also integrate with critical data center systems, such as power and cooling, to provide a single source of telemetry for data centers of any size. Synse is capable of monitoring and managing thousands of endpoints in both centralized and distributed environments, and is ideally suited for building tools for remote and automated operations.
- Monitoring with Synse - A great way to get an idea of the value that Synse can provide. This tutorial walks you through standing up an emulated environment and shows example integrations with Prometheus and Grafana. We have a video walkthrough that follows along with this tutorial.
The Synse Ecosystem
There are a number of components that make up the Synse Ecosystem.
vapor-ware/synse-server: An HTTP server providing a uniform API to interact with physical and virtual devices via plugin backends. This can be thought of as a 'front end' for Synse Plugins.
vapor-ware/synse-sdk: The official SDK (written in Go) for Synse Plugin development.
vapor-ware/synse-server-grpc: The gRPC API that is used for bidirectional communication between Synse Server and the Synse Plugins.
vapor-ware/synse-cli: A CLI that allows you to easily interact with Synse Server and Plugins directly from the command line.
vapor-ware/synse-graphql: A GraphQL wrapper around Synse Server's HTTP API that provides a powerful query language enabling simple aggregations and operations over multiple devices. It also provides a Prometheus exporter for the metrics it gathers.
In addition to the core components listed above, there is a growing collection of plugins build using the Synse SDK which extend the capabilities of Synse Server, and Synse as a platform.
Emulator: A simple plugin with no hardware dependencies that can serve as a plugin backend for Synse Server for development, testing, and just getting familiar with how Synse Server works. A version of the Synse Server docker images comes with this emulator plugin built-in.
SNMP: A plugin that enables SNMP capabilities for the Synse platform.
IPMI: A plugin that enables basic IPMI functionality, including reading/writing power status and boot target selection.
Intel AMT: A plugin for communicating with Intel AMT enabled machines.
Modbus TCP/IP: A basic, general purpose plugin for modbus over TCP/IP.
Plugins for the Synse Platform can be found via the
synse-plugin GitHub tag.