Giter VIP home page Giter VIP logo

argos's Introduction

Argos

This project provides some tools to manage Cassandra Cluster. Argus Panoptes (or Argos) is a 100-eyed giant in Greek mythology. With 50 opened eyes and 50 closed eyes, I guess he can keep an eye on a bunch of Cassandra nodes ;-)

See Wiki for documentation.

argos's People

Contributors

leleueri avatar

Stargazers

 avatar

Watchers

 avatar

argos's Issues

Custom JmxAttribute sentinel

To avoid complexity, a single sentinel with a Jmx ObjectName and ObjectAttribute will perform the validation on the underlying metric (converted in double).

This issue overrides the issues #11 to #16

[ThreadPool] Pending tasks threshold

Currently, all ThreadPool sentinels check if there are some BlockingTasks.

We should also provide a way to notify if there are too many pending tasks.

AvailableSentinel send too many notification with VNodes

With VNodes, nodetool describering return more than one TokenRange each one with the list of replicas.
This list of replicas may contain the same Endpoints so if a consistency issue is detected several Notifications are pushed for a single set of nodes.

We have to send only one notification per set of endpoints

GC Inspector sentinel

Create a sentinel that checks the GCInspector state.
If the GC duration is too long, send a notification.

ClassCastException on JmxNotification

With Cassandra 2.1

[ERROR] [10/16/2016 04:02:45.720] [Argos-akka.actor.default-dispatcher-2479] [akka://Argos/user/SentinelOrchestrator/notification-jmx] [I cannot be cast to java.util.HashMap
java.lang.ClassCastException: [I cannot be cast to java.util.HashMap
at io.argos.agent.sentinels.InternalNotificationsSentinel$$anonfun$processProtocolElement$1.applyOrElse(InternalNotificationsSentinel.scala:28)
at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:36)
at io.argos.agent.sentinels.Sentinel$$anonfun$receive$1.applyOrElse(Sentinel.scala:33)
at akka.actor.Actor$class.aroundReceive(Actor.scala:484)
at io.argos.agent.sentinels.Sentinel.aroundReceive(Sentinel.scala:22)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)
at akka.actor.ActorCell.invoke(ActorCell.scala:495)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
at akka.dispatch.Mailbox.run(Mailbox.scala:224)
at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

Refactor

Argos is not very clean, change it!

Agent orchestrator

Create an agent orchestrator.
The orchestrator will receive some information from each agent (like the LoadAvg of a node...) and it will be able to send information/Request to each agent (ex : request a snapshot)

Useless "dropped messages" alert are sent

After a first Dropped Message alert, other notifications are sent because, we test the last minute rate.
This is a float and even after 40 minutes, this value will be greater than 0...

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.