crystal-methrics

Version, currently master branch1 version
  • master branchlatestMay 17, 2018

github.com/omerxx/crystal-methrics

A blazing fast crystal lang events data pipeline utlizing redis and ELK, visualizing the data automatically

1 stars
0 dependents
License: MIT

Installation

# Add this to your shard.yml
dependencies:
  crystal-methrics:
    github: omerxx/crystal-methrics
    branch: master

master is a branch, not a release, so this tracks it rather than pinning a version.

Then run:

shards install

shard.yml

Crystal
0.24.2
License
MIT
Author
omerxx
Target
  • crystal-methrics from src/crystal-methrics.cr

Dependencies

Runtime Dependencies

  • redis~> 1.10.0github: stefanwille/crystal-redis
  • router*github: tbrand/router.cr

README

crystal-methrics

Send any metric, from anywhere, using a simple HTTP request and get it visualized. No SDKs, not pricey metric frameworks, and no special strcuture or scheme: <crystal-methrics-domain>/metric/my-event/value/100

Data Flow

Crystal Router --> Redis Cache --> Logstash Enrichment --> ElasticSearch --> Visualization

Installation

Lazy?

docker compose up

Yes, that's it.

Looking for robustness? Deploy logstash as a container service in your production infrastructure. Deploy Redis anywhere e.g ElasticCache. Deplou ElasticSearch anywhere e.g AWS's ElasticSearch as a Service. Deploy Crystal Methrics as a binary / docker container / whereever.

Usage

<crystal-methrics-domain>/metric/my-event/value/100

Contributing

  1. Fork it ( https://github.com/[your-github-name]/crystal-methrics/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors