การเขียนข้อมูลการวิเคราะห์ไปยังไฟล์

โดยค่าเริ่มต้น ระบบจะอัปโหลดข้อมูลวิเคราะห์ที่ Message Processor รวบรวมไปยัง Qpid และ Postgres เพื่อประมวลผล จากนั้นคุณจะดูข้อมูลวิเคราะห์ใน Edge UI ได้

หรือจะกำหนดค่า Message Processor ให้เขียนข้อมูลวิเคราะห์ลงในดิสก์ก็ได้ จากนั้น คุณสามารถอัปโหลดข้อมูลดังกล่าวไปยังระบบวิเคราะห์ของคุณเองเพื่อทำการวิเคราะห์ได้ เช่น คุณอาจอัปโหลดข้อมูลไปยัง Google Cloud BigQuery จากนั้นคุณจะใช้ประโยชน์จากความสามารถในการค้นหาและแมชชีนเลิร์นนิงอันทรงพลังที่ BigQuery และ TensorFlow มีให้เพื่อทำการวิเคราะห์ข้อมูลของคุณเองได้

หรือจะเลือกใช้ทั้ง 2 ตัวเลือกก็ได้ ซึ่งหมายความว่าคุณสามารถอัปโหลดข้อมูลการวิเคราะห์ไปยัง Qpid/Postgres และบันทึกข้อมูลลงในดิสก์ได้ด้วย

ชื่อและตำแหน่งของไฟล์

โดยค่าเริ่มต้น หากคุณเปิดใช้การเขียนข้อมูลการวิเคราะห์ลงในไฟล์ดิสก์ ระบบจะเขียนไฟล์ลงในไดเรกทอรีต่อไปนี้

/opt/apigee/var/log/edge-message-processor/ax/tmp

Edge จะสร้างไดเรกทอรีใหม่ใน /tmp สำหรับไฟล์ข้อมูล โดยมีช่วงเวลา 1 นาที รูปแบบของชื่อไดเรกทอรีคือ

org~env~yyyyMMddhhmmss

เช่น

myorg~prod~20190909163500
myorg~prod~20190909163600

แต่ละไดเรกทอรีจะมีไฟล์ .gz ที่มีไฟล์ข้อมูลแต่ละไฟล์สำหรับช่วงเวลานั้น รูปแบบของชื่อไฟล์ .gz คือ

4DigitRandomHex_StartTime.StartTimePlusInterval_internalHostIP_hostUUID_writer_index.txt.gz

Edge จะย้ายไดเรกทอรีและไฟล์ .gz ที่มีจาก /tmp ไปยังไดเรกทอรีใดไดเรกทอรีหนึ่งต่อไปนี้ตามช่วงเวลาปกติ โดยขึ้นอยู่กับการตั้งค่าพร็อพเพอร์ตี้การกำหนดค่า Message Processor uploadToCloud

  • uploadToCloud = false: ย้ายไฟล์ไปยัง /opt/apigee/var/log/edge-message-processor/ax/staging แล้ว
  • uploadToCloud = true: (ค่าเริ่มต้น): ระบบจะย้ายไฟล์ไปยัง /opt/apigee/var/log/edge-message-processor/ax/failed

แตกไฟล์ข้อมูลจากไดเรกทอรี /staging หรือ /failed เพื่อรับไฟล์ข้อมูลวิเคราะห์

พร็อพเพอร์ตี้การกำหนดค่า

ใช้พร็อพเพอร์ตี้ต่อไปนี้เพื่อกำหนดค่า Message Processor ให้เขียนข้อมูลวิเคราะห์ลงในดิสก์ พร็อพเพอร์ตี้ทั้งหมดต่อไปนี้เป็นพร็อพเพอร์ตี้ที่ไม่บังคับ

พร็อพเพอร์ตี้ คำอธิบาย
conf_analytics_analytics.saveToDisk

ตั้งค่าเป็น true เพื่อกำหนดค่า Message Processor ให้เขียนข้อมูลวิเคราะห์ลงในไฟล์ดิสก์

ค่าเริ่มต้นคือ false

conf_analytics_analytics.sendToQueue

ตั้งค่าเป็น true เพื่อกำหนดค่า Message Processor ให้อัปโหลดข้อมูลไปยัง Qpid/Postgres ตั้งค่าเป็น false เพื่อปิดใช้การเขียนข้อมูลวิเคราะห์ไปยัง Qpid/Postgres

ค่าเริ่มต้นคือ true

