Mengupload Data Traffic API ke Apigee - Rilis Beta

Edge for Private Cloud v4.18.01

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

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

Untuk membantu mengupload data ini, Apigee menyediakan rilis Beta utilitas command line apigee-analytics-collector. Utilitas ini mengirimkan laporan volume panggilan API kembali ke Apigee. Setiap penginstalan Edge for cloud pribadi dapat menggunakan aplikasi utilitas ini untuk mengambil dan melaporkan data lalu lintas ke Apigee.

Mengakses data yang diupload oleh apigee-analytics-collector

Setelah mengupload data dengan utilitas apigee-analytics-collector, Anda dapat melihatnya di Apigee 360.

Untuk melihat data, login ke Apigee 360, lalu pilih opsi Usage. Halaman Usage menampilkan grafik penggunaan dan tabel data penggunaan untuk setiap organisasi Edge Anda.

Menginstal apigee-analytics-collector

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

Tempat pemasangan

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

Persyaratan akses internet

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

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

Penginstalan

Gunakan perintah berikut untuk menginstal utilitas apigee-analytics-collector. Karena Anda menginstal file RPM, perintah ini harus dijalankan oleh pengguna root atau oleh pengguna yang memiliki akses sudo penuh. Untuk akses sudo penuh, artinya pengguna memiliki akses sudo untuk melakukan operasi yang sama seperti root.

> /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 pengguna non-root. Pengguna ini harus memiliki akses sudo penuh ke pengguna "apigee".

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

analyticsUser        ALL=(apigee)      NOPASSWD: ALL

dengan analyticsUser adalah nama pengguna yang menjalankan utilitas apigee-analytics-collector.

Setelah menginstal utilitas apigee-analytics-collector dan mengonfigurasi pengguna, Anda dapat menguji utilitas dengan menjalankan perintah bantuan 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 Server Pengelolaan Anda. URL ini biasanya dalam bentuk:
    http://ms_IP:8080/v1

    Dengan ms_IP adalah alamat IP atau Server Pengelolaan Anda dan 8080 adalah port yang digunakan oleh Edge API. Jika Anda membuat entri DNS untuk Edge API, URL-nya akan dalam format:
    http://ms_DNS/v1

    Jika Anda mengaktifkan TLS di Edge Management API, formatnya akan menjadi:
    https://ms_IP:8080/v1
    https://ms_DNS/v1
  • apigee_mgmt_api_email: Alamat email akun yang memiliki akses ke API /stats Edge. Sering kali, ini akan menjadi email administrator sistem Edge, atau email administrator organisasi untuk organisasi produksi Anda.
  • 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 lingkungan dalam penginstalan Edge dan mengupload data tersebut ke Apigee. Perhatikan cara Anda menggunakan apigee-service untuk menjalankan 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 tersebut 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 opsi -i (atau --include_orgs) dan -n (atau --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 prod myOrg.

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

>  /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 upload data ke Apigee. Kemudian, Anda dapat menjalankan ulang perintah tanpa opsi -S untuk mengirim data ke Apigee.

Salah satu alasan untuk menggunakan opsi -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 produk API, developer, aplikasi, atau proxy API. Contoh di bawah menggunakan opsi -D dan -S 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 berikutnya berisi daftar lengkap opsi command line.

Parameter perintah

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

Command

Penggunaan

-h, --help

Informasi penggunaan output

-D, --dimension <dimension>

Dimensi traffic yang akan dikumpulkan. Dimensi yang valid: apiproducts, devs, apps, apiproxy (default)

-d, --days <days>

Jumlah hari terakhir, mulai dari tanggal saat ini, untuk mengumpulkan data. Defaultnya adalah 3.

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

-m, --apigee_mgmt_api_uri <apigee_mgmt_api_uri>

URL ke Management API Edge.

-u, --apigee_mgmt_api_email <apigee_mgmt_api_email>

Alamat email akun yang memiliki akses ke API /stats Edge. Sering kali, ini adalah email administrator sistem Edge, atau email administrator organisasi untuk organisasi produksi Anda.

-p, --apigee_mgmt_api_password <apigee_mgmt_api_password>

Sandi yang terkait dengan akun email API pengelolaan Edge 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 untuk 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 <lokasi>

Jalur dan nama file untuk menyimpan output.

-s, --time_range_start <time_range_start>

Rentang waktu untuk memulai kueri statistik traffic, dalam format: "03/01/2016 00:00".

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

-z, --time_range_end <time_range_end>

Akhir rentang waktu untuk mengkueri statistik traffic, dalam format: "04/01/2016 24:00".

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

-t, --time_unit <time_unit>

Unit waktu untuk data traffic. Minggu default. Unit default per jam. Satuan waktu yang valid: detik, menit, jam, hari, minggu.

-S, --standard_output

Menulis 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 ke Dukungan Apigee untuk mendapatkannya.

-r, --apigee_analytics_secret <apigee_analytics_secret>

Rahasia Anda untuk mengupload data ke Apigee. Kirimkan tiket ke Dukungan Apigee untuk mendapatkannya.

-R, --include_curl_commands

Sertakan perintah cURL yang dihasilkan dalam output untuk proses debug.

-v, --verbose

Menampilkan output panjang.

Mengupload data secara manual ke Apigee

Apigee merekomendasikan agar Anda menginstal utilitas apigee-analytics-collector di mesin dengan 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 gunakan perintah cURL untuk menguploadnya ke Apigee dari mesin dengan akses internet. Anda harus mengulangi proses ini untuk setiap organisasi dan lingkungan produksi di penginstalan Edge Anda.

Gunakan perintah cURL berikut untuk mengumpulkan data traffic untuk organisasi dan lingkungan tertentu selama 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 API jumlah pesan API Edge Get. Dalam perintah ini:

  • apigee_mgmt_api_email:apigee_mgmt_api_password menentukan alamat email akun yang memiliki akses ke Edge /stats API.
  • <ms_IP> adalah alamat IP atau nama DNS Server Pengelolaan Edge.
  • {org_name} dan {env_name} menentukan org dan lingkungan.
  • apiproxy adalah dimensi yang mengelompokkan metrik berdasarkan proxy API.
  • MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM&timeUnit=hour menentukan rentang waktu yang dibagi menjadi satuan waktu metrik yang akan dikumpulkan. Perhatikan bahwa perintah cURL menggunakan kode hex %20 untuk spasi dalam rentang waktu.

Misalnya, untuk mengumpulkan jumlah pesan proxy API jam demi jam selama periode 24 jam, gunakan panggilan API pengelolaan berikut. timeRange berisi karakter berenkode URL.

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"

Anda akan melihat respons dalam bentuk:

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

Untuk mengupload data tersebut ke Apigee dari mesin dengan akses internet, gunakan perintah cURL berikut:

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:

  • apigee_analytics_client_id:apigee_analytics_secret specify kredensial Anda untuk mengupload data ke Apigee yang Anda peroleh dari Dukungan Apigee.
  • {org_name} menentukan organisasi.
  • {"environments"...} berisi hasil perintah cURL yang Anda gunakan untuk mengumpulkan statistik di atas.