Edge for Private Cloud v4.18.05
เอกสารนี้อธิบายเทคนิคการตรวจสอบคอมโพเนนต์ที่รองรับโดยการติดตั้งใช้งาน Apigee Edge ภายในองค์กร
ภาพรวม
Edge รองรับวิธีต่างๆ ในการดูรายละเอียดเกี่ยวกับบริการ รวมถึงตรวจสอบสถานะบริการ ตารางต่อไปนี้แสดงประเภทการตรวจสอบที่คุณทำได้ในบริการที่มีสิทธิ์แต่ละรายการ
บริการ | JMX:* การใช้งานหน่วยความจำ |
Mgmt API: การตรวจสอบบริการ |
Mgmt API: สถานะผู้ใช้/องค์กร/ การติดตั้งใช้งาน |
API การจัดการ: axstatus |
การตรวจสอบฐานข้อมูล | สถานะ apigee-service |
---|---|---|---|---|---|---|
เซิร์ฟเวอร์การจัดการ | ||||||
Message Processor | ||||||
Postgres | ||||||
Qpid | ||||||
เราเตอร์ | ||||||
ข้อมูลเพิ่มเติม | ข้อมูลเพิ่มเติม | ข้อมูลเพิ่มเติม | ข้อมูลเพิ่มเติม | ข้อมูลเพิ่มเติม | ข้อมูลเพิ่มเติม | |
* คุณต้องเปิดใช้ JMX ก่อนจึงจะใช้ได้ ตามที่อธิบายไว้ในเปิดใช้ JMX |
พอร์ตการตรวจสอบ JMX และ Management API
คอมโพเนนต์แต่ละรายการรองรับการเรียกการตรวจสอบ JMX และ Management API ในพอร์ตต่างๆ ตารางต่อไปนี้แสดงพอร์ต JMX และ Management API สำหรับเซิร์ฟเวอร์แต่ละประเภท
ส่วนประกอบ | พอร์ต JMX | พอร์ต Management API |
---|---|---|
เซิร์ฟเวอร์การจัดการ | 1099 | 8080 |
เราเตอร์ | 1100 | 8081 |
Message Processor | 1101 | 8082 |
Qpid | 1102 | 8083 |
Postgres | 1103 | 8084 |
ใช้ JMX
กระบวนการตรวจสอบสำหรับเซิร์ฟเวอร์การจัดการ, Message Processor, 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
- Message Processor:
/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
- เซิร์ฟเวอร์การจัดการ:
- เพิ่มตัวเลือก
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 MBean | แอตทริบิวต์ 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 |
แสดงข้อมูลเกี่ยวกับบริการ ซึ่งรวมถึงข้อมูลต่อไปนี้
การเรียก 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 เพื่อตรวจสอบสถานะผู้ใช้ องค์กร และการติดตั้งใช้งานของพร็อกซีในเซิร์ฟเวอร์การจัดการและโปรแกรมประมวลผลข้อความได้โดยออกคำสั่งต่อไปนี้
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
- Message Processor:
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
- Message Processor:
edge-message-processor
- Postgres:
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 ที่ใช้ตัวจับเวลาการปลุก การทำงานแบบพักชั่วคราว gettimeofday และช่วงเวลาที่มีความละเอียดสูง เช่น คุณจะติดตั้งโดยใช้คำสั่งต่อไปนี้ก็ได้
yum install perl-Time-HiRes.x86_64
- CentOS 7: ก่อนใช้ check_postgres.pl ใน CentOS v7 ให้ติดตั้ง RPM
perl-Data-Dumper.x86_64
เอาต์พุต 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"
ตรวจสอบสถานะประสิทธิภาพของกระบวนการ postgres
คุณสามารถตรวจสอบ 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
Apache Cassandra
ใช้ JConsole: ตรวจสอบสถิติงาน
ใช้ JConsole และ URL บริการต่อไปนี้เพื่อตรวจสอบแอตทริบิวต์ JMX (MBean) ที่ให้บริการผ่าน 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/environments ColumnFamilies/apprepo/organizations ColumnFamilies/apprepo/apiproxy_revisions ColumnFamilies/apprepo/apiproxies ColumnFamilies/audit/audits ColumnFamilies/ตรวจสอบ/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 ทั้งหมดได้
- ข้อมูลทั่วไปของเสียงเรียกเข้า (สำหรับโหนด 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
- ข้อมูลทั่วไปเกี่ยวกับโหนด (การเรียกต่อโหนด)
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
- สถานะการดําเนินการสตรีมข้อมูล: ดูการเข้าชมของโหนด 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 (UI)
โปรดดู URL ของ OpsCenter ใน Datastax: http://www.datastax.com/products/opscenter
แหล่งข้อมูล Cassandra
โปรดดู URL ต่อไปนี้ http://www.datastax.com/docs/1.0/operations/monitoring
Apache ZooKeeper
ตรวจสอบสถานะ ZooKeeper
- ตรวจสอบว่ากระบวนการ ZooKeeper ทำงานอยู่ ZooKeeper จะเขียนไฟล์ PID ไปยัง
opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid
- ทดสอบพอร์ต ZooKeeper เพื่อให้แน่ใจว่าคุณสร้างการเชื่อมต่อ TCP กับพอร์ต 2181 และ 3888 ในเซิร์ฟเวอร์ ZooKeeper ทุกเครื่องได้
- ตรวจสอบว่าคุณอ่านค่าจากฐานข้อมูล ZooKeeper ได้ เชื่อมต่อโดยใช้ไลบรารีไคลเอ็นต์ ZooKeeper (หรือ
/opt/apigee/apigee-zookeeper/bin/zkCli.sh
) และอ่านค่าจากฐานข้อมูล - ตรวจสอบสถานะ ดังนี้
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper status
ใช้คำที่มีตัวอักษร 4 ตัวของ ZooKeeper
คุณตรวจสอบ ZooKeeper ได้ผ่านชุดคำสั่งขนาดเล็ก (คำ 4 ตัวอักษร) ที่ส่งไปยังพอร์ต 2181 โดยใช้ netcat (nc) หรือ telnet
ดูข้อมูลเพิ่มเติมเกี่ยวกับคําสั่ง ZooKeeper ได้ที่ข้อมูลอ้างอิงคําสั่ง Apache ZooKeeper
เช่น
srvr
: แสดงรายละเอียดทั้งหมดสำหรับเซิร์ฟเวอร์stat
: แสดงรายละเอียดสั้นๆ ของเซิร์ฟเวอร์และไคลเอ็นต์ที่เชื่อมต่อ
คุณสามารถส่งคำสั่งต่อไปนี้ไปยังพอร์ต ZooKeeper
- เรียกใช้คําสั่ง 4 อักขระ ruok เพื่อทดสอบว่าเซิร์ฟเวอร์ทํางานอยู่ในสถานะที่ไม่มีข้อผิดพลาดหรือไม่ การตอบกลับที่สำเร็จจะแสดงผลเป็น "imok"
echo ruok | nc host 2181
ค่าที่ส่งคืน:
imok
- เรียกใช้คำสั่ง 4 ตัวอักษร
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 ต่อไปนี้
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
) เพื่อดูข้อมูลเกี่ยวกับแคช