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

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

หรือคุณจะกำหนดค่าเครื่องมือประมวลผลข้อความให้เขียนข้อมูลการวิเคราะห์ลงในดิสก์ก็ได้ จากนั้นคุณจะสามารถอัปโหลดข้อมูลนั้นไปยังระบบการวิเคราะห์ของคุณเองเพื่อทำการวิเคราะห์ เช่น คุณสามารถอัปโหลดข้อมูลไปยัง 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 ไปยังไดเรกทอรีใดไดเรกทอรีหนึ่งต่อไปนี้ตามการตั้งค่าของพร็อพเพอร์ตี้การกำหนดค่าตัวประมวลผลข้อความของ 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 เพื่อรับไฟล์ข้อมูล Analytics

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

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

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

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

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

conf_analytics_analytics.sendToQueue

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

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

conf_analytics_analytics.baseDataDirectoryPath

ระบุเส้นทางฐานที่มีการเขียนไฟล์ข้อมูล Analytics

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

conf_analytics_analytics.allocatedDiskSpaceInMBytes

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

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

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 คุณจะตั้งชื่อกลุ่ม Analytics ได้โดยใช้พร็อพเพอร์ตี้ AXGROUP หากไม่แน่ใจเกี่ยวกับชื่อกลุ่ม Analytics ให้เรียกใช้คำสั่งต่อไปนี้ในโหนดของเซิร์ฟเวอร์การจัดการเพื่อแสดงโหนดดังกล่าว

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

    คำสั่งนี้จะแสดงชื่อกลุ่มข้อมูลวิเคราะห์ในช่อง name

  6. รีสตาร์ทโปรแกรมประมวลผลข้อความ

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

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

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