Skip to content
🐳 NexClipper is a fast and simple Kubernetes Monitoring solution.
Branch: master
Clone or download
nexclouding Merge pull request #34 from NexClipper/dev
Fix typo(collector, helm), add mysql script,
Latest commit ad48feb May 26, 2019

README.md

NexClipper

NexClipper is the container and container orchestration monitoring and performance management solution specialized in Docker, DC/OS, Mesosphere, Kubernetes. NexClipper Cloud especially supports machine learning based predictive, forecasting, anormaly detection.

There are two different versions of NexClipper: NexClipper Cloud and NexClipper.

Please note that previsous NexClipper Light project which was host level container monitoring tool was moved to NexLight directory.

NexClipper is a silver member of Cloud Native Computing Foundation (CNCF).

NexClipper Cloud (SaaS)

NexClipper Cloud is an online SaaS to monitor and manage performance of the container cluster - Docker, DC/OS and Kubernetes. NexClipper Cloud features the following capabilities:

  • Fullstack dashboard (Infrastructure, DC/OS, Kubernetes)
  • Container Cluster (DC/OS, Kuberentes)
  • Service Performance (for API)
  • Infrastruture Monitoring (Container, Host, Resource)
  • Incidents Management
  • AI Analytics (Forecasting, Anomaly detection, Metric correlation)

For more details visit https://www.nexclipper.io/ For beta service, visit https://server.nexclipper.com

NexClipper (On-Premise)

NexClipper is an open source software to monitor and manage performance of the container cluster - Docker and Kubernetes. NexClipper features the following capabilities:

  • Fullstack dashboard (Kubernetes and Infrastructure)
  • Container Cluster (Kuberentes cluster, nodes and worklodas)
  • Infrastruture Monitoring (Docker Container, Host, Resource)
  • Incidents Management (Rule set and alert manager) (#30)
  • Rest API service (Soon)
  • Dashboard Enhancement to replace k8s dashboard (Soon)
  • Dashboard Enhancement for customizing (Plan)
  • Global view and multi tenancy (Plan)
  • Prometheus Integration (Plan)
  • Workload management and deployment (Plan)
  • Resource analytics and forecasting (Plan)

Architecture Overview

NexClipper Dashboard

Quick Install

NexClipper can be deployed on Kubernetes cluster.

Prerequisites

  • Installed Kubernetes Cluster (Master Node, Worker Node 1 more)
  • An SSH key pair on your local Linux/macOS/BSD machine.
  • Create namespace `nexclipper'
  • ***Download yaml files from 'yaml' derectory ***

HELM chart Deployment

Prepare deployment

From your master node run kubectl create.

redis

  • create
  $ kubectl create -f <yaml/redis/deployment.yaml>
  $ kubectl create -f <yaml/redis/service.yaml>

mysql(or mariaDB)

  • Update hostpath for volume
// yaml/mysql/deployment.yaml
...
volumes:
  - name: mysql-data
    hostPath:
      path: /nfs/mysql        # update hostpath
...
  • create
  $ kubectl create -f <yaml/mysql/deployment.yaml>
  $ kubectl create -f <yaml/mysql/service.yaml>
  • Create Mysql table and data
  $ kubectl exec -it <mysql pod id> -n nexclipper sh
  > mysql -uadmin -ppassword
  > use defaultdb
  > (Execute stript of load.sql at https://github.com/NexClipper/NexClipper/blob/master/yaml/mysql/load.sql) 

influxdb

  • Update hostpath for volume
// yaml/influx/deployment.yaml
...
volumes:
  - name: influx-data
    hostPath:
      path: /nfs/influxdb        # update hostpath
...
  • create
  $ kubectl create -f <yaml/influxdb/deployment.yaml>
  $ kubectl create -f <yaml/influxdb/service.yaml>

rabbitmq (or kafka)

  • create
  $ kubectl create -f <yaml/rabbitmq/deployment.yaml>
  $ kubectl create -f <yaml/rabbitmq/service.yaml>

NexClipper service deployment

workflow

  • create
  $ kubectl create -f <yaml/workflow/deployment.yaml>

collector

  • create
  $ kubectl create -f <yaml/collector/deployment.yaml>
  $ kubectl create -f <yaml/collector/service.yaml>

nexservice

  • create
  $ kubectl create -f <yaml/nexservice/deployment.yaml>
  $ kubectl create -f <yaml/nexservice/service.yaml>

NexClipper Agent daemonset/deployment

  • Deploy NedClipepr Agent on Kubernetes cluster as follows

    • agent deployed by daemonset: get host and docker container's information
    • agent deployed by deployment: get kubernetes cluster's information
  • Update agent endpoint into Kubernetes master node ip

// yaml/nexclipper-agent/nexclipper-agent.yaml
...
kind: DaemonSet
...
env:
  - name: agent_endpoint
    value: 192.168.0.180:32100      # <k8s master ip>:<nodeport>
...
kind: Deployment
...
env:
  - name: agent_endpoint
    value: 192.168.0.180:32100      # <k8s master ip>:<nodeport>
...
  • create
  $ kubectl create -f <yaml/nexclipper-agent/nexclipper-agent.yaml>

Now you can access web UI

  https://<k8s master ip>:32200

For API swasgger UI

  https://<k8s master ip>:32200/swagger-ui.html 

Licensing

NexClipper is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

Contact

Email: nexclipper@nexclipper.io

Homepage: https://www.nexclipper.io/

Facebook : https://www.facebook.com/nexclipper/

Linkedin: https://www.linkedin.com/company/nexcloud/

Twitter: https://twitter.com/NexClipper

You can’t perform that action at this time.