איך לעקוב

Edge for Private Cloud גרסה 4.18.05

במסמך הזה מתוארות טכניקות המעקב של רכיבים שנתמכים על ידי פריסה מקומית של Apigee Edge.

סקירה כללית

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

שירות JMX:*
שימוש בזיכרון
Mgmt API:
בדיקת שירות
Mgmt API:
משתמש/ארגון/ סטטוס פריסה
Mgmt API:
axstatus
בדיקה של מסד הנתונים סטטוס של apigee-service
שרת ניהול
מעבד בקשות
Postgres
QPID
נתב
מידע נוסף מידע נוסף מידע נוסף מידע נוסף מידע נוסף מידע נוסף
* כדי להשתמש ב-JMX, קודם צריך להפעיל אותו, כמתואר בהפעלת JMX.

יציאות JMX ו-Management API למעקב

כל רכיב תומך בקריאות לניטור של JMX ו-Management API ביציאות שונות. בטבלה הבאה מפורטות יציאות ה-JMX וה-Management API של כל סוג שרת:

רכיב יציאת JMX יציאה מ-Management API
שרת ניהול 1099 8080
נתב 1100 8081
מעבד בקשות 1101 8082
QPID 1102 8083
Postgres 1103 8084

שימוש ב-JMX

כל תהליכי המעקב של שרת הניהול, מעבד ההודעות, Qpid ו-Postgres משתמשים ב-JMX. עם זאת, JMX מופעל כברירת מחדל רק עבור Cassandra, ומושבת כברירת מחדל בכל שאר רכיבי Edge. לכן צריך להפעיל JMX בנפרד לכל רכיב לפני שאפשר יהיה לעקוב אחריו.

אימות JMX לא מופעל כברירת מחדל. אפשר להפעיל אימות JMX לכל הרכיבים חוץ מ-Cassandra.

הפעלת JMX

JMX מופעל כברירת מחדל רק עבור Cassandra, ומושבת כברירת מחדל בכל שאר רכיבי Edge. בקטע הזה מוסבר איך להפעיל JMX לרכיבי Edge אחרים.

כדי להפעיל את JMX:

  1. עריכת קובץ התצורה של הרכיב. הקובץ הזה נמצא בכתובת opt/apigee/edge-component_name/bin/start. בסביבות ייצור, קובצי התצורה האלה יישמרו במכונות שונות.

    בחר מבין מיקומי הקבצים הבאים בכל שרת:

    • שרת ניהול: /opt/apigee/edge-management-server/bin/start
    • מעבד ההודעות: /opt/apigee/edge-message-processor/bin/start
    • דוחות: /opt/apigee/edge-postgres-server/bin/start
    • Qpid: /opt/apigee/edge-qpid-server/bin/start
    • נתב: /opt/apigee/edge-router/bin/start

    לדוגמה, קובץ התצורה של שרת הניהול בשרת שלו נמצא בכתובת /opt/apigee/edge-management-server/bin/start.

  2. מוסיפים את האפשרויות הבאות של com.sun.management.jmxremote לשורה exec שמפעילה את הרכיב:
    -Dcom.sun.management.jmxremote \
      -Dcom.sun.management.jmxremote.port=port_number \
      -Dcom.sun.management.jmxremote.local.only=false \
      -Dcom.sun.management.jmxremote.authenticate=false \
      -Dcom.sun.management.jmxremote.ssl=false

    כאשר port_number היא יציאת ה-JMX של השירות. כדי לקבל את מספר יציאת ה-JMX של השירות שלכם, תוכלו להיעזר במאמר בנושא יציאות JMX ו-Management API למעקב.

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

    exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts \
      -Djava.security.auth.login.config=$conf_path/jaas.config \
      -Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path \
      -Ddata.dir=$data_dir \
      -Dcom.sun.management.jmxremote \
      -Dcom.sun.management.jmxremote.port=1099 \
      -Dcom.sun.management.jmxremote.local.only=false \
      -Dcom.sun.management.jmxremote.authenticate=false \
      -Dcom.sun.management.jmxremote.ssl=false \
      $* $debug_options com.apigee.kernel.MicroKernel

    בדוגמה הזו מצוינת יציאה 1099 של שרת הניהול. כמו שציינו, לכל שירות יש מספר יציאה משלו.

    השורה הערוכה בקובץ התצורה נראית כך:

    exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts -Djava.security.auth.login.config=$conf_path/jaas.config -Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path -Ddata.dir=$data_dir -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false $* $debug_options com.apigee.kernel.MicroKernel
  3. שומרים את קובץ התצורה.
  4. מפעילים מחדש את הרכיב באמצעות הפקודה restart.

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

    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

