Mengupload Data Traffic API ke Apigee - Rilis Beta

Semua pelanggan Edge untuk Private Cloud harus mengirimkan statistik Apigee tentang API ke statistik Apigee traffic proxy. Apigee merekomendasikan agar pelanggan mengupload informasi tersebut sekali sehari, mungkin dengan membuat cron job.

Anda harus mengirimkan data untuk deployment API produksi, tetapi bukan untuk API yang sedang dalam pengembangan atau deployment pengujian. Pada sebagian besar penginstalan Edge, Anda akan menentukan lingkungan untuk API produksi Anda. Data yang Anda kirimkan hanya untuk produksi tersebut organisasi dan lingkungan.

Untuk membantu mengupload data ini, Apigee menyediakan rilis Beta Command line apigee-analytics-collector utilitas. Utilitas ini mengirimkan laporan volume panggilan API kembali ke Apigee. Setiap Edge untuk Penginstalan Private Cloud dapat menggunakan utilitas ini untuk mengambil dan melaporkan data traffic ke Apigee.

Wajib: Hubungi Dukungan Apigee sebelum mengupload data

Sebelum dapat mengupload data ke Apigee, Anda harus menghubungi Dukungan Apigee Edge untuk menyelesaikan orientasi {i>checkout<i}.

Menginstal apigee-analytics-collector

apigee-analytics-collector adalah RPM yang Anda instal dengan menggunakan utilitas apigee-service.

Lokasi pemasangan

Node tempat Anda menginstal utilitas apigee-analytics-collector dapat berupa yang dapat mengakses Edge management API di Edge Management Server. Anda dapat menginstalnya langsung di Server Pengelolaan, di node lain dari penginstalan Edge, atau di selama node tersebut dapat membuat permintaan API ke Server Pengelolaan.

Akses Internet persyaratan

Instal utilitas apigee-analytics-collector di yang memiliki akses internet eksternal. Kemudian, utilitas apigee-analytics-collector dapat mengupload data langsung ke Apigee.

Jika tidak ada node dengan kedua akses ke Edge management API di Edge Management Server dan akses ke internet eksternal, Anda dapat menggunakan Edge management API untuk menyimpan traffic data secara lokal. Kemudian, Anda harus mentransfer data ke komputer yang memiliki akses internet untuk diupload Apigee. Dalam skenario ini, Anda tidak perlu menggunakan apigee-analytics-collector utilitas. Lihat Mengunggah data secara manual ke Apigee untuk mengetahui info selengkapnya.

Penginstalan

Gunakan perintah berikut untuk menginstal utilitas apigee-analytics-collector. Karena Anda sedang menginstal file RPM, perintah ini harus dijalankan oleh pengguna {i>root<i} atau oleh pengguna yang memiliki akses {i>full sudo<i}. Untuk akses {i>sudo penuh<i}, itu berarti pengguna memiliki akses {i>sudo<i} untuk melakukan sebagai {i>root<i}.

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

Menjalankan apigee-analytics-collector

Bagian ini menjelaskan cara menjalankan utilitas apigee-analytics-collector.

Mengonfigurasi pengguna untuk menjalankan apigee-analytics-collector

Anda harus menjalankan apigee-analytics-collector sebagai non-root . Pengguna ini harus memiliki akses sudo penuh ke "apigee" .

Untuk mengonfigurasi pengguna agar memiliki akses sudo penuh ke "apigee" gunakan perintah "visudo" perintah ke edit file sudoers untuk menambahkan:

analyticsUser        ALL=(apigee)      NOPASSWD: ALL

Dengan analyticsUser adalah nama pengguna orang yang berlari utilitas apigee-analytics-collector.

Setelah menginstal utilitas apigee-analytics-collector dan mengkonfigurasi pengguna, Anda dapat menguji utilitas tersebut dengan menjalankan perintah {i>help<i} untuk utilitas apigee-analytics-collector:

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

Informasi yang diperlukan untuk menjalankan apigee-analytics-collector

