ריפוי עצמי עם אגוז חזיר

‫Apigee Edge for Private Cloud כולל את apigee-monit, כלי שמבוסס על כלי השירות monit בקוד פתוח. ‫apigee-monit דוגם מדי פעם את שירותי Edge. אם שירות מסוים לא זמין, apigee-monit מנסה להפעיל אותו מחדש.

כדי להשתמש ב-apigee-monit, צריך להטמיע אותו באופן ידני. הוא לא חלק מההתקנה הרגילה.

כברירת מחדל, apigee-monit בודק את הסטטוס של שירותי Edge כל 60 שניות.

התחלה מהירה

בקטע הזה מוסבר איך להתחיל להשתמש ב-apigee-monit במהירות.

אם אתם משתמשים ב-Amazon Linux או ב-Oracle-Linux-7.X, קודם צריך להתקין את monit באמצעות Fedora. אם לא, מדלגים על השלב הזה.

sudo yum install -y https://kojipkgs.fedoraproject.org/packages/monit/5.25.1/1.el6/x86_64/monit-5.25.1-1.el6.x86_64.rpm

כדי להתקין את apigee-monit, פועלים לפי השלבים הבאים:

  התקנת apigee-monit
/opt/apigee/apigee-service/bin/apigee-service apigee-monit install
/opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
/opt/apigee/apigee-service/bin/apigee-service apigee-monit start

הפקודה הזו מתקינה את apigee-monit ומתחילה לעקוב אחרי כל הרכיבים בצומת כברירת מחדל.

  הפסקת המעקב אחרי רכיבים
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c component_name
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all
  התחלת מעקב אחרי רכיבים
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c component_name
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all
  קבלת מידע על סטטוס סיכום
/opt/apigee/apigee-service/bin/apigee-service apigee-monit report
/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary
  עיון בקובצי היומן של apigee-monit
cat /opt/apigee/var/log/apigee-monit/apigee-monit.log

כל אחד מהנושאים האלה ואחרים מתואר בפירוט בקטעים הבאים.

מידע על apigee-monit

apigee-monit עוזר לוודא שכל הרכיבים בצומת ממשיכים לפעול. היא עושה את זה באמצעות מגוון שירותים, כולל:

  • הפעלה מחדש של שירותים שנכשלו
  • הצגת סיכום המידע
  • סטטוס המעקב אחרי הרישום ביומן
  • שליחת התראות
  • מעקב אחרי שירותים שאינם שירותי Edge

מומלץ לעקוב אחרי apigee-monit כדי לוודא שהיא פועלת. מידע נוסף זמין במאמר מעקב אחרי apigee-monit.

ארכיטקטורת apigee-monit

במהלך ההתקנה וההגדרה של Apigee Edge for Private Cloud, אפשר להתקין באופן אופציונלי מופע נפרד של apigee-monit בכל צומת באשכול. המופעים הנפרדים האלה של apigee-monit פועלים באופן עצמאי: הם לא מעבירים את הסטטוס של הרכיבים שלהם לצמתים האחרים, והם גם לא מעבירים כשלים של כלי הניטור עצמו לשירות מרכזי כלשהו.

בתמונה הבאה מוצגת ארכיטקטורת apigee-monit באשכול עם 5 צמתים:

ארכיטקטורה של Apigee monit באשכול של 5 צמתים
איור 1: מכונה נפרדת של apigee-monit פועלת בבידוד בכל צומת באשכול

הגדרות של רכיבים

ב-apigee-monit משתמשים בהגדרות אישיות של רכיבים כדי לקבוע אילו רכיבים לנטר, אילו היבטים של הרכיב לבדוק ואיזו פעולה לבצע במקרה של כשל.

כברירת מחדל, apigee-monit עוקב אחרי כל רכיבי Edge בצומת באמצעות הגדרות הרכיבים המוגדרות מראש. כדי לראות את הגדרות ברירת המחדל, אפשר לעיין בקובצי ההגדרה של רכיב apigee-monit. אי אפשר לשנות את הגדרות ברירת המחדל של הרכיבים.

