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

Edge for Private Cloud 4.18.01 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.

Apigee-analytics-collector tarafından yüklenen verilere erişme

Verileri apigee-analytics-collector yardımcı programıyla yükledikten sonra Apigee 360'ta görüntüleyebilirsiniz.

Verileri görüntülemek için Apigee 360'a giriş yapın ve Kullanım seçeneğini belirleyin. Kullanım sayfasında, Edge kuruluşlarınızın her birine veya her birine ait kullanım verilerinin tablosuyla birlikte bir kullanım grafiği görüntülenir.

Apigee-analytics-collector uygulamasını yükleme

apigee-analytics-collector yardımcı programı, apigee-analytics-collector 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, Edge 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

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

Uç Yönetim Sunucusu'nda hem Edge Management API'ye erişimi olan hem de harici internet 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 aşağıdaki 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ın nasıl çalıştırılacağı açıklanmaktadır.

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

apigee-analytics-collector ifadesini kök olmayan kullanıcı olarak çalıştırmanız gerekir. 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ükledikten ve 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 şu 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ştirdiyseniz şu biçimdedir:
    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_password tarafından belirtilen hesap için Edge şifresi.
  • apigee_analytics_client_id ve apigee_analytics_client_id: Apigee'ye veri yüklemeye ilişkin kimlik bilgileriniz. apigee_analytics_client_id ve apigee_analytics_client_id bilgilerini almak için lütfen Apigee Destek ekibiyle iletişime geçin.

Ö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'i 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 <virgülle ayrılmış öğe listesi>
  • -x, --excluded_orgs <virgülle ayrılmış öğe listesi>
  • -n, --include_envs <virgülle ayrılmış öğe listesi>
  • -e, --excluded_envs <virgülle ayrılmış öğe listesi>

Örneğin, yalnızca üretim kuruluşlarını ve ortamlarını belirtmek için -i (veya --include_orgs) ve -n (veya --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'un üretim ortamından veri topluyorsunuz.

Apigee'ye göndermeden önce incelemek üzere verileri bir ekrana aktarmak 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üklemeyi atlar. Ardından verileri Apigee'ye göndermek için komutu -S seçeneği olmadan yeniden çalıştırabilirsiniz.

-S seçeneğini kullanmanın avantajlarından 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örüntülemenizi sağlar. 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ı çıktı 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ındaki seçeneklerin tam listesi listelenmiştir:

Komut

Kullanım

-h, --yardım

Çıkış kullanım bilgileri

-D, --boyut <dimension>

Toplanacak trafik boyutu. Geçerli boyutlar: apiproducts, devs, apps, apiproxy (varsayılan)

-d, --days <days>

Geçerli tarihten başlayarak toplanacak verilerin geçmiş gün 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 e-postası veya üretim kuruluşlarınız için kuruluş yöneticisinin e-postası olur.

-p, --Apigee_mgmt_api_password <apigee_mgmt_api_password>

-u ile 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, --excluded_orgs <öğeler>

Çıkışta 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, --excluded_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 <zaman_aralığı_başlangıç>

Trafik istatistiklerini sorgulamak için başlatılacak zaman aralığı. Şu biçimdedir: "03/01/2016 00:00".

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

-z, --time_range_end <zaman_aralığı_bitiş>

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

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

-t, --time_unit <time_unit>

Trafik verileri için zaman birimi. Varsayılan hafta. Saate göre varsayılan birimler. Geçerli zaman birimleri: saniye, dakika, saat, gün, hafta.

-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. Destek almak için Apigee Desteği'nden destek kaydı oluşturun.

-r, --Apigee_analytics_secret <apigee_analytics_secret>

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

-R, --include_curl_komutları

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

-v, --ayrıntılı

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

Apigee'ye manuel olarak veri yükleme

Apigee, harici internet erişimi olan bir makineye apigee-analytics-collector yardımcı programını yüklemenizi önerir. Daha sonra 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 ve ardından 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ığı için belirli bir kuruluş ve ortamla ilgili trafik verilerini toplamak üzere 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ın toplanacak metriklerin zaman birimlerine bölünmesiyle elde edilir. 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 management API çağrısı'nı kullanın. timeRange, URL kodlamalı karakterler içerir.

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"

Şu formda bir yanıt göreceksiniz:

{
  "environments" : [ {
    "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"
  } ],
  "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"...}'

Bu örnekte:

  • Apigee Destek Ekibi'nden edindiğiniz ve Apigee'ye veri yüklemek için kullandığınız Apigee_analytics_client_id:become_analytics_secret belirtin.
  • {org_name}, kuruluşu belirtir.
  • {"environments"...}, yukarıdaki istatistikleri toplamak için kullandığınız cURL komutunun sonuçlarını içerir.