No commit activity in last 3 years
No release in over 3 years
This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

 Project Readme

Logstash Output Hedera

Logstash Java Output Plugin for HCS (Hedera Consensus Service)

Gem Version


⚠️ Disclaimer

This project is currently under active development.

Join the Hedera discord for the latest updates and announcements.


Installation


Install from RubyGems!

gem install logstash-output-hedera

or

Setup Instructions
// To get just the latest logstash src to build against, use submodules
git clone --recurse-submodules git@github.com:hashgraph/logstash-output-hedera.git

// Now build local logstash
cd logstash-output-hedera/logstash
git checkout v7.6.2
./gradlew assemble

// Set up your environment for testing, refer to env.sample
// Then you can build this project
cd ..
echo 'LOGSTASH_CORE_PATH=logstash/logstash-core' > gradle.properties
./gradlew build

// And you can use it locally
./gradlew gem
logstash-plugin install --no-verify --local logstash-output-hedera-0.0.1.gem

// Configure and run the plugin
// A sample configuration is available in hedera.conf.sample
logstash -f hedera.conf

Configuration


Supports the following options:

  • topic_id: (String) Your HCS topic ID
  • operator_id: (String) Your operator account ID ("shard.realm.num")
  • operator_key: (String) Ed25519 private key associated with the operator account
  • submit_key: (String) Ed25519 private key that was used to create the topic (optional)
  • network_name: (String) Which publicly available hedera network? "mainnet" or "testnet"

Submit Key (Optional): When a topic is created with a submit key, then all messages submitted to the topic must be signed by the submit key.

The Test environment is configured using dotenv, which is why the step for creating the .env file is required for building. The test environment also supports setting the MIRROR_NODE_ADDRESS. This is the address of a hedera mirror node that is used in the test to listen for receipt of events on HCS. By default, we use the kabuto.sh mirror node.

There is one E2E test for this plugin that:

  1. Creates Some Events

  2. Begins listening on the configured HCS topic

  3. Sends the events using LogstashOutputHedera::output

  4. Waits to receive the number of events sent

  5. Checks that the sent messages and received messages match