האימות ל-JMX לא מופעל כברירת מחדל. אפשר להפעיל אימות JMX לכל הרכיבים מלבד Cassandra, כפי שמוסבר במאמר הפעלת אימות JMX.

הפעלת אימות JMX

אימות JMX לא מופעל כברירת מחדל. אפשר להפעיל אימות JMX לכל הרכיבים חוץ מ-Cassandra.

כדי להפעיל אימות JMX, צריך לבצע את פעולת change_jmx_auth הבאה בכל הצמתים:

/opt/apigee/apigee-service/bin/apigee-service component change_jmx_auth [options|-f config_file]

כאשר:

  • השדה component הוא אחד מהבאים:
    • edge-management-server
    • edge-message-processor
    • edge-postgres-server
    • edge-qpid-server
    • edge-router
  • השדה options מציין את הפרטים הבאים:
    • -u username
    • -p password
    • -e [y|n] (הפעלה או השבתה)
  • config_file מציין את המיקום של קובץ התצורה שבו אתם מגדירים את הפריטים הבאים:
    • JMX_USERNAME=username
    • JMX_ENABLED=y|n
    • JMX_PASSWORD=password (אם לא מוגדרת או לא מועברת באמצעות -p, מוצגת בקשה)

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

בדוגמה הבאה מפעילים אימות JMX עבור שרת הניהול באמצעות אפשרויות שורת הפקודה:

/opt/apigee/apigee-service/bin/apigee-service edge-management-server
    change_jmx_auth -u foo -p bar -e y

הדוגמה הבאה משתמשת בקובץ תצורה במקום באפשרויות שורת פקודה:

/opt/apigee/apigee-service/bin/apigee-service edge-management-server
    change_jmx_auth -f /tmp/my-config-file

אם אתם משתמשים ב-Edge במספר צמתים, מריצים את הפקודה בכל הצמתים ומציינים את אותו שם משתמש ואותה סיסמה.

כדי להשבית אימות JMX בשורת הפקודה, צריך להשתמש באפשרות ' -e n' כמו בדוגמה הבאה:

/opt/apigee/apigee-service/bin/apigee-service edge-management-server
    change_jmx_auth -e n

ניטור באמצעות JConsole

השתמשו ב-JConsole (כלי תואם ל-JMX) כדי לנהל את בדיקות התקינות ולעבד נתונים סטטיסטיים, ולעקוב אחריהם. באמצעות JConsole, אפשר לצרוך סטטיסטיקות JMX שנחשפים על ידי השרתים שלכם ולהציג אותם בממשק גרפי. למידע נוסף, ראו שימוש ב-JConsole.

מערכת JConsole משתמשת בכתובת ה-URL של השירות הבאה כדי לעקוב אחר מאפייני JMX (MBeans) שמוצעים באמצעות JMX:

service:jmx:rmi:///jndi/rmi://IP_address:port_number/jmxrmi

כאשר:

  • IP_address היא כתובת ה-IP של השרת שברצונך לעקוב אחריו.
  • port_number הוא מספר יציאת ה-JMX של השרת שרוצים לעקוב אחריו.

לדוגמה, כדי לעקוב אחרי שרת הניהול, מריצים פקודה כמו הבאה (בהנחה שכתובת ה-IP של השרת היא 216.3.128.12):

service:jmx:rmi:///jndi/rmi://216.3.128.12:1099/jmxrmi

