วิธีตรวจสอบ

Edge for Private Cloud เวอร์ชัน 4.17.05

เอกสารนี้อธิบายเทคนิคการตรวจสอบคอมโพเนนต์ที่รองรับโดยการติดตั้งใช้งาน Apigee Edge ในองค์กร

การเปิดใช้ JMX

JMX จะเปิดใช้โดยค่าเริ่มต้นสำหรับ Cassandra และปิดใช้โดยค่าเริ่มต้นสำหรับคอมโพเนนต์ Edge อื่นๆ ทั้งหมด ดังนั้นคุณต้องเปิดใช้ JMX สำหรับแต่ละคอมโพเนนต์แยกกัน

แต่ละคอมโพเนนต์รองรับ JMX ในพอร์ตที่ต่างกัน ตารางต่อไปนี้แสดงพอร์ต JMX และไฟล์ที่คุณแก้ไขเพื่อเปิดใช้ JMX ในพอร์ตนั้น

ส่วนประกอบ พอร์ต JMX ไฟล์
เซิร์ฟเวอร์การจัดการ 1099 /opt/apigee/edge-management-server/bin/start
Message Processor 1101 /opt/apigee/edge-mesage-processor/bin/start
Qpid 1102 /opt/apigee/edge-qpid-server/bin/start
Postgres 1103 /opt/apigee/edge-postgres-server/bin/start

เช่น หากต้องการเปิดใช้ JMX ในเซิร์ฟเวอร์การจัดการ ให้เปิด /opt/apigee/edge-management-server/bin/start ในเครื่องมือแก้ไข คุณควรเห็นบรรทัดต่อไปนี้ที่ใช้เพื่อเริ่ม Management Server

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 $* $debug_options com.apigee.kernel.MicroKernel

แก้ไขบรรทัดนี้เพื่อเพิ่มข้อมูลต่อไปนี้

-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 

โปรดทราบว่าบรรทัดนี้ระบุหมายเลขพอร์ต JMX เป็น 1099 สำหรับเซิร์ฟเวอร์การจัดการ ตั้งค่าหมายเลขพอร์ตสำหรับแต่ละคอมโพเนนต์ตามที่กำหนดไว้ในตารางด้านบน เช่น

exec $JAVA -classpath "$classpath" -Xms$min_mem -Xmx$max_mem $xx_opts 
-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 
-Djava.security.auth.login.config=$conf_path/jaas.config 
-Dinstallation.dir=$install_dir $sys_props -Dconf.dir=$conf_path -Ddata.dir=$data_dir $* $debug_options com.apigee.kernel.MicroKernel

บันทึกไฟล์แล้วรีสตาร์ทคอมโพเนนต์ ตัวอย่างเช่น หากต้องการรีสตาร์ทเซิร์ฟเวอร์การจัดการ ให้ทำดังนี้

> /opt/apigee/apigee-service/bin/ apigee-service edge-management-server restart

การเปิดใช้การตรวจสอบสิทธิ์ JMX และการตั้งรหัสผ่าน JMX

กระบวนการตรวจสอบสำหรับ Management Server, Message Processor, Qpid และ Postgres ทั้งหมดจะใช้ 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-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 ที่แสดงโดย Management Server (หรือเซิร์ฟเวอร์ใดก็ได้) และแสดงสถิติดังกล่าวในอินเทอร์เฟซแบบกราฟิกได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้งาน 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>/jmxrmi

โดยที่ <ip address> คือที่อยู่ IP ของ Management Server (หรือเซิร์ฟเวอร์ที่เกี่ยวข้อง) โดยค่าเริ่มต้น พอร์ตสำหรับ Management Server คือ 1099

ตารางต่อไปนี้แสดงสถิติ JMX ทั่วไป

JMX MBeans

แอตทริบิวต์ JMX

หน่วยความจำ

HeapMemoryUsage

NonHeapMemoryUsage

การใช้งาน

หมายเหตุ: ค่าแอตทริบิวต์จะแสดงเป็น 4 ค่า ได้แก่ committed, init, max และ used

การใช้การตรวจสอบ API ของ Edge Application

คุณสามารถตรวจสอบ API ในเซิร์ฟเวอร์การจัดการ (หรือเซิร์ฟเวอร์ใดก็ได้) โดยเรียกใช้คำสั่ง CURL ต่อไปนี้

curl http://<host>:8080/v1/servers/self/up 

โดยที่ <host> คือที่อยู่ IP ของเซิร์ฟเวอร์การจัดการ

การเรียกนี้จะแสดงผล "true" และ "false" หากเป็น "จริง" แสดงว่าโหนดทำงานอยู่และบริการ Java กำลังทำงาน

หากคุณไม่ได้รับการตอบกลับ HTTP 200 (OK) แสดงว่า Edge ไม่สามารถตอบสนองต่อคำขอพอร์ต 8080 ได้