apigee-monit בודק היבטים שונים של רכיב, בהתאם לרכיב שהוא בודק. בטבלה הבאה מפורט מה apigee-monit בודק בכל רכיב, ואיפה נמצאת ההגדרה של כל רכיב. שימו לב שחלק מהרכיבים מוגדרים בקובץ תצורה יחיד, ולחלק מהרכיבים יש הגדרות משלהם.

רכיב מיקום ההגדרות האישיות מה נמצא במעקב
שרת ניהול /opt/apigee/edge-management-server/monit/default.conf apigee-monit checks:
  • היציאות שצוינו פתוחות ומקבלות בקשות
  • הפרוטוקולים שצוינו נתמכים
  • סטטוס התגובה

בנוסף, ברכיבים האלה apigee-monit:

  • נדרשים כמה כשלים במספר נתון של מחזורים לפני ביצוע פעולה
  • הגדרת נתיב בקשה בהתאמה אישית
מעבד בקשות /opt/apigee/edge-message-processor/monit/default.conf
שרת Postgres /opt/apigee/edge-postgres-server/monit/default.conf
שרת Qpid /opt/apigee/edge-qpid-server/monit/default.conf
נתב /opt/apigee/edge-router/monit/default.conf
Cassandra
New Edge UI
SymasLDAP
Postgres
Qpid
Zookeeper
/opt/apigee/data/apigee-monit/monit.conf ‫apigee-monit בדיקות:
  • השירות פועל

בדוגמה הבאה מוצגת הגדרת ברירת המחדל של הרכיב edge-router:

check host edge-router with address localhost
  restart program = "/opt/apigee/apigee-service/bin/apigee-service edge-router monitrestart"
  if failed host 10.1.1.0 port 8081 and protocol http
    and request "/v1/servers/self/uuid"
    with timeout 15 seconds
    for 2 times within 3 cycles
  then restart

  if failed port 15999 and protocol http
    and request "/v1/servers/self"
    and status < 600
    with timeout 15 seconds
    for 2 times within 3 cycles
  then restart

בדוגמה הבאה מוצגת הגדרת ברירת המחדל של הרכיב New Edge UI (edge-management-ui):

check process edge-management-ui
 with pidfile /opt/apigee/var/run/edge-management-ui/edge-management-ui.pid
 start program = "/opt/apigee/apigee-service/bin/apigee-service edge-management-ui start" with timeout 55 seconds
 stop program = "/opt/apigee/apigee-service/bin/apigee-service edge-management-ui stop"

אי אפשר לשנות את הגדרות ברירת המחדל של רכיבים ב-Apigee Edge for Private Cloud. עם זאת, אתם יכולים להוסיף הגדרות רכיבים משלכם לשירותים חיצוניים, כמו נקודת הקצה (endpoint) המטורגטת או שירות httpd. מידע נוסף זמין במאמר בנושא הגדרות של רכיבים שאינם Apigee.

כברירת מחדל, apigee-monit עוקב אחרי כל הרכיבים בצומת שבו הוא פועל. אפשר להפעיל או להשבית את המדיניות לכל הרכיבים או לרכיבים ספציפיים. מידע נוסף זמין בדפים הבאים:

התקנת apigee-monit

‫apigee-monit לא מותקן כברירת מחדל. אפשר להתקין אותו ידנית אחרי שמשדרגים או מתקינים את גרסה 4.19.01 ואילך של Apigee Edge for Private Cloud.

בקטע הזה מוסבר איך להתקין את apigee-monit.

מידע על הסרת apigee-monit זמין במאמר הסרת apigee-monit.

התקנת apigee-monit

בקטע הזה מוסבר איך להתקין את apigee-monit.

כדי להתקין את apigee-monit:

  1. מתקינים את apigee-monit באמצעות הפקודה הבאה:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit install
  2. מגדירים את apigee-monit באמצעות הפקודה הבאה:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
  3. מפעילים את apigee-monit באמצעות הפקודה הבאה:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit start
  4. חוזרים על התהליך הזה בכל צומת באשכול.

הפסקה והתחלה של מעקב אחרי רכיבים

