The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Ubic::Manual::Intro - Initial introduction

VERSION

version 1.46

DESCRIPTION

Ubic is a polymorphic service manager.

It can run any program as a service and provides frontend script ubic to manage services.

Polymorphic means that ubic can use various pluggable backends for managing services, for configuring services and even for describing a list of all services. Don't panic, it offers easy-to-use default solutions for the common tasks out-of-the-box too!

Ubic includes a centralized watchdog process which checks every service periodically and brings them back online if necessary.

INSTALLATION

Installing ubic is easy.

First, install the module using your favorite CPAN client:

    cpanm Ubic

Second, invoke ubic-admin script to perform initial configuration:

    ubic-admin setup

If you don't want to answer too many questions, you can invoke it with batch-mode option:

    ubic-admin setup --batch-mode

Alternatively, if you're using Debian or Ubuntu, you can install ubic .deb package from the official launchpad PPA repository:

    apt-add-repository ppa:berekuk/ubic
    apt-get update
    apt-get install ubic

WRITE YOUR FIRST SERVICE

Put this code in your service dir, i.e. in the file /etc/ubic/service/example (or if you opted for a home-dir installation, in the ~/ubic/service/example):

    use Ubic::Service::SimpleDaemon;
    Ubic::Service::SimpleDaemon->new(
        bin => 'sleep 1000',
    );

Start it:

    $ ubic start example
    Starting example... started (pid 41209)

Check its status:

    $ ubic status
    example running (pid 41209)
    ubic
        ubic.ping   off
        ubic.update off
        ubic.watchdog   running (pid 93226)

Or:

    $ ubic status example
    example running (pid 41209)

Now let's see how the watchdog works by killing the process (replace the pid value with the pid you got from the status command above):

    $ kill 41209

    $ ubic status example
    example not running

    $ ubic-watchdog
    [Thu May 26 20:20:54 2011]  example is broken, restarting

You don't have to run ubic-watchdog manually; it will do its work in background in a minute.

SEE ALSO

Ubic::Service::SimpleDaemon allows you to tune other service aspects other than bin. Check it out.

Series of blog posts written as tutorials

Now go and read Ubic::Manual::Overview, it explains everything else that ubic has to offer.

AUTHOR

Vyacheslav Matyukhin <mmcleric@yandex-team.ru>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Yandex LLC.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.