Anda memerlukan informasi berikut untuk menjalankan perintah apigee-analytics-collector dan untuk meneruskan data ke Apigee:

  • apigee_mgmt_api_uri: URL dasar Edge API di Pengelolaan Anda Server. URL ini biasanya dalam bentuk berikut:

    http://ms_IP:8080/v1

    Dengan ms_IP adalah alamat IP atau Server Pengelolaan dan 8080 Anda berada porta yang digunakan oleh Edge API. Jika Anda membuat entri DNS untuk Edge API, berarti URL ada di bentuknya:

    http://ms_DNS/v1

    Jika Anda mengaktifkan TLS di API pengelolaan Edge, maka TLS berada dalam bentuk:

    https://ms_IP:8080/v1
    https://ms_DNS/v1
  • apigee_mgmt_api_email: Alamat email akun yang memiliki akses ke API /stats Edge. Seringkali adalah email administrator sistem Edge, atau email administrator organisasi untuk organisasi produksi.
  • apigee_mgmt_api_password: Sandi Edge untuk akun yang ditentukan oleh apigee_mgmt_api_email.
  • apigee_analytics_client_id dan apigee_analytics_secret: Kredensial Anda untuk mengupload data ke Apigee. Kirimkan tiket ke Dukungan Apigee untuk mendapatkan apigee_analytics_client_id dan apigee_analytics_secret.

Contoh perintah

Berikut adalah contoh perintah untuk mengambil data traffic untuk semua organisasi dan di penginstalan Edge, lalu upload data tersebut ke Apigee. Perhatikan bagaimana Anda gunakan apigee-service untuk jalankan perintah apigee-analytics-collector:

/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

Perhatikan bahwa perintah itu berisi semua informasi yang diperlukan, seperti apigee_analytics_client_id dan apigee_analytics_secret.

Anda akan melihat hasil dalam bentuk:

[
  {
    "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
      }
    ]
  }
]

Gunakan opsi command line pada perintah untuk mengontrol tindakannya. Gunakan opsi berikut untuk menentukan organisasi dan lingkungan yang akan disertakan dalam data yang dihasilkan:

  • -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

Misalnya, untuk menentukan hanya organisasi dan lingkungan produksi, gunakan atribut -i (atau --include_orgs) dan -n (atau Opsi --include_envs):

/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

Dalam contoh ini, Anda hanya mengumpulkan data dari lingkungan produksi myOrg.

Untuk membuang data ke layar guna memeriksanya sebelum mengirimkannya ke Apigee, gunakan -S opsi:

/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

Opsi -S menghilangkan data upload ke Apigee. Kemudian, Anda dapat menjalankan kembali perintah tanpa opsi -S untuk mengirim ke Apigee.

Salah satu alasan untuk menggunakan -S adalah agar Anda dapat menampilkan berbagai jenis data secara lokal. Apigee hanya mengharuskan Anda mengupload data traffic API, tetapi opsi -D memungkinkan Anda menampilkan data tentang API produk, developer, aplikasi, atau proxy API. Contoh di bawah ini menggunakan -D dan -S opsi untuk menampilkan data developer secara lokal:

/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

Sertakan opsi -v untuk mendapatkan output panjang, dan opsi -R untuk melihat perintah curl yang dihasilkan oleh apigee-analytics-collector:

/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

Bagian selanjutnya berisi daftar lengkap opsi command line.

Parameter perintah

Tabel berikut mencantumkan kumpulan opsi lengkap untuk Utilitas apigee-analytics-collector:

Perintah Deskripsi
-h, --help

Informasi penggunaan output

-D, --dimension dimension

Dimensi traffic yang akan dikumpulkan. Nilai yang valid adalah:

  • apiproducts
  • apiproxy (default)
  • apps
  • devs
-d, --days days

Jumlah data yang harus dikumpulkan dalam beberapa hari terakhir, mulai dari tanggal saat ini. Tujuan defaultnya adalah 3.

Jika Anda menentukan -d, jangan tentukan -s dan juga -z untuk menyetel rentang waktu.

-m, --apigee_mgmt_api_uri apigee_mgmt_api_uri

URL ke API pengelolaan Edge.

-u, --apigee_mgmt_api_email apigee_mgmt_api_email

Alamat email akun dengan akses ke Edge /stats API. Ini biasanya adalah Email administrator sistem Edge, atau email administrator organisasi untuk dalam organisasi produksi Anda.

-p, --apigee_mgmt_api_password apigee_mgmt_api_password

Sandi yang terkait dengan akun email Edge management API yang ditentukan oleh -u.

-i, --include_orgs items

Daftar organisasi yang dipisahkan koma untuk disertakan dalam output.

