Bir dosyaya analiz verileri yazma

Mesaj İşleyici tarafından toplanan analiz verileri, varsayılan olarak işlenmek üzere Qpid ve Postgres'e yüklenir. Ardından, analiz verilerini Edge kullanıcı arayüzünde görüntüleyebilirsiniz.

Alternatif olarak, Message Processor'ı analiz verilerini diske yazacak şekilde yapılandırabilirsiniz. Ardından bu verileri analiz için kendi analiz sisteminize yükleyebilirsiniz. Örneğin, verileri Google Cloud BigQuery'ye yükleyebilirsiniz. Ardından, kendi veri analizinizi gerçekleştirmek için BigQuery ve TensorFlow'un sunduğu güçlü sorgu ve makine öğrenimi özelliklerinden yararlanabilirsiniz.

Her iki seçeneği de kullanabilirsiniz. Bu, analiz verilerini Qpid/Postgres'e yükleyebileceğiniz ve ayrıca verileri diske kaydedebileceğiniz anlamına gelir.

Dosya adları ve konumu

Varsayılan olarak, analiz verilerinin disk dosyalarına yazılmasını etkinleştirirseniz dosyalar aşağıdaki dizine yazılır:

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

Edge, veri dosyaları için bir dakikalık aralıklarla /tmp altında yeni bir dizin oluşturur. Dizin adının biçimi şu şekildedir:

org~env~yyyyMMddhhmmss

Örneğin:

myorg~prod~20190909163500
myorg~prod~20190909163600

Her dizin, söz konusu aralık için ayrı ayrı veri dosyalarının bulunduğu bir .gz dosyası içerir. .gz dosya adının biçimi şöyledir:

4DigitRandomHex_StartTime.StartTimePlusInterval_internalHostIP_hostUUID_writer_index.txt.gz

Edge, dizini ve içerdiği .gz dosyasını /tmp konumundan düzenli aralıklarla, uploadToCloud İleti İşleyici yapılandırma özelliğinin ayarına bağlı olarak aşağıdaki dizinlerden birine taşır:

  • uploadToCloud = false: Dosyalar /opt/apigee/var/log/edge-message-processor/ax/staging hedefine taşındı
  • uploadToCloud = true: (varsayılan): Dosyalar /opt/apigee/var/log/edge-message-processor/ax/failed klasörüne taşınır

Analytics veri dosyalarını elde etmek için verileri /staging veya /failed dizininden çıkartın.

Yapılandırma özellikleri

İleti İşleyici'yi, analiz verilerini diske yazacak şekilde yapılandırmak için aşağıdaki özellikleri kullanın. Bu özelliklerin tümü isteğe bağlıdır:

Özellik Açıklama
conf_analytics_analytics.saveToDisk

Mesaj İşleyici'yi, analiz verilerini disk dosyalarına yazacak şekilde yapılandırmak için true olarak ayarlayın.

false, varsayılan değerdir.

conf_analytics_analytics.sendToQueue

Mesaj İşleyici'nin verileri Qpid/Postgres'e yüklemesini yapılandırmak için değeri true olarak ayarlayın. Analiz verilerinin Qpid/Postgres'e yazılmasını devre dışı bırakmak için değeri false olarak ayarlayın.

true, varsayılan değerdir.

conf_analytics_analytics.baseDataDirectoryPath

Analytics veri dosyalarının yazıldığı temel yolu belirtir.

Varsayılan değer: /opt/apigee/var/log/edge-message-processor/ax.

conf_analytics_analytics.allocatedDiskSpaceInMBytes

Analiz dosyaları için ayrılan disk alanını megabayt cinsinden belirtir.

3072, varsayılan değerdir. Analiz veri dosyaları için ayrılan disk alanını aşarsanız Mesaj İşleyici, analiz verilerini kaydetmeyi durdurur ve günlük dosyalarına bir hata mesajı yazar.

conf_analytics_analytics.uploadToCloud

Analiz dosyalarının son konumunu kontrol eder.

  • false: Dosyalar /opt/apigee/var/log/edge-message-processor/ax/staging klasörüne taşındı
  • true (varsayılan): Dosyalar /opt/apigee/var/log/edge-message-processor/ax/failed klasörüne taşınır

Not: Bu mülkün adı uploadToCloud olsa da buluta hiçbir veri yüklenmez. Tüm analiz verileri kurulumunuzda yerel olarak kalır.

Bu özellikleri ayarlamak için:

  1. message-processor.properties dosyasını bir düzenleyicide açın. Dosya yoksa oluşturun:

    vi /opt/apigee/customer/application/message-processor.properties
  2. Özellikleri istediğiniz gibi ayarlayın:

    # 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. Değişikliklerinizi kaydedin.
  4. Özellikler dosyasının "Apigee" kullanıcısına ait olduğundan emin olun:

    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. axgroup-001 analiz grubu için consumer-type özelliğinin değerini ax olarak ayarlayın:

    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

    Varsayılan olarak, analiz grubunun adı axgroup-001 şeklindedir. Bir Edge kurulumunun yapılandırma dosyasında, AXGROUP özelliğini kullanarak analiz grubunun adını ayarlayabilirsiniz. Analiz grubunun adlarından emin değilseniz görüntülemek için Yönetim Sunucusu düğümünde aşağıdaki komutu çalıştırın:

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

    Bu komut, name alanındaki analiz grubu adını döndürür.

  6. İleti İşleyici'yi yeniden başlatın:

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

    Yeniden başlatma sonrasında İleti İşleyici, analiz verilerini veri dosyalarına yazar.

  7. Tüm mesaj işleyenler için bu adımları tekrarlayın.