All Projects → nook24 → statusengine

nook24 / statusengine

Licence: GPL-2.0 License
New PHP based MySQL Backend for Naemon and Nagios 4 + responsive web frontend

Programming Languages

PHP
23972 projects - #3 most used programming language
c
50402 projects - #5 most used programming language
javascript
184084 projects - #8 most used programming language
objective c
16641 projects - #2 most used programming language
CSS
56736 projects
shell
77523 projects

Projects that are alternatives of or similar to statusengine

grafana-pnp-datasource
PNP4Nagios/RRD Datasource for Grafana
Stars: ✭ 27 (+68.75%)
Mutual labels:  nagios, naemon
lmd
Livestatus Multitool Daemon - Create livestatus federation from multiple sources
Stars: ✭ 38 (+137.5%)
Mutual labels:  nagios, naemon
interface
AngularJS based Web Interface for Statusengine
Stars: ✭ 15 (-6.25%)
Mutual labels:  nagios, naemon
Monitoring-Livestatus
Livestatus Perl API to access runtime data from Nagios, Naemon, Icinga and Shinken.
Stars: ✭ 26 (+62.5%)
Mutual labels:  nagios, naemon
okconfig
Ready made monitoring packs for Nagios
Stars: ✭ 44 (+175%)
Mutual labels:  nagios, naemon
workers-jwt
Generate JWTs on Cloudflare Workers using the WebCrypto API
Stars: ✭ 67 (+318.75%)
Mutual labels:  workers
go-worker-thread-pool
A visual working example of a Thread Pool pattern, based on a known blog article.
Stars: ✭ 24 (+50%)
Mutual labels:  workers
TaskManager
A C++14 Task Manager / Scheduler
Stars: ✭ 81 (+406.25%)
Mutual labels:  workers
check nextcloud
Nagios/Centreon plugin for nextcloud serverinfo API (https://github.com/nextcloud/serverinfo)
Stars: ✭ 22 (+37.5%)
Mutual labels:  nagios
tinypool
🧵 A minimal and tiny Node.js Worker Thread Pool implementation (38KB)
Stars: ✭ 452 (+2725%)
Mutual labels:  workers
natural
Fastest Framework for NodeJS. Written in pure ES6+
Stars: ✭ 30 (+87.5%)
Mutual labels:  workers
vite-plugin-cloudflare
🔥Building Cloudflare workers is faster and easier using vite-plugin-cloudflare with node builtins like process and stream
Stars: ✭ 108 (+575%)
Mutual labels:  workers
rails async migrations
Asynchronous support for ActiveRecord::Migration
Stars: ✭ 56 (+250%)
Mutual labels:  workers
books-and-articles
Books written from me to my own language
Stars: ✭ 15 (-6.25%)
Mutual labels:  nagios
workbox-microsite
Workbox Microsite
Stars: ✭ 24 (+50%)
Mutual labels:  workers
celery-connectors
Want to handle 100,000 messages in 90 seconds? Celery and Kombu are that awesome - Multiple publisher-subscriber demos for processing json or pickled messages from Redis, RabbitMQ or AWS SQS. Includes Kombu message processors using native Producer and Consumer classes as well as ConsumerProducerMixin workers for relay publish-hook or caching
Stars: ✭ 37 (+131.25%)
Mutual labels:  workers
nagiosplugin
A Python class library which helps with writing Nagios (Icinga) compatible plugins.
Stars: ✭ 19 (+18.75%)
Mutual labels:  nagios
zmq
ZeroMQ based distributed patterns
Stars: ✭ 27 (+68.75%)
Mutual labels:  workers
alerta-contrib
Contributed integrations, plugins and custom webhooks
Stars: ✭ 107 (+568.75%)
Mutual labels:  nagios
purescript-workers
An API wrapper around Web Workers (Dedicated, Shared and Service)
Stars: ✭ 24 (+50%)
Mutual labels:  workers

Statusengine 2 (Old Stable)

This Version of Statusengine is marked as old stable. You can still use it, but take a look at Version 3 or the FAQ.

Visit the project page for more information.

Statusengine - the missing event broker

Statusengine is a drop in replacement for NDOutils and it is able to use the same database schema. Statusengine uses gearmand as Queueing engine, so your MySQL database will not slow down the Nagios/Naemon core.

Additionally Statusengine is worker based. If your system grows and you need to process more data, you can simply increase the number of worker processes.

To make your data visible Statusengine comes with a responsive web interface which allows you to submit commands and provides a nice way to process the data with external scripts by quering the HTTP API and append the url with .json or .xml extension.

Statusengine is modular, so you can use just the parts you need!

Visit the project page for more information.

Features

  • Worker based Nagios/Naemon event data processor
  • Based on MySQL
  • Json based communication
  • Automatic database schema updates
  • Responsive Web Interface
  • Processing of performance data (RRDTool and Graphite)
  • Full UTF-8 support
  • In memory engine
  • Modular
  • Tested on PHP5 and PHP7!

Requirements

  • Nagios 4 or Naemon
  • MySQL server
  • PHP 5.4 or greater
  • Ubuntu 14.04 LTS

Looking for other Ubuntu or Debian version?Take a look at the supported operating systems for more information.

Installation

Check the documentation for the installation guide

  1. Clone repository
chmod +x install.sh
./install.sh
  1. Set your username and password of MySQL server in /opt/statusengine/cakephp/app/Config/database.php
        public $legacy = array(
                'datasource' => 'Database/Mysql',
                'persistent' => false,
                'host' => 'localhost',
                'login' => 'naemon',
                'password' => '12345',
                'database' => 'naemon',
                'prefix' => 'naemon_',
                'encoding' => 'utf8',
        );
  1. Create database (using CakePHP shell) MyISAM
/opt/statusengine/cakephp/app/Console/cake schema update --plugin Legacy --file legacy_schema.php --connection legacy

or:

  1. Create database InnoDB (Recommended!)
/opt/statusengine/cakephp/app/Console/cake schema update --plugin Legacy --file legacy_schema_innodb.php --connection legacy
  1. Change path to your nagios.cfg / naemon.cfg in /opt/statusengine/cakephp/app/Config/Statusengine.php if different on your system
'coreconfig' => '/etc/naemon/naemon.cfg',
  1. Start Statusengine in legacy mode (forground):
/opt/statusengine/cakephp/app/Console/cake statusengine_legacy -w

or

  1. Start Statusengine in legacy mode (background):
service statusengine start

Check the documentation for the migration guide

Tested with

  • Naemon 0.8.0
  • Naemon 1.0.3
  • Naemon master (development)
  • Nagios 4.0.8
  • Nagios 4.1.1
  • mod_gearman
  • NagVis
  • MySQL
  • MariaDB
  • PHP5
  • PHP7
  • PHP7.2

Changelog

2.2.2

  • Try to convert non UTF-8 characters into UTF-8

2.2.2

  • Set output length to 1024 and 2048 for performance data
  • Add CDATA section to XML file for pnp4nagios

2.2.0

  • Restart dead childs in case of database errors #44
  • Fix restart through systemd
  • Thanks to dhoffend

2.1.5

  • Remove bulk insert debug messages
  • Fix a bug where downtimes got reset on nagios/naemon restart in downtimehistory table
  • Downtimes with start time in future get now be delete gracefully

2.1.4 Update CakePHP to Version 2.10.9 for better PHP7.2 compatibility

2.1.3

  • Resolve missing notifications in database - again
  • The queues statusngin_notifications and statusngin_contactnotificationdata are no longer in use by StatusengineLegacyShell.
  • All data is parsed out of statusngin_contactnotificationmethod

2.1.2

  • Resolve missing notifications in database

2.1.1

  • Resolve Gab in servicestatus_id due to MySQL behavior #40

2.1.0

  • Add method for bulk insert - Many thanks to dhoffend
  • Add broker option gearman_server_addr - Many thanks to mjameswh
  • Fixed typos in Statusengine Web Interface - Many thanks to BlangTech
  • Update Makefile

2.0.5

  • Fix parsing of negative performance data

2.0.4

  • Add broker option enable_ochp
  • Add broker option enable_ocsp
  • Add broker option use_object_data
  • Fix that objects will be dumped if use_process_data=0 and use_object_data=1

2.0.3

  • Add index for object_id in history tables

2.0.2

  • Fix buildProcessPerfdataCache on low loaded systems

2.0.1

2.0.0

  • Update to CakePHP Version 2.8.2
  • Add support for PHP7
  • Add support for various debian based distributions
  • Add support for Graphite
  • Add new responsive theme based on AdminLTE
  • Fixed hard and soft state display issue for hosts
  • Fixed strange URL issue
  • Better external command success messages for mobile devices
  • Usage of CakeResponse::file() to transmit RRDTool-Graphs PNGs
  • Moved version numbers to app/Config/bootstrap.php
  • App name can be set now over Interface.php
  • Prepare for Naemon >= 1.0.4
  • Add missing closing form tag for search bar
  • Fix display of acknowledgements
  • Fix SQL schema for host and service dependencies

1.6.0

  • Resolve issue with orphaned child processes Issue 14
  • Remove /var/log/statusengine.log [LogfileTask.php] and use syslog instead Issue 15
  • Refactored performance data parser
  • Add test for performance data parser
  • Set own cache prefix for the CLI app to avoid permission issues
  • Add demo mode for Statusengine Web Interface

1.5.3

  • Add Pull-To-Refresh to the web interface for mobile devices

1.5.2

  • Improved performance of StatusengineLegacyShell (GEARMAN_WORKER_NON_BLOCKING)

1.5.1

  • Fixed "MySQL has gone away" crashes of StatusengineLegacyShell

1.5.0

  • Add responsive web interface

1.4.1

  • Add support for Naemon configuration process_performance_data for each service

1.4.0

  • Add native performance data processor
  • Add mod_perfdata (performance data processor for mod_german)

1.3.0

  • Multithreading for Servicestatus

1.2.0

  • Add in memory engine

1.0.1

  • First stable version of Statusengine

Licence

Copyright (c) 2014 - present Daniel Ziegler [email protected]

Statusengine is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation in version 2

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].