เอกสารนี้อธิบายเทคนิคการตรวจสอบของคอมโพเนนต์ที่รองรับโดยการติดตั้งใช้งาน Apigee Edge ภายในองค์กรสำหรับ Private Cloud
ภาพรวม
Edge รองรับวิธีต่างๆ ในการรับรายละเอียดเกี่ยวกับบริการ รวมถึงการตรวจสอบสถานะ ตารางต่อไปนี้แสดงประเภทการตรวจสอบที่คุณทําได้กับบริการที่มีสิทธิ์แต่ละรายการ
Mgmt API | |||||||
ส่วนประกอบ | การใช้งานหน่วยความจำ [JMX*] | การตรวจสอบบริการ | สถานะผู้ใช้/องค์กร/ การทำให้ใช้งานได้ | สถานะ | การตรวจสอบฐานข้อมูล | สถานะ apigee-service |
apigee-monit ** |
เซิร์ฟเวอร์การจัดการ | |||||||
Message Processor | |||||||
เราเตอร์ | |||||||
Qpid | |||||||
Postgres | |||||||
ข้อมูลเพิ่มเติม | ข้อมูลเพิ่มเติม | ข้อมูลเพิ่มเติม | ข้อมูลเพิ่มเติม | ข้อมูลเพิ่มเติม | ข้อมูลเพิ่มเติม | ข้อมูลเพิ่มเติม | |
* ก่อนที่จะใช้ JMX ได้ คุณต้องเปิดใช้ตามที่อธิบายไว้ในเปิดใช้ JMX ** บริการของ |
การตรวจสอบพอร์ตและไฟล์การกำหนดค่า
คอมโพเนนต์แต่ละรายการรองรับการเรียกใช้ Java Management Extensions (JMX) และ Management API ในการเรียก พอร์ตที่ต่างกัน ตารางต่อไปนี้แสดงพอร์ต JMX และ Management API สำหรับตำแหน่งของเซิร์ฟเวอร์และไฟล์การกำหนดค่าแต่ละประเภท
ส่วนประกอบ | พอร์ต JMX | พอร์ต Management API | ตำแหน่งไฟล์การกำหนดค่า |
---|---|---|---|
เซิร์ฟเวอร์การจัดการ | 1099 | 8080 | $APIGEE_ROOT/customer/application/management-server.properties |
Message Processor | 1101 | 8082 | $APIGEE_ROOT/customer/application/message-processor.properties |
เราเตอร์ | 1100 | 8081 | $APIGEE_ROOT/customer/application/router.properties |
Qpid | 1102 | 8083 | $APIGEE_ROOT/customer/application/qpid-server.properties |
Postgres | 1103 | 8084 | $APIGEE_ROOT/customer/application/postgres-server.properties |
ใช้ JMX เพื่อตรวจสอบคอมโพเนนต์
ส่วนต่อไปนี้จะอธิบายวิธีใช้ JMX เพื่อตรวจสอบคอมโพเนนต์ Edge
เปิดใช้ JMX
หากต้องการเปิดใช้ JMX โดยไม่มีการตรวจสอบสิทธิ์หรือการสื่อสารที่ใช้ SSL ให้ทำตามขั้นตอนด้านล่าง หมายเหตุ: ในระบบที่ใช้งานจริง ควรเปิดใช้ทั้งการตรวจสอบสิทธิ์ที่เข้ารหัสและ SSL เพื่อความปลอดภัย
- แก้ไขไฟล์การกำหนดค่าที่เหมาะสม (ดู
การอ้างอิงไฟล์การกำหนดค่า) สร้างไฟล์การกำหนดค่าหากยังไม่มี
conf_system_jmxremote_enable=true
- บันทึกไฟล์การกำหนดค่าและตรวจสอบว่า
apigee:apigee
เป็นเจ้าของไฟล์ดังกล่าว - รีสตาร์ทคอมโพเนนต์ Edge ที่เหมาะสม
apigee-service edge-management-server restart
หากต้องการปิดใช้ JMX ให้นำพร็อพเพอร์ตี้ conf_system_jmxremote_enable
ออกหรือเปลี่ยนค่าเป็น false
จากนั้นรีสตาร์ทคอมโพเนนต์ Edge ที่เหมาะสม
การตรวจสอบสิทธิ์ใน JMX
Edge for Private Cloud รองรับการตรวจสอบสิทธิ์ด้วยรหัสผ่านโดยใช้รายละเอียดที่จัดเก็บไว้ในไฟล์ คุณสามารถจัดเก็บรหัสผ่านเป็นแฮชเพื่อเพิ่มความปลอดภัยได้
- หากต้องการเปิดใช้การตรวจสอบสิทธิ์ JMX ในคอมโพเนนต์ EDGE-* ให้แก้ไขไฟล์การกำหนดค่าที่เหมาะสม (ดู
การอ้างอิงไฟล์การกำหนดค่า) สร้างไฟล์การกำหนดค่าในกรณีที่ไม่มีอยู่ โดยทำดังนี้
conf_system_jmxremote_enable=true conf_system_jmxremote_authenticate=true conf_system_jmxremote_encrypted_auth=true conf_system_jmxremote_access_file=/opt/apigee/customer/application/management-server/jmxremote.access conf_system_jmxremote_password_file=/opt/apigee/customer/application/management-server/jmxremote.password
บันทึกไฟล์การกำหนดค่าและตรวจสอบว่าapigee:apigee
เป็นเจ้าของไฟล์นั้น - สร้างแฮช SHA256 ของรหัสผ่าน:
echo -n '
' | openssl dgst -sha256 - สร้างไฟล์
jmxremote.password
ด้วยข้อมูลเข้าสู่ระบบของผู้ใช้ JMX ดังนี้- คัดลอกไฟล์ต่อไปนี้จากไดเรกทอรี
$JAVA_HOME
ไปยัง ไดเรกทอรี/opt/apigee/customer/application/<component>/
:cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/management-server/jmxremote.password
- แก้ไขไฟล์และเพิ่มชื่อผู้ใช้และรหัสผ่าน JMX โดยใช้ไวยากรณ์ต่อไปนี้
USERNAME <HASH-PASSWORD>
- ตรวจสอบว่าไฟล์เป็นของ
apigee
และโหมดไฟล์เป็น 400:chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.password
- คัดลอกไฟล์ต่อไปนี้จากไดเรกทอรี
- สร้างไฟล์
jmxremote.access
ที่มีสิทธิ์ของผู้ใช้ JMX ดังนี้- คัดลอกไฟล์ต่อไปนี้จากไดเรกทอรี $JAVA_HOME ไปยัง
ไดเรกทอรี
/opt/apigee/customer/application/<component>/
cp ${JAVA_HOME}/lib/management/jmxremote.access$APIGEE_ROOT/customer/application/management-server/jmxremote.password/jmxremote.access
- แก้ไขไฟล์และเพิ่มชื่อผู้ใช้ JMX ตามด้วยสิทธิ์ (READONLY/READWRITE)
USERNAME READONLY
- ตรวจสอบว่าไฟล์เป็นของ
apigee
และโหมดไฟล์เป็น 400:chown apigee:apigee $APIGEE_ROOT/customer/application/management-server/jmxremote.password chmod 400 $APIGEE_ROOT/customer/application/management-server/jmxremote.access
- คัดลอกไฟล์ต่อไปนี้จากไดเรกทอรี $JAVA_HOME ไปยัง
ไดเรกทอรี
- รีสตาร์ทคอมโพเนนต์ Edge ที่เหมาะสม
apigee-service edge-management-server restart
หากต้องการปิดใช้การตรวจสอบสิทธิ์ JMX ให้นำพร็อพเพอร์ตี้ conf_system_jmxremote_authenticate
ออกหรือเปลี่ยนค่าเป็น false
แล้วรีสตาร์ทคอมโพเนนต์ Edge ที่เหมาะสม
SSL ใน JMX
วิธีเปิดใช้ JMX ที่ใช้ SSL ในคอมโพเนนต์ edge-*
- แก้ไขไฟล์การกำหนดค่าที่เหมาะสม (ดู
การอ้างอิงไฟล์การกำหนดค่า) สร้างไฟล์การกำหนดค่าในกรณีที่ไม่มีอยู่ โดยทำดังนี้
conf_system_jmxremote_enable=true conf_system_jmxremote_ssl=true conf_system_javax_net_ssl_keystore=/opt/apigee/customer/application/management-server/jmxremote.keystore conf_system_javax_net_ssl_keystorepassword=<keystore-password>
บันทึกไฟล์การกำหนดค่าและตรวจสอบว่าapigee:apigee
เป็นเจ้าของไฟล์นั้น - เตรียมคีย์สโตร์ที่มีคีย์เซิร์ฟเวอร์ แล้ววางไว้ที่เส้นทางที่ระบุไว้ในการกำหนดค่า
conf_system_javax_net_ssl_keystore
ด้านบน ตรวจสอบว่าapigee:apigee
อ่านไฟล์คีย์สโตร์ได้ - รีสตาร์ทคอมโพเนนต์ Edge ที่เหมาะสม
apigee-service edge-management-server restart
หากต้องการปิดใช้ JMX แบบ SSL ให้นำพร็อพเพอร์ตี้ conf_system_jmxremote_ssl
ออกหรือเปลี่ยนค่าเป็น false
รีสตาร์ทคอมโพเนนต์ Edge ที่เหมาะสม
การตรวจสอบผ่าน Jconsole
วิธีการตรวจสอบผ่าน jconsole ยังคงเหมือนเดิมตามที่อธิบายไว้ใน https://docs.apigee.com/private-cloud/v4.52.01/how-monitor#jconsole
โดยเพิ่มได้บรรทัดหนึ่งว่า “jconsole จะต้องเริ่มต้นด้วยรหัสผ่าน Truststore และ Truststore หากเปิดใช้ SSL สำหรับ JMX” อ้างอิงข้อมูลได้ที่ https://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.htmlตรวจสอบด้วย JConsole
ใช้ JConsole (เครื่องมือที่เป็นไปตามข้อกำหนดของ JMX) เพื่อจัดการและตรวจสอบสถิติการตรวจสอบประสิทธิภาพและการประมวลผล การใช้ JConsole ช่วยให้คุณสามารถดูสถิติ JMX ที่เซิร์ฟเวอร์เห็นและแสดงในอินเทอร์เฟซแบบกราฟิกได้ ดูข้อมูลเพิ่มเติมได้ที่การใช้ JConsole
คุณต้องเริ่ม JConsole ด้วยรหัสผ่าน Truststore และ Truststore หากเปิดใช้ SSL สำหรับ 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 |
|
การใช้งาน |
|
การอ้างอิงไฟล์การกำหนดค่า
ส่วนต่อไปนี้จะอธิบายการเปลี่ยนแปลงที่คุณอาจต้องทำกับไฟล์การกำหนดค่าคอมโพเนนต์ Edge สำหรับการกำหนดค่าที่เกี่ยวข้องกับ JMX ดูข้อมูลเพิ่มเติมได้ที่การตรวจสอบพอร์ตและไฟล์การกำหนดค่า
การกำหนดค่า JMX ที่จะเพิ่มไปยังไฟล์การกำหนดค่าของคอมโพเนนต์ที่เหมาะสม
- เปิดใช้ Agent JMX บนคอมโพเนนต์ EDGE เท็จโดยค่าเริ่มต้น
conf_system_jmxremote_enable=true
การกำหนดค่าสำหรับการตรวจสอบสิทธิ์ด้วยรหัสผ่าน
- เปิดใช้การตรวจสอบสิทธิ์ด้วยรหัสผ่าน เท็จโดยค่าเริ่มต้น
conf_system_jmxremote_authenticate=true
- เส้นทางในการเข้าถึงไฟล์ ผู้ใช้ Apigee เท่านั้นที่จะเป็นเจ้าของและอ่านได้
conf_system_jmxremote_access_file=/opt/apigee/customer/application/management-server/jmxremote.access
- เส้นทางไปยังไฟล์รหัสผ่าน ผู้ใช้ Apigee เท่านั้นที่จะเป็นเจ้าของและอ่านได้
conf_system_jmxremote_password_file=/opt/apigee/customer/application/management-server/jmxremote.password
- เปิดใช้งานการจัดเก็บรหัสผ่านในรูปแบบที่เข้ารหัส เท็จโดยค่าเริ่มต้น
conf_system_jmxremote_encrypted_auth=true
การกำหนดค่าสำหรับ JMX แบบ SSL
- เปิดใช้งาน SSL สำหรับการสื่อสาร JMX เท็จโดยค่าเริ่มต้น
conf_system_jmxremote_ssl=true
- เส้นทางไปยังคีย์สโตร์ ผู้ใช้ Apigee เท่านั้นที่จะเป็นเจ้าของและอ่านได้
conf_system_javax_net_ssl_keystore=/opt/apigee/customer/application/management-server/jmxremote.keystore
- รหัสผ่านคีย์สโตร์:
conf_system_javax_net_ssl_keystorepassword=changeme
การกำหนดค่า JMX ที่ไม่บังคับ
ค่าที่แสดงเป็นค่าเริ่มต้นและเปลี่ยนแปลงได้
- พอร์ต JMX ค่าเริ่มต้นแสดงอยู่ในตารางด้านล่าง
conf_system_jmxremote_port=
- พอร์ต JMX RMI โดยค่าเริ่มต้น กระบวนการของ Java จะเลือกพอร์ตแบบสุ่ม
conf_system_jmxremote_rmi_port=
- ชื่อโฮสต์สำหรับต้นขั้วระยะไกล ที่อยู่ IP เริ่มต้นของ localhost
conf_system_java_rmi_server_hostname=
- ปกป้องรีจิสทรี JMX ด้วย SSL เท็จเริ่มต้น ใช้ได้เฉพาะเมื่อเปิดใช้งาน SSL เท่านั้น
conf_system_jmxremote_registry_ssl=false
ตรวจสอบด้วย 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 สำหรับ Management Server หรือ 8082 สำหรับ Message Processor
การโทรนี้กำหนดให้คุณต้องตรวจสอบสิทธิ์ด้วยชื่อผู้ใช้และรหัสผ่านการดูแลระบบ
เซิร์ฟเวอร์ควรคืนค่าสถานะ "ทำให้ใช้งานได้แล้ว" สำหรับการเรียกทั้งหมด หากทำไม่สำเร็จ ให้ดำเนินการดังนี้
- ตรวจสอบบันทึกของเซิร์ฟเวอร์เพื่อดูข้อผิดพลาด บันทึกจะอยู่ที่
- เซิร์ฟเวอร์การจัดการ:
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
- 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
โดยระบบควรแสดงชื่อองค์กรและสภาพแวดล้อม
ยืนยันสถานะ 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 ที่ใช้นาฬิกาปลุกความละเอียดสูง โหมดสลีป การรับข้อมูลระหว่างวัน และตัวจับเวลาแบบช่วงเวลา ตัวอย่างเช่น คุณติดตั้งได้โดยใช้คำสั่งต่อไปนี้
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
อาปาเช่ คาสซานดรา
JMX เปิดใช้อยู่โดยค่าเริ่มต้นสำหรับ Cassandra และการเข้าถึง JMX ระยะไกลใน Cassandra ไม่ต้องใช้รหัสผ่าน
เปิดใช้การตรวจสอบสิทธิ์ JMX สำหรับ Cassandra
คุณเปิดใช้การตรวจสอบสิทธิ์ JMX สำหรับ Cassandra ได้ หลังจากดำเนินการดังกล่าว คุณจะต้องส่งชื่อผู้ใช้และรหัสผ่านไปยังการเรียกทั้งหมดไปยังยูทิลิตี้ Nodetool
วิธีเปิดใช้การตรวจสอบสิทธิ์ JMX สำหรับ Cassandra
- สร้างและแก้ไขไฟล์
cassandra.properties
โดยทำดังนี้- แก้ไขไฟล์
/opt/apigee/customer/application/cassandra.properties
หากไม่มี ให้สร้างไฟล์ดังกล่าว - เพิ่มข้อมูลต่อไปนี้ลงในไฟล์
conf_cassandra_env_com.sun.management.jmxremote.authenticate=true conf_cassandra_env_com.sun.management.jmxremote.password.file=${APIGEE_ROOT}/customer/application/apigee-cassandra/jmxremote.password conf_cassandra_env_com.sun.management.jmxremote.access.file=${APIGEE_ROOT}/customer/application/apigee-cassandra/jmxremote.access
- บันทึกไฟล์
cassandra.properties
- เปลี่ยนเจ้าของไฟล์เป็น
apigee:apigee
ตามตัวอย่างต่อไปนี้chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ไฟล์คุณสมบัติเพื่อตั้งค่าโทเค็นได้ที่วิธีกำหนดค่า Edge
- แก้ไขไฟล์
- สร้างและแก้ไข
jmx_auth.sh
:- สร้างไฟล์ในตำแหน่งต่อไปนี้หากยังไม่มีไฟล์
/opt/apigee/customer/application/jmx_auth.sh
- เพิ่มพร็อพเพอร์ตี้ต่อไปนี้ลงในไฟล์
export CASS_JMX_USERNAME=JMX_USERNAME export CASS_JMX_PASSWORD=JMX_PASSWORD
- บันทึกไฟล์
jmx_auth.sh
- แหล่งที่มาของไฟล์:
source /opt/apigee/customer/application/jmx_auth.sh
- สร้างไฟล์ในตำแหน่งต่อไปนี้หากยังไม่มีไฟล์
- คัดลอกและแก้ไขไฟล์
jmxremote.password
โดยทำดังนี้- คัดลอกไฟล์ต่อไปนี้จากไดเรกทอรี
$JAVA_HOME
ไปยัง/opt/apigee/customer/application/apigee-cassandra/
:cp ${JAVA_HOME}/lib/management/jmxremote.password.template $APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password
- แก้ไขไฟล์
jmxremote.password
และเพิ่มชื่อผู้ใช้และรหัสผ่าน JMX โดยใช้ไวยากรณ์ต่อไปนี้JMX_USERNAME JMX_PASSWORD
โดย JMX_USERNAME และ JMX_PASSWORD คือชื่อผู้ใช้และรหัสผ่าน JMX ที่คุณตั้งค่าไว้ก่อนหน้านี้
- ตรวจสอบว่า "apigee" เป็นเจ้าของไฟล์และโหมดไฟล์เป็น 400:
chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/jmxremote.password
chmod 400 /opt/apigee/customer/application/apigee-cassandra/jmxremote.password
- คัดลอกไฟล์ต่อไปนี้จากไดเรกทอรี
- คัดลอกและแก้ไขไฟล์
jmxremote.access
โดยทำดังนี้- คัดลอกไฟล์ต่อไปนี้จากไดเรกทอรี
$JAVA_HOME
ไปยัง/opt/apigee/customer/application/apigee-cassandra/
:cp ${JAVA_HOME}/lib/management/jmxremote.access
$APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.access
- แก้ไขไฟล์
jmxremote.access
และเพิ่มบทบาทต่อไปนี้JMX_USERNAME readwrite
- ตรวจสอบว่า "apigee" เป็นเจ้าของไฟล์และโหมดไฟล์เป็น 400:
chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/jmxremote.access
chmod 400 /opt/apigee/customer/application/apigee-cassandra/jmxremote.access
- คัดลอกไฟล์ต่อไปนี้จากไดเรกทอรี
- เรียกใช้
configure
ใน Cassandra:/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- รีสตาร์ท Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- ทำขั้นตอนนี้ซ้ำในโหนด Cassandra อื่นๆ ทั้งหมด
เปิดใช้การเข้ารหัสรหัสผ่าน JMX
หากต้องการเปิดใช้การเข้ารหัสรหัสผ่าน JMX ให้ทำตามขั้นตอนต่อไปนี้
- เปิดไฟล์
source/conf/casssandra-env.sh
- สร้างและแก้ไขไฟล์
cassandra.properties
โดยทำดังนี้- แก้ไขไฟล์
/opt/apigee/customer/application/cassandra.properties
หากไม่มี ให้สร้างไฟล์ดังกล่าว - เพิ่มข้อมูลต่อไปนี้ลงในไฟล์
conf_cassandra_env_com.sun.management.jmxremote.encrypted.authenticate=true
- บันทึกไฟล์ cassandra.properties
- เปลี่ยนเจ้าของไฟล์เป็น apigee:apigee ตามตัวอย่างต่อไปนี้
chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
- แก้ไขไฟล์
- ในบรรทัดคำสั่ง ให้สร้างแฮช SHA1 ของรหัสผ่านที่ต้องการโดยป้อน
echo -n 'Secret' | openssl dgst -sha1
- ตั้งรหัสผ่านเทียบกับชื่อผู้ใช้ใน
$APIGEE_ROOT/customer/application/apigee-cassandra/jmxremote.password
(สร้างในส่วนก่อนหน้า) - เรียกใช้การกำหนดค่าใน Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- รีสตาร์ท Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- ทำขั้นตอนนี้ซ้ำในโหนด Cassandra อื่นๆ ทั้งหมด
เปิดใช้ JMX พร้อม SSL สำหรับ Cassandra
การเปิดใช้ JMX กับ SSL จะช่วยเพิ่มความปลอดภัยและการเข้ารหัสสำหรับการสื่อสารด้วย JMX กับ Cassandra หากต้องการเปิดใช้ JMX พร้อม SSL คุณต้องระบุคีย์และใบรับรองกับ Cassandra เพื่อยอมรับการเชื่อมต่อ JMX แบบ SSL นอกจากนี้คุณต้องกำหนดค่า Nodetool (และเครื่องมืออื่นๆ ที่สื่อสารกับ Cassandra ผ่าน JMX) สำหรับ SSL ได้ด้วย
JMX ที่เปิดใช้ SSL รองรับทั้งรหัสผ่านแบบข้อความธรรมดาและรหัสผ่าน JMX ที่เข้ารหัส
หากต้องการเปิดใช้งาน JMX พร้อม SSL สำหรับ Cassandra ให้ทำตามขั้นตอนต่อไปนี้:
- เปิดใช้ JMX เปิดใช้การเข้ารหัสสำหรับรหัสผ่าน หากจำเป็น
- เปิดใช้การตรวจสอบสิทธิ์ JMX สำหรับ Cassandra
ตามที่อธิบายไว้ข้างต้น ตรวจสอบว่า Nodetool ใช้งานได้กับชื่อผู้ใช้และรหัสผ่านที่กำหนดค่าไว้
/opt/apigee/apigee-cassandra/bin/nodetool -u <JMX_USER> -pw <JMX_PASS> ring
เตรียมคีย์สโตร์และ Truststore
คีย์สโตร์ควรมีคีย์และใบรับรอง และใช้เพื่อกำหนดค่าเซิร์ฟเวอร์ Cassandra หากคีย์สโตร์มีคู่คีย์หลายรายการ Cassandra จะใช้คู่คีย์แรกเพื่อเปิดใช้ SSL
โปรดทราบว่ารหัสผ่านสำหรับคีย์สโตร์และคีย์จะต้องเหมือนกัน (เป็นค่าเริ่มต้นเมื่อคุณสร้างคีย์โดยใช้เครื่องมือคีย์)
- Truststore ควรมีใบรับรองเท่านั้นและใช้โดยไคลเอ็นต์ (คำสั่งที่ใช้ apigee-service หรือเครื่องมือโหนด) เพื่อเชื่อมต่อผ่าน JMX
หลังจากยืนยันข้อกำหนดข้างต้นแล้ว
- วางไฟล์ Keystore ใน
/opt/apigee/customer/application/apigee-cassandra/
- ตรวจสอบว่าผู้ใช้ Apigee เท่านั้นอ่านไฟล์คีย์สโตร์ได้โดยป้อน
chown apigee:apigee /opt/apigee/customer/application/apigee-cassandra/keystore.node1
chmod 400 /opt/apigee/customer/application/apigee-cassandra/keystore.node1
- กำหนดค่า Cassandra สำหรับ JMX พร้อม SSL โดยทำตามขั้นตอนต่อไปนี้
- หยุดโหนด Cassandra โดยป้อน
apigee-service apigee-cassandra stop
- เปิดใช้ SSL ใน Cassandra โดยเปิดไฟล์
/opt/apigee/customer/application/cassandra.properties
และเพิ่มบรรทัดต่อไปนี้conf_cassandra_env_com.sun.management.jmxremote.ssl=true conf_cassandra_env_javax.net.ssl.keyStore=/opt/apigee/customer/application/apigee-cassandra/keystore.node1 conf_cassandra_env_javax.net.ssl.keyStorePassword=keystore-password
- เปลี่ยนเจ้าของไฟล์เป็น apigee:apigee ตามตัวอย่างต่อไปนี้
chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
- เรียกใช้การกำหนดค่าใน Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- รีสตาร์ท Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- ทำขั้นตอนนี้ซ้ำในโหนด Cassandra อื่นๆ ทั้งหมด
- เริ่มต้นโหนด Cassandra โดยป้อน
apigee-service apigee-cassandra start
- หยุดโหนด Cassandra โดยป้อน
- กำหนดค่าคำสั่ง Cassandra ของ
apigee-service
คุณต้องตั้งค่าตัวแปรสภาพแวดล้อมบางอย่างขณะเรียกใช้คำสั่งapigee-service
รวมถึงตัวแปรด้านล่างapigee-service apigee-cassandra stop apigee-service apigee-cassandra wait_for_ready apigee-service apigee-cassandra ring apigee-service apigee-cassandra backup
มีหลายตัวเลือกสำหรับการกำหนดค่า
apigee-service
สำหรับการตรวจสอบสิทธิ์ JMX และ SSL เลือกตัวเลือกตามความสามารถในการใช้งานและแนวทางปฏิบัติด้านความปลอดภัย- ตัวเลือกที่ 1 (อาร์กิวเมนต์ SSL ที่จัดเก็บไว้ในไฟล์)
- ตัวเลือกที่ 2 (อาร์กิวเมนต์ SSL ที่จัดเก็บไว้ในตัวแปรสภาพแวดล้อม)
- ตัวเลือกที่ 3 (อาร์กิวเมนต์ SSL ที่ส่งไปยัง
apigee-service
โดยตรง)
ตัวเลือกที่ 1 (อาร์กิวเมนต์ SSL ที่จัดเก็บไว้ในไฟล์)
ตั้งค่าตัวแปรสภาพแวดล้อมต่อไปนี้
export CASS_JMX_USERNAME=ADMIN # Provide encrypted password here if you have setup JMX password encryption export CASS_JMX_PASSWORD=PASSWORD export CASS_JMX_SSL=Y
สร้างไฟล์ในไดเรกทอรีหน้าแรกของผู้ใช้ Apigee (
/opt/apigee
)$HOME/.cassandra/nodetool-ssl.properties
แก้ไขไฟล์และเพิ่มบรรทัดต่อไปนี้
-Djavax.net.ssl.trustStore=<path-to-truststore.node1> -Djavax.net.ssl.trustStorePassword=<truststore-password> -Dcom.sun.management.jmxremote.registry.ssl=true
ตรวจสอบว่าผู้ใช้ Apigee อ่านไฟล์ Trustore ได้
เรียกใช้คำสั่ง
apigee-service
ต่อไปนี้ หากทำงานโดยไม่มีข้อผิดพลาด แสดงว่าการกําหนดค่าถูกต้องapigee-service apigee-cassandra ring
ตัวเลือกที่ 2 (อาร์กิวเมนต์ SSL ที่จัดเก็บไว้ในตัวแปรสภาพแวดล้อม)
ตั้งค่าตัวแปรสภาพแวดล้อมต่อไปนี้
export CASS_JMX_USERNAME=ADMIN # Provide encrypted password here if you have setup JMX password encryption export CASS_JMX_PASSWORD=PASSWORD export CASS_JMX_SSL=Y # Ensure the truststore file is accessible by Apigee user. export CASS_JMX_TRUSTSTORE=<path-to-trustore.node1> export CASS_JMX_TRUSTSTORE_PASSWORD=<truststore-password>
เรียกใช้คำสั่ง
apigee-service
ต่อไปนี้ หากทำงานโดยไม่มีข้อผิดพลาด แสดงว่าการกําหนดค่าถูกต้องapigee-service apigee-cassandra ring
ตัวเลือก 3 (อาร์กิวเมนต์ SSL ที่ส่งผ่านไปยัง
apigee-service
โดยตรง)เรียกใช้คำสั่ง
apigee-service
เหมือนคำสั่งด้านล่าง คุณไม่จำเป็นต้องกำหนดค่าตัวแปรสภาพแวดล้อมใดๆCASS_JMX_USERNAME=ADMIN CASS_JMX_PASSWORD=PASSWORD CASS_JMX_SSL=Y CASS_JMX_TRUSTSTORE=<path-to-trustore.node1> CASS_JMX_TRUSTSTORE_PASSWORD=<trustore-password> /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra ring
ตั้งค่า Nodetool Nodetool กำหนดให้ส่งพารามิเตอร์ JMX ไปให้ คุณจะกำหนดค่าเครื่องมือโหนดให้เรียกใช้ด้วย JMX ที่เปิดใช้ SSL ได้ 2 วิธี ตามที่อธิบายไว้ในตัวเลือกการกำหนดค่าด้านล่าง
ตัวเลือกจะแตกต่างกันในเรื่องของการส่งการกำหนดค่าที่เกี่ยวข้องกับ SSL ไปยังเครื่องมือโหนด ในทั้ง 2 กรณี ผู้ใช้ที่เรียกใช้ Nodetool ควรมีสิทธิ์ READ ในไฟล์ Truststore เลือกตัวเลือกที่เหมาะสมตามความสามารถในการใช้งานและแนวทางปฏิบัติด้านความปลอดภัยของคุณ
ดูข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์ Nodetool ได้ที่ เอกสารของ DataStax
ตัวเลือกการกำหนดค่า 1
สร้างไฟล์ในไดเรกทอรีหน้าแรกของผู้ใช้ที่เรียกใช้ Nodetool
$HOME/.cassandra/nodetool-ssl.properties
เพิ่มบรรทัดต่อไปนี้ลงในไฟล์
-Djavax.net.ssl.trustStore=<path-to-truststore.node1> -Djavax.net.ssl.trustStorePassword=<truststore-password> -Dcom.sun.management.jmxremote.registry.ssl=true
ผู้ใช้ที่ใช้งาน Nodetool ควรเข้าถึงเส้นทาง Truststore ที่ระบุไว้ด้านบนได้
เรียกใช้
nodetool
ด้วยตัวเลือก--ssl
/opt/apigee/apigee-cassandra/bin/nodetool --ssl -u <jmx-user-name> -pw <jmx-user-password> -h localhost ring
ตัวเลือกการกำหนดค่า 2
เรียกใช้
nodetool
เป็นคำสั่งเดียวที่มีพารามิเตอร์เพิ่มเติมตามรายการด้านล่าง/opt/apigee/apigee-cassandra/bin/nodetool -Djavax.net.ssl.trustStore=<path-to-truststore.node1> -Djavax.net.ssl.trustStorePassword=<truststore-password> -Dcom.sun.management.jmxremote.registry.ssl=true -Dssl.enable=true -u <jmx-user-name> -pw <jmx-user-password> -h localhost ring
เปลี่ยนกลับการกำหนดค่า SSL
หากคุณต้องการเปลี่ยนกลับการกำหนดค่า SSL ที่อธิบายไว้ในขั้นตอนด้านบน ให้ทำตามขั้นตอนต่อไปนี้
- หยุด
apigee-cassandra
โดยป้อนapigee-service apigee-cassandra stop
- นำบรรทัด
conf_cassandra-env_com.sun.management.jmxremote.ssl=true
ออกจากไฟล์/opt/apigee/customer/application/cassandra.properties
- แสดงความคิดเห็นในบรรทัดต่อไปนี้ใน
/opt/apigee/apigee-cassandra/source/conf/cassandra-env.sh
# JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStore=/opt/apigee/data/apigee-cassandra/keystore.node0" # JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStorePassword=keypass" # JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.registry.ssl=true”
- เริ่มต้น
apigee-cassandra
ด้วยการป้อน - นําตัวแปรสภาพแวดล้อม
CASS_JMX_SSL
ออกหากมีการตั้งค่าunset CASS_JMX_SSL
- ตรวจสอบว่าคำสั่งที่อิงตาม
apigee-service
เช่นring
,stop
,backup
และอื่นๆ ใช้งานได้ - หยุดใช้สวิตช์
--ssl
กับเครื่องมือโหนด
apigee-service apigee-cassandra start
ปิดใช้การตรวจสอบสิทธิ์ JMX สำหรับ Cassandra
วิธีปิดใช้การตรวจสอบสิทธิ์ JMX สำหรับ Cassandra
- แก้ไข
/opt/apigee/customer/application/cassandra.properties
- นำบรรทัดต่อไปนี้ในไฟล์ออก
conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
- เรียกใช้การกำหนดค่าใน Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
- รีสตาร์ท Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- ทำขั้นตอนนี้ซ้ำในโหนด Cassandra อื่นๆ ทั้งหมด
ใช้ JConsole: ตรวจสอบสถิติของงาน
ใช้ JConsole และ URL บริการต่อไปนี้เพื่อตรวจสอบแอตทริบิวต์ JMX (MBeans) ที่นำเสนอผ่าน JMX
service:jmx:rmi:///jndi/rmi://IP_address:7199/jmxrmi
โดย IP_address คือ IP ของเซิร์ฟเวอร์ Cassandra
สถิติของ Cassandra JMX
JMX MBean | แอตทริบิวต์ JMX |
---|---|
ColumnFamilies/apprepo/สภาพแวดล้อม ColumnFamilies/apprepo/องค์กร 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 เพื่อจัดการโหนดของคลัสเตอร์
ยูทิลิตีเครื่องมือโหนดคืออินเทอร์เฟซบรรทัดคำสั่งสำหรับ Cassandra ที่จัดการโหนดคลัสเตอร์ คุณสามารถรับยูทิลิตีได้ที่ /opt/apigee/apigee-cassandra/bin
การเรียกใช้ต่อไปนี้สามารถทำได้ในโหนดคลัสเตอร์ Cassandra ทั้งหมด
- ข้อมูลริงทั่วไป (ยังใช้ได้สำหรับโหนด Cassandra เดี่ยว): มองหา "ขึ้น" และ "ปกติ" สำหรับโหนดทั้งหมด
nodetool [-u username -pw password] -h localhost ring
คุณต้องส่งชื่อผู้ใช้และรหัสผ่านต่อเมื่อเปิดใช้การตรวจสอบสิทธิ์ JMX สำหรับ Cassandra เท่านั้น
เอาต์พุตของคำสั่งข้างต้นมีลักษณะดังต่อไปนี้
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 [-u username -pw password] -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 [-u username -pw password] -h localhost statusthrift
เอาต์พุตของคำสั่งข้างต้นจะมีลักษณะดังต่อไปนี้
running
- สถานะของการดำเนินการสตรีมมิงข้อมูล: สังเกตการเข้าชมสำหรับโหนด Cassandra:
nodetool [-u username -pw password] -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
แหล่งข้อมูล Cassandra
โปรดดูที่ URL ต่อไปนี้ http://www.datastax.com/docs/1.0/operations/monitoring
การตรวจสอบ Apache Qpid Broker-J
คุณสามารถตรวจสอบ Qpid Broker-J ได้จากคอนโซลการจัดการ Qpid ส่วนนี้อธิบายวิธีเข้าถึงคอนโซลและใช้เพื่อใช้ฟังก์ชันการตรวจสอบขั้นพื้นฐาน สำหรับข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับการใช้คอนโซลการจัดการ โปรดดู คอนโซลการจัดการเว็บในเอกสาร Apache Qpid
เข้าถึงคอนโซลการจัดการ
พอร์ตคอนโซลการจัดการเริ่มต้นคือ 8090 หากต้องการเข้าถึงคอนโซลบนพอร์ตเริ่มต้นนี้ ให้ชี้เว็บเบราว์เซอร์ไปที่:
http://QPID_NODE_IP:8090
หากต้องการเข้าสู่ระบบคอนโซล ให้ใช้ข้อมูลเข้าสู่ระบบเริ่มต้นที่กำหนดโดย Apigee หรือข้อมูลที่ตั้งค่าในไฟล์การกำหนดค่า Edge โปรดดูรายละเอียดที่หัวข้อข้อมูลอ้างอิงไฟล์การกำหนดค่า Edge
ตรวจสอบคิวและข้อความ
ในแผงการนำทางด้านซ้าย ให้ไปที่ Java-Broker > Virtualhosts > คิว เลือกคิวเพื่อดูรายละเอียดในส่วนหลักของ UI ในมุมมองรายละเอียด คุณจะเห็นแอตทริบิวต์คิวและสถิติ รวมถึงข้อมูลเกี่ยวกับข้อความที่ส่ง เข้าคิว อัตราข้อความ และอื่นๆ
ดูและดาวน์โหลดไฟล์บันทึก
ในแผงการนำทางด้านซ้าย ให้ไปที่ Java-Broker > นายหน้าบันทึก > logfile คุณจะดูรายละเอียดไฟล์บันทึกและดาวน์โหลดไฟล์บันทึกได้ในมุมมองรายละเอียด UI หลัก
การใช้ Qpid Management API
คุณสามารถใช้ Apache Qpid Broker-J REST API เพื่อทำให้งานการจัดการเป็นไปโดยอัตโนมัติและตรวจสอบโบรกเกอร์ โปรดดูรายละเอียดที่ เอกสารประกอบของ Apache Qpid Broker REST API
และคุณยังสามารถใช้เครื่องมือบรรทัดคำสั่งเพื่อตรวจสอบโบรกเกอร์ได้อีกด้วย เช่น
curl "QPID_NODE_IP":"8090"/api/latest/broker -u "USERNAME":"PASSWORD"
สวนสัตว์ 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
) เพื่อรับข้อมูลเกี่ยวกับแคชได้