Edge สำหรับ Private Cloud เวอร์ชัน 4.18.05
เอกสารนี้อธิบายเทคนิคการตรวจสอบคอมโพเนนต์ที่รองรับโดยการติดตั้งใช้งาน Apigee Edge ภายในองค์กร
ภาพรวม
Edge รองรับวิธีต่างๆ ในการรับรายละเอียดเกี่ยวกับบริการ รวมถึงการตรวจสอบสถานะ ตารางต่อไปนี้แสดงประเภทการตรวจสอบที่คุณทำได้กับบริการที่มีสิทธิ์แต่ละรายการ
บริการ | JMX:* การใช้งานหน่วยความจำ |
API การจัดการ: การตรวจสอบบริการ |
API การจัดการ: สถานะผู้ใช้/องค์กร/ การทำให้ใช้งานได้ |
API การจัดการ: axstatus |
การตรวจสอบฐานข้อมูล | สถานะ apigee-service |
---|---|---|---|---|---|---|
เซิร์ฟเวอร์การจัดการ | ||||||
Message Processor | ||||||
Postgres | ||||||
Qpid | ||||||
เราเตอร์ | ||||||
ข้อมูลเพิ่มเติม | ข้อมูลเพิ่มเติม | ข้อมูลเพิ่มเติม | ข้อมูลเพิ่มเติม | ข้อมูลเพิ่มเติม | ข้อมูลเพิ่มเติม | |
* ก่อนใช้ JMX ได้ คุณต้องเปิดใช้ JMX ตามที่อธิบายไว้ในเปิดใช้ JMX |
พอร์ตการตรวจสอบ JMX และ Management API
คอมโพเนนต์แต่ละรายการรองรับการเรียกใช้การตรวจสอบ JMX และ Management API ในพอร์ตที่ต่างกัน ตารางต่อไปนี้แสดงพอร์ต JMX และ Management API สำหรับเซิร์ฟเวอร์แต่ละประเภท
ส่วนประกอบ | พอร์ต JMX | พอร์ตการจัดการ API |
---|---|---|
เซิร์ฟเวอร์การจัดการ | 1099 | 8080 |
เราเตอร์ | 1100 | 8081 |
Message Processor | 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 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"
ตัวอย่างต่อไปนี้ได้รับข้อมูลเกี่ยวกับ Message Processor ที่ 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
- ตัวประมวลผลข้อความ:
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 คือพอร์ตการจัดการ API สำหรับบริการ
ตัวอย่างนี้สมมติว่าคุณลงชื่อเข้าสู่ระบบเซิร์ฟเวอร์แล้วและจะใช้ "localhost" เป็นชื่อโฮสต์ได้ หากต้องการตรวจสอบสถานะจากระยะไกลด้วย Management API คุณต้องระบุที่อยู่ IP ของเซิร์ฟเวอร์และใส่ชื่อผู้ใช้และรหัสผ่านของผู้ดูแลระบบในการเรียก API ของคุณ
การตรวจสอบจาก Postgres
Postgres รองรับยูทิลิตีหลายรายการที่คุณใช้ตรวจสอบสถานะได้ ยูทิลิตีเหล่านี้มีอธิบายไว้ในส่วนถัดไป
ตรวจสอบองค์กรและสภาพแวดล้อมใน Postgres
คุณสามารถตรวจสอบชื่อองค์กรและสภาพแวดล้อมที่เริ่มต้นใช้งานบนเซิร์ฟเวอร์ Postgres ได้ด้วยการออกคำสั่ง curl
ต่อไปนี้
curl -v http://postgres_IP:8084/v1/servers/self/organizations
ระบบควรแสดงชื่อองค์กรและสภาพแวดล้อม
ยืนยันสถานะ Analytics
คุณยืนยันสถานะของเซิร์ฟเวอร์การวิเคราะห์ 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 ให้ติดตั้ง
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"
ตรวจสอบสถานะความสมบูรณ์ของกระบวนการ 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
อาปาเช่ คาสซานดรา
ใช้ 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 MBean | แอตทริบิวต์ JMX |
---|---|
ColumnFamilies/แอป/สภาพแวดล้อม ColumnFamilies/แอป/องค์กร ColumnFamilies/apprepo/apiproxy_revisions ColumnFamilies/apprepo/apiproxies ColumnFamilies/การตรวจสอบ/การตรวจสอบ 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 ทั้งหมด
- ข้อมูลวงแหวนทั่วไป (ใช้ได้ด้วยโหนด 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
- สถานะของเซิร์ฟเวอร์การส่งต่อ (กำลังให้บริการ 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 ของ 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 ไปยัง
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
- เรียกใช้ ruok คำสั่ง 4 ตัวอักษรเพื่อทดสอบว่าเซิร์ฟเวอร์ทำงานด้วยสถานะที่ไม่ใช่ข้อผิดพลาดหรือไม่ การตอบกลับที่สำเร็จจะแสดง "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
) เพื่อรับข้อมูลเกี่ยวกับแคชได้