איך לעקוב

Edge for Private Cloud גרסה 4.18.05

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

סקירה כללית

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

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

יציאות לניטור של JMX ו-Management API

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

רכיב יציאת JMX יציאת ממשק ה-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
    • Postgres: ‏ /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 ו-Management API מוסבר איך למצוא את מספר היציאה של ה-JMX בשירות.

    לדוגמה, כדי להפעיל את 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

שימוש

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

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

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

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

נקודת קצה תיאור
/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
    • Postgres: ‏ 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 היא יציאת ה-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 שמטמיע שעונים מסוג 'התראה ברזולוציה גבוהה', 'שינה', gettimeofday ו-interval. לדוגמה, אפשר להתקין אותו באמצעות הפקודה הבאה:
    yum install perl-Time-HiRes.x86_64
  3. CentOS 7: לפני השימוש ב-check_postgres.pl ב-CentOS v7, צריך להתקין את ה-RPM perl-Data-Dumper.x86_64.

פלט של 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"

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

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

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

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

מקורות מידע לגבי Postgres

מידע נוסף על מעקב אחרי שירות Postgres זמין במאמרים הבאים:

Apache Cassandra

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

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

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

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

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

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

JMX MBeans מאפייני JMX

ColumnFamilies/apprepo/environments

ColumnFamilies/apprepo/organizations

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

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

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

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

  1. מידע כללי על הטבעת (אפשר גם לבדוק צומת יחיד של Cassandra): מחפשים את הערכים 'פעיל' ו'תקין' לכל הצמתים.
    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. הסטטוס של שרת ה-Hrift (שרת ה-API של הלקוח)
    nodetool -h localhost statusthrift

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

    running

  4. סטטוס של פעולות סטרימינג של נתונים: מעקב אחר התנועה בצמתים של Cassandra:
    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, ראו מידע על הכלי nodetool.

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

אפשר לעיין בכתובת ה-URL של DataStax OpsCenter: http://www.datastax.com/products/opscenter.

משאב Cassandra

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

Apache ZooKeeper

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

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

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

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

מידע נוסף על פקודות ZoKeeper זמין במאמר קובץ עזר של פקודת ApachezoKeeper.

לדוגמה:

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

ניתן להנפיק את הפקודות הבאות ליציאת בתחומים (zoKeeper):

  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 הבאים:

    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) כדי לקבל מידע על המטמון.