כששירות מפסיק מסיבה כלשהי, apigee-monit מנסה להפעיל אותו מחדש.

זה יכול לגרום לבעיה אם רוצים להפסיק בכוונה רכיב. לדוגמה, יכול להיות שתרצו לעצור רכיב כשצריך לגבות או לשדרג אותו. אם apigee-monit יפעיל מחדש את השירות במהלך הגיבוי או השדרוג, הליך התחזוקה עלול להשתבש ואולי גם להיכשל.

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

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

כדי להפסיק רכיב ולבטל את המעקב אחריו, מריצים את הפקודה הבאה:

‫
/opt/apigee/apigee-service/bin/apigee-service apigee-monit stop-component -c component_name
הערך component_name יכול להיות אחד מהבאים:
  • apigee-cassandra (Cassandra)
  • ‫apigee-openldap (OpenLDAP)
  • ‫apigee-postgresql (מסד נתונים של PostgreSQL)
  • apigee-qpidd (Qpidd)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (שרת ניהול)
  • ‫edge-management-ui (ממשק משתמש חדש של Edge)
  • ‫edge-message-processor (מעבד בקשות)
  • edge-postgres-server (שרת Postgres)
  • ‫edge-qpid-server (Qpid Server)
  • edge-router (Edge Router)

הערה: הערך all לא תקין עבור stop-component. אפשר להפסיק את הניטור של רכיב אחד בלבד בכל פעם באמצעות stop-component.

כדי להפעיל מחדש את הרכיב ולהמשיך את המעקב, מריצים את הפקודה הבאה:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit start-component -c component_name

שימו לב שהאפשרות "all" לא חוקית עבור start-component.

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

הפסקת המעקב אחרי רכיב (אבל לא הפסקת הפעולה שלו)

כדי להפסיק את המעקב אחרי רכיב (אבל לא לעצור אותו), מריצים את הפקודה הבאה:

‫
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c component_name
‫component_name יכול להיות אחד מהערכים הבאים:
  • apigee-cassandra (Cassandra)
  • ‫apigee-openldap (OpenLDAP)
  • ‫apigee-postgresql (מסד נתונים של PostgreSQL)
  • apigee-qpidd (Qpidd)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (שרת ניהול)
  • ‫edge-management-ui (ממשק משתמש חדש של Edge)
  • ‫edge-message-processor (מעבד בקשות)
  • edge-postgres-server (שרת Postgres)
  • ‫edge-qpid-server (Qpid Server)
  • edge-router (Edge Router)

כדי להמשיך את המעקב אחרי הרכיב, מריצים את הפקודה הבאה:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c component_name

ביטול המעקב אחרי כל הרכיבים (אבל לא עצירה שלהם)

כדי להפסיק את המעקב אחרי כל הרכיבים (אבל לא לעצור אותם), מריצים את הפקודה הבאה:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all

כדי להמשיך את המעקב אחרי כל הרכיבים, מריצים את הפקודה הבאה:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all

עצירת כל הרכיבים והפסקת המעקב אחריהם

כדי להפסיק את כל הרכיבים ולבטל את המעקב אחריהם, מריצים את הפקודות הבאות:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all
/opt/apigee/apigee-service/bin/apigee-all stop

כדי להפעיל מחדש את כל הרכיבים ולהמשיך את המעקב, מריצים את הפקודות הבאות:

/opt/apigee/apigee-service/bin/apigee-all start
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all

כדי להפסיק את המעקב אחרי כל הרכיבים, אפשר גם להשבית את apigee-monit, כמו שמתואר במאמר עצירה, הפעלה והשבתה של apigee-monit.

עצירה, הפעלה והשבתה של apigee-monit

כמו בכל שירות, אפשר להפסיק ולהפעיל את apigee-monit באמצעות הפקודה apigee-service. בנוסף, apigee-monit תומך בפקודה unmonitor, שמאפשרת להפסיק באופן זמני את המעקב אחרי רכיבים.

הפסקת apigee-monit

כדי לעצור את apigee-monit, משתמשים בפקודה הבאה:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit stop

הפעלת apigee-monit

