Giter Club home page Giter Club logo

cita-monitor's Introduction

CITA-Monitor

EN | CN

A blockchain monitoring system for CITA, using Prometheus to store the monitoring and performance metrics and Grafana to visualize these metrics.

Metrics are including blockchain data, process status, host info like CPU/memory/disk usage etc.

Travis Build Status License: Apache-2.0 GitHub tag (latest SemVer)

Screenshots for Dashboards

Summary Dashboard Demo summary-dashboard-demo-fs8

CITA Node Info Dashboard Demo cita-node-info-dashboard-demo-fs8

Host Info Dashboard Demo host-info-dashboard-demo-fs8

RabbitMQ Dashboard Demo rabbitmq-dashboard-demo-fs8

Feature List

  • CITA service process monitoring
    • CITA microservices and RabbitMQ process running status, CPU, memory usage, IO
  • Blockchain data health monitoring
    • block height history, block interval, block interval history, quota, transaction history volume, TPS, disk occupancy, data size growth trend
  • Running environment monitoring
    • System load, CPU, memory, disk space usage, network traffic, TCP connections, etc.
  • System warning notification
    • Alert Policies
    • Support email notification, Slack notification, SMS notification (Pro version)
  • Node Network Monitoring (Pro version)
    • Number of connected nodes, network topology, geographic location, etc.
  • Request Identity Sources & Rate Limiting (Pro version)
    • Identify request sources, tools, user agent; limit the amount of JSONRPC requests by IP address to defence malicious attack.
  • JSONRPC interface call analysis (Pro version)
    • Statistical analysis of the request time and number of the RPC method

Metrics of Dashboards

  • Summary Dashboard
    • The latest block height for each node
    • Monitoring process status for each node
    • CPU usage for each node
    • Node list
  • CITA Node Info Dashboard
    • CITA Meta Data - Chain configuration information,such as Chain Name, creation time, etc.
    • Chain Info - The latest block height, consensus node number, consensus node block history.
    • Node Info - More detailed about certain node, including block data, running environment, software information
  • Host Info Dashboard
    • Host information running on certain node, including system load, CPU, memory, hard disk usage, network traffic
  • Process Info Dashboard
    • Running status, CPU, memory, and IO of microservice process for certain node
  • RabbitMQ Dashboard
    • Running status, channels, consumers, connections, queues of RabbitMQ

More details can be found in Monitoring Indicator Information

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

Independencies and how to install them

Installing

For installing server, read server/README.md

For installing agent, read agent/README.md

System Architecture

Ports default config

  • CITA-Monitor server
    • Prometheus Alertmanager: 1917
    • Prometheus Console: 1918
    • Grafana: 1919
  • CITA-Monitor agent
    • agent_proxy_exporter:1920

Contributing

Creating a Bug Report

open a new issue: https://github.com/cryptape/cita-monitor/issues/new

with your version info

Tech Stack

Read docs/tech_stack.md to know the programming languages, frameworks, and tools that developers use to build this software.

Get source

git clone [email protected]:cryptape/cita-monitor.git

Coding style

Coding style for Shell

Coding style for Python

Coding style for Docker

Coding style for Makefile

Coding style for Prometheus

Running the tests

PENDING: Explain how to run the automated tests for this system

Commit your changes

Workflow

GitHub Flow, Understanding the GitHub flow

git style guide

use git-style-guide for Branches, Commits,Messages, Merging

Versioning

We use SemVer for versioning.

License

This project is licensed under the Apache 2.0 License

Acknowledgments

cita-monitor's People

Contributors

blankwu avatar jiangxianliang007 avatar mfuuzy avatar rainchen avatar zhouyun-zoe avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.