-x, --exclude_orgs items

Daftar organisasi yang dipisahkan koma yang akan dikecualikan dari output.

-n, --include_envs items

Daftar lingkungan yang dipisahkan koma untuk disertakan dalam output.

-e, --exclude_envs items

Daftar lingkungan yang dipisahkan koma untuk disertakan dari output.

-o, --output path

Jalur dan nama file untuk menyimpan output.

-s, --time_range_start time_range_start

Rentang waktu untuk memulai kueri statistik traffic, dalam bentuk: "MM/DD/YYYY HH:MM".

Jika Anda menentukan -d, jangan tentukan -s dan -z juga untuk menyetel rentang waktu.

-z, --time_range_end time_range_end

Rentang waktu berakhir untuk mengkueri statistik traffic, dalam bentuk: "04/01/2016 24:00".

Jika Anda menentukan -d, jangan tentukan -s dan -z juga untuk menyetel rentang waktu.

-t, --time_unit time_unit

Satuan waktu untuk data lalu lintas. Nilai default-nya adalah hour. Satuan waktu yang valid adalah:

  • second
  • minute
  • hour (default)
  • day
  • week

Jika Anda menetapkan -t ke week dan -d ke 365, kemudian Apigee menampilkan data dalam jumlah besar, yang dikelompokkan menjadi 52 data terpisah entri (satu entri per minggu).

-S, --standard_output

Tulis output ke terminal (stdout), bukan menguploadnya ke Apigee.

-c, --apigee_analytics_client_id apigee_analytics_client_id

ID Anda untuk mengupload data ke Apigee. Kirimkan tiket Anda dengan Dukungan Apigee untuk peroleh.

-r, --apigee_analytics_secret apigee_analytics_secret

Rahasia Anda untuk mengupload data ke Apigee. Kirimkan tiket Anda dengan Dukungan Apigee untuk peroleh.

-R, --include_curl_commands

Sertakan perintah curl yang dihasilkan dalam output untuk proses debug.

-v, --verbose

Menampilkan output panjang.

Mengupload data ke Apigee secara manual

Apigee merekomendasikan agar Anda menginstal utilitas apigee-analytics-collector di yang memiliki akses internet eksternal. Kemudian, utilitas apigee-analytics-collector dapat mengupload data langsung ke Apigee.

Namun, jika mesin tidak memiliki akses internet eksternal, gunakan Edge management API untuk mengumpulkan data traffic, lalu menggunakan perintah curl untuk menguploadnya ke Apigee dari mesin dengan akses internet. Anda harus mengulangi proses ini untuk setiap organisasi produksi dan dalam penginstalan Edge Anda.

Gunakan perintah curl berikut untuk mengumpulkan data traffic untuk organisasi tertentu dan untuk interval waktu yang ditentukan:

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"

Perintah ini menggunakan Edge Get API message count API. Dalam perintah ini:

  • apigee_mgmt_api_email:apigee_mgmt_api_password menentukan alamat email akun dengan akses ke Edge /stats API.
  • ms_IP adalah alamat IP atau nama DNS Edge Server Pengelolaan.
  • org_name dan env_name menentukan organisasi dan lingkungan.
  • apiproxy adalah dimensi yang mengelompokkan metrik menurut proxy API.
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour menentukan rentang waktu yang dibagi menjadi unit waktu metrik yang akan dikumpulkan. Perhatikan bahwa Perintah curl menggunakan kode heksadesimal %20 untuk spasi dalam waktu tertentu {i>range<i}.

Misalnya, untuk mengumpulkan jumlah pesan proxy API per jam selama periode 24 jam, gunakan metode mengikuti Panggilan API.

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"

(Perhatikan bahwa timeRange berisi karakter yang dienkode URL.)

Anda akan melihat respons dalam formulir:

{
  "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" ]
  }
}

Kemudian, untuk mengupload data tersebut ke Apigee dari komputer yang memiliki akses internet, gunakan perintah berikut Perintah curl:

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"...'

Dengan keterangan:

  • apigee_analytics_client_id:apigee_analytics_secret tentukan kredensial untuk mengupload data ke Apigee yang Anda peroleh dari Apigee.
  • org_name menentukan nama organisasi.
  • "environments"... berisi hasil dari perintah curl yang yang Anda gunakan untuk mengumpulkan statistik di atas.