כדי להפעיל את apigee-monit, משתמשים בפקודה הבאה:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit start

השבתת apigee-monit

כדי להשהות את המעקב אחרי כל הרכיבים בצומת, משתמשים בפקודה הבאה:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all

אפשרות אחרת היא להשבית את apigee-monit באופן סופי על ידי הסרת ההתקנה שלו מהצומת, כמו שמתואר במאמר הסרת ההתקנה של apigee-monit.

הסרת ההתקנה של apigee-monit

כדי להסיר את apigee-monit:

  1. אם הגדרתם משימת cron למעקב אחרי apigee-monit, הסירו את משימת cron לפני הסרת ההתקנה של apigee-monit:
    sudo rm /etc/cron.d/apigee-monit.cron
  2. עוצרים את apigee-monit באמצעות הפקודה הבאה:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit stop
  3. מסירים את apigee-monit באמצעות הפקודה הבאה:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit uninstall
  4. חוזרים על התהליך הזה בכל צומת באשכול.

מעקב אחרי רכיב שהותקן לאחרונה

אם מתקינים רכיב חדש בצומת שפועל בו apigee-monit, אפשר להתחיל לעקוב אחריו על ידי הפעלת הפקודה restart של apigee-monit. הפעולה הזו יוצרת קובץ תצורה חדש של monit שיכלול את הרכיב החדש בהגדרות הרכיבים שלו.

בדוגמה הבאה מופעלת מחדש התוכנה apigee-monit:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit restart

התאמה אישית של apigee-monit

אתם יכולים להתאים אישית הגדרות שונות של apigee-monit, כולל:

  1. הגדרות ברירת המחדל של אמצעי הבקרה של apigee-monit
  2. הגדרות אישיות גלובליות
  3. הגדרות של רכיבים שאינם Apigee

הגדרות ברירת המחדל של אמצעי הבקרה של apigee-monit

אתם יכולים להתאים אישית את הגדרות ברירת המחדל של apigee-monit, כמו התדירות של בדיקות הסטטוס והמיקומים של קובצי apigee-monit. כדי לעשות את זה, עורכים קובץ מאפיינים באמצעות הטכניקה של קוד עם הגדרות. קובצי המאפיינים יישארו גם אחרי שתשדרגו את Apigee Edge for Private Cloud.

בטבלה הבאה מתוארות הגדרות ברירת המחדל של אמצעי הבקרה apigee-monit שאפשר להתאים אישית:

נכס תיאור
conf_monit_httpd_port היציאה של הדימון httpd. ‫apigee-monit משתמש ב-httpd עבור אפליקציית לוח הבקרה שלו, כדי להפעיל דוחות או סיכומים. ערך ברירת המחדל הוא 2812.
conf_monit_httpd_allow מגבלות על בקשות לשד httpd. ‫apigee-monit משתמשת ב-httpd כדי להפעיל את אפליקציית לוח הבקרה שלה ולאפשר דוחות וסיכומים. הערך הזה חייב להפנות למארח המקומי (המארח שבו פועל httpd).

כדי לדרוש שהבקשות יכללו שם משתמש וסיסמה, משתמשים בתחביר הבא:

conf_monit_httpd_allow=allow username:"password"\nallow 127.0.0.1

כשמוסיפים שם משתמש וסיסמה, צריך להוסיף "\n" בין כל אילוץ. אסור להוסיף מעברי שורה או חזרה לתחילת השורה בערך.

conf_monit_monit_datadir הספרייה שבה מאוחסנים פרטי האירועים.
conf_monit_monit_delay_time כמות הזמן ש-apigee-monit ממתין אחרי שהוא נטען לזיכרון בפעם הראשונה לפני שהוא מופעל. ההגדרה הזו משפיעה רק על apigee-monit בדיקת התהליך הראשונה.
conf_monit_monit_logdir המיקום של קובץ היומן של apigee-monit.
conf_monit_monit_retry_time התדירות שבה apigee-monit מנסה לבדוק כל תהליך. ברירת המחדל היא 60 שניות.
conf_monit_monit_rundir המיקום של קובצי ה-PID וקובצי תמונת המצב, שבהם apigee-monit משתמש כדי לבדוק תהליכים.