הערה: בדוגמה הזו מצוינת יציאה 1099, שהיא יציאת ה-JMX של שרת הניהול. למידע על יציאות אחרות, קראו את המאמר יציאות JMX ו-Management API למעקב.

בטבלה הבאה מוצגים הנתונים הסטטיסטיים הכלליים של JMX:

JMX MBeans מאפייני JMX

זיכרון

HeapMemoryUsage

NonHeapMemoryUsage

Usage

מעקב באמצעות ה-Management API

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

ביצוע בדיקות שירות

ב-Management API יש כמה נקודות קצה (endpoints) למעקב ולאבחון של בעיות בשירותים שלך. אלה כמה מנקודות הקצה האלה:

נקודת קצה תיאור
/servers/self/up

הפונקציה בודקת אם שירות מסוים פועל. הקריאה הזו ל-API לא מחייבת אותך לבצע אימות.

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

<ServerField>
  <Up>true</Up>
</ServerField>

אם השירות לא פועל, תקבלו תגובה שדומה לזו (בהתאם לשירות ולאופן שבו בדקתם אותו):

curl: Failed connect to localhost:port_number; Connection refused
/servers/self

מחזירה מידע על השירות, כולל:

  • מאפייני ההגדרות האישיות
  • שעת התחלה ושעת פעולה
  • מידע על גרסאות build, RPM ו-UUID
  • שם מארח וכתובת IP פנימיים וחיצוניים
  • אזור ו-pod
  • מאפיין <isUp>, שמציין אם השירות פועל

לקריאה הזו ל-API נדרש אימות באמצעות פרטי הכניסה שלך כאדמין ב-Apigee.

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

curl http://host:port_number/v1/servers/self/up
  -H "Accept: [application/json|application/xml]"
curl http://host:port_number/v1/servers/self -u username:password
  -H "Accept: [application/json|application/xml]"

כאשר:

  • host היא כתובת ה-IP של השרת שברצונך לבדוק. אם אתם מחוברים לשרת, תוכלו להשתמש ב-"localhost". אחרת, ציינו את כתובת ה-IP של השרת ואת שם המשתמש והסיסמה.
  • port_number היא היציאה של Management API של השרת שברצונך לבדוק. זוהי יציאה שונה לכל סוג רכיב. לדוגמה, יציאת Management API של שרת הניהול היא 8080. רשימה של מספרי היציאות של Management API שאפשר להשתמש בהם מופיעה במאמר יציאות JMX ו-Management API למעקב

כדי לשנות את הפורמט של התגובה, אפשר להגדיר את הכותרת Accept כך: "application/json" או "application/xml".

בדוגמה הבאה מוצג הסטטוס של הנתב ב-localhost (יציאה 8081):

curl http://localhost:8081/v1/servers/self/up -H "Accept: application/xml"

בדוגמה הבאה מוצג מידע על מעבד ההודעות ב-216.3.128.12 (יציאה 8082):

curl http://216.3.128.12:8082/v1/servers/self -u sysAdminEmail:password
  -H "Accept: application/xml"

מעקב אחר סטטוס המשתמשים, הארגון והפריסה

אפשר להשתמש ב-Management API כדי לעקוב אחרי סטטוס המשתמשים, הארגון והפריסה של שרתי ה-proxy שלך בשרתי ניהול ובמעבדי הודעות, על ידי ביצוע הפקודות הבאות:

curl http://host:port_number/v1/users -u sysAdminEmail:password
curl http://host:port_number/v1/organizations -u sysAdminEmail:password
curl http://host:port_number/v1/organizations/orgname/deployments -u sysAdminEmail:password

כאשר port_number הוא 8080 לשרת הניהול או 8082 למעבד ההודעות.

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

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

  1. מומלץ לבדוק אם יש שגיאות ביומני השרת. היומנים נמצאים בכתובת:
    • שרת ניהול: opt/apigee/var/log/edge-management-server
    • מעבד ההודעות: opt/apigee/var/log/edge-message-processor
  2. לבצע קריאה לשרת כדי לבדוק אם הוא פועל כראוי.
  3. מסירים את השרת מה-ELB ולאחר מכן מפעילים אותו מחדש:
    /opt/apigee/apigee-service/bin/apigee-service service_name restart

    כאשר service_name הוא:

    • edge-management-server
    • edge-message-processor

