API Trafik Verilerini Apigee'ye Yükleme - Beta Sürümü

Tüm Edge for Private Cloud müşterilerinin, API proxy trafiğiyle ilgili istatistiklerini Apigee'ye göndermesi gerekir. Apigee, müşterilerin bu bilgileri günde bir kez, muhtemelen bir cron işi oluşturarak yüklemesini önerir.

Verileri üretim API dağıtımlarınız için göndermeniz gerekir ancak geliştirme veya test dağıtımlarındaki API'ler için göndermemeniz gerekir. Çoğu Edge kurulumunda, üretim API'leriniz için belirli kuruluşlar veya ortamlar tanımlarsınız. Gönderdiğiniz veriler yalnızca söz konusu üretim kuruluşları ve ortamları içindir.

Apigee, bu verilerin yüklenmesine yardımcı olmak için apigee-analytics-collector komut satırı yardımcı programının Beta sürümünü sunar. Bu yardımcı program, API çağrı hacmi raporunu Apigee'ye geri gönderir. Private Cloud kurulumunun tüm Uçları, trafik verilerini almak ve Apigee'ye bildirmek için bu yardımcı programı kullanabilir.

Gerekli: Veri yüklemeden önce Apigee Destek Ekibi ile iletişime geçin

Apigee'ye veri yüklemeden önce ilk katılım sürecini tamamlamak için Apigee Edge Destek Ekibi ile iletişime geçmeniz gerekir.

Apigee-analytics-collector'u yükleme

apigee-analytics-collector yardımcı programı, apigee-service yardımcı programını kullanarak yüklediğiniz bir BGBG'dir.

Nereye yüklenir?

apigee-analytics-collector yardımcı programını yüklediğiniz düğüm, Uç Yönetim Sunucusu'nda Edge Management API'ye erişebilen herhangi bir düğüm olabilir. Yönetim Sunucusu'na API istekleri gönderebildiği sürece, istemciyi doğrudan Yönetim Sunucusu'na, Edge yüklemesinin başka bir düğümüne veya ayrı bir düğüme yükleyebilirsiniz.

İnternet erişimiyle ilgili gereksinimler

apigee-analytics-collector yardımcı programını harici internet erişimi olan bir makineye yükleyin. Ardından apigee-analytics-collector yardımcı programı, verileri doğrudan Apigee'ye yükleyebilir.

Uç Yönetim Sunucusu'nda hem Edge Management API'ye hem de harici internete erişimi olan bir düğüm yoksa trafik verilerini yerel olarak kaydetmek için Edge Management API'yi kullanabilirsiniz. Ardından, Apigee'ye yüklemek için verileri internet erişimi olan bir makineye aktarmanız gerekir. Bu senaryoda, apigee-analytics-collector yardımcı programını kullanmanız gerekmez. Daha fazla bilgi için Apigee'ye manuel olarak veri yükleme bölümüne bakın.

Döşeme

apigee-analytics-collector yardımcı programını yüklemek için aşağıdaki komutu kullanın. BGBG dosyası yüklediğiniz için bu komutun kök kullanıcı veya tam sudo erişimine sahip bir kullanıcı tarafından çalıştırılması gerekir. Tam sudo erişimi için bu, kullanıcının root ile aynı işlemleri yapmak üzere sudo erişimine sahip olduğu anlamına gelir.

/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector install

Apigee-analytics-collector'u çalıştırma

Bu bölümde, apigee-analytics-collector yardımcı programını nasıl çalıştıracağınız açıklanmaktadır.

Bir kullanıcıyı Apigee-analytics-collector aracını çalıştıracak şekilde yapılandırma

apigee-analytics-collector uygulamasını kök olmayan kullanıcı olarak çalıştırmalısınız. Bu kullanıcının, "Apigee" kullanıcısına tam sudo erişimine sahip olması gerekir.

Bir kullanıcıyı "Apigee" kullanıcısına tam sudo erişimi sahibi olacak şekilde yapılandırmak için "visudo" komutunu kullanarak sudoers dosyasını ekleyerek şunları ekleyin:

analyticsUser        ALL=(apigee)      NOPASSWD: ALL

Burada analyticsUser, apigee-analytics-collector yardımcı programını çalıştıran kişinin kullanıcı adıdır.

apigee-analytics-collector yardımcı programını yükleyip kullanıcıyı yapılandırdıktan sonra apigee-analytics-collector yardımcı programı için yardım komutunu çalıştırarak yardımcı programı test edebilirsiniz:

/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic --help

Apigee-analytics-collector'u çalıştırmak için gerekli bilgiler

apigee-analytics-collector komutunu çalıştırmak ve verileri Apigee'ye yönlendirmek için aşağıdaki bilgilere ihtiyacınız vardır:

  • apigee_mgmt_api_uri: Yönetim Sunucunuzdaki Edge API'nin temel URL'si. Bu URL genellikle aşağıdaki biçimdedir:

    http://ms_IP:8080/v1

    Burada ms_IP, IP adresi veya Yönetim Sunucunuzdur. 8080 ise Edge API tarafından kullanılan bağlantı noktasıdır. Edge API için bir DNS girişi oluşturduysanız URL şu biçimdedir:

    http://ms_DNS/v1

    Edge Management API'de TLS'yi etkinleştirirseniz şu biçimde görünür:

    https://ms_IP:8080/v1
    https://ms_DNS/v1
  • apigee_mgmt_api_email: Edge /stats API'lerine erişimi olan bir hesabın e-posta adresi. Bu genellikle Edge sistem yöneticisinin e-postası veya üretim kuruluşlarınız için kuruluş yöneticisinin e-postası olur.
  • apigee_mgmt_api_password: apigee_mgmt_api_email tarafından belirtilen hesabın Edge şifresi.
  • apigee_analytics_client_id ve apigee_analytics_secret: Apigee'ye veri yüklemeye ilişkin kimlik bilgileriniz. apigee_analytics_client_id ve apigee_analytics_secret hizmetlerini edinmek için lütfen Apigee Edge Desteği'nden destek kaydı oluşturun.

Örnek komutlar

Aşağıda, Edge kurulumundaki tüm kuruluşlar ve ortamlar için trafik verilerini almak ve bu verileri Apigee'ye yüklemek için kullanılabilecek örnek bir komut verilmiştir. apigee-analytics-collector komutunu çalıştırmak için apigee-service kodunu nasıl kullandığınıza dikkat edin:

/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic \
--apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \
--apigee_mgmt_api_email $ae_username \
--apigee_mgmt_api_password $ae_password \
--apigee_analytics_client_id $apigee_analytics_client_id \
--apigee_analytics_secret $apigee_analytics_secret

Komutun, apigee_analytics_client_id ve apigee_analytics_client_id gibi gerekli tüm bilgileri içerdiğine dikkat edin.

Sonuçları şu biçimde görürsünüz:

[
  {
    "org": "myOrg",
    "env": "prod",
    "time_range_start": "08/27/2016 00:00",
    "time_range_end": "08/30/2016 00:00",
    "response": [
      {
        "store_org_env_metrics_hourly_v4": 1
      }
    ]
  },
  {
    "org": "VALIDATE",
    "env": "test",
    "time_range_start": "08/27/2016 00:00",
    "time_range_end": "08/30/2016 00:00",
    "response": [
      {
        "store_org_env_metrics_hourly_v4": 1
      }
    ]
  }
]

Komutun işlemlerini kontrol etmek için komut satırı seçeneklerini kullanın. Oluşturulan verilere dahil edilecek kuruluşları ve ortamları belirtmek için aşağıdaki seçenekleri kullanın:

  • -i, --include_orgs comma-separated list of items
  • -x, --exclude_orgs comma-separated list of items
  • -n, --include_envs comma-separated list of items
  • -e, --exclude_envs comma-separated list of items

