Go to file
Ulric Qin 7cdf22ff90 code refactor 2022-09-28 16:29:06 +08:00
.github release image to docker hub 2022-06-14 15:12:16 +08:00
agent add arp_packet plugin (#182) 2022-09-25 19:42:51 +08:00
api handle pushgateway api 2022-08-11 13:45:28 +08:00
conf refector config to match input rocketmq_offset (#195) 2022-09-26 22:21:36 +08:00
config code refactor 2022-09-05 18:09:28 +08:00
doc code refactor 2022-09-05 18:09:28 +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 code refactor 2022-09-28 16:29:06 +08:00
k8s add resource view dashboard for pod 2022-09-19 12:06:36 +08:00
logs support log decoding 2022-08-19 15:46:43 +08:00
parser code refactor for InternalConfig 2022-07-25 19:27:14 +08:00
pkg append newlines for toml config 2022-09-17 08:00:25 +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 feat(http): 增加 http server 和 prometheus、opentsdb、openfalcon 协议接口 (#136) 2022-08-03 09:05:49 +08:00
writer add custom headers in writer (#144) (#165) 2022-08-23 19:12:05 +08:00
.gitignore code refactor for InternalConfig 2022-07-25 19:27:14 +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 feat: serveral changes (#172) 2022-08-29 17:56:17 +08:00
README.md add logo (#150) 2022-08-11 11:57:20 +08:00
go.mod add arp_packet plugin (#182) 2022-09-25 19:42:51 +08:00
go.sum add arp_packet plugin (#182) 2022-09-25 19:42:51 +08:00
main.go input code refactor (#176) 2022-09-05 17:37:37 +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

categraf, one-stop telemetry collector

Powered By Flashcat Release Docker pulls Starts Forks Contributors "License"

Categraf is one-stop telemetry collector for nightingale / prometheus / m3db / victoriametrics / thanos / influxdb / tdengine.

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