การแก้ปัญหา

  1. เข้าสู่ระบบเซิร์ฟเวอร์และเรียกใช้คำสั่งต่อไปนี้
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server status
  2. หากบริการไม่ทำงาน ให้เริ่มบริการโดยใช้คำสั่งต่อไปนี้
    /<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

ระบบควรแสดงสถานะ "ติดตั้งใช้งานแล้ว" สำหรับการโทรทั้งหมด หากไม่ได้ผล ให้ทำดังนี้

  1. ตรวจสอบบันทึกของเซิร์ฟเวอร์การจัดการ (ที่ <inst_root>/apigee/var/log/edge-management-server) เพื่อหาข้อผิดพลาด
  2. โทรหาเซิร์ฟเวอร์การจัดการเพื่อตรวจสอบว่าทำงานอย่างถูกต้องหรือไม่
  3. นำเซิร์ฟเวอร์ออกจาก ELB แล้วรีสตาร์ท Management Server
    /<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" หากเป็น "จริง" แสดงว่าโหนดทำงานอยู่และบริการเราเตอร์กำลังทำงาน

หากคุณไม่ได้รับการตอบกลับ HTTP 200 (OK) แสดงว่า Edge ไม่สามารถตอบสนองต่อคำขอพอร์ต 8081 ได้

การแก้ปัญหา

  1. เข้าสู่ระบบเซิร์ฟเวอร์และเรียกใช้คำสั่งต่อไปนี้
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router status
  2. หากบริการไม่ทำงาน ให้เริ่มบริการ
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router start
  3. หลังจากรีสตาร์ท ให้ตรวจสอบว่าทำงานได้ตามปกติ
    curl -v http://localhost:port/v1/servers/self/up

    โดยที่ port คือ 8081 สำหรับเราเตอร์ และ 8082 สำหรับ Message Processor

Message Processor

การใช้ JConsole เพื่อตรวจสอบการตรวจสุขภาพของระบบและข้อมูลกระบวนการ

ทำตามขั้นตอนเดียวกับที่อธิบายไว้ข้างต้นสำหรับเซิร์ฟเวอร์การจัดการ

หมายเหตุ: ตรวจสอบว่าคุณใช้พอร์ต 1101

การใช้การตรวจสอบ API ของ Edge Application

ทำตามขั้นตอนเดียวกับที่อธิบายไว้ข้างต้นสำหรับเราเตอร์

หมายเหตุ: ตรวจสอบว่าคุณใช้พอร์ต 8082

การใช้การตรวจสอบขั้นตอนของข้อความ JMX

ทำตามขั้นตอนเดียวกับที่อธิบายไว้ข้างต้นสำหรับเซิร์ฟเวอร์การจัดการ

หมายเหตุ: ตรวจสอบว่าคุณใช้พอร์ต 1101

เซิร์ฟเวอร์ Qpid

การใช้ JConsole เพื่อตรวจสอบการตรวจสุขภาพของระบบและข้อมูลกระบวนการ

ทำตามขั้นตอนเดียวกับที่อธิบายไว้ข้างต้นสำหรับเซิร์ฟเวอร์การจัดการ

หมายเหตุ: ตรวจสอบว่าคุณใช้พอร์ต 1102

การใช้การตรวจสอบ Edge Application API

ทำตามขั้นตอนเดียวกับที่อธิบายไว้ข้างต้นสำหรับเซิร์ฟเวอร์การจัดการ

หมายเหตุ: ตรวจสอบว่าคุณใช้พอร์ต 8083 นอกจากนี้ Qpid Server ยังรองรับคำสั่ง CURL ต่อไปนี้ด้วย

curl http://<qpid_IP>:8083/v1/servers/self

เซิร์ฟเวอร์ Postgres

การใช้ JConsole เพื่อตรวจสอบการตรวจสุขภาพของระบบและข้อมูลกระบวนการ

ทำตามขั้นตอนเดียวกับที่อธิบายไว้ข้างต้นสำหรับเซิร์ฟเวอร์การจัดการ

หมายเหตุ: ตรวจสอบว่าคุณใช้พอร์ต 1103

การใช้การตรวจสอบ Edge Application API

ทำตามขั้นตอนเดียวกับที่อธิบายไว้ข้างต้นสำหรับเซิร์ฟเวอร์การจัดการ

หมายเหตุ: ตรวจสอบว่าคุณใช้พอร์ต 8084 นอกจากนี้ Postgres Server ยังรองรับคำสั่ง CURL ต่อไปนี้ด้วย

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 สำหรับเซิร์ฟเวอร์ Analytics ทั้งหมด เอาต์พุตของคำสั่ง 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 แต่ละโหนด