Örneğin, yalnızca üretim kuruluşlarını ve ortamlarını belirtmek için -i (veya --include_orgs) ve -n (ya da --include_envs) seçeneklerini) kullanın:

/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic -i myOrg -n prod \
--apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \
--apigee_mgmt_api_email $ae_username \
--apigee_mgmt_api_password $ae_password \
--apigee_analytics_client_id $apigee_analytics_client_id \
--apigee_analytics_secret $apigee_analytics_secret

Bu örnekte, yalnızca myOrg üretim ortamından veri topluyorsunuz.

Apigee'ye göndermeden önce incelemek üzere verileri bir ekrana dökümünü almak için -S seçeneğini kullanın:

/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic -i myOrg -n prod -S \
  --apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \
  --apigee_mgmt_api_email $ae_username \
  --apigee_mgmt_api_password $ae_password \
  --apigee_analytics_client_id $apigee_analytics_client_id \
  --apigee_analytics_secret $apigee_analytics_secret

-S seçeneği, Apigee'ye veri yükleme işlemini atlar. Daha sonra komutu, verileri Apigee'ye göndermek için -S seçeneği olmadan yeniden çalıştırabilirsiniz.

-S seçeneğini kullanmanın nedenlerinden biri, farklı veri türlerini yerel olarak görüntüleyebilmenizdir. Apigee yalnızca API trafik verilerini yüklemenizi gerektirir ancak -D seçeneği API ürünleri, geliştiriciler, uygulamalar veya API proxy'leri ile ilgili verileri göstermenize olanak tanır. Aşağıdaki örnekte, geliştirici verilerini yerel olarak görüntülemek için -D ve -S seçenekleri kullanılmaktadır:

/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic -i myOrg -n prod -S -D devs \
  --apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \
  --apigee_mgmt_api_email $ae_username \
  --apigee_mgmt_api_password $ae_password \
  --apigee_analytics_client_id $apigee_analytics_client_id \
  --apigee_analytics_secret $apigee_analytics_secret

Ayrıntılı çıkış almak için -v seçeneğini, apigee-analytics-collector tarafından oluşturulan curl komutlarını görmek için -R seçeneğini ekleyin:

/opt/apigee/apigee-service/bin/apigee-service apigee-analytics-collector export traffic -i myOrg -n prod -S -R -v \
  --apigee_mgmt_api_uri http://192.168.56.103:8080/v1 \
  --apigee_mgmt_api_email $ae_username \
  --apigee_mgmt_api_password $ae_password \
  --apigee_analytics_client_id $apigee_analytics_client_id \
  --apigee_analytics_secret $apigee_analytics_secret

Sonraki bölümde, komut satırı seçeneklerinin tam listesi yer almaktadır.

Komut parametreleri

Aşağıdaki tabloda apigee-analytics-collector yardımcı programı için tüm seçenekler listelenmiştir:

Komut Açıklama
-h, --help

Çıkış kullanım bilgileri

-D, --dimension dimension

Toplanacak trafik boyutu. Valid values are:

  • apiproducts
  • apiproxy (varsayılan)
  • apps
  • devs
-d, --days days

Geçerli tarihten itibaren toplanacak geçmiş günlerdeki veri sayısı. Varsayılan değer 3'tür.

-d belirtirseniz zaman aralığı ayarlamak için -s ve -z değerlerini de belirtmeyin.

-m, --apigee_mgmt_api_uri apigee_mgmt_api_uri

Edge Management API'nin URL'si.

-u, --apigee_mgmt_api_email apigee_mgmt_api_email

Edge /stats API'lerine erişimi olan bir hesabın e-posta adresi. Bu genellikle Edge sistem yöneticisinin veya üretim kuruluşlarınızın kuruluş yöneticisinin e-posta adresidir.

-p, --apigee_mgmt_api_password apigee_mgmt_api_password

-u tarafından belirtilen Edge Management API e-posta hesabıyla ilişkilendirilmiş şifre.