בדיקת הסטטוס באמצעות הפקודה apigee-service

אפשר לפתור בעיות בשירותי Edge באמצעות הפקודה apigee-service כשאתם מחוברים לשרת שמפעיל את השירות.

כדי לבדוק את הסטטוס של שירות עם apigee-service:

  1. מתחברים לשרת ומריצים את הפקודה הבאה:
    /opt/apigee/apigee-service/bin/apigee-service service_name status

    כאשר service_name הוא אחד מהבאים:

    • שרת ניהול: edge-management-server
    • מעבד ההודעות: edge-message-processor
    • דוחות: edge-postgres-server
    • Qpid: edge-qpid-server
    • נתב: edge-router

    לדוגמה:

    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor status
  2. אם השירות לא פועל, מפעילים את השירות:
    /opt/apigee/apigee-service/bin/apigee-service service_name start
  3. אחרי שתפעילו מחדש את השירות, כדאי לבדוק שהוא פועל באמצעות הפקודה apigee-service status שבה השתמשתם לפני כן או באמצעות ה-Management API, כפי שמתואר במאמר מעקב באמצעות ה-Management API.

    לדוגמה:

    curl -v http://localhost:port_number/v1/servers/self/up

    כאשר port_number היא יציאת ה-Management API של השירות.

    בדוגמה הזו ההנחה היא שאתם מחוברים לשרת ואתם יכולים להשתמש ב-"localhost" בתור שם המארח. כדי לבדוק את הסטטוס מרחוק באמצעות Management API, צריך לציין את כתובת ה-IP של השרת ולכלול את שם המשתמש והסיסמה של מנהל המערכת בקריאה ל-API.

ניטור אחרי צריכת הנתונים (Postgres)

Postgres תומך במספר שירותים שבאמצעותם ניתן לבדוק את הסטטוס שלו. הכלים והשירותים האלה מתוארים בסעיפים הבאים.

בדיקת ארגונים וסביבות ב-Postgres

כדי לבדוק אילו שמות של ארגונים וסביבות מאוחסנים בשרת Postgres, מריצים את הפקודה curl הבאה:

curl -v http://postgres_IP:8084/v1/servers/self/organizations

המערכת צריכה להציג את שם הארגון והסביבה.

אימות של סטטוס ניתוח הנתונים

כדי לאמת את הסטטוס של שרתי Postgres ו-Qpid לניתוח נתונים, צריך להריץ את הפקודה curl הבאה:

curl -u userEmail:password http://host:port_number/v1/organizations/orgname/environments/envname/provisioning/axstatus

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

{
  "environments" : [ {
    "components" : [ {
      "message" : "success at Thu Feb 28 10:27:38 CET 2013",
      "name" : "pg",
      "status" : "SUCCESS",
      "uuid" : "[c678d16c-7990-4a5a-ae19-a99f925fcb93]"
     }, {
      "message" : "success at Thu Feb 28 10:29:03 CET 2013",
      "name" : "qs",
      "status" : "SUCCESS",
      "uuid" : "[ee9f0db7-a9d3-4d21-96c5-1a15b0bf0adf]"
     } ],
    "message" : "",
    "name" : "prod"
   } ],
  "organization" : "acme",
  "status" : "SUCCESS"
}

מסד נתונים PostgreSQL

בקטע הזה מתוארות שיטות שאפשר להשתמש בהן ספציפית למעקב אחרי מסד הנתונים של Postgres.

יש להשתמש בסקריפט check_postgres.pl

כדי לעקוב אחרי מסד הנתונים של PostgreSQL, אפשר להשתמש בסקריפט מעקב סטנדרטי, check_postgres.pl. למידע נוסף: http://bucardo.org/wiki/Check_postgres.

