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:
- עריכת קובץ התצורה של הרכיב. הקובץ הזה נמצא בכתובת
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
. - שרת ניהול:
- מוסיפים את האפשרויות הבאות של
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
- שומרים את קובץ התצורה.
- מפעילים מחדש את הרכיב באמצעות הפקודה
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 |
מחזירה מידע על השירות, כולל:
לקריאה הזו ל-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:passwordcurl 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 למעבד ההודעות.
לשיחה הזו צריך לבצע אימות באמצעות שם המשתמש והסיסמה של ניהול המערכת.
השרת אמור להחזיר סטטוס "פרוס" עבור כל הקריאות. אם הבדיקות נכשלות, צריך לבצע את הפעולות הבאות:
- מומלץ לבדוק אם יש שגיאות ביומני השרת. היומנים נמצאים בכתובת:
- שרת ניהול:
opt/apigee/var/log/edge-management-server
- מעבד ההודעות:
opt/apigee/var/log/edge-message-processor
- שרת ניהול:
- לבצע קריאה לשרת כדי לבדוק אם הוא פועל כראוי.
- מסירים את השרת מה-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
:
- מתחברים לשרת ומריצים את הפקודה הבאה:
/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
- שרת ניהול:
- אם השירות לא פועל, מפעילים את השירות:
/opt/apigee/apigee-service/bin/apigee-service service_name start
- אחרי שתפעילו מחדש את השירות, כדאי לבדוק שהוא פועל באמצעות הפקודה
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.
לפני שמריצים את הסקריפט:
- עליך להתקין את הסקריפט check_postgres.pl בכל צומת Postgres.
- יש לוודא שהתקנת את
perl-Time-HiRes.x86_64
, מודול Perl שבו מוטמעים טיימרים ברזולוציה גבוהה, התראות, שעות שינה, שעות פנויות ביום וטיימרים. לדוגמה, תוכלו להתקין אותו באמצעות הפקודה הבאה:
yum install perl-Time-HiRes.x86_64
- CentOS 7: לפני שמשתמשים ב-check_postgres.pl ב-CentOS v7, צריך להתקין את
perl-Data-Dumper.x86_64
RPM.
פלטcheck_postgres.pl
פלט ברירת המחדל של קריאות ל-API באמצעות check_postgres.pl
תואם ל-Nagios. אחרי שמתקינים את הסקריפט, צריך לבצע את הבדיקות הבאות:
- בודקים את גודל מסד הנתונים:
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'
- כדאי לבדוק את מספר החיבורים הנכנסים למסד הנתונים ולהשוות את המספר המקסימלי של חיבורים שמותר:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action backends
- בודקים אם מסד הנתונים פועל וזמין:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action connection
- בודקים את המקום בדיסק:
check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action disk_space --warning='80%' --critical='90%'
- בודקים את מספר הארגון והסביבה שנמצאים בצומת 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, עיין בסעיפים הבאים:
- http://www.postgresql.org/docs/9.0/static/monitoring.html
- http://www.postgresql.org/docs/9.0/static/diskusage.html
- http://bucardo.org/check_postgres/check_postgres.pl.html
אפאצ'י קסנדרה
שימוש ב-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:
- מידע כללי על הצלצול (אפשר גם להשתמש בצומת 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
- מידע כללי על צמתים (קריאה לכל צומת)
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
- סטטוס של שרת thrift (שרת API של לקוח בשירות)
nodetool -h localhost statusthrift
הפלט של הפקודה שלמעלה נראה כך:
running
- סטטוס הפעולות של העברת נתונים: זיהוי תנועה של צומתי קסנדרה:
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
- צריך לוודא שהתהליך שלzoKeeper פועל. ניתן לכתוב קובץ PID מ-ZooKeeper אל
opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid
. - כדאי לבדוק את יציאות גן החיות כדי לוודא שאפשר ליצור חיבור TCP ליציאות 2181 ו-3888 בכל שרת שלzoKeeper.
- מוודאים שניתן לקרוא ערכים ממסד הנתונים שלzoKeeper. התחברות באמצעות ספריית לקוח שלzoKeeper (או
/opt/apigee/apigee-zookeeper/bin/zkCli.sh
) וקריאת ערך ממסד הנתונים. - בודקים את הסטטוס:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status
שימוש במילים בנות ארבע אותיות ב-ZooKeeper
ניתן לנטר אתzoKeeper באמצעות סדרה קטנה של פקודות (מילים בנות ארבע) שנשלחות ליציאה 2181 באמצעות netcat (nc) או telnet.
למידע נוסף על הפקודות שלzoKeeper, ניתן לעיין במאמר: חומר עזר בנושא הפקודות של ApachezoKeeper.
לדוגמה:
srvr
: פירוט הפרטים המלאים של השרת.stat
: בתיבת הדו-שיח הזו מוצגים פרטים קצרים של השרת ושל הלקוחות המחוברים.
אפשר להנפיק את הפקודות הבאות ליציאת בהתאם ל-ZooKeeper:
- מריצים את מקש ruok על ארבע אותיות כדי לבדוק אם השרת פועל במצב שאינו שגוי. תשובה מוצלחת תחזיר את הכיתוב "imok".
echo ruok | nc host 2181
החזרות:
imok
- מריצים את הפקודה בת ארבע האותיות,
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
- אם 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 כדי לראות אם הבקשות הספציפיות מוגשות כראוי. במילים אחרות, עליך לחפש חיפוש ספציפי שמחזיר את התוצאה הנכונה.
- יש להשתמש ב-
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
- בודקים אם שרת הניהול עדיין מחובר ל-LDAP באמצעות הפקודה הבאה:
curl -u userEMail:password http://localhost:8080/v1/users/ADMIN
החזרות:
{ "emailId" : ADMIN, "firstName" : "admin", "lastName" : "admin" }
אפשר גם לנטר את המטמון של OpenLDAP, וכך לצמצם את מספר הגישות לדיסקים וכך לשפר את ביצועי המערכת. למעקב ולכוונון של גודל המטמון
בשרת OpenLDAP יכולה להיות השפעה משמעותית על הביצועים של שרת הספריות. כדי לקבל מידע על המטמון, אפשר להציג את קובצי היומן (opt/apigee/var/log
).