Content:
- Welcome to cygnus-common
- Basic operation
- Further reading
- Features summary
- Reporting issues and contact information
cygnus-common is the base for any Cygnus agent (e.g. cygnus-ngsi). Cygnus agents are based on Apache Flume agents, which are basically composed of a source in charge of receiving the data, a channel where the source puts the data once it has been transformed into a Flume event, and a sink, which takes Flume events from the channel in order to persist the data within its body into a third-party storage.
cygnus-common provides a set of extensions for Apache Flume, for instance, defining how a Http source handler must look like or adding channels suitable for reading Cygnus-like counters. But not only Flume extensions, but interesting functionality for any agent in terms of a common Management Interface, common backend classes for HDFS, MySQL, MongoDB, PostgreSQL and many others, unified logging classes and error handling, etc.
- RAM: 1 GB, specially if abusing of the batching mechanism.
- HDD: A few GB may be enough unless the channel types are configured as
FileChannel
type.
Simply configure the FIWARE release repository if not yet configured:
sudo wget -P /etc/yum.repos.d/ https://nexus.lab.fiware.org/repository/raw/public/repositories/el/7/x86_64/fiware-release.repo
And use your applications manager in order to install the latest version of cygnus-common:
sudo yum install cygnus-common
The above will install cygnus-common in /usr/cygnus/
.
Configuring cygnus-common is just configuring Apache Flume since no agent-related functionality is added (that's something agents as cygnus-ngsi do). Please, check this official guidelines.
cygnus-common can be run as a service by simply typing:
$ service cygnus-common start
Logs are written in /var/log/cygnus/cygnus.log
, and the PID of the process will be at /var/run/cygnus/cygnus_1.pid
.
Running the tests require Apache Maven installed and cygnus-common sources downloaded.
$ git clone https://github.com/telefonicaid/fiware-cygnus.git
$ cd fiware-cygnus/cygnus-common
$ mvn test
Run the following curl
in order to get the version (assuming cygnus-common runs on localhost
):
$ curl -X GET "http://localhost:8081/v1/version"
{
"success": "true",
"version": "0.12.0_SNAPSHOT.52399574ea8503aa8038ad14850380d77529b550"
}
Many other operations, like getting/putting/updating/deleting the grouping rules can be found in Management Interface documentation.
Further information can be found in the documentation at fiware-cygnus.readthedocs.io
Management Interface | GET /version | 0.5.0 |
GET /stats | 0.13.0 | |
GET /groupingrules | 0.13.0 | |
POST /groupingrules | 0.13.0 | |
PUT /groupingrules | 0.13.0 | |
DELETE /groupingrules | 0.13.0 | |
Flume extensions | RoundRobinChannelSelector | 0.6.0 |
CygnusMemoryChannel | 0.13.0 | |
CygnusHandler | 0.14.0 | |
CygnusSink | 0.14.0 | |
Operation | RPM building framework | 0.3.0 |
TDAF-like logs | 0.4.0 | |
Multi-instances | 0.7.0 | |
start/stop/status per instance | 0.7.1 | |
Ordered death of Cygnus | 0.8.0 | |
Polling interval parameter | 0.8.0 |
Any doubt you may have, please refer to the Cygnus Core Team.