ก่อนเรียกใช้สคริปต์ ให้ทำดังนี้

  1. ตรวจสอบว่าคุณได้ติดตั้ง perl-Time-HiRes.x86_64 ซึ่งเป็นโมดูล Perl ที่ใช้การปลุก การพักเครื่อง การเรียกใช้ gettimeofday และตัวจับเวลาเป็นช่วงที่มีความละเอียดสูง เช่น คุณสามารถติดตั้งโดยใช้คำสั่งต่อไปนี้
    yum install perl-Time-HiRes.x86_64

เอาต์พุตเริ่มต้นของการเรียก API โดยใช้สคริปต์ check_postgres.pl เข้ากันได้กับ Nagios หลังจากติดตั้งสคริปต์แล้ว ให้ตรวจสอบสิ่งต่อไปนี้

  1. ขนาดฐานข้อมูล – ตรวจสอบขนาดฐานข้อมูล:
    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'
  2. การเชื่อมต่อขาเข้าไปยังฐานข้อมูล - ตรวจสอบจำนวนการเชื่อมต่อขาเข้าไปยังฐานข้อมูลและเปรียบเทียบกับการเชื่อมต่อสูงสุดที่อนุญาต:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action backends
  3. ความพร้อมใช้งานและประสิทธิภาพของฐานข้อมูล - ตรวจสอบว่าฐานข้อมูลทำงานอยู่และพร้อมใช้งานหรือไม่
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action connection
  4. พื้นที่ในดิสก์ – ตรวจสอบพื้นที่ในดิสก์:
    check_postgres.pl -H 10.176.218.202 -db apigee -u apigee -dbpass postgres -action disk_space --warning='80%' --critical='90%'
  5. องค์กร/สภาพแวดล้อมที่เริ่มต้นใช้งาน - ตรวจสอบจำนวนองค์กรและสภาพแวดล้อมที่เริ่มต้นใช้งานในโหนด 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

Apache Cassandra

การใช้ JConsole - ตรวจสอบสถิติงาน

ใช้ JConsole และ URL บริการต่อไปนี้เพื่อตรวจสอบแอตทริบิวต์ JMX (MBeans) ที่เสนอผ่าน JMX

service:jmx:rmi:///jndi/rmi://<ip address>:7199/jmxrmi

โดยที่ <ที่อยู่ IP> คือ ที่อยู่ IP ของเซิร์ฟเวอร์ Cassandra

ระบบจะเปิดใช้ JMX โดยค่าเริ่มต้นสำหรับ Cassandra และการเข้าถึง JMX ระยะไกลไปยัง Cassandra ไม่จำเป็นต้องใช้รหัสผ่าน

วิธีเปิดใช้การตรวจสอบสิทธิ์ JMX เพื่อเพิ่มรหัสผ่าน

  1. แก้ไข /<inst_root>/apigee/customer/application/cassandra.properties หากไม่มีไฟล์ ให้สร้างไฟล์
  2. เพิ่มโค้ดต่อไปนี้ลงในไฟล์
    conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
  3. บันทึกไฟล์
  4. คัดลอกไฟล์ต่อไปนี้จากไดเรกทอรี $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
  5. แก้ไข jmxremote.password และเพิ่มชื่อผู้ใช้และรหัสผ่านลงในไฟล์:
    cassandra password

    โดยที่ password คือรหัสผ่าน JMX
  6. แก้ไข jmxremote.access และเพิ่มบทบาทต่อไปนี้
    cassandra readwrite
  7. ตรวจสอบว่าไฟล์เป็นของ "apigee" และโหมดไฟล์เป็น 400:
    > chown apigee:apigee /<inst_root>/apigee/data/apigee-cassandra/jmxremote.*
    > chmod 400 /<inst_root>/apigee/data/apigee-cassandra/jmxremote.*
  8. เรียกใช้ configure ใน Cassandra:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  9. รีสตาร์ท Cassandra:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra restart

หากต้องการปิดใช้การตรวจสอบสิทธิ์ในภายหลัง ให้ทำดังนี้

  1. แก้ไข /<inst_root>/apigee/customer/application/cassandra.properties
  2. นำบรรทัดต่อไปนี้ออกจากไฟล์
    conf_cassandra-env_com.sun.management.jmxremote.authenticate=true
  3. เรียกใช้การกำหนดค่าใน Cassandra:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
  4. รีสตาร์ท 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 ทั้งหมด

  1. ข้อมูลวงแหวนทั่วไป (ใช้ได้กับโหนด 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
  2. ข้อมูลทั่วไปเกี่ยวกับโหนด (การเรียกต่อโหนด)
    nodetool -h localhost info

    เอาต์พุตของคำสั่งด้านบนจะมีลักษณะดังที่แสดงด้านล่าง
    Token : 0
    Gossip active : true
    Load : 1.67 MB
    Generation No : 1361968765
    Uptime (seconds) : 78108
    Heap Memory (MB) : 46,80 / 772,00
    Data Center : ศูนย์ข้อมูล
    Rack : ra1
    Exceptions : 0
  3. สถานะของเซิร์ฟเวอร์ Thrift (API ของไคลเอ็นต์ที่แสดงผล)
    host]# nodetool -h localhost statusthrift

    เอาต์พุตของคำสั่งด้านบนจะแสดงสถานะเป็น "running"
  4. สถานะของการดำเนินการสตรีมข้อมูล: สังเกตการเข้าชมสำหรับโหนด 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 (UI)