conf_analytics_analytics.baseDataDirectoryPath

ระบุเส้นทางฐานที่ระบบจะเขียนไฟล์ข้อมูลวิเคราะห์

ค่าเริ่มต้นคือ /opt/apigee/var/log/edge-message-processor/ax.

conf_analytics_analytics.allocatedDiskSpaceInMBytes

ระบุพื้นที่ในดิสก์ในหน่วยเมกะไบต์ที่จัดสรรไว้สำหรับไฟล์ข้อมูลวิเคราะห์

ค่าเริ่มต้นคือ 3072 หากคุณใช้พื้นที่ในดิสก์ที่จัดสรรไว้สำหรับไฟล์ข้อมูลการวิเคราะห์เกิน Message Processor จะหยุดบันทึกข้อมูลการวิเคราะห์และเขียนข้อความแสดงข้อผิดพลาดลงในไฟล์บันทึก

conf_analytics_analytics.uploadToCloud

ควบคุมตำแหน่งสุดท้ายของไฟล์ข้อมูลวิเคราะห์

  • false: ย้ายไฟล์ไปยัง /opt/apigee/var/log/edge-message-processor/ax/staging แล้ว
  • true (ค่าเริ่มต้น): ระบบจะย้ายไฟล์ไปยัง /opt/apigee/var/log/edge-message-processor/ax/failed

หมายเหตุ: แม้ว่าพร็อพเพอร์ตี้นี้จะเรียกว่า uploadToCloud แต่จะไม่มีการอัปโหลดข้อมูลไปยังระบบคลาวด์ ข้อมูลวิเคราะห์ทั้งหมดจะยังคงอยู่ในเครื่องที่คุณติดตั้ง

วิธีตั้งค่าพร็อพเพอร์ตี้เหล่านี้

  1. เปิดไฟล์ message-processor.properties ในเครื่องมือแก้ไข หากไม่มีไฟล์ ให้สร้างไฟล์โดยทำดังนี้

    vi /opt/apigee/customer/application/message-processor.properties
  2. ตั้งค่าพร็อพเพอร์ตี้ตามต้องการ ดังนี้

    # Enable writing analytics data to disk.
    conf_analytics_analytics.saveToDisk=true
    # Disable writing analytics data to Qpid/Postgres.
    conf_analytics_analytics.sendToQueue=false
    
    # Specify base directory for analytics data files.
    conf_analytics_analytics.baseDataDirectoryPath=/opt/apigee/var/smg
    
    # Set the disk space available for analytics files.
    conf_analytics_analytics.allocatedDiskSpaceInMBytes=3072
    # Move final analytics data to files to the /staging directory.
    conf_analytics_analytics.uploadToCloud=false
  3. บันทึกการเปลี่ยนแปลง
  4. ตรวจสอบว่าไฟล์พร็อพเพอร์ตี้เป็นของผู้ใช้ "apigee" โดยทำดังนี้

    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. ตั้งค่าพร็อพเพอร์ตี้ consumer-type เป็น ax สำหรับกลุ่มการวิเคราะห์ axgroup-001 ดังนี้

    curl -X POST -H "Content-Type:application/json" \
    "http://ms-ip:8080/v1/analytics/groups/ax/axgroup-001/properties?propName=consumer-type&propValue=ax" \
    -u sysAdminEmail:sysAdminPWord

    โดยค่าเริ่มต้น ชื่อของกลุ่ม Analytics คือ axgroup-001 ในไฟล์การกำหนดค่าสำหรับการติดตั้ง Edge คุณสามารถตั้งชื่อกลุ่มการวิเคราะห์ได้โดยใช้พร็อพเพอร์ตี้ AXGROUP หากไม่แน่ใจชื่อของกลุ่มการวิเคราะห์ ให้เรียกใช้คำสั่งต่อไปนี้ในโหนดเซิร์ฟเวอร์การจัดการเพื่อแสดงชื่อ

    apigee-adminapi.sh analytics groups list \
      --admin sysAdminEmail --pwd sysAdminPword --host localhost

    คำสั่งนี้จะแสดงชื่อกลุ่ม Analytics ในช่อง name

  6. รีสตาร์ท Message Processor โดยทำดังนี้

    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

    หลังจากรีสตาร์ท Message Processor จะเขียนข้อมูลวิเคราะห์ลงในไฟล์ข้อมูล

  7. ทำตามขั้นตอนเหล่านี้ซ้ำสำหรับ Message Processor ทั้งหมด