All Projects → zalando-zmon → zmon-kubernetes

zalando-zmon / zmon-kubernetes

Licence: other
Kubernetes Demo deployments and templates

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to zmon-kubernetes

Kube Score
Kubernetes object analysis with recommendations for improved reliability and security
Stars: ✭ 1,128 (+7420%)
Mutual labels:  kubernetes-monitoring
Kubectl Doctor
kubectl cluster triage plugin for k8s - 🏥 (brew doctor equivalent)
Stars: ✭ 209 (+1293.33%)
Mutual labels:  kubernetes-monitoring
KubeScrape
KubeScrape: An open-source dev tool that provides an intuitive way to view the health, structure, and live metrics of your Kubernetes cluster
Stars: ✭ 133 (+786.67%)
Mutual labels:  kubernetes-monitoring
Ckube
A cli to simplify working with kubectl for some common workflows
Stars: ✭ 127 (+746.67%)
Mutual labels:  kubernetes-monitoring
Tobs
tobs - The Observability Stack for Kubernetes. Easy install of a full observability stack into a k8s cluster with a CLI tool or Helm charts.
Stars: ✭ 186 (+1140%)
Mutual labels:  kubernetes-monitoring
Kubecontext
Menu Bar App for Managing Kubernetes Contexts on Mac
Stars: ✭ 244 (+1526.67%)
Mutual labels:  kubernetes-monitoring
Botkube
An app that helps you monitor your Kubernetes cluster, debug critical deployments & gives recommendations for standard practices
Stars: ✭ 804 (+5260%)
Mutual labels:  kubernetes-monitoring
kube-notary
A Kubernetes watchdog for verifying image trust with Codenotary (www.codenotary.com)
Stars: ✭ 55 (+266.67%)
Mutual labels:  kubernetes-monitoring
Sematext Agent Docker
Sematext Docker Agent - host + container metrics, logs & event collector
Stars: ✭ 194 (+1193.33%)
Mutual labels:  kubernetes-monitoring
Prometheus-grafana
Monitor your Kubernetes cluster resources and applications
Stars: ✭ 21 (+40%)
Mutual labels:  kubernetes-monitoring
Kube Ops View
Kubernetes Operational View - read-only system dashboard for multiple K8s clusters
Stars: ✭ 1,746 (+11540%)
Mutual labels:  kubernetes-monitoring
Goldpinger
Debugging tool for Kubernetes which tests and displays connectivity between nodes in the cluster.
Stars: ✭ 2,015 (+13333.33%)
Mutual labels:  kubernetes-monitoring
efk-stack-helm
Helm chart to deploy a working logging solution using the ElasticSearch - Fluentd - Kibana stack on Kubernetes
Stars: ✭ 51 (+240%)
Mutual labels:  kubernetes-monitoring
Kube Backup
Kubernetes resource yamls backup to git
Stars: ✭ 76 (+406.67%)
Mutual labels:  kubernetes-monitoring
k8s-argus
Automated Kubernetes monitoring.
Stars: ✭ 35 (+133.33%)
Mutual labels:  kubernetes-monitoring
Kubevious
Kubevious - application centric Kubernetes UI and continuous assurance provider
Stars: ✭ 869 (+5693.33%)
Mutual labels:  kubernetes-monitoring
Metalk8s
An opinionated Kubernetes distribution with a focus on long-term on-prem deployments
Stars: ✭ 217 (+1346.67%)
Mutual labels:  kubernetes-monitoring
pod-inspector
A tool to inspect pods in kubernetes
Stars: ✭ 63 (+320%)
Mutual labels:  kubernetes-monitoring
k8stream
Processing kubenetes events stream
Stars: ✭ 32 (+113.33%)
Mutual labels:  kubernetes-monitoring
kubewatch
Kubernetes API event watcher
Stars: ✭ 33 (+120%)
Mutual labels:  kubernetes-monitoring

ZMON on Kubernetes

For demo purposes provide k8s templates.

Config used is in:

config.yaml

Prepare K8S definitions:

./zmon-k8s.py

Next step is to run the printed commands :)

Minikube

Check that you give your VM enough resources:

minikube start --memory=4000 --cpus=3

Note

PostgreSQL and Cassandra do not use persistent volumes!

Deployment

Create Namespace

kubectl create namespace zmon

If you want use the following command to set the default namespace:

kubectl config set-context minikube --namespace=zmon

Dependencies

kubectl create -f dependencies/cassandra/deployment.yaml
kubectl create -f dependencies/cassandra/service.yaml

kubectl create -f dependencies/kairosdb/deployment.yaml
kubectl create -f dependencies/kairosdb/service.yaml

kubectl create -f dependencies/redis/deployment.yaml
kubectl create -f dependencies/redis/service.yaml

kubectl create -f dependencies/postgresql/deployment.yaml
kubectl create -f dependencies/postgresql/service.yaml

ZMON source download

wget https://github.com/zalando-zmon/zmon-controller/archive/master.zip -O zmon-controller.zip
wget https://github.com/zalando-zmon/zmon-eventlog-service/archive/master.zip -O zmon-eventlog-service.zip

mkdir -p zmon-controller-source
mkdir -p zmon-eventlog-service-source

unzip zmon-controller.zip -d zmon-controller-source
unzip zmon-eventlog-service.zip -d zmon-eventlog-service-source

ZMON Database setup

export POSTGRES_NODE_IP=$(minikube ip)
export POSTGRES_NODE_PORT=31088
export PGPASSWORD={{admin_password}}

psql -h $POSTGRES_NODE_IP -p $POSTGRES_NODE_PORT -U postgres -c "CREATE DATABASE local_zmon_db;" postgres
psql -h $POSTGRES_NODE_IP -p $POSTGRES_NODE_PORT -U postgres -c 'CREATE EXTENSION IF NOT EXISTS hstore;' local_zmon_db
psql -h $POSTGRES_NODE_IP -p $POSTGRES_NODE_PORT -U postgres -c "CREATE ROLE zmon WITH LOGIN PASSWORD '{{postgresql_password}}';" postgres
psql -h $POSTGRES_NODE_IP -p $POSTGRES_NODE_PORT -U postgres -c "ALTER ROLE zmon WITH PASSWORD '{{postgresql_password}}';" postgres

find "zmon-controller-source/zmon-controller-master/database/zmon" -name '*.sql' \
                                   | sort \
                                   | xargs cat \
                                   | psql -h $POSTGRES_NODE_IP -p $POSTGRES_NODE_PORT -U postgres -d local_zmon_db

psql -h $POSTGRES_NODE_IP -p $POSTGRES_NODE_PORT -U postgres -f zmon-eventlog-service-source/zmon-eventlog-service-master/database/eventlog/00_create_schema.sql local_zmon_db

ZMON components

kubectl create -f deployments/zmon-eventlog-service.yaml
kubectl create -f services/zmon-eventlog-service-service.yaml

kubectl create -f deployments/zmon-controller.yaml
kubectl create -f services/zmon-controller-service.yaml

kubectl create -f deployments/zmon-scheduler.yaml
kubectl create -f services/zmon-scheduler-service.yaml

kubectl create -f deployments/zmon-worker.yaml

Connecting

Depending on how you run minikube:

kubectl get pods --namespace zmon
kubectl port-forward <controller pod id> 8443:443  --namespace zmon

GCE LB

Add firewall rule to allow traffic and health check from IP range: 130.211.0.0/22

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].