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

Edge for Private Cloud s. 4.17.09

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

Üretim API dağıtımlarınızın verilerini göndermeniz gerekir ancak geliştirme veya test dağıtımlarındaki API'ler için veri göndermeniz gerekmez. Çoğu Edge kurulumunda, üretim API'leriniz için belirli kuruluşlar veya ortamlar tanımlarsınız. Gönderdiğiniz veriler yalnızca bu ü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ü sağlar. Bu yardımcı program, API çağrı hacmi raporunu Apigee'ye geri gönderir. Özel Bulut kurulumundaki her Edge, trafik verilerini almak ve Apigee'ye bildirmek için bu yardımcı programı kullanabilir.

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

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

Verileri görüntülemek için Apigee 360'a giriş yapın ve ardından Kullanım seçeneğini belirleyin. Kullanım sayfasında, Edge kuruluşlarınızın her biri için bir kullanım grafiği ve kullanım verileri tablosu gösterilir.

apigee-analytics-collector'ı yükleme

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

Nerede yüklenir?

apigee-analytics-collector yardımcı programını yüklediğiniz düğüm, Edge Yönetim Sunucusu'ndaki Edge yönetim API'sine erişebilen herhangi bir düğüm olabilir. Doğrudan Yönetim Sunucusu'na, Edge kurulumunun başka bir düğümüne veya ayrı bir düğüme (bu düğüm Yönetim Sunucusu'na API isteği gönderebildiği sürece) yükleyebilirsiniz.

İnternet erişimi koşulları

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.

Hem Edge Yönetim Sunucusu'ndaki Edge yönetim API'sine hem de harici internet erişimine sahip bir düğüm yoksa trafik verilerini yerel olarak kaydetmek için Edge yönetim API'sini 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.

Kurulum

Apigee-analytics-collector yardımcı programını yüklemek için aşağıdaki komutu kullanın. Bir RPM dosyası yüklediğiniz için bu komut, root kullanıcısı veya tam sudo erişimi olan bir kullanıcı tarafından çalıştırılmalıdır. Tam sudo erişimi, kullanıcının root ile aynı işlemleri gerçekleştirmek için sudo erişimine sahip olduğu anlamına gelir.

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

apigee-analytics-collector'ı ç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'ı çalıştıracak şekilde yapılandırma

apigee-analytics-collector'ı root olmayan bir kullanıcı olarak çalıştırmanız gerekir. Bu kullanıcı, "Apigee" kullanıcısına tam sudo erişimine sahip olmalıdır.

Bir kullanıcıyı "apigee" kullanıcısına tam sudo erişimi olacak şekilde yapılandırmak için "visudo" komutunu kullanarak sudoers dosyasını düzenleyip ş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 komutunu ç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çimde olur:
    http://ms_IP:8080/v1

    Burada ms_IP IP adresi veya Yönetim Sunucunuzdur, 8080 ise Edge API'nin kullandığı bağlantı noktasıdır. Edge API için DNS girişi oluşturduysanız URL şu biçimde olur:
    http://ms_DNS/v1

    Edge management API'de TLS'yi etkinleştirirseniz şu şekilde olur:
    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-posta adresi veya üretim kuruluşlarınız için kuruluş yöneticisinin e-posta adresidir.
  • apigee_mgmt_api_password: apigee_mgmt_api_email ile belirtilen hesabın Edge şifresi.
  • apigee_analytics_client_id ve apigee_analytics_secret: Apigee'ye veri yüklemek için kimlik bilgileriniz. apigee_analytics_client_id ve apigee_analytics_secret almak için lütfen Apigee Destek Ekibi'ne bir destek kaydı gönderin.

Örnek komutlar

Aşağıda, Edge kurulumundaki tüm kuruluşlar ve ortamların trafik verilerini alıp Apigee'ye yükleyen örnek bir komut gösterilmektedir. 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

Komutta apigee_analytics_client_id ve apigee_analytics_secret gibi gerekli tüm bilgilerin yer aldığını unutmayın.

