2016-10-11 6 views
1

ich um bin derzeit unter Berücksichtigung von Supervisor Monit bewegen. Hauptgrund dafür ist die Fähigkeit, CPU zu überwachen, Speicher, und stellen Sie E-Mail-Benachrichtigungen (afaik mit Betreuer muß ich ein anderes Paket installieren), da ich andere Dinge bald wie Redis überwachen will und vielleicht auch die allgemeine Stabilität und Leistung des Web-Servers.Überwachen eines Laravel Warteschlange Arbeiter zu überwachen, um eine Laravel Queue Arbeiter mit Monit

Zu meiner begrenzten Kenntnisse in der Prozessüberwachung ist Monit robuster und geeignet für den Job.

Die gesamte Dokumentation, die ich über Laravel und Queue/Job-Überwachung finden konnte, beziehen sich auf die Verwendung von Supervisor und, beim Versuch, es manuell einzurichten, blieb ich beim Einrichten der PID-Datei für den Warteschlangen-Listener stecken (Ich bin kein Systemadministrator)).

Gibt es einen Grund für Laravel nur Beauftragten zu unterstützen und nicht erwähnen Monit? (https://laravel.com/docs/5.3/queues#queue-workers-and-deployment)

Wenn nicht - kann jemand helfen, wie die Einrichtung der Monit-Konfiguration pro Laravel Queue Worker sein wird?

Unter der Annahme, habe ich ein Projekt unter /var/www/html/laravel und ich möchte den Prozess zu überwachen /var/www/html/laravel/artisan queue:work --daemon

Ich habe versucht folgende this question aber ohne viel Erfolg.

Jede Hilfe wäre willkommen.

Antwort

2

Falls Sie müssen noch eine Antwort:

ist sicherlich möglich, die Einrichtung Monit Warteschlangen zu steuern, mit einer kleinen Einschränkung (wie in their FAQ erwähnt); Sie müssen Ihren Befehl in ein Shell-Skript einschließen.

In Monit Konfigurationsdatei (auf Ubuntu 14.04/etc/monit/monitrc) können Sie hinzufügen:

# beanstalk 
    check process beanstalkd with pidfile /var/run/beanstalkd.pid 
    start program = "/etc/init.d/beanstalkd start" 
    stop program = "/etc/init.d/beanstalkd stop" 
    if failed host 127.0.0.1 port 11300 then restart 
    if 15 restarts within 15 cycles then timeout 
    # beanstalk-queue 
    check process beanstalk-queue with pidfile /var/run/beanstalk-queue.pid 
    start = "YOUR_CHOSEN_PATH/beanstalk-queue.sh start" 
    stop = "YOUR_CHOSEN_PATH/beanstalk-queue.sh stop" 

Dann das Skript beanstalk-queue.sh in YOUR_CHOSEN_PATH erstellen:

#!/bin/bash 
    case $1 in 
      start) 
        echo $$ > /var/run/beanstalk-queue.pid; 
        exec 2>&1 php /PATH_TO_YOUR_LARAVEL_INSTALLATION/artisan queue:work --daemon 1>/tmp/beanstalk-queue.out 
        ;; 
      stop) 
        kill `cat /var/run/beanstalk-queue.pid` ;; 
      *) 
        echo "usage: beanstalk-queue.sh {start|stop}" ;; 
    esac 
    exit 0 

geben Sie ausführbare Berechtigungen und das war's!

PS Verzeichnisse I verwendet werden, sind für Ubuntu 14.04, für andere Distributionen überprüfen.

Verwandte Themen