כדי להתאים אישית את הגדרות ברירת המחדל של השליטה ב-apigee-monit:

  1. עורכים את הקובץ הבא:
    /opt/apigee/customer/application/monit.properties

    אם הקובץ לא קיים, יוצרים אותו ומגדירים את הבעלים כמשתמש "apigee":

    chown apigee:apigee /opt/apigee/customer/application/monit.properties

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

  2. מגדירים או מחליפים את ערכי המאפיינים בערכים החדשים.

    לדוגמה, כדי לשנות את המיקום של קובץ היומן ל-/tmp, מוסיפים או עורכים את המאפיין הבא:

    conf_monit_monit_logdir=/tmp/apigee-monit.log
  3. שומרים את השינויים בקובץ monit.properties.
  4. מגדירים מחדש את apigee-monit באמצעות הפקודה הבאה:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
  5. טוענים מחדש את apigee-monit באמצעות הפקודה הבאה:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit reload

    אם אי אפשר להפעיל מחדש את apigee-monit, צריך לבדוק את קובץ היומן כדי לראות אם יש בו שגיאות, כמו שמתואר במאמר בנושא גישה לקובצי היומן של apigee-monit.

  6. חוזרים על התהליך הזה לכל צומת באשכול.

הגדרות גלובליות

אתם יכולים להגדיר הגדרות גלובליות ל-apigee-monit, למשל להוסיף התראות באימייל. כדי לעשות את זה, יוצרים קובץ תצורה בספרייה /opt/apigee/data/apigee-monit ואז מפעילים מחדש את apigee-monit.

כדי להגדיר הגדרות גלובליות ל-apigee-monit:

  1. יוצרים קובץ תצורה חדש של רכיב במיקום הבא:
    /opt/apigee/data/apigee-monit/filename.conf

    כאשר filename יכול להיות כל שם קובץ חוקי, חוץ מ "monit".

  2. משנים את הבעלים של קובץ התצורה החדש למשתמש apigee, כמו בדוגמה הבאה:
    chown apigee:apigee /opt/apigee/data/apigee-monit/my-mail-config.conf
  3. מוסיפים את הגדרות התצורה הגלובליות לקובץ החדש. בדוגמה הבאה מוגדר שרת דואר ומוגדרים הנמענים של ההתראות:
    SET MAILSERVER smtp.gmail.com PORT 465
      USERNAME "example-admin@gmail.com" PASSWORD "PASSWORD"
      USING SSL, WITH TIMEOUT 15 SECONDS
    
    SET MAIL-FORMAT {
      from: edge-alerts@example.com
      subject: Monit Alert -- Service: $SERVICE $EVENT on $HOST
    }
    SET ALERT fred@example.com
    SET ALERT nancy@example.com

    רשימה מלאה של אפשרויות ההגדרה הגלובליות מופיעה במאמרי העזרה של monit.

  4. שומרים את השינויים בקובץ התצורה של הרכיב.
  5. טוענים מחדש את apigee-monit באמצעות הפקודה הבאה:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit reload

    אם apigee-monit לא מופעל מחדש, בודקים את קובץ היומן לאיתור שגיאות כמו שמתואר במאמר בנושא גישה לקובצי היומן של apigee-monit.

  6. חוזרים על התהליך הזה לכל צומת באשכול.

הגדרות של רכיבים שהם לא של Apigee

אתם יכולים להוסיף הגדרות משלכם ל-apigee-monit כדי לבדוק שירותים שלא נכללים ב-Apigee Edge for Private Cloud. לדוגמה, אתם יכולים להשתמש ב-apigee-monit כדי לבדוק שממשקי ה-API פועלים, על ידי שליחת בקשות לנקודת הקצה (endpoint) המטורגטת.

