Sign inSign up

umputun/rlb-stats

By umputun

Updated 12 days ago

Image
0

2.6K

umputun/rlb-stats repository overview

rlb-stats Build Status Coverage Status Go Report Card Docker Automated build

Stats collector for RLB with REST interface and WEB UI.

Run instructions

Run docker-compose up in order to start rlb-stats and rlb (for data generation).

Generate data

Run following command in the terminal in order to generate traffic for rlb-stats:

while true; do
  curl "http://127.0.0.1:7070/api/v1/jump/test1?url=/mp3files/test_file_$(((RANDOM % 10) + 1)).mp3" >/dev/null 2>&1
  sleep $(((RANDOM % 10) + 1))
done
API

Open http://127.0.0.1:8080/api/candle endpoint from to see all aggregated logs since the start of the container.

Dashboard

Open http://127.0.0.1:8080/ to see dashboard with statistics

Application parameters
Command lineEnvironmentDefaultDescription
portPORT80Web server port
boltBOLT_FILE/tmp/rlb-stats.bdboltdb file path
dbgDEBUGfalsedebug mode
TIME_ZONEAmerica/Chicagocontainer timezone

API

Load candles

GET /api/candle, parameters - ?from=<RFC3339_date>&to=<RFC3339_date>&aggregate=<duration>

Retrieve candles from storage.

  • from (required) is the beginning of the interval, format is RFC3339, for example 2006-01-02T15:04:05+07:00
  • to (optional) is the end of the interval
  • max_points (optional, default 100) unsigned integer up to 255, sets aggregate interval to return not more than specified amount of candles
  • aggregate (optional, overwrites max_points) is the aggregation interval (truncated to minute), format examples are 5m, 600s, 1h

POST /api/insert

Insert LogRecord to storage. Expects LogRecord as a body:

{
	"from_ip": "172.21.0.1",
	"ts": "2021-03-24T08:20:00Z",
	"file_name": "rtfiles/rt_podcast659.mp3",
	"dest": "n3.radio-t.com"
}

Tag summary

Content type

Image

Digest

Size

19.2 MB

Last updated

almost 7 years ago

docker pull umputun/rlb-stats