Semua pelanggan Edge untuk Private Cloud wajib mengirimkan statistik Apigee tentang traffic proxy API. 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 pengembangan atau deployment 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 untuk utilitas command line apigee-analytics-collector
. 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.
Diperlukan: Hubungi Dukungan Apigee sebelum mengupload data
Sebelum dapat mengupload data ke Apigee, Anda harus menghubungi Dukungan Apigee Edge untuk menyelesaikan proses orientasi.
Menginstal apigee-analytics-collector
Utilitas apigee-analytics-collector
adalah RPM yang Anda instal menggunakan utilitas apigee-service
.
Tempat menginstal
Node tempat Anda menginstal utilitas apigee-analytics-collector
dapat berupa
node apa pun yang dapat mengakses Edge Management API di Edge Management Server. Anda dapat menginstalnya
langsung di Server Pengelolaan, di node penginstalan Edge lain, atau di node
terpisah selama node tersebut dapat membuat permintaan API ke Server Pengelolaan.
Persyaratan akses internet
Instal utilitas apigee-analytics-collector
di
komputer dengan akses internet eksternal. Kemudian, utilitas apigee-analytics-collector
dapat mengupload data secara langsung ke Apigee.
Jika tidak ada node dengan akses ke Edge management API pada Server Edge Management dan akses ke internet eksternal, Anda dapat menggunakan Edge Management API untuk menyimpan data traffic secara lokal. Selanjutnya, 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 untuk mengetahui informasi selengkapnya.
Penginstalan
Gunakan perintah berikut untuk menginstal utilitas apigee-analytics-collector
. Karena Anda sedang menginstal file RPM, perintah ini harus dijalankan oleh pengguna root atau pengguna yang memiliki akses penuh sudo. Untuk akses sudo penuh, artinya pengguna memiliki akses sudo untuk melakukan operasi yang sama dengan 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 penuh sudo ke pengguna "apigee".
Untuk mengonfigurasi pengguna agar memiliki akses penuh sudo ke pengguna "apigee", gunakan perintah "visudo" untuk mengedit file sudoers yang akan ditambahkan:
analyticsUser ALL=(apigee) NOPASSWD: ALL
Dengan analyticsUser adalah nama pengguna dari orang yang menjalankan
utilitas apigee-analytics-collector
.
Setelah menginstal utilitas apigee-analytics-collector
dan mengonfigurasi pengguna, Anda dapat menguji utilitas tersebut 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 meneruskan data ke Apigee:
apigee_mgmt_api_uri
: URL dasar Edge API di Server Pengelolaan Anda. URL ini biasanya memiliki bentuk berikut:http://ms_IP:8080/v1
Dengan ms_IP sebagai alamat IP atau Server Pengelolaan Anda dan 8080 adalah port yang digunakan oleh Edge API. Jika Anda membuat entri DNS untuk Edge API, maka URL-nya akan berbentuk:
http://ms_DNS/v1
Jika Anda mengaktifkan TLS di Edge Management API, formatnya adalah:
https://ms_IP:8080/v1 https://ms_DNS/v1
apigee_mgmt_api_email
: Alamat email akun yang memiliki akses ke Edge/stats
API. Biasanya, email ini adalah email administrator sistem Edge, atau email administrator organisasi untuk organisasi produksi Anda.apigee_mgmt_api_password
: Sandi Edge untuk akun yang ditentukan olehapigee_mgmt_api_email
.apigee_analytics_client_id
dan apigee_analytics_secret: Kredensial Anda untuk mengupload data ke Apigee. Harap kirim tiket ke Dukungan Apigee Edge untuk mendapatkanapigee_analytics_client_id
danapigee_analytics_secret
.
Contoh perintah
Di bawah ini 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 berisi semua informasi yang diperlukan, seperti apigee_analytics_client_id dan apigee_analytics_secret Anda.
Anda akan melihat hasilnya 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 organisasi dan lingkungan produksi saja, 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 produksi
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 kembali perintah tanpa opsi -S
untuk mengirim data ke Apigee.
Salah satu alasan 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 ini 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
:
Perintah | Deskripsi |
---|---|
-h, --help |
Output informasi penggunaan |
-D, --dimension dimension |
Dimensi traffic yang akan dikumpulkan. Nilai yang valid adalah:
|
-d, --days days
|
Jumlah data dalam beberapa hari terakhir yang harus dikumpulkan, mulai dari tanggal saat ini. Defaultnya adalah 3. Jika Anda menentukan |
-m, --apigee_mgmt_api_uri apigee_mgmt_api_uri |
URL ke Edge management API. |
-u, --apigee_mgmt_api_email apigee_mgmt_api_email |
Alamat email akun yang memiliki akses ke Edge |
-p, --apigee_mgmt_api_password apigee_mgmt_api_password |
Sandi yang terkait dengan akun email Edge management API yang ditentukan oleh
|
-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 yang akan disertakan dari output. |
-o, --output path
|
Jalur dan nama file untuk menyimpan output. |
-s, --time_range_start time_range_start
|
Rentang waktu mulai untuk mengkueri statistik lalu lintas, dalam bentuk: "MM/DD/YYYY HH:MM". Jika Anda menentukan |
-z, --time_range_end time_range_end
|
Rentang waktu berakhir untuk menanyakan statistik lalu lintas, dalam bentuk: "04/01/2016 24:00". Jika Anda menentukan |
-t, --time_unit time_unit
|
Satuan waktu untuk data lalu lintas. Nilai default-nya adalah
Jika Anda menetapkan |
-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. Harap kirimkan tiket ke Dukungan Apigee Edge untuk mendapatkannya. |
-r, --apigee_analytics_secret apigee_analytics_secret
|
Rahasia Anda untuk mengupload data ke Apigee. Harap kirimkan tiket ke Dukungan Apigee Edge untuk mendapatkannya. |
-R, --include_curl_commands
|
Sertakan perintah |
-v, --verbose
|
Menampilkan output panjang. |
Mengupload data ke Apigee secara manual
Apigee merekomendasikan agar Anda menginstal utilitas apigee-analytics-collector
pada komputer yang memiliki akses internet eksternal. Kemudian, utilitas apigee-analytics-collector
dapat mengupload data secara langsung ke Apigee.
Namun, jika perangkat tidak memiliki akses internet eksternal, gunakan Edge management API untuk
mengumpulkan data traffic, lalu gunakan perintah curl
untuk menguploadnya ke Apigee dari
mesin yang memiliki
akses internet. Anda harus mengulangi proses ini untuk setiap organisasi dan lingkungan produksi dalam penginstalan Edge.
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 Edge Get API message count API. Dalam perintah ini:
- apigee_mgmt_api_email:apigee_mgmt_api_password menentukan alamat email akun yang memiliki akses ke /stats API Edge.
- ms_IP adalah alamat IP atau nama DNS Edge Management Server.
- org_name dan env_name menentukan organisasi 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 perintahcurl
menggunakan kode hex%20
untuk spasi dalam rentang waktu.
Misalnya, untuk mengumpulkan jumlah pesan proxy API per jam selama periode 24 jam, gunakan panggilan API berikut.
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 ke 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" ] } }
Selanjutnya, untuk mengupload data tersebut ke Apigee dari mesin yang memiliki 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 keterangan:
- apigee_analytics_client_id:apigee_analytics_secret menentukan kredensial Anda untuk mengupload data ke Apigee yang diperoleh dari Apigee.
- org_name menentukan nama organisasi.
- "environments"... berisi hasil perintah
curl
yang Anda gunakan untuk mengumpulkan statistik di atas.