-i, --include_orgs items

Çıkışa dahil edilecek kuruluşların virgülle ayrılmış listesi.

-x, --exclude_orgs items

Çıkıştan hariç tutulacak kuruluşların virgülle ayrılmış listesi.

-n, --include_envs items

Çıkışa dahil edilecek ortamların virgülle ayrılmış listesi.

-e, --exclude_envs items

Çıkıştan eklenecek ortamların virgülle ayrılmış listesi.

-o, --output path

Çıkışın kaydedileceği yol ve dosya adı.

-s, --time_range_start time_range_start

Trafik istatistiklerini sorgulamak için başlatılacak zaman aralığı: "MM/DD/YYYY HH:MM".

-d belirtirseniz zaman aralığı ayarlamak için -s ve -z değerlerini de belirtmeyin.

-z, --time_range_end time_range_end

Trafik istatistiklerini sorgulamak için şu biçimdeki zaman aralığı sonu: "04/01/2016 24:00".

-d belirtirseniz zaman aralığı ayarlamak için -s ve -z değerlerini de belirtmeyin.

-t, --time_unit time_unit

Trafik verileri için zaman birimi. hour, varsayılan değerdir. Geçerli zaman birimleri şunlardır:

  • second
  • minute
  • hour (varsayılan)
  • day
  • week

-t değerini week, -d değerini ise 365 olarak ayarlarsanız Apigee, 52 ayrı giriş halinde (her hafta için bir tane) gruplandırılmış büyük miktarda veri döndürür.

-S, --standard_output

Çıktıyı Apigee'ye yüklemek yerine terminale (stdout) yazın.

-c, --apigee_analytics_client_id apigee_analytics_client_id

Apigee'ye veri yükleme kimliğiniz. Almak için lütfen Apigee Edge Desteği'nden destek kaydı oluşturun.

-r, --apigee_analytics_secret apigee_analytics_secret

Apigee'ye veri yükleme sırrınız. Almak için lütfen Apigee Edge Desteği'nden destek kaydı oluşturun.

-R, --include_curl_commands

Oluşturulan curl komutlarını hata ayıklama için çıkışa ekleyin.

-v, --verbose

Ayrıntılı çıktıyı göster.

Apigee'ye manuel olarak veri yükleme

Apigee, apigee-analytics-collector yardımcı programını harici internet erişimi olan bir makineye yüklemenizi önerir. Ardından apigee-analytics-collector yardımcı programı, verileri doğrudan Apigee'ye yükleyebilir.

Ancak makinenin harici internet erişimi yoksa trafik verilerini toplamak için Edge Management API'yi kullanın. Ardından, verileri internet erişimi olan bir makineden Apigee'ye yüklemek için curl komutlarını kullanın. Bu işlemi, Edge kurulumunuzdaki her üretim kuruluşu ve ortam için tekrarlamanız gerekir.

Belirli bir zaman aralığında belirli bir kuruluş ve ortamla ilgili trafik verilerini toplamak için aşağıdaki curl komutunu kullanın:

curl -X GET -u apigee_mgmt_api_email:apigee_mgmt_api_password \
"http://ms_IP:8080/v1/organizations/org_name/environments/env_name/stats/apiproxy?select=sum(message_count)&timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour"

Bu komut, Edge Get API mesaj sayısı API'sini kullanır. Bu komutta:

  • apigee_mgmt_api_email:apigee_mgmt_api_password, Edge /stats API'lerine erişimi olan bir hesabın e-posta adresini belirtir.
  • ms_IP, Uç Yönetim Sunucusu'nun IP adresi veya DNS adıdır.
  • org_name ve env_name, kuruluşu ve ortamı belirtir.
  • apiproxy, metrikleri API proxy'lerine göre gruplandıran boyuttur.
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour, zaman aralığını toplanacak metriklerin zaman birimlerine böler. curl komutunun zaman aralığındaki boşluklar için %20 onaltılık kodunu kullandığına dikkat edin.

