GithubHelp home page GithubHelp logo

aerospike-community / amc Goto Github PK

View Code? Open in Web Editor NEW
26.0 8.0 11.0 76.45 MB

Aerospike Management Console - a Community driven open source project

Home Page: https://www.aerospike.com/docs/operations/monitor/index.html

License: Apache License 2.0

Go 15.99% Shell 0.71% CSS 8.92% HTML 5.12% JavaScript 69.22% Dockerfile 0.03%
aerospike monitoring

amc's Introduction

GitHub release (latest by date) GitHub go.mod Go version AMC GitHub GitHub all releases

AMC: Aerospike Management Console

The Aerospike Management Console (AMC) is a web-based tool to monitor/manage an Aerospike cluster. It provides live updates to the current status of a cluster.

It includes features to let you see at a glance the throughput, storage usage, and configuration of a cluster.

This repo includes both editions of AMC, Community and Enterprise. Going forward AMC builds will be AMC Enterprise ones.

Aerospike Monitoring Stack

For monitoring and alerting you should consider using the Prometheus and Grafana based Aerospike Monitoring Stack. This is the monitoring solution being developed by Aerospike.

Supported Aerospike Versions

AMC is using Aerospike Go Client v5 which support Aerospike server version 4.9+.

For using AMC with earlier versions, please use an earlier version.

AMC Community Development

AMC has been turned over to the community. If you wish to contribute code, go ahead and clone this repo, modify the code, and create a pull request.

Active contributors can then ask to become maintainers for the repo. The wiki can similarly be modified by any code contributor who has been granted pull permissions.

Installing AMC

Docker

Building the Docker image manually

docker image build . -t aerospike/amc

Running the Docker container

docker run -d --name amc -p 8081:8081 aerospike/amc

Docker Hub [Not Updated]

Note: the Docker Hub version is currently not update - please use the Docker instructions above. See aerospike/amc on Docker Hub.

docker pull aerospike/amc

Releases

The latest binaries for Redhat, Ubuntu, Debian, generic Linux and macOS are available in the repo's releases section.

See the release notes.

User Guide

The AMC user guide is available on the wiki.

Building the Project

Environment setup

You need to install Go 1.15+ and setup your GOPATH.

Download: https://golang.org/dl/

You can find instructions here:

https://golang.org/doc/install

You also need to install npm, we recommend using nvm:

Install nvm: curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.35.1/install.sh | bash

Install node (lts) and latest npm: nvm install --lts

After getting and installing npm, install grunt: npm install -g grunt

Getting the Code

go get github.com/aerospike-community/amc

Developing the Application Server

Use ./server-dev.sh to manually run the server. This will automatically pass a dev config file to the app server.

Auto run changes

Use reflex to watch the changing files and rerun the server when needed.

  1. Install reflex to watch files and automatically rebuild server code: go get github.com/cespare/reflex

  2. Run reflex: reflex -R node_modules -R static -R build -R deployment -R vendor -r '\.go$' ./server-dev.sh enterprise

Building the UI

Keep in mind that you don't need to build the UI to be able to develop. The original source files are used for the development. For deployment, manually rebuild the static UI:

$ cd static
$ npm install
$ grunt

The built files will be in build/static

macOS instructions:

You can find the log file in /Library/Logs/amc/amc.log Configuration file is in /Library/amc/amc.conf

installation

sudo tar -xvf aerospike-amc-<edition>-<version>-darwin.tar.gz -C /Library

Start

sudo launchctl load /Library/LaunchAgents/com.aerospike.amc.plist

Stop

sudo launchctl unload /Library/LaunchAgents/com.aerospike.amc.plist

Uninstallation

sudo /Library/amc/uninstall.sh

amc's People

Contributors

a2chang avatar dependabot[bot] avatar jtraver avatar khaf avatar rbotzer avatar realmgic avatar tejassp avatar volmarl avatar wchu-citrusleaf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

amc's Issues

AMC fails to connect after panic

I'm running a benchmark tool and using AMC to observe throughput, after a few seconds there the tool appears to error with the following logged:

amc-dev          | unknown time zone GMT
amc-dev          | panic: time: missing Location in call to Time.In
amc-dev          |
amc-dev          | goroutine 22 [running]:
amc-dev          | time.Time.In(...)
amc-dev          | 	/usr/local/go/src/time/time.go:1099
amc-dev          | github.com/aerospike-community/amc/models.(*Node).parseLatenciesInfo(0xc0002c81e0, 0xc00024821b, 0x9d, 0xa, 0xc0002a83e8)
amc-dev          | 	/home/zohar/go/src/github.com/aerospike-community/amc/models/node.go:1197 +0x1b27
amc-dev          | github.com/aerospike-community/amc/models.(*Node).update(0xc0002c81e0, 0x0, 0x0)
amc-dev          | 	/home/zohar/go/src/github.com/aerospike-community/amc/models/node.go:172 +0xb45
amc-dev          | github.com/aerospike-community/amc/models.(*Cluster).updateStats.func1(0xc0003c47f0, 0xc0002c81e0)
amc-dev          | 	/home/zohar/go/src/github.com/aerospike-community/amc/models/cluster.go:816 +0x53
amc-dev          | created by github.com/aerospike-community/amc/models.(*Cluster).updateStats
amc-dev          | 	/home/zohar/go/src/github.com/aerospike-community/amc/models/cluster.go:814 +0x10e

Using version amc:4.1.3

reverting to 4.0.27 resolved the issue

AMC and Aerospike 6.0?

Is AMC not supported with Aerospike 6.0? I keep on getting "Setting Up Environment, Please Wait" post upgrade to Aerospike 6.0 and then it says "Connection Lost with Server" after a while. No error logs, no issues with firewall. All of this worked without issue on Aerospike 5. Just issues after upgrading to 6.

Latency and Latencies command support

The latency info command was replaced by latencies in version 5.1 and was removed in 5.2.
AMC does not distinguish to which version it is sending the command to, so every few seconds the nodes are logging an info message to the server logs about it:

Pre-5.1:
Oct 28 2020 06:59:25 GMT: INFO (info): (thr_info.c:4680) received command latencies, not registered

Post-5.1:
Oct 28 2020 07:00:27 GMT: INFO (info): (thr_info.c:4818) received command latency, not registered

(Version 5.1 is the only version that has both so no messages there).

We should find a way to distinguish which version is the node and send the correct command to it. This might require an additional info command that is separated from the general one that is pulling most of the info from the cluster.

No nodes shown in Node section of dashboard with a six node cluster

AMC 4.1.3. I have a 6 node cluster. The cluster summary panel shows six active nodes, however the "Nodes" panel does not show any of them. I also have another enviroment with one node and it correctly shows this one node in the Nodes panel.
Cluster summary:
image

Nothing in the nodes panel:
image

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.