ดู URL ของ datastax opscenter: http://www.datastax.com/products/opscenter

แหล่งข้อมูล Cassandra

โปรดดู URL ต่อไปนี้ http://www.datastax.com/docs/1.0/operations/monitoring

Apache ZooKeeper

กำลังตรวจสอบสถานะ ZooKeeper

  1. ตรวจสอบว่ากระบวนการ ZooKeeper ทำงานอยู่ ZooKeeper จะเขียนไฟล์ PID ไปยัง <inst_root>/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid
  2. ทดสอบพอร์ต ZooKeeper เพื่อให้แน่ใจว่าคุณสามารถสร้างการเชื่อมต่อ TCP กับพอร์ต 2181 และ 3888 ในเซิร์ฟเวอร์ ZooKeeper ทุกเครื่องได้
  3. ตรวจสอบว่าคุณอ่านค่าจากฐานข้อมูล ZooKeeper ได้ เชื่อมต่อโดยใช้ไลบรารีของไคลเอ็นต์ ZooKeeper (หรือ /<inst_root>/apigee/apigee-zookeeper/bin/zkCli.sh) และอ่านค่าจากฐานข้อมูล
  4. ตรวจสอบสถานะ:
    > /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-zookeeper status

การใช้คำ 4 ตัวอักษรของ ZooKeeper

คุณสามารถตรวจสอบ ZooKeeper ได้ผ่านชุดคำสั่งขนาดเล็ก (คำ 4 ตัวอักษร) ที่ส่งไปยังพอร์ต 2181 โดยใช้ netcat (nc) หรือ telnet

ดูข้อมูลเพิ่มเติมเกี่ยวกับคำสั่ง ZooKeeper ได้ที่ http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands

เช่น

  • srvr: แสดงรายละเอียดทั้งหมดของเซิร์ฟเวอร์
  • stat: แสดงรายละเอียดโดยย่อสำหรับเซิร์ฟเวอร์และไคลเอ็นต์ที่เชื่อมต่อ

คุณสามารถออกคำสั่งต่อไปนี้ไปยังพอร์ต ZooKeeper ได้

  1. เรียกใช้คำสั่ง 4 ตัวอักษร ruok เพื่อทดสอบว่าเซิร์ฟเวอร์ทำงานในสถานะที่ไม่มีข้อผิดพลาดหรือไม่ การตอบกลับที่สำเร็จจะแสดงผลเป็น "imok"
    echo ruok | nc <host> 2181

    ผลลัพธ์:
    imok
  2. เรียกใช้คำสั่ง 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

    หมายเหตุ: บางครั้งการดูว่า ZooKeeper อยู่ในโหมดใดก็เป็นสิ่งสำคัญ เช่น โหมด Leader, Follower หรือ Observer
  3. หากไม่มี 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 เพื่อดูว่าคำขอที่เฉพาะเจาะจงได้รับการตอบสนองอย่างถูกต้องหรือไม่ กล่าวคือ ให้ตรวจสอบการค้นหาที่เฉพาะเจาะจงซึ่งแสดงผลการค้นหาที่ถูกต้อง

  1. ใช้ 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
  2. ตรวจสอบว่าเซิร์ฟเวอร์การจัดการยังคงเชื่อมต่อกับปัญหา LDAP หรือไม่:
    curl -u <userEMail>:<password> http://localhost:8080/v1/users/<ADMIN>

    ผลลัพธ์:
    {
    "emailId" : <ADMIN>,
    "firstName" : "admin",
    "lastName" : "admin"
    }

นอกจากนี้ คุณยังตรวจสอบแคช OpenLDAP ได้ด้วย ซึ่งจะช่วยลดจำนวนการเข้าถึงดิสก์และปรับปรุงประสิทธิภาพของระบบ การตรวจสอบแล้วปรับขนาดแคชในเซิร์ฟเวอร์ OpenLDAP อาจส่งผลต่อประสิทธิภาพของเซิร์ฟเวอร์ไดเรกทอรีอย่างมาก คุณสามารถดูไฟล์บันทึก (<inst_root>/apigee/var/log) เพื่อดูข้อมูลเกี่ยวกับแคชได้