לפני שמריצים את הסקריפט:

  1. עליך להתקין את הסקריפט check_postgres.pl בכל צומת Postgres.
  2. יש לוודא שהתקנת את perl-Time-HiRes.x86_64, מודול Perl שבו מוטמעים טיימרים ברזולוציה גבוהה, התראות, שעות שינה, שעות פנויות ביום וטיימרים. לדוגמה, תוכלו להתקין אותו באמצעות הפקודה הבאה:
    yum install perl-Time-HiRes.x86_64
  3. CentOS 7: לפני שמשתמשים ב-check_postgres.pl ב-CentOS v7, צריך להתקין את perl-Data-Dumper.x86_64 RPM.

פלטcheck_postgres.pl

פלט ברירת המחדל של קריאות ל-API באמצעות check_postgres.pl תואם ל-Nagios. אחרי שמתקינים את הסקריפט, צריך לבצע את הבדיקות הבאות:

  1. בודקים את גודל מסד הנתונים:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -include=apigee -action database_size --warning='800 GB' --critical='900 GB'
  2. כדאי לבדוק את מספר החיבורים הנכנסים למסד הנתונים ולהשוות את המספר המקסימלי של חיבורים שמותר:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action backends
  3. בודקים אם מסד הנתונים פועל וזמין:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action connection
  4. בודקים את המקום בדיסק:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action disk_space --warning='80%' --critical='90%'
  5. בודקים את מספר הארגון והסביבה שנמצאים בצומת Postgres:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action=custom_query --query="select count(*) as result from pg_tables where schemaname='analytics' and tablename like '%fact'" --warning='80' --critical='90' --valtype=integer

הרצת בדיקות של מסד הנתונים

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

psql -h /opt/apigee/var/run/apigee-postgresql/ -U apigee -d apigee

לאחר מכן מפעילים:

\d analytics."org.env.fact"

בדיקת סטטוס התקינות של תהליך עיבוד הנתונים

אפשר לבצע בדיקות API במחשב Postgres על ידי הפעלת הפקודה curl הבאה:

curl -v http://postgres_IP:8084/v1/servers/self/health

הפקודה הזו מחזירה את הסטטוס ACTIVE כשתהליך Postgres פעיל. אם תהליך Postgres לא פועל, הוא יחזיר את הסטטוס INACTIVE.

משאבים של Postgres

למידע נוסף על ניטור השירות Postgres, עיין בסעיפים הבאים:

אפאצ'י קסנדרה

שימוש ב-JConsole: מעקב אחר סטטיסטיקות המשימות

אפשר להשתמש ב-JConsole ובכתובת ה-URL של השירות כדי לעקוב אחר מאפייני JMX (MBeans) שמוצעים באמצעות JMX:

service:jmx:rmi:///jndi/rmi://IP_address:7199/jmxrmi

IP_address היא כתובת ה-IP של שרת Cassandra.

JMX מופעל כברירת מחדל עבור Cassandra, ולגישה מרחוק של JMX אל Cassandra לא נדרשת סיסמה.

נתונים סטטיסטיים של Cassandra JMX

JMX MBeans מאפייני JMX

ColumnFamilies/Apprepo/סביבה

ColumnFamilies/Apprepo/ארגונים

ColumnFamilies/apprepo/apiproxy_revisions

ColumnFamilies/Apprepo/apiproxies

עמודות/ביקורות/ביקורות של עמודות

העמודה ColumnFamilies/audit/audits_ref

PendingTasks

MemtableColumnsCount

MemtableDataSize

ReadCount

RecentReadLatencyMicros

TotalReadLatencyMicros

WriteCount

RecentWriteLatencyMicros

TotalWriteLatencyMicros

TotalDiskSpaceUsed

LiveDiskSpaceUsed

LiveSSTableCount

BloomFilterFalsePositives

RecentBloomFilterFalseRatio

BloomFilterFalseRatio

שימוש ב-Nonocr כאשר תנהל צמתים באשכול

כלי השירות nodetool הוא ממשק שורת פקודה של Cassandra, שמנהלים צמתים באשכול. ניתן למצוא את כלי השירות בכתובת /opt/apigee/apigee-cassandra/bin.