Örneğin, 24 saatlik bir süre içinde API proxy mesajı sayılarını saat bazında toplamak için aşağıdaki API çağrısını kullanın.

curl -X GET -u apigee_mgmt_api_email:apigee_mgmt_api_password \
"http://192.168.56.103:8080/v1/organizations/myOrg/environments/prod/stats/apiproxy?select=sum(message_count)&timeRange=01%2F01%2F2018%2000%3A00~01%2F02%2F2018%2000%3A00&timeUnit=hour"

(timeRange öğesinin URL kodlamalı karakterler içerdiğini unutmayın.)

Şu formda bir yanıt göreceksiniz:

{
  "environments" : [ {
    "dimensions" : [ {
      "metrics" : [ {
        "name" : "sum(message_count)",
        "values": [
                {
                  "timestamp": 1514847600000,
                  "value": "35.0"
                },
                {
                  "timestamp": 1514844000000,
                  "value": "19.0"
                },
                {
                  "timestamp": 1514840400000,
                  "value": "58.0"
                },
                {
                  "timestamp": 1514836800000,
                  "value": "28.0"
                },
                {
                  "timestamp": 1514833200000,
                  "value": "29.0"
                },
                {
                  "timestamp": 1514829600000,
                  "value": "33.0"
                },
                {
                  "timestamp": 1514826000000,
                  "value": "26.0"
                },
                {
                  "timestamp": 1514822400000,
                  "value": "57.0"
                },
                {
                  "timestamp": 1514818800000,
                  "value": "41.0"
                },
                {
                  "timestamp": 1514815200000,
                  "value": "27.0"
                },
                {
                  "timestamp": 1514811600000,
                  "value": "47.0"
                },
                {
                  "timestamp": 1514808000000,
                  "value": "66.0"
                },
                {
                  "timestamp": 1514804400000,
                  "value": "50.0"
                },
                {
                  "timestamp": 1514800800000,
                  "value": "41.0"
                },
                {
                  "timestamp": 1514797200000,
                  "value": "49.0"
                },
                {
                  "timestamp": 1514793600000,
                  "value": "35.0"
                },
                {
                  "timestamp": 1514790000000,
                  "value": "89.0"
                },
                {
                  "timestamp": 1514786400000,
                  "value": "42.0"
                },
                {
                  "timestamp": 1514782800000,
                  "value": "47.0"
                },
                {
                  "timestamp": 1514779200000,
                  "value": "21.0"
                },
                {
                  "timestamp": 1514775600000,
                  "value": "27.0"
                },
                {
                  "timestamp": 1514772000000,
                  "value": "20.0"
                },
                {
                  "timestamp": 1514768400000,
                  "value": "12.0"
                },
                {
                  "timestamp": 1514764800000,
                  "value": "7.0"
                }
              ]
            }
          ],
          "name" : "proxy1"
      } ],
    "name" : "prod"
  } ],
  "metaData" : {
    "errors" : [ ],
    "notices" : [ "query served by:53dab80c-e811-4ba6-a3e7-b96f53433baa", "source pg:6b7bab33-e732-405c-a5dd-4782647ce096", "Table used: myorg.prod.agg_api" ]
  }
}

Daha sonra bu verileri internet erişimi olan bir makineden Apigee'ye yüklemek için aşağıdaki curl komutunu kullanın:

curl -X POST -H 'Content-Type:application/json' \
  -u apigee_analytics_client_id:apigee_analytics_secret \
  https://nucleus-api-prod.apigee.com/v1/apigee-analytics-cli-api/traffic/orgs/org_name/apis -d '"environments"...'

Burada:

  • apigee_analytics_client_id:apigee_analytics_secret, Apigee'den edindiğiniz verileri Apigee'ye yüklemek için kullanılan kimlik bilgilerinizi belirtir.
  • org_name, kuruluş adını belirtir.
  • "environments"..., yukarıdaki istatistikleri toplamak için kullandığınız curl komutunun sonuçlarını içerir.