Go to file
kongfei 6666255261 fix scrape_with_token yaml 2022-07-17 15:09:23 +08:00
.github release image to docker hub 2022-06-14 15:12:16 +08:00
agent add deployment.yaml for scrape k8s apiserver & coredns 2022-07-14 16:49:38 +08:00
conf add deployment.yaml for scrape k8s apiserver & coredns 2022-07-14 16:49:38 +08:00
config support log level for prometheus 2022-07-12 12:57:03 +08:00
doc update README 2022-06-25 14:13:34 +08:00
docker new base image 2022-06-14 21:22:03 +08:00
house clickhouse table add hostname column 2022-06-30 09:46:16 +08:00
inputs fix plugin switch_legacy: concurrentmap write 2022-07-13 18:16:31 +08:00
k8s fix scrape_with_token yaml 2022-07-17 15:09:23 +08:00
logs reformat import pkgs 2022-06-24 14:00:42 +08:00
parser [fix] input exec falcon format convert error bug 2022-07-12 19:04:13 +08:00
pkg resolve conflicts 2022-07-03 22:14:09 +08:00
prometheus update readme of prometheus scraping 2022-07-15 17:32:04 +08:00
traces add kafka alerts and dashboard conf 2022-07-04 15:37:31 +08:00
types move types.PushSamples to inputs.PushSamples 2022-07-12 14:44:27 +08:00
writer auto discovery && relabel for prometheus 2022-07-11 22:55:56 +08:00
.gitignore add trace support 2022-06-28 16:33:27 +08:00
.goreleaser.yaml optimize building time of github action 2022-06-25 00:03:56 +08:00
LICENSE add LICENSE 2022-05-16 11:58:50 +08:00
Makefile add Makefile job: build-enterprise 2022-06-24 10:10:54 +08:00
README.md update prometheus scraping part in readme 2022-07-15 17:18:37 +08:00
go.mod fix plugin switch_legacy: concurrentmap write 2022-07-13 18:16:31 +08:00
go.sum fix plugin switch_legacy: concurrentmap write 2022-07-13 18:16:31 +08:00
main.go add args: interval 2022-07-11 20:40:30 +08:00
main_posix.go try to support windows 2022-05-29 17:03:03 +08:00
main_windows.go write log to file when running on windows 2022-05-29 20:49:09 +08:00

README.md

Categraf

Release Powered By Flashcat

Categraf is a monitoring agent for nightingale / prometheus / m3db / victoriametrics / thanos / influxdb / tdengine.

dockeri.co

Build

# export GO111MODULE=on
# export GOPROXY=https://goproxy.cn
go build

Pack

tar zcvf categraf.tar.gz categraf conf

Run

# test mode: just print metrics to stdout
./categraf --test

# test system and mem plugins
./categraf --test --inputs system:mem

# print usage message
./categraf --help

# run
./categraf

# run with specified config directory
./categraf --configs /path/to/conf-directory

# only enable system and mem plugins
./categraf --inputs system:mem

# use nohup to start categraf
nohup ./categraf &> stdout.log &

Deploy categraf as daemonset, deployment or sidecar

edit k8s/daemonset.yaml, replace NSERVER_SERVICE_WITH_PORT with service ip:port of nserver in your cluster, replace CATEGRAF_NAMESPACE with namespace value, then run:

kubectl apply -n monitoring -f k8s/daemonset.yaml # collect metrics, metrics/cadvisor of node
kubectl apply -n monitoring -f k8s/sidecar.yaml # collect service metrics
kubectl apply -n monitoring -f k8s/deployment.yaml #collect apiserver coredns etc

Notice: k8s/sidecar.yaml is a demo, replace mock with your own image of service.

Scrape like prometheus

see detail here

Plugin

plugin list: https://github.com/flashcatcloud/categraf/tree/main/inputs

Thanks

Categraf is developed on the basis of Telegraf, Exporters and the OpenTelemetry. Thanks to the great open source community.

Community