ניתן לבצע את הקריאות הבאות בכל הצמתים של אשכול Cassandra:

  1. מידע כללי על הצלצול (אפשר גם להשתמש בצומת Cassandra): מחפשים את הערכים 'Up' ו-'Normal' בכל הצמתים.
    nodetool -h localhost ring

    הפלט של הפקודה שלמעלה נראה כמו בדוגמה הבאה:

    Datacenter: dc-1
    ==========
    Address            Rack     Status State   Load    Owns    Token
    192.168.124.201    ra1      Up     Normal  1.67 MB 33,33%  0
    192.168.124.202    ra1      Up     Normal  1.68 MB 33,33%  5671...5242
    192.168.124.203    ra1      Up     Normal  1.67 MB 33,33%  1134...0484

  2. מידע כללי על צמתים (קריאה לכל צומת)
    nodetool -h localhost info

    הפלט של הפקודה שלמעלה נראה כך:

    ID                     : e2e42793-4242-4e82-bcf0-oicu812
    Gossip active          : true
    Thrift active          : true
    Native Transport active: true
    Load                   : 273.71 KB
    Generation No          : 1234567890
    Uptime (seconds)       : 687194
    Heap Memory (MB)       : 314.62 / 3680.00
    Off Heap Memory (MB)   : 0.14
    Data Center            : dc-1
    Rack                   : ra-1
    Exceptions             : 0
    Key Cache              : entries 150, size 13.52 KB, capacity 100 MB, 1520781 hits, 1520923 requests, 1.000 recent hit rate, 14400 save period in seconds
    Row Cache              : entries 0, size 0 bytes, capacity 0 bytes, 0 hits, 0 requests, NaN recent hit rate, 0 save period in seconds
    Counter Cache          : entries 0, size 0 bytes, capacity 50 MB, 0 hits, 0 requests, NaN recent hit rate, 7200 save period in seconds
    Token                  : 0
  3. סטטוס של שרת thrift (שרת API של לקוח בשירות)
    nodetool -h localhost statusthrift

    הפלט של הפקודה שלמעלה נראה כך:

    running

  4. סטטוס הפעולות של העברת נתונים: זיהוי תנועה של צומתי קסנדרה:
    nodetool -h localhost netstats

    הפלט של הפקודה שלמעלה נראה כך:

    Mode: NORMAL
    Not sending any streams.
    Read Repair Statistics:
    Attempted: 151612
    Mismatch (Blocking): 0
    Mismatch (Background): 0
    Pool Name                    Active   Pending      Completed   Dropped
    Commands                        n/a         0              0         0
    Responses                       n/a         0              0       n/a

אפשר לקרוא מידע נוסף על nodetool במאמר מידע על כלי העזר ל-Noouttool.

מעקב אחר Cassandra (ממשק משתמש)

יש לעיין בכתובת ה-URL של opscenter למס נתונים: http://www.datastax.com/products/opscenter.

משאב של Cassandra

יש לעיין בכתובת ה-URL הבאה: http://www.datastax.com/docs/1.0/operations/monitoring.

גן החיות אפאצ'י

בדיקת הסטטוס שלZooKeeper

  1. צריך לוודא שהתהליך שלzoKeeper פועל. ניתן לכתוב קובץ PID מ-ZooKeeper אל opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid.
  2. כדאי לבדוק את יציאות גן החיות כדי לוודא שאפשר ליצור חיבור TCP ליציאות 2181 ו-3888 בכל שרת שלzoKeeper.
  3. מוודאים שניתן לקרוא ערכים ממסד הנתונים שלzoKeeper. התחברות באמצעות ספריית לקוח שלzoKeeper (או /opt/apigee/apigee-zookeeper/bin/zkCli.sh) וקריאת ערך ממסד הנתונים.
  4. בודקים את הסטטוס:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status

שימוש במילים בנות ארבע אותיות ב-ZooKeeper

ניתן לנטר אתzoKeeper באמצעות סדרה קטנה של פקודות (מילים בנות ארבע) שנשלחות ליציאה 2181 באמצעות netcat (nc) או telnet.

