Giter Club home page Giter Club logo

classic-geth-supervisor.sh's People

Contributors

meowsbits avatar whilei avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

classic-geth-supervisor.sh's Issues

systemd unit example

I just turned this service off, since it depended on classic geth's mlog feature.

Rel http://etcstatus.live

Just leaving this here for posterity.

[Unit]
Description=IsaacsClassicSupervisor

[Service]
Type=simple
User=root
Restart=always
RestartSec=3
TimeoutStopSec=10min
ExecStart=/bin/sh -c 'tail -F /mnt/chaindata_vol/.ethereum-classic/mainnet/mlogs/geth.log | /root/classic-geth-supervisor.sh/collect/mlog-event-pipe.sh /root/classic-geth-supervisor.sh/analyze/supervise.sh /root/classic-geth-supervisor.sh/alert/isaacecho.sh'

[Install]
WantedBy=default.target
[Unit]
Description=IsaacsClassicSupervisor_Emailer

[Service]
Type=simple
User=root
Restart=always
RestartSec=3
TimeoutStopSec=10min
ExecStart=/bin/sh -c '/root/.env && /root/classic-geth-supervisor.sh/analyze/supervise.sh /root/classic-geth-supervisor.sh/alert/isaacemail.sh; echo "sleeping 60..." && sleep 60'

[Install]
WantedBy=default.target

etherbase share delta alert params

currently alert status's are built with $((50-M_margin_delta)) where M_margin_delta is also used for watching for etherbase share variation. this doesn't make sense.

further, variation alert-limits should have floors, to not alert when an etherbase normally at, say, 3%, reaches 10% in the last 30minutes. we should care more about larger miners than smaller ones, and schedule variation alert parameters as a function of relative share.

include block identifiers for reference

currently the logic just tails latest blocks, assuming that the client is fully synced and importing blocks, and the content of it's output assumes the output is updated in realtime (or only relevant to a one-off run).

including block identifiers like number and hash can help to inform the accuracy of those assumptions.

handle fresh start (low collection of aggregate lines)

when you start from scratch, the analyzer will overreact b/c it's comparing latest 1 or 2 blocks against a total aggregate of only 1 or 2 blocks, so relative comparisons are invalid.

to solve, should cause analyzer to incorporate existing amount of "aggregate" log data (eventually ~5000 lines) better into it's calculations

report ok negative results

currently supervisor.sh only reports known "bad" cases, when it's analyzers returns an undesirable result for any of it's analyses. this is problem because you can't see what's actually OK, and can't understand a context of what's actually being checked without reading the code.

to resolve this, should refactor analysis functions to return a standard-formatted output, reporting their exit code 0 if ok, >0 if not, and describe in text the kind of analysis they did and the dataset they ran against.

that way the generated "analysis report" includes a full context of tests that were run and BOTH the positive and negative outcomes of each.

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.