Sonuçları şu şekilde 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
      }
    ]
  }
]

İşlemlerini kontrol etmek için komutun 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, --exclude_orgs <virgülle ayrılmış öğe listesi>
  • -n, --include_envs <virgülle ayrılmış öğe listesi>
  • -e, --exclude_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 kuruluşunun prod ortamından veri toplarsınız.

Verileri Apigee'ye göndermeden önce incelemek için bir ekrana aktarmak istiyorsanız -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 bir nedeni, 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ülemenize 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 

Komut satırı seçeneklerinin tam listesi bir sonraki bölümde verilmiştir.

Komut parametreleri

Aşağıdaki tabloda, apigee-analytics-collector yardımcı programının tüm seçenekleri listelenmiştir:

Komut

Kullanım

-h, --yardım

Çıkış kullanım bilgileri

-D, --dimension <dimension>

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

-d, --days <gün sayısı>

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

-d parametresini belirtirseniz zaman aralığı belirlemek için -s ve -z parametrelerini 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-posta adresi veya üretim kuruluşlarınız için kuruluş yöneticisinin e-posta adresidir.

-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, --exclude_orgs <items>

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

-n, --include_envs <items>

Çıktıya dahil edilecek ortamların virgülle ayrılmış listesi.

-e, --excluded_envs <öğeler>

Çıktıya dahil edilecek 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 sorgulamaya başlamak için kullanılacak zaman aralığı ("03/01/2016 00:00" biçiminde).

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

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

Trafik istatistiklerini sorgulamak için zaman aralığının sonu ("04/01/2016 24:00" biçiminde).

-d seçeneğini belirtirseniz zaman aralığı ayarlamak için -s ve -z seçeneklerini de belirtmeyin.

-t, --time_unit <time_unit>

Trafik verileri için zaman birimi. Varsayılan hafta. Saat başına 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üklemek için kullandığınız kimliğiniz. Bu özelliği kullanmak için lütfen Apigee Destek Ekibi'ne bir destek kaydı gönderin.

-r, --Apigee_analytics_secret <qwiklabs_analytics_secret>

Apigee'ye veri yükleme sırrınız. Bu özelliği kullanmak için lütfen Apigee Destek Ekibi'ne bir destek kaydı gönderin.

-R, --include_curl_commands

Hata ayıklama için oluşturulan cURL komutlarını çıkışa dahil edin.

-v, --verbose

Ayrıntılı çıkışı görüntüleyin.

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. 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 bu verileri internet erişimi olan bir makineden Apigee'ye yüklemek için cURL komutlarını kullanın. Bu işlemi, Edge kurulumunuzda bulunan her üretim kuruluşu ve ortamı için tekrarlamanız gerekir.

Belirli bir kuruluş ve ortam için belirli bir zaman aralığında trafik verileri 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/?select=sum(message_count)&timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM"

Bu komut, Edge Get API ileti 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>, Edge Yönetim Sunucusunun IP adresi veya DNS adıdır.
  • {org_name} ve {env_name}, kuruluşu ve ortamı belirtir.
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM toplanacak istatistiklerin zaman aralığını belirtir. cURL komutunun, zaman aralığındaki boşluklar için on altılık kod %20 kullandığını unutmayın.

Örneğin, 24 saatlik bir döneme ait istatistikleri toplamak için aşağıdaki komutu 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/?select=sum(message_count)&timeRange=08/29/2016%2000:00~08/30/2016%2000:00"

Formda şu yanıtı görürsünüz:

{
  "environments" : [ {
    "metrics" : [ {
      "name" : "sum(message_count)",
      "values" : [ "42.0" ]
    } ],
    "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" ]
  }
}

Ardından, 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_analytics_client_id:apigee_analytics_secret, Apigee Destek Ekibi'nden aldığınız Apigee'ye veri yükleme kimlik bilgilerinizi belirtir.
  • {org_name}, kuruluşu belirtir.
  • {"environments"...}, yukarıdaki istatistikleri toplamak için kullandığınız cURL komutunun sonuçlarını içerir.