https://github.com/msantos/collectd-prv
stdout to collectd notification
https://github.com/msantos/collectd-prv
capsicum collectd flowcontrol monitoring pledge seccomp setrlimit
Last synced: 8 months ago
JSON representation
stdout to collectd notification
- Host: GitHub
- URL: https://github.com/msantos/collectd-prv
- Owner: msantos
- License: isc
- Created: 2017-10-04T14:05:12.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2025-02-26T12:14:36.000Z (over 1 year ago)
- Last Synced: 2025-04-03T21:01:28.582Z (about 1 year ago)
- Topics: capsicum, collectd, flowcontrol, monitoring, pledge, seccomp, setrlimit
- Language: C
- Size: 84 KB
- Stars: 1
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# collectd-prv: stdout to collectd notifications
collectd-prv converts stdout from a process into collectd notifications,
optionally acting like a pressure relief valve during event floods.
## Usage
## Example
* script
```collectd-tail
#!/bin/bash
set -o errexit
set -o nounset
set -o pipefail
# plugin = tail
# type = syslog
# limit = 30 lines/second
tail -F $1 | collectd-prv --service="tail/syslog" --limit=30
```
```collectd.conf
LoadPlugin exec
Exec "nobody:nobody" "collectd-tail" "/var/log/syslog"
```
## Build
```
make
# Recommended: build a static executable using musl
## sudo apt install musl-dev musl-tools
./musl-make clean all
# select a different method for process restriction
RESTRICT_PROCESS=null make clean all
# musl: enabling seccomp process restriction requires downloading linux
# kernel headers
export MUSL_INCLUDE=/tmp
git clone https://github.com/sabotage-linux/kernel-headers.git $MUSL_INCLUDE/kernel-headers
./musl-make
```
## Process Restrictions
## Options
-s, --service *plugin*/*type*
: collectd service (default: stdout/prv)
-H, --hostname *name*
: collectd hostname (max: 16 bytes) (default: gethostname())
-l, --limit *number*
: message rate limit (default: 0 (no limit))
-w, --window *seconds*
: message rate window (default: 1 second)
-W, --write-error *exit|drop|block*
: behaviour if write buffer is full
-M, --max-event-length *number*
: max message fragment length (default: 255 - 10)
-I, --max-event-id *number*
: max message fragment header id (default: 99)
-v, --verbose
: verbose mode
-h, --help
: help
## Examples
## TODO