למידע נוסף על הפקודות שלzoKeeper, ניתן לעיין במאמר: חומר עזר בנושא הפקודות של ApachezoKeeper.

לדוגמה:

  • srvr: פירוט הפרטים המלאים של השרת.
  • stat: בתיבת הדו-שיח הזו מוצגים פרטים קצרים של השרת ושל הלקוחות המחוברים.

אפשר להנפיק את הפקודות הבאות ליציאת בהתאם ל-ZooKeeper:

  1. מריצים את מקש ruok על ארבע אותיות כדי לבדוק אם השרת פועל במצב שאינו שגוי. תשובה מוצלחת תחזיר את הכיתוב "imok".
    echo ruok | nc host 2181

    החזרות:

    imok
  2. מריצים את הפקודה בת ארבע האותיות, stat, כדי להציג את ביצועי השרת ואת הנתונים הסטטיסטיים של הלקוחות המחוברים:
    echo stat | nc host 2181

    החזרות:

    Zookeeper version: 3.4.5-1392090, built on 09/30/2012 17:52 GMT
    Clients:
    /0:0:0:0:0:0:0:1:33467[0](queued=0,recved=1,sent=0)
    /192.168.124.201:42388[1](queued=0,recved=8433,sent=8433)
    /192.168.124.202:42185[1](queued=0,recved=1339,sent=1347)
    /192.168.124.204:39296[1](queued=0,recved=7688,sent=7692)
    Latency min/avg/max: 0/0/128
    Received: 26144
    Sent: 26160
    Connections: 4
    Outstanding: 0
    Zxid: 0x2000002c2
    Mode: follower
    Node count: 283
  3. אם netcat (nc) אינו זמין, ניתן להשתמש ב-python כחלופה. יוצרים קובץ בשם zookeeper.py שמכיל את הקוד הבא:
    import time, socket,
    sys c = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    c.connect((sys.argv[1], 2181))
    c.send(sys.argv[2])
    time.sleep(0.1)
    print c.recv(512)

    עכשיו מריצים את קווי הפיתון הבאים:

    python zookeeper.py 192.168.124.201 ruok
    python zookeeper.py 192.168.124.201 stat

בדיקה ברמת LDAP

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

  1. יש להשתמש ב-ldapsearch (yum install openldap-clients) כדי לשלוח שאילתה לגבי האדמין של המערכת. הרשומה הזו משמשת לאימות כל הקריאות ל-API.
    ldapsearch -b "uid=admin,ou=users,ou=global,dc=apigee,dc=com" -x -W -D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -LLL

    לאחר מכן תתבקש להזין את הסיסמה של מנהל ה-LDAP:

    Enter LDAP Password:

    לאחר הזנת הסיסמה, תקבלו תשובה בטופס:

    dn:
    uid=admin,ou=users,ou=global,dc=apigee,dc=com
    objectClass: organizationalPerson
    objectClass: person
    objectClass: inetOrgPerson
    objectClass: top
    uid: admin
    cn: admin
    sn: admin
    userPassword:: e1NTSEF9bS9xbS9RbVNXSFFtUWVsU1F0c3BGL3BQMkhObFp2eDFKUytmZVE9PQ=
     =
    mail: opdk@google.com
  2. בודקים אם שרת הניהול עדיין מחובר ל-LDAP באמצעות הפקודה הבאה:
    curl -u userEMail:password http://localhost:8080/v1/users/ADMIN

    החזרות:

    {
      "emailId" : ADMIN,
      "firstName" : "admin",
      "lastName" : "admin"
    }

אפשר גם לנטר את המטמון של OpenLDAP, וכך לצמצם את מספר הגישות לדיסקים וכך לשפר את ביצועי המערכת. למעקב ולכוונון של גודל המטמון בשרת OpenLDAP יכולה להיות השפעה משמעותית על הביצועים של שרת הספריות. כדי לקבל מידע על המטמון, אפשר להציג את קובצי היומן (opt/apigee/var/log).