Git Product home page Git Product logo

larssb / healops Goto Github PK

View Code? Open in Web Editor NEW
8.0 2.0 1.0 617 KB

A monitoring and healing framework. It uses Pester tests (TDD) to determine the state of an IT system entity. Then, if the entity is in a faulted state HealOps will try to repair it. All along HealOps reports metrics to a backend report system and HealOps status is sent to stakeholders. In order to e.g. trigger alarms and get on-call personnel on an issue that could not be repaired.

Home Page: https://healops.readthedocs.io/en/latest/

License: MIT License

PowerShell 100.00%
devops-tools powershell-module self-healing monitoring devops pester

healops's Introduction

Documentation Status

HealOps is a state monitoring and broken state repairing framework. Use it for all your operation validation needs. Automatically monitor and repair the state of IT systems and their components. Systems and components can be monitored by writing Pester tests that acts as the state determining engine. Regular PowerShell scripts are used for repairing a broken state of a system or component. Furthermore, HealOps can also be used to collect stats. This also happens via PowerShell scripts.

The parts mentioned above, the Pester tests, Repairs and Stats PowerShell scripts. Has been designed in such a way, that it should be quite clear what is needed in order for e.g. a Repairs script to work with HealOps. The collected whole that hold these components is called a HealOpsPackage.

Documentation

You find the main documentation on HealOps right here

healops's People

Contributors

larssb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

tonysathre

healops's Issues

HealOps health monitoring.

There is a couple of areas on this.

  • In order to support querying HealOps for a health status on a node running HealOps. So that a HealOps health dashboard can be setup. Would be a nice tool for troubleshooting HealOps.
  • Make it possible to have the Log4Net logging framework used by HealOps, configured so that logs could be potentially exported/sent to a log endpoint like logstash, papertrail and the like.

Use Vault. For all secrets.

To heighten security. Basically to secure secrets use HashiCorp Vault. Already have a integration for Vault in store. Use that (FranzJaeger).

  • Implement Vault
  • Document it

Look into an Update mode. Together with a major change of how HealOps and HealOpsPackages are updated.

The idea is:
-> Have one update job on a node running HealOps. This job will run everything related to updating HealOps and HealOpsPackages.
-> Or have a job that updates HealOps and the jobs that executes a *.Tests.ps1 file in a HealOpsPackage will look for updates to the HealOpsPackage.

Benefits:

  • A potential simpler way of updating. And the scenarios involved therein.
  • Seperation of concerns. Normally a good road to follow when implementing/developing software.
    --> One UpdateMode
    --> One ReportMode
    --> One StatsMode

Potential issues:

  • Invoke-HealOps could already be running. So issues with locks & so forth. Think about this really is a issue or not. Only an issue if the one for all Update job way is chosen.

Contribution guidelines.

Document how to best contribute to the project. A list of potential requirements. Code of conduct and so forth.

Consider supporting YML for the HealOps config file.

Use a JSON schema

Would be great to have/do in order to ensure conformance to what is needed by HealOps and a HealOpsPackage. And making it easier for a developer of a HealOpsPackage to know that they are doing things as they are supposed to.

(or if YML is chosen a schema fitting that format).

Consider supporting YML for the config files.
The foremost reason is to get the option of commenting on the lines in the configuration file. Besides, it heightens the readability of the configuration file.

Downsides:

  • Adds an extra pre-requisite to HealOps. powershell-yaml
  • And code work to incorporate it.

Support various HealOps deployment options.

It should be not be required to manually login to 'x' server in order to install HealOps. Instead support different deployment methodologies.

Consider what to support from the following list.

  • Ansible
  • VMWare tools
  • PSRemoting

Develop an Uninstall-HealOps script.

We need to have an easy way to Uninstall HealOps from nodes whereon it has been installed.

It is basically about turning the Install-HealOps code upside down ;-)

Use the -Debug mode common parameter.

If not used, errors will be thrown when running tests as Log4Net has not been initialized. Because logging is not used when executing the tests.
By using the -Debug common parameter we can do a conditional on that and avoid exceptions related to the above.

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.