כדי להוסיף הגדרה של רכיב שאינו Apigee:

  1. יוצרים קובץ תצורה חדש של רכיב במיקום הבא:
    /opt/apigee/data/apigee-monit/filename.conf

    ‫filename יכול להיות כל שם קובץ תקין, חוץ מ-monit.

    אפשר ליצור כמה קובצי תצורה של רכיבים שצריך. לדוגמה, אתם יכולים ליצור קובץ תצורה נפרד לכל רכיב שאינו של Apigee שאתם רוצים לעקוב אחריו בצומת.

  2. משנים את הבעלים של קובץ התצורה החדש למשתמש apigee, כמו בדוגמה הבאה:
    chown apigee:apigee /opt/apigee/data/apigee-monit/my-config.conf
  3. מוסיפים את ההגדרות האישיות לקובץ החדש. בדוגמה הבאה נבדקת נקודת הקצה (endpoint) לטירגוט בשרת המקומי:
    CHECK HOST localhost_validate_test WITH ADDRESS localhost
      IF FAILED
        PORT 15999
        PROTOCOL http
        REQUEST "/validate__test"
        CONTENT = "Server Ready"
        FOR 2 times WITHIN 3 cycles
      THEN alert

    לרשימה מלאה של הגדרות אישיות אפשריות, קראו את המסמכים של monit.

  4. שומרים את השינויים בקובץ התצורה.
  5. טוענים מחדש את apigee-monit באמצעות הפקודה הבאה:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit reload

    אם apigee-monit לא מופעל מחדש, בודקים את קובץ היומן לאיתור שגיאות כמו שמתואר במאמר בנושא גישה לקובצי היומן של apigee-monit.

  6. חוזרים על התהליך הזה לכל צומת באשכול.

חשוב לזכור שהפעולה הזו מיועדת רק לרכיבים שאינם של Edge. אי אפשר להתאים אישית את הגדרות הרכיבים של רכיבי Edge.

גישה לקובצי היומן של apigee-monit

‫apigee-monit מתעד את כל הפעילות, כולל אירועים, הפעלות מחדש, שינויים בהגדרות והתראות בקובץ יומן.

מיקום ברירת המחדל של קובץ היומן הוא:

/opt/apigee/var/log/apigee-monit/apigee-monit.log

כדי לשנות את מיקום ברירת המחדל, צריך להתאים אישית את הגדרות הבקרה של apigee-monit.

הרשומות בקובץ היומן מופיעות בפורמט הבא:

'edge-message-processor' trying to restart
[UTC Dec 14 16:20:42] info     : 'edge-message-processor' trying to restart
'edge-message-processor' restart: '/opt/apigee/apigee-service/bin/apigee-service edge-message-processor monitrestart'

אי אפשר להתאים אישית את הפורמט של הרשומות בקובץ היומן apigee-monit.

הצגת סטטוס מצטבר באמצעות apigee-monit

apigee-monit כולל את הפקודות הבאות שמספקות מידע מצטבר על הסטטוס של הרכיבים בצומת:

פקודה שימוש
report
/opt/apigee/apigee-service/bin/apigee-service apigee-monit report
summary
/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary

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

דוח

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

/opt/apigee/apigee-service/bin/apigee-service apigee-monit report

בדוגמה הבאה מוצג פלט של report בהגדרת AIO (הכול-באחד):

/opt/apigee/apigee-service/bin/apigee-service apigee-monit report
up:            11 (100.0%)
down:           0 (0.0%)
initialising:   0 (0.0%)
unmonitored:    1 (8.3%)
total:         12 services

בדוגמה הזו, apigee-monit מדווח ש-11 מתוך 12 השירותים פועלים. יש שירות אחד שלא מנוטר כרגע.

יכול להיות שתופיע השגיאה Connection refused בפעם הראשונה שתריצו את הפקודה report. במקרה כזה, צריך להמתין למשך הזמן שמוגדר במאפיין conf_monit_monit_delay_time ואז לנסות שוב.

סיכום

הפקודה summary מציגה רשימה של כל רכיב ומספקת את הסטטוס שלו. בדוגמה הבאה מפעילים את הפקודה summary:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary

בדוגמה הבאה מוצג פלט של summary בהגדרת AIO (הכול באחד):

