Go to file
Ulric Qin fa0c38da61 code refactor for nfsclient plugin 2022-07-28 09:37:25 +08:00
.github release image to docker hub 2022-06-14 15:12:16 +08:00
agent add plugin nfs-client 2022-07-27 15:47:47 +08:00
conf code refactor for nfsclient plugin 2022-07-28 09:37:25 +08:00
config add processor_enum.value_mappings support 2022-07-25 20:39:58 +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 code refactor for nfsclient plugin 2022-07-28 09:37:25 +08:00
k8s update readme 2022-07-26 16:29:45 +08:00
logs reformat import pkgs 2022-06-24 14:00:42 +08:00
parser code refactor for InternalConfig 2022-07-25 19:27:14 +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 bugfix: handle labels 2022-07-26 16:15:55 +08:00
writer code refactor for InternalConfig 2022-07-25 19:27:14 +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 add Makefile job: build-enterprise 2022-06-24 10:10:54 +08:00
README.md change badge color 2022-07-19 12:09:05 +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

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

Categraf is a monitoring agent 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