Edge for Private Cloud גרסה 4.16.05
במאמר הזה מתוארות שיטות המעקב אחרי רכיבים שנתמכים בפריסה מקומית של Apigee Edge.
הפעלת אימות JMX והגדרת סיסמת JMX
תהליך המעקב אחרי שרת הניהול, מעבד הבקשות, Qpid ו-Postgres משתמש ב-JMX. JMX מופעל כברירת מחדל, וגישה מרחוק ל-JMX לא דורשת סיסמה.
כדי להפעיל אימות JMX, לכל רכיב יש פעולת change_jmx_auth שמשמשת להפעלה או להשבתה של האימות ולהגדרת פרטי הכניסה של JMX.
כדי להפעיל אימות JMX, משתמשים בפקודה הבאה:
> /<inst_root>/apigee/apigee-service/bin/apigee-service comp change_jmx_auth optionsOrConfigFile
כאשר:
- comp הוא edge-management-server, edge-message-processor, edge-router, edge-qpid-server, או edge-postgres-server.
- האפשרויות הן:
- -u: שם משתמש
- -p: סיסמה
- -e: y (הפעלה) או n (השבתה)
- קובץ התצורה כולל:
- JMX_USERNAME=username
- JMX_ENABLED=y/n
- JMX_PASSWORD=password (אם לא הוגדר או לא הועבר עם -p, תתבקשו להזין אותו)
לדוגמה, כדי להשתמש באפשרויות בשורת הפקודה:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -u foo -p bar -e y
אם יש לכם קובץ תצורה:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -f configFile
אם אתם מריצים את Edge בכמה צמתים, צריך להריץ את הפקודה הזו בכל הצמתים, ולציין את אותו שם משתמש ואותה סיסמה.
כדי להשבית את האימות של JMX בהמשך, משתמשים בפקודה:
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -e n
שרת ניהול
שימוש ב-JConsole למעקב אחרי בדיקת התקינות של המערכת ופרטי התהליכים
משתמשים ב-JConsole (כלי תואם JMX) כדי לנהל ולעקוב אחרי בדיקת התקינות והנתונים הסטטיסטיים של התהליך. באמצעות JConsole, אתם יכולים לצרוך נתונים סטטיסטיים של JMX שנחשפים על ידי שרת הניהול (או כל שרת אחר) ולהציג אותם בממשק גרפי. מידע נוסף על השימוש ב-JConsole זמין בכתובת http://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.html.
משתמשים ב-JConsole ובכתובת ה-URL הבאה של השירות כדי לעקוב אחרי מאפייני JMX (MBeans) שמוצעים דרך JMX.
service:jmx:rmi:///jndi/rmi://<ip address>:<port>/platform
כאשר <ip address> היא כתובת ה-IP של שרת הניהול (או השרת המתאים). כברירת מחדל, היציאה היא 1099 לשרת הניהול.
בטבלה הבאה מוצגים הנתונים הסטטיסטיים הגנריים של JMX:
|
JMX MBeans |
מאפייני JMX |
|---|---|
|
זיכרון |
HeapMemoryUsage |
|
NonHeapMemoryUsage |
|
|
שימוש |
|
|
הערה: ערכי המאפיינים יוצגו בארבעה ערכים: committed, init, max ו-used. |
|
שימוש בבדיקות של Edge Application API
כדי לבצע בדיקת API בשרת הניהול (או בכל שרת אחר), מפעילים את פקודת ה-CURL הבאה:
curl http://<host>:8080/v1/servers/self/up
כאשר <host> הוא כתובת ה-IP של שרת הניהול.
הקריאה הזו מחזירה את הערכים "true" ו-"false". אם הערך הוא True, סימן שהצומת פועל ושירות Java פועל.
אם לא מתקבלת תגובת HTTP 200 (OK), סימן שה-Edge לא יכול להגיב לבקשות של יציאה 8080.
פתרון בעיות
- מתחברים לשרת ומריצים את הפקודה הבאה:
/<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server status - אם השירות לא פועל, מפעילים אותו:
/<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server start
שימוש באפליקציית Edge – בדיקות של משתמשים, ארגון ופריסה
לשרת הניהול יש תפקיד חיוני בחיבור כל שאר החבילות בכל התקנה מקומית. כדי לבדוק את הסטטוס של המשתמש, הארגון והפריסה בשרת הניהול, מזינים את הפקודות הבאות:
curl -u userEmail:password http://localhost:8080/v1/users curl -u userEmail:password http://localhost:8080/v1/organizations curl -u userEmail:password http://localhost:8080/v1/organizations/orgname/deployments
המערכת אמורה להציג את הסטטוס "נפרס" לכל הקריאות. אם זה לא עובד, נסו את הפתרונות הבאים:
- בודקים אם יש שגיאות ביומנים של שרת הניהול (ב-<inst_root>/apigee/var/log/edge-management-server).
- מבצעים קריאה לשרת הניהול כדי לבדוק אם הוא פועל כמו שצריך.
- מסירים את השרת מה-ELB ומפעילים מחדש את שרת הניהול.
/<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server restart
נתב
כדי לבצע בדיקת API בנתב (או בכל שרת), מפעילים את פקודת ה-CURL הבאה:
curl http://<host>:8081/v1/servers/self/up
כאשר host הוא כתובת ה-IP של הנתב.
הקריאה הזו מחזירה את הערכים "true" ו-"false". אם הערך הוא True, סימן שהצומת פועל ושירות Java פועל.
אם לא מתקבלת תגובת HTTP 200 (OK), סימן ש-Edge לא יכול להגיב לבקשות של יציאה 8081.
פתרון בעיות
- מתחברים לשרת ומריצים את הפקודות הבאות:
/<inst_root>/apigee/apigee-service/bin/apigee-service edge-router status - אם השירות לא פועל, מפעילים אותו:
/<inst_root>/apigee/apigee-service/bin/apigee-service edge-router start - אם השירות פועל, בודקים שהוא פועל כמו שצריך. כדי לעקוב אחרי סטטוס האשכול, בודקים את memberCount מול reachableCount ושולחים התראה לכל המכונות עם 'memberCount != reachableCount'
curl -v -u <userEmail>:<password> http://localhost:port/v1/cluster
כאשר port – 8081 לנתב ו-8082 למעבד בקשות. הפלט של פקודת ה-CURL שלמעלה מוצג בהמשך:
{
"memberCount" : 12,
"pod" : "rea1gw001",
"reachableCount" : 12,
"region" : "us-east-1",
"types" : [ "management-server" ]
* Connection #0 to host ms05apigee left intact
* Closing connection #0
} - אם הוא לא פועל, מריצים את הפקודה הבאה כדי לבדוק את הכשל או למצוא את החבר הבעייתי.
curl http://localhost:port/v1/cluster/members
כאשר port – 8081 לנתב ו-8082 למעבד בקשות. הפלט של פקודת ה-CURL שלמעלה ייראה כך:
{
"lastChange" : 0,
"latency" : 0,
"state" : "CONNECTED",
"uuid" : "9c4c8bde-0015-4dc5-82d2-59fb326c4074"
}, {
"address" : "/192.168.5.209:4526",
"clusterType" : "router,message-processor",
"lastChange" : 1350658037228,
"latency" : 3,
"pod" : "rea1gw001",
"region" : "us-east-1",
"serverType" : "message-processor",
"state" : "CONNECTED",
"uuid" : "f1c663a1-2bb8-469f-b5fd-69a5c5aa91c5"
}, {
"address" : "/192.168.5.29:4526",
"clusterType" : "router,message-processor",
"lastChange" : 1350623005057,
"latency" : 1,
"pod" : "rea1gw001",
"region" : "us-east-1",
"serverType" : "message-processor",
"state" : " DISCONNECTED ",
"uuid" : "4cfe932b-f644-4581-b1ae-df338af9c7ce"
}, {
"address" : "/192.168.4.182:4526",
"clusterType" : "router,message-processor",
"lastChange" : 1350657730535,
"latency" : 1,
"pod" : "rea1gw001",
"region" : "us-east-1",
"serverType" : "message-processor",
"state" : "CONNECTED",
"uuid" : "cba063d5-b8a4-409f-9e0b-f5d403e02091"
} - שימו לב שכתובת ה-IP 192.168.5.29 מנותקת. מפעילים מחדש את השרת
/<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart
הערה: אם הנתב במצב מנותק, מסירים אותו מה-ELB ומפעילים אותו מחדש. - אחרי ההפעלה מחדש, בודקים שהיא פועלת
curl -v http://localhost:port/v1/cluster
כאשר port הוא 8081 לנתב ו-8082 למעבד בקשות.
מעבד בקשות
שימוש ב-JConsole למעקב אחרי בדיקת התקינות של המערכת ופרטי התהליכים
פועלים לפי אותן ההוראות שמתוארות למעלה לגבי שרת הניהול.
הערה: חשוב להשתמש ביציאה 1101.
שימוש בבדיקות של Edge Application API
פועלים לפי ההוראות שלמעלה לגבי הנתב.
הערה: חשוב להשתמש ביציאה 8082.
שימוש בבדיקות של זרימת הודעות ב-JMX
פועלים לפי אותן ההוראות שמתוארות למעלה לגבי שרת הניהול.
הערה: חשוב להשתמש ביציאה 1101.
שרת Qpid
שימוש ב-JConsole כדי לעקוב אחרי בדיקת התקינות של המערכת ומידע על תהליכים
פועלים לפי אותן ההוראות שמתוארות למעלה לגבי שרת הניהול.
הערה: חשוב להשתמש ביציאה 1102.
שימוש בבדיקות של Edge Application API
פועלים לפי אותן ההוראות שמתוארות למעלה לגבי שרת הניהול.
הערה: חשוב להשתמש ביציאה 8083. אפשר להשתמש בפקודת ה-CURL הבאה גם בשרת Qpid:
curl http://<qpid_IP>:8083/v1/servers/self
שרת Postgres
שימוש ב-JConsole למעקב אחרי בדיקת התקינות של המערכת ופרטי התהליכים
פועלים לפי אותן ההוראות שמתוארות למעלה לגבי שרת הניהול.
הערה: חשוב להשתמש ביציאה 1103.
שימוש בבדיקות של Edge Application API
פועלים לפי אותן ההוראות שמתוארות למעלה לגבי שרת הניהול.
הערה: חשוב להשתמש ביציאה 8084. אפשר להשתמש בפקודת ה-CURL הבאה גם בשרת Postgres:
curl http://<postgres_IP>:8084/v1/servers/self
שימוש ב-Edge בדיקות של הארגון והסביבה של האפליקציה
כדי לבדוק את שם הארגון והסביבה שהוגדרו בשרת Postgres, אפשר להפעיל את פקודות ה-CURL הבאות:
curl http:// <postgres_IP>:8084/v1/servers/self/organizations
הערה: חשוב להשתמש ביציאה 8084.
המערכת אמורה להציג את שם הארגון והסביבה.
שימוש בבדיקת axstatus של אפליקציית Edge
כדי לבדוק את הסטטוס של שרתי הניתוח, אפשר להריץ את פקודת ה-CURL הבאה.
curl -u userEmail:password http://<host>:<port>/v1/organizations/<orgname>/environments/<envname>/provisioning/axstatus
המערכת אמורה להציג את הסטטוס SUCCESS לכל שרתי הניתוח. הפלט של פקודת ה-CURL שלמעלה מוצג בהמשך:
{
"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
שימוש בסקריפט check_postgres.pl
כדי לעקוב אחרי מסד הנתונים של PostgreSQL, אתם יכולים להשתמש בסקריפט המעקב הרגיל check_postgres.pl שזמין בכתובת http://bucardo.org/wiki/Check_postgres.
הערה: צריך להתקין את הסקריפט check_postgres.pl בכל צומת של Postgres.
לפני שמריצים את הסקריפט:
- מוודאים שהתקנתם את perl-Time-HiRes.x86_64, מודול Perl שמטמיע התראות, שינה, gettimeofday וטיימרים לאינטרוולים ברזולוציה גבוהה. לדוגמה, אפשר להתקין אותו באמצעות הפקודה הבאה:
yum install perl-Time-HiRes.x86_64
פלט ברירת המחדל של הקריאות ל-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
הערה: אם אתם צריכים עזרה בשימוש בפקודות שלמעלה, תוכלו להיעזר בכתובת http://bucardo.org/check_postgres/check_postgres.pl.html.
בדיקות DB
אתם יכולים לוודא שהטבלאות המתאימות נוצרו במסד הנתונים של PostgreSQL. מתחברים למסד הנתונים של PostgreSQL באמצעות:
psql -h /opt/apigee/var/run/apigee-postgresql/ -U apigee -d apigee
ואז מריצים את הפקודה:
\d analytics."<org>.<env>.fact"
בדיקת סטטוס התקינות של תהליך postgres
כדי לבדוק את ה-API במכונת Postgres, מפעילים את פקודת ה-CURL הבאה:
http://<postgres_IP>:8084/v1/servers/self/health/
הערה: חשוב להשתמש ביציאה 8084.
היא מחזירה את הסטטוס ACTIVE כשתהליך postgres פעיל. אם תהליך ה-postgres לא פועל, הוא מחזיר את הסטטוס INACTIVE.
מקורות מידע על 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
Apache Cassandra
שימוש ב-JConsole – מעקב אחרי נתונים סטטיסטיים של משימות
משתמשים ב-JConsole ובכתובת ה-URL הבאה של השירות כדי לעקוב אחרי מאפייני JMX (MBeans) שמוצעים דרך JMX.
service:jmx:rmi:///jndi/rmi://<ip address>:7199/jmxrmi
כאשר <ip address> היא כתובת ה-IP של שרת Cassandra.
JMX מופעל כברירת מחדל ב-Cassandra, וגישה מרחוק ל-Cassandra באמצעות JMX לא דורשת סיסמה.
כדי להפעיל אימות JMX ולהוסיף סיסמה:
- עורכים את הקובץ /<inst_root>/apigee/customer/application/cassandra.properties. אם הקובץ לא קיים, יוצרים אותו.
- מוסיפים את הטקסט הבא לקובץ:
conf_cassandra-env_com.sun.management.jmxremote.authenticate=true - שומרים את הקובץ.
- מעתיקים את הקבצים הבאים מהספרייה $JAVA_HOME אל
/<inst_root>/apigee/data/apigee-cassandra/:
cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/data/apigee-cassandra/jmxremote.password
cp ${JAVA_HOME}/lib/management/jmxremote.access $APIGEE_ROOT/data/apigee-cassandra/jmxremote.access - עורכים את jmxremote.password ומוסיפים לקובץ את שם המשתמש והסיסמה:
cassandra password
כאשר password היא הסיסמה של JMX. - עורכים את jmxremote.access ומוסיפים את התפקיד הבא:
cassandra readwrite - מוודאים שהקבצים נמצאים בבעלות של apigee ושהמצב של הקובץ הוא 400:
> chown apigee:apigee /<inst_root>/apigee/data/apigee-cassandra/jmxremote.*
> chmod 400 /<inst_root>/apigee/data/apigee-cassandra/jmxremote.* - מריצים את הפקודה configure ב-Cassandra:
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra configure - מפעילים מחדש את Cassandra:
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
כדי להשבית את האימות בשלב מאוחר יותר:
- עורכים את הקובץ <inst_root>/apigee/customer/application/cassandra.properties.
- מסירים את השורה הבאה בקובץ:
conf_cassandra-env_com.sun.management.jmxremote.authenticate=true - מריצים את הפקודה configure ב-Cassandra:
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra configure - מפעילים מחדש את Cassandra:
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
נתונים סטטיסטיים של Cassandra JMX
|
JMX MBeans |
מאפייני JMX |
|---|---|
|
ColumnFamilies/apprepo/environments ColumnFamilies/apprepo/organizations ColumnFamilies/apprepo/apiproxy_revisions ColumnFamilies/apprepo/apiproxies ColumnFamilies/audit/audits ColumnFamilies/audit/audits_ref |
PendingTasks |
|
MemtableColumnsCount |
|
|
MemtableDataSize |
|
|
ReadCount |
|
|
RecentReadLatencyMicros |
|
|
TotalReadLatencyMicros |
|
|
WriteCount |
|
|
RecentWriteLatencyMicros |
|
|
TotalWriteLatencyMicros |
|
|
TotalDiskSpaceUsed |
|
|
LiveDiskSpaceUsed |
|
|
LiveSSTableCount |
|
|
BloomFilterFalsePositives |
|
|
RecentBloomFilterFalseRatio |
|
|
BloomFilterFalseRatio |
שימוש בכלי nodetool לניהול צמתים באשכול
כדי לנהל את הצמתים של האשכול, משתמשים בכלי nodetool, שהוא ממשק שורת פקודה ל-Cassandra. הכלי נמצא בנתיב <inst_root>/apigee/apigee-cassandra/bin.
מידע נוסף על כלי השירות nodetool זמין בכתובת http://www.datastax.com/docs/1.0/references/nodetool.
אפשר לבצע את הקריאות הבאות בכל הצמתים של אשכול Cassandra:
- מידע כללי על הטבעת (אפשר גם לצומת Cassandra יחיד): מחפשים את המילים Up ו-Normal לכל הצמתים.
[host]# nodetool -h localhost ring
הפלט של הפקודה שלמעלה נראה כך:
Address DC Rack Status State Load Owns Token
192.168.124.201 dc1 ra1 Up Normal 1.67 MB 33,33% 0
192.168.124.202 dc1 ra1 Up Normal 1.68 MB 33,33% 56713727820156410577229101238628035242
192.168.124.203 dc1 ra1 Up Normal 1.67 MB 33,33% 113427455640312821154458202477256070484 - מידע כללי על צמתים (קריאה לכל צומת)
nodetool -h localhost info
הפלט של הפקודה שלמעלה נראה כך:
טוקן : 0
Gossip active : TRUE
Load : 1.67 MB
Generation No : 1361968765
זמן פעולה תקינה (seconds) : 78108
Heap Memory (MB) : 46,80 / 772,00
מרכז נתונים : dc1
Rack : ra1
חריגים : 0 - הסטטוס של שרת ה-thrift (משרת את ה-API של הלקוח)
host]# nodetool -h localhost statusthrift
הפלט של הפקודה שלמעלה מציג את הסטטוס "running" (פועל). - סטטוס הפעולות של העברת הנתונים: צפייה בתנועה בצומתי Cassandra
nodetool -h localhost netstats 192.168.124.203
הפלט של הפקודה שלמעלה נראה כך:
Mode: NORMAL
Nothing streaming to /192.168.124.203
Nothing streaming from /192.168.124.203
Pool Name Active Pending Completed
Commands n/a 0 1688
Responses n/a 0 292277
מעקב אחרי Cassandra (ממשק משתמש)
אפשר לעיין בכתובת ה-URL של datastax opscenter: http://www.datastax.com/products/opscenter.
משאב Cassandra
אפשר לעיין בכתובת ה-URL הבאה: http://www.datastax.com/docs/1.0/operations/monitoring.
Apache ZooKeeper
בדיקת הסטטוס של ZooKeeper
- מוודאים שתהליך ZooKeeper פועל. ZooKeeper כותב קובץ PID בנתיב <inst_root>/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid.
- בודקים את היציאות של ZooKeeper כדי לוודא שאפשר ליצור חיבור TCP ליציאות 2181 ו-3888 בכל שרת ZooKeeper.
- מוודאים שאפשר לקרוא ערכים ממסד הנתונים של ZooKeeper. מתחברים באמצעות ספריית לקוח של ZooKeeper (או /<inst_root>/apigee/apigee-zookeeper/bin/zkCli.sh) וקוראים ערך ממסד הנתונים.
- בודקים את הסטטוס:
> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-zookeeper status
שימוש בפקודות של ZooKeeper באורך 4 אותיות
אפשר לעקוב אחרי ZooKeeper באמצעות קבוצה קטנה של פקודות (מילים בנות ארבע אותיות) שנשלחות ליציאה 2181 באמצעות netcat (nc) או telnet.
מידע נוסף על פקודות ZooKeeper זמין בכתובת: http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands.
לדוגמה:
- 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
הערה: לפעמים חשוב לבדוק אם ZooKeeper נמצא במצב leader, follower או observer. - אם 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
OpenLDAP
בדיקת רמת 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@apigee.com - בודקים אם שרת הניהול עדיין מחובר לבעיית LDAP:
curl -u <userEMail>:<password> http://localhost:8080/v1/users/<ADMIN>
התוצאה:
{
"emailId" : <ADMIN>,
"firstName" : "admin",
"lastName" : "admin"
}
אפשר גם לעקוב אחרי המטמונים של OpenLDAP, שעוזרים לצמצם את מספר הגישות לדיסק וכך לשפר את ביצועי המערכת. מעקב אחרי גודל המטמון בשרת OpenLDAP וכוונון שלו יכולים להשפיע מאוד על הביצועים של שרת הגילוי. אפשר להציג את קובצי היומן (<inst_root>/apigee/var/log) כדי לקבל מידע על המטמון.