PHP Classes

File: README.md

Recommend this page to a friend!
  Classes of Thierry Feuzeu   PHP Supervisor Process Dashboard   README.md   Download  
File: README.md
Role: Documentation
Content type: text/markdown
Description: Documentation
Class: PHP Supervisor Process Dashboard
Monitor and control processes running on a servers
Author: By
Last change: Updated documentation.
Date: 5 years ago
Size: 3,254 bytes
 

Contents

Class file image Download

A Supervisor dashboard based on the Jaxon ajax library

There are already several packages that allow to control multiple Supervisor instances from a single dashboard. However, all these packages are standalone applications, with all the constraints that this implies in terms of installation, configuration, authentication, etc.

This package allows to insert a dashboard for Supervisor into an existing PHP application. Thanks to the Jaxon library, it installs and runs in a page of the application, which can be loaded with an HTTP or an Ajax request. All its operations are performed with Ajax requests.

Features

  • Show the processes on Supervisor servers with status and running time.
  • Start, restart or stop a process on a server.
  • Start, restart or stop all the processes on a server.
  • Start or stop refresh timer.
  • Trigger refresh.

Documentation

  1. Install the jaxon library so it bootstraps from a config file and handles ajax requests. Here's the documentation.
  2. Install this package with Composer. If a Jaxon plugin exists for your framework, you can also install it. It will automate the previous step.
  3. Declare the package and the Supervisor servers in the `app` section of the Jaxon configuration file.
    'app' => [
        // Other config options
        // ...
        'packages' => [
            Lagdo\Supervisor\Package::class => [
                'servers' => [
                    'first_server' => [
                        'url' => 'http://192.168.1.10',
                        'port' => '9001',
                    ],
                    'second_server' => [
                        'url' => 'http://192.168.1.11',
                        'port' => '9001',
                    ],
                ],
            ],
        ],
    ],

  1. Insert the CSS and javascript codes in the HTML pages of your application using calls to `jaxon()->getCss()` and `jaxon()->getScript(true)`.
  2. In the page that displays the dashboard, insert its HTML code with a call to `jaxon()->package(\Lagdo\Supervisor\Package::class)->getHtml()`. Two cases are then possible.

    - If the dashboard is displayed on a dedicated page, make a call to `jaxon()->package(\Lagdo\Supervisor\Package::class)->ready()` when loading the page.

    - If the dashboard is loaded with an Ajax request in a page already displayed, execute the javascript code returned the call to `jaxon()->package(\Lagdo\Supervisor\Package::class)->getReadyScript()` when loading the page.

Notes

The HTML code of the package uses the Bootstrap CSS framework, qui which must also be included in the page. It is entirely contained in a <div class="col-md-12"> tag.

Support for other frameworks will be added in future releases.

Contribute

  • Issue Tracker: github.com/lagdo/jaxon-supervisor/issues
  • Source Code: github.com/lagdo/jaxon-supervisor

License

The project is licensed under the BSD license.