วิธีตรวจสอบ

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

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

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

กระบวนการตรวจสอบสำหรับ Management Server, Message Processor, Qpid และ Postgres ทั้งหมดจะใช้ JMX ระบบจะเปิดใช้ JMX โดยค่าเริ่มต้น และการเข้าถึง JMX ระยะไกลไม่จำเป็นต้องใช้รหัสผ่าน

หากต้องการเปิดใช้การตรวจสอบสิทธิ์ JMX คอมโพเนนต์แต่ละรายการจะมีการดำเนินการ change_jmx_auth ที่คุณใช้เพื่อเปิด/ปิดใช้การตรวจสอบสิทธิ์และตั้งค่าข้อมูลเข้าสู่ระบบ JMX

หากต้องการเปิดใช้การตรวจสอบสิทธิ์ JMX ให้ใช้คำสั่งต่อไปนี้

>  /<inst_root>/apigee/apigee-service/bin/apigee-service comp change_jmx_auth optionsOrConfigFile

โดยที่

  • comp คือ edge-management-server, edge-message-processor, edge-router, edge-qpid-server หรือ edge-postgres-server
  • มีตัวเลือกดังนี้
    • -u: ชื่อผู้ใช้
    • -p: รหัสผ่าน
    • -e: y (เปิดใช้) หรือ n (ปิดใช้)
  • ไฟล์การกำหนดค่าประกอบด้วยข้อมูลต่อไปนี้
    • JMX_USERNAME=username
    • JMX_ENABLED=y/n
    • JMX_PASSWORD=password (หากไม่ได้ตั้งค่าหรือไม่ได้ส่งด้วย -p ระบบจะแจ้งให้คุณทราบ)

ตัวอย่างเช่น หากต้องการใช้ตัวเลือกในบรรทัดคำสั่ง ให้ทำดังนี้

> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -u foo -p bar -e y

หากมีไฟล์การกำหนดค่า ให้ทำดังนี้

> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -f configFile

หากคุณใช้ Edge ในหลายโหนด ให้เรียกใช้คำสั่งนี้ในทุกโหนด โดยระบุชื่อผู้ใช้และรหัสผ่านเดียวกัน

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

> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server change_jmx_auth -e n

เซิร์ฟเวอร์การจัดการ

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

ใช้ JConsole (เครื่องมือที่สอดคล้องกับ JMX) เพื่อจัดการและตรวจสอบสถิติการตรวจสอบประสิทธิภาพการทำงานและกระบวนการ เมื่อใช้ JConsole คุณจะใช้สถิติ JMX ที่แสดงโดย 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>/platform

โดยที่ <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" หากเป็น "จริง" แสดงว่าโหนดทำงานอยู่และบริการ Java กำลังทำงาน

หากคุณไม่ได้รับการตอบกลับ 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. หากบริการทำงานอยู่ ให้ทดสอบว่าทำงานได้ตามปกติหรือไม่ คุณตรวจสอบสถานะคลัสเตอร์โดยการตรวจสอบ memberCount เทียบกับ reachableCount และแจ้งเตือนอินสแตนซ์ทั้งหมดด้วย "memberCount != reachableCount"
    curl -v -u <userEmail>:<password> http://localhost:port/v1/cluster

    โดยพอร์ตคือ 8081 สำหรับเราเตอร์ และ 8082 สำหรับ Message Processor ผลลัพธ์ของคำสั่ง CURL ข้างต้นจะแสดงอยู่ด้านล่าง
    {
    "memberCount" : 12,
    "pod" : "rea1gw001",
    "reachableCount" : 12,
    "region" : "us-east-1",
    "types" : [ "management-server" ]
    * Connection #0 to host ms05apigee left intact
    * Closing connection #0
    }
  4. หากไม่ทำงาน ให้เรียกใช้คำสั่งต่อไปนี้เพื่อตรวจสอบความล้มเหลวหรือค้นหาสมาชิกที่ทำให้เกิดปัญหา
    curl http://localhost:port/v1/cluster/members

    โดยที่ port – 8081 สำหรับเราเตอร์ และ 8082 สำหรับ Message Processor เอาต์พุตของคำสั่ง CURL ด้านบนจะมีลักษณะดังนี้
    {
    "lastChange" : 0,
    "latency" : 0,
    "state" : "CONNECTED",
    "uuid" : "9c4c8bde-0015-4dc5-82d2-59fb326c4074"
    }, {
    "address" : "/192.168.5.209:4526",
    "clusterType" : "router,message-processor",
    "lastChange" : 1350658037228,
    "latency" : 3,
    "pod" : "rea1gw001",
    "region" : "us-east-1",
    "serverType" : "message-processor",
    "state" : "CONNECTED",
    "uuid" : "f1c663a1-2bb8-469f-b5fd-69a5c5aa91c5"
    }, {
    "address" : "/192.168.5.29:4526",
    "clusterType" : "router,message-processor",
    "lastChange" : 1350623005057,
    "latency" : 1,
    "pod" : "rea1gw001",
    "region" : "us-east-1",
    "serverType" : "message-processor",
    "state" : " DISCONNECTED ",
    "uuid" : "4cfe932b-f644-4581-b1ae-df338af9c7ce"
    }, {
    "address" : "/192.168.4.182:4526",
    "clusterType" : "router,message-processor",
    "lastChange" : 1350657730535,
    "latency" : 1,
    "pod" : "rea1gw001",
    "region" : "us-east-1",
    "serverType" : "message-processor",
    "state" : "CONNECTED",
    "uuid" : "cba063d5-b8a4-409f-9e0b-f5d403e02091"
    }
  5. โปรดทราบว่าที่อยู่ IP 192.168.5.29 ถูกตัดการเชื่อมต่อ รีสตาร์ทเซิร์ฟเวอร์
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-router restart

    หมายเหตุ: หากเราเตอร์มีสถานะยกเลิกการเชื่อมต่อ ให้นำเราเตอร์ออกจาก ELB แล้วรีสตาร์ท
  6. หลังจากรีสตาร์ท ให้ตรวจสอบว่าทำงานได้ตามปกติ
    curl -v http://localhost:port/v1/cluster

    โดย 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@apigee.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) เพื่อดูข้อมูลเกี่ยวกับแคชได้