Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/butlerx/syphon
https://github.com/butlerx/syphon
Last synced: 15 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/butlerx/syphon
- Owner: butlerx
- License: apache-2.0
- Created: 2020-03-29T21:39:30.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2022-10-31T15:07:05.000Z (about 2 years ago)
- Last Synced: 2024-11-16T13:38:09.578Z (about 2 months ago)
- Language: Rust
- Size: 59.6 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Welcome to syphon 👋
![Version](https://img.shields.io/crates/v/syphon?style=flat-square)
[![License: Apache License 2.0](https://img.shields.io/badge/License-Apache%20License%202.0-yellow.svg)](./LICENSE)
[![Twitter: cianbutlerx](https://img.shields.io/twitter/follow/cianbutlerx.svg?style=social)](https://twitter.com/cianbutlerx)> Versatile metrics processor, proxy and forwarder
## Install
```bash
git clone github.com/butlerx/syphon
cd syphon
cargo Install
```## Usage
```bash
$ syphon -h
syphon 0.1.0
butlerx
Versatile metrics processor, proxy and forwarder
syphon is designed to accept and route metrics traffic.
Metrics can be received from socket, snooped from live traffic or read from file or grpc.
Metrics can be exportered via file, grpc or udp/tcpUSAGE:
syphon [FLAGS] [OPTIONS]FLAGS:
-h, --help Prints help information
-p, --print Print default config
-q Silence all output
-V, --version Prints version information
-v Increase message verbosityOPTIONS:
-c, --config Config file to load (default: configs/config.toml)
```## Configuration
```toml
[metric]
# Endpoint for store internal carbon metrics.
# Valid values: "" or "local", "tcp://host:port", "udp://host:port"
endpoint = "local"
# Interval of storing internal metrics. Like CARBON_METRIC_INTERVAL
interval = "1m0s"[[uploader.udp]]
enabled = false
host = "127.0.0.1"
port = 2004[[uploader.tcp]]
enabled = false
host = "127.0.0.1"
port = 2004[[uploader.file]]
enabled = true
path = "metrics_received.txt"
# RegEx pattern to use to Determine if metric should be sent
# Supports full regex from https://docs.rs/regex/1.3.6/regex/
pattern="metric.path*"# Designed for use with carbon-clickhouse
# https://github.com/lomik/carbon-clickhouse/blob/master/grpc/carbon.proto
[[uploader.grpc]]
enabled = false
host = "127.0.0.1"
port = 2005[file]
enabled = true
path = "metrics.txt"[udp]
enabled = true
listen = "127.0.0.1:2003"
# Setting mode to promiscuous sets the interface to promiscuously listen
# Allows to see traffic on a port already in use
# mode = "promiscuous"[tcp]
enabled = true
listen = "127.0.0.1:2003"[prometheus]
enabled = true
listen = "127.0.0.1:2006"
```## Run tests
```sh
cargo check
cargo clippy
cargo test
```## Author
👤 **Cian Butler**
- Website: [cianbutler.ie](https://cianbutler.ie)
- Twitter: [@cianbutlerx](https://twitter.com/cianbutlerx)
- Github: [@butlerx](https://github.com/butlerx)
- LinkedIn: [@butlerx](https://linkedin.com/in/butlerx)## 🤝 Contributing
Contributions, issues and feature requests are welcome!
Feel free to check [issues page](https://github.com/butlerx/syphon/issues).
## Show your support
Give a ⭐️ if this project helped you!
## 📝 License
Copyright © 2020 [Cian Butler](https://github.com/butlerx).
This project is [Apache License 2.0](./LICENSE) licensed.