/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary
Monit 5.25.1 uptime: 4h 20m
 Service Name                     Status                      Type
 host_name                        OK                          System
 apigee-zookeeper                 OK                          Process
 apigee-cassandra                 OK                          Process
 apigee-openldap                  OK                          Process
 apigee-qpidd                     OK                          Process
 apigee-postgresql                OK                          Process
 edge-management-ui               OK                          Process
 edge-qpid-server                 OK                          Remote Host
 edge-postgres-server             OK                          Remote Host
 edge-management-server           OK                          Remote Host
 edge-router                      OK                          Remote Host
 edge-message-processor           OK                          Remote Host

אם מופיעה השגיאה Connection refused בפעם הראשונה שמריצים את הפקודה summary, נסו להמתין למשך הזמן שמוגדר במאפיין conf_monit_monit_delay_time ואז נסו שוב.

מעקב אחרי apigee-monit

מומלץ לבדוק באופן קבוע ש-apigee-monit פועל בכל צומת.

כדי לבדוק אם apigee-monit פועל, משתמשים בפקודה הבאה:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit

‫Apigee ממליצה להפעיל את הפקודה הזו מעת לעת בכל צומת שמופעל בו apigee-monit. אחת הדרכים לעשות זאת היא באמצעות כלי כמו cron, שמבצע משימות מתוזמנות במרווחי זמן מוגדרים מראש.

כדי להשתמש ב-cron למעקב אחרי apigee-monit:

  1. כדי להוסיף תמיכה ב-cron, מעתיקים את הספרייה apigee-monit.cron לספרייה /etc/cron.d, כמו בדוגמה הבאה:
    cp /opt/apigee/apigee-monit/cron/apigee-monit.cron /etc/cron.d/
  2. פותחים את הקובץ apigee-monit.cron כדי לערוך אותו.

    הקובץ apigee-monit.cron מגדיר את המשימה cron שצריך לבצע ואת התדירות שבה צריך לבצע אותה. בדוגמה הבאה מוצגים ערכי ברירת המחדל:

    # Cron entry to check if monit process is running. If not start it
    */2 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit

    הקובץ הזה משתמש בתחביר הבא, שבו חמשת השדות הראשונים מגדירים את השעה שבה הפעולה של apigee-monit מתבצעת:

    min hour day_of_month month day_of_week task_to_execute

    לדוגמה, זמן הביצוע שמוגדר כברירת מחדל הוא */2 * * * *, שמורה ל-cron לבדוק את התהליך apigee-monit כל 2 דקות.

    אי אפשר להריץ משימת cron בתדירות גבוהה יותר מפעם בדקה.

    למידע נוסף על השימוש ב-cron, אפשר לעיין במסמכי התיעוד או בדפי ה-man של מערכת ההפעלה של השרת.

  3. משנים את ההגדרות של cron כך שיתאימו למדיניות של הארגון. לדוגמה, כדי לשנות את תדירות ההפעלה לכל 5 דקות, מגדירים את המשימה באופן הבא:
    */5 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit
  4. שומרים את קובץ ה-apigee-monit.cron.
  5. חוזרים על התהליך הזה לכל צומת באשכול.

אם cron לא מתחיל לצפות ב-apigee-monit, צריך לוודא ש:

  • יש שורה ריקה אחרי הגדרת המשימה של cron.
  • בקובץ מוגדרת רק משימה אחת של cron. (שורות עם הערות לא נספרות).

אם רוצים להפסיק או להשבית באופן זמני את apigee-monit, צריך להשבית גם את המשימה cron הזו, אחרת cron יפעיל מחדש את apigee-monit.

כדי להשבית את cron, מבצעים אחת מהפעולות הבאות:

  • מוחקים את הקובץ /etc/cron.d/apigee-monit.cron:
    sudo rm /etc/cron.d/apigee-monit.cron

    כדי להפעיל מחדש את cron ולצפות ב-apigee-monit, צריך להעתיק אותו שוב.

    OR

  • עורכים את קובץ /etc/cron.d/apigee-monit.cron ומוסיפים '#' בתחילת השורה כדי להפוך את הגדרת המשימה לתגובה. לדוגמה:
    # 10 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit