Go to file
xiaoziv c74702cea1
input code refactor (#176)
* input code refactor

* rename file

* add http remote provider

* code refactor

* Update main.go

* add error return

* add Provider Manager

* code refactor

* code refactor

* make http remote provider's http interval configurable

* fix reload bug

* code refactor

* code refactor

* code refactor

* code refactor

* code refactor

Co-authored-by: Ziv <xiaozheng@tuya.com>
Co-authored-by: ulricqin <ulricqin@qq.com>
2022-09-05 17:37:37 +08:00
.github release image to docker hub 2022-06-14 15:12:16 +08:00
agent input code refactor (#176) 2022-09-05 17:37:37 +08:00
api handle pushgateway api 2022-08-11 13:45:28 +08:00
conf input code refactor (#176) 2022-09-05 17:37:37 +08:00
config input code refactor (#176) 2022-09-05 17:37:37 +08:00
doc add logo (#150) 2022-08-11 11:57:20 +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 input code refactor (#176) 2022-09-05 17:37:37 +08:00
k8s feat: serveral changes (#172) 2022-08-29 17:56:17 +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 input code refactor (#176) 2022-09-05 17:37:37 +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 ipvs plugin 2022-08-15 18:01:26 +08:00
go.sum add ipvs plugin 2022-08-15 18:01:26 +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