kubernetes-monitoring-collector
v1.4.8
Published
Kubernetes monitoring: Collect data, logs and statistics and forward to a monitoring server.
Downloads
35
Maintainers
Readme
Kubernetes Monitoring Collector
This "Kubernetes Monitoring Collector" should run in your Kubernetes cluster to read out information, logs, metrics.
By default data is sent to a Kubernetes Monitor service API. There you can configure a web dashboard and configure alarms (missing data, pod or container error status) and send notifications (E-Mail and/or Webhook per namespace) to your DevOps teams.
Usage
const collector = require( 'kubernetes-monitoring-collector' )
collector.start()
Configuration
Set via environment or config package files variables:
- DATA_INTERVAL: in ms, default value is 30000
- LOG_INTERVAL: in ms, default value is 10000
- SKIP_METRICS: set this, if you don't want to read out CPU/memory usage from metric server
Configure Logging
See https://www.npmjs.com/package/npmlog
Install as Pod from Docker Hub
You need to generate credentials for a "Monitoring Dashboard" per cluster: https://www.kubernetes-monitor.com/
Install the "collector" pod:
kubectl create namespace monitoring
kubectl apply -f mon-collector-rbac.yml -n monitoring
kubectl create secret generic monitoring-secret -n monitoring \
--from-literal=id="$MONITORING_ID" \
--from-literal=key="$MONITORING_KEY"
kubectl apply -f mon-collector.yml -n monitoring
Set Up Own API Server
Data is posted in JSON format to the following endpoints:
/mon/dta
- response should return e.g.
{ "ms":[ <array od service names, which logs should be send> ] }
/mon/logs
/mon/access-stats
HTTP Header contain monid
and key
(from env vars "EKOSYS_ID" and "EKOSYS_KEY")
to identify the clusters in a multi-tenant environment.