(םיתורישו םיכילהת רוטינ סקוניל) Monit תינכות תא ןיקתהלו ןיקתהל דציכ


Monit ומכ םיתורישו םיצבק תוכרעמ ,תואשרה ,תוקידב ,תוירפס ,םיצבק ,תרשה ךילהת תא יטמוטוא ןפואב להנמו בקועה דואמ ישומיש ילכו םניחב חותפ דוק אוה Apache, Nginx, MySQL, FTP, SSH, Sendmail ב האלה

.רוטינומ טנרטניא קשממ גיצהלו תשגל ידכ Nginx וא י'צאפא ומכ טנרטניא תרש תכרעמב ןיקתהל ךילעש רבדה שוריפ .הדוקפה תרוש קשממ ךרד וא HTTP (S) ירוקמ טנרטניא תרש תועצמאב םיכילהת רידגהלו תכרעמה בצמ

.תוששואתה בצמו יטירק האיגש בצמ לכ לע עירתמו הלשמ ןמוי ץבוק רמוש Monit .גניפו םיתרש ילוקוטורפ ,םיקחורמ םיחראמ TCP/IP תאיצי לע חקפל לוכי התא Monit תועצמאב .ןמז תמתוחב םייוניש וא ץבוקה לדוג

.Scientific Linux -ל םג תולקב םאות תויהל רומא אוה ךא ,Debian -ו Linux -ו RHEL, CentOS, Fedora, Ubuntu, Mint הלעפה תוכרעמב Monit לש הרוצתו הנקתהל טושפ ךירדמ ראתל ידכ בתכנ הז רמאמ

Monit תנקתה :1 בלש

.גצומש יפכ apt-get תדוקפ תועצמאב תולקב ןיקתהל םילוכי םישמתשמה הטנמ סקוניל/ןאיבד/וטנובוא רובע .האבה yum תדוקפ תלעפה ידי לע הליבחה תא ןקתה ,epel רגאמ תפסוהש רחאל .ךלש RHEL/CentOS -ה תו

# yum install monit
$ sudo apt-get install monit

Monit לש הרוצת תעיבק :2 בלש

."var/log/monit /" םינמויה לע רמושו תוקד 2 לכב םילעופה םיתורישה לע חקפל דעונ אוה .םתוא ןיבהל םישמתשמה לע ולקהו האירקל םילק ויהיש ךכ םירצונ הרוצתה יצבק השעמל ,Monit תא רידגהל דואמ לק

.תרחבש ךרוע תועצמאב הז ץבוק חתפ .(הטנמ סקוניל/ןאיבד/וטנובוא) רובע ץבוק etc/monit/monitrc/ו (RedHat/CentOS/Fedora) תחת etc/monit.conf/ ב אצמנש monit לש ישארה הרוצתה ץבוק .הרוצ

# vi /etc/monit.conf
$ sudo vi /etc/monit/monitrc

.לדחמ תרירבב שמתשהל לכותש וא ,םירוטינומה המסיסו שמתשמ תונשלו רבחתהל דחא לכל השרה ,ךלש תרשה לש םוחתה םש תא וא IP -ה תבותכ תא ףסוהו אבה ףיעסל הבוגתה תא לטב ,ןכמ רחאל

 set httpd port 2812 and
     use address localhost  # only accept connection from localhost
     allow localhost        # allow localhost to connect to the server and
     allow admin:monit      # require user 'admin' with password 'monit'
     allow @monit           # allow users of group 'monit' to connect (rw)
     allow @users readonly  # allow users of group 'users' to connect readonly

.תושדחה הרוצתה תורדגה תא שדחמ ןועטל ידכ monit תורישב ליחתהל םכילע ,ותוא ורידגתש רחאל

# /etc/init.d/monit start
$ sudo /etc/init.d/monit start

.הטמל המודה ךסמ לבקל רומא התא ."monit" -כ המסיסה תאו "admin" -כ שמתשמה םש תא ןזה זאו ."http://example.com:2812" וא "http:// localhost: 2812" לא טווינ ידי לע monit טנרטניאה קשממל תשגל לכות

רוטינ יתוריש תפסוה :3 בלש

.תיתחתה תבותכב (Ubuntu/Debian/Linux Mint) ץבוקל etc/monit/monitrc/ו (RedHat/CentOS/Fedora) תחת etc/monit.conf/ ץבוקל חקפל ךנוצרבש תוינכותה תא ףיסוהל לחתה ,טנרטניאה קשממ תא ןו

.' וכו תוריש קיספהלו ליעפהל דציכו ולש pid -ה ץבוק תא רמוש אוה ןכיה ,תוריש לעופ דציכ תוארל דואמ ליעוהל תולוכיש ,monit רובע תוישומיש הרוצת תואמגוד המכ ןלהל

check process httpd with pidfile /var/run/httpd.pid
group apache
start program = "/etc/init.d/httpd start"
stop program = "/etc/init.d/httpd stop"
if failed host 127.0.0.1 port 80
protocol http then restart
if 5 restarts within 5 cycles then timeout
check process apache with pidfile /run/apache2.pid
start program = "/etc/init.d/apache2 start" with timeout 60 seconds
stop program  = "/etc/init.d/apache2 stop"
check process nginx with pidfile /var/run/nginx.pid
start program = "/etc/init.d/nginx start"
stop program = "/etc/init.d/nginx stop"
check process mysqld with pidfile /var/run/mysqld/mysqld.pid
group mysql
start program = "/etc/init.d/mysqld start"
stop program = "/etc/init.d/mysqld stop"
if failed host 127.0.0.1 port 3306 then restart
if 5 restarts within 5 cycles then timeout
check process sshd with pidfile /var/run/sshd.pid
start program "/etc/init.d/sshd start"
stop program "/etc/init.d/sshd stop"
if failed host 127.0.0.1 port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout

.המידק ךישמהל לכות ,תואיגש האור ךניא םא וא ,"רדסב הרקב ץבוק ריבחת" ומכ העדוה לבקמ התאשכ .שבתשה המ ןיבהל השק ךכ לכ אל ,ןתוא תונקתמש תואיגש אצמנ םא .תואיגש אוה ירטינומה בובחתה םא קודב ,רוטינ

# monit -t
$ sudo monit -t

.monit תורישה תא ליעפהל ידכ האבה הדוקפה תא דילקהל לוכי התא ,תוירשפאה תואיגשה לכ ןוקית רחאל

# /etc/init.d/monit restart
$ sudo /etc/init.d/monit restart

.םושירה ןמוי ץבוק תקידב ידי לע לעפומ monit תורישהש אדוול לוכי התא

# tail -f /var/log/monit
$ sudo tail -f /var/log/monit.log
[BDT Apr  3 03:06:04] info     : Starting monit HTTP server at [localhost:2812]
[BDT Apr  3 03:06:04] info     : monit HTTP server started
[BDT Apr  3 03:06:04] info     : 'linux-console.net' Monit started
[BDT Apr  3 03:06:04] error    : 'nginx' process is not running
[BDT Apr  3 03:06:04] info     : 'nginx' trying to restart
[BDT Apr  3 03:06:04] info     : 'nginx' start: /etc/init.d/nginx

.רוטינל ךילהתה לכ תפסוה רחאל בקעמ הארנ ךכ

הינפה ירושיק