Cara mengonfigurasi Edge

Untuk mengonfigurasi Edge setelah penginstalan, gunakan kombinasi file .properties dan utilitas Edge. Misalnya, untuk mengonfigurasi TLS/SSL di UI Edge, edit file .properties untuk menetapkan properti yang diperlukan. Perubahan pada file .properties mengharuskan Anda memulai ulang komponen Edge yang terpengaruh.

Apigee merujuk pada teknik pengeditan file .properties sebagai kode dengan konfigurasi (terkadang disingkat sebagai CwC). Pada dasarnya, kode dengan konfigurasi adalah alat pencarian kunci/nilai berdasarkan setelan dalam file .properties. Dalam kode dengan konfigurasi, kunci disebut sebagai token. Oleh karena itu, untuk mengonfigurasi Edge, setel token dalam file .properties.

Kode dengan konfigurasi memungkinkan komponen Edge menetapkan nilai default yang dikirimkan bersama produk, memungkinkan tim penginstalan mengganti setelan tersebut berdasarkan topologi penginstalan, lalu memungkinkan pelanggan mengganti properti apa pun yang mereka pilih.

Jika Anda menganggapnya sebagai hierarki, setelan akan disusun sebagai berikut, dengan setelan pelanggan memiliki prioritas tertinggi untuk menggantikan setelan apa pun dari tim penginstal atau Apigee:

  1. Pelanggan
  2. Penginstal
  3. Komponen

Menentukan nilai token saat ini

Sebelum menetapkan nilai baru untuk token dalam file .properties, Anda harus menentukan nilai saat ini terlebih dahulu menggunakan perintah berikut:

/opt/apigee/apigee-service/bin/apigee-service component_name configure -search token

Dengan component_name adalah nama komponen, dan token adalah token yang akan diperiksa.

Perintah ini menelusuri hierarki file .properties komponen untuk menentukan nilai token saat ini.

Contoh berikut memeriksa nilai token conf_http_HTTPRequest.line.limit saat ini untuk Router:

/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

Anda akan melihat output yang terlihat seperti berikut:

Found key conf_http_HTTPRequest.line.limit, with value, 4k, in /opt/apigee/edge-router/token/default.properties

Jika nilai token dimulai dengan #, token tersebut telah dijadikan komentar dan Anda harus menggunakan sintaksis khusus untuk mengubahnya. Untuk mengetahui informasi selengkapnya, lihat Menetapkan token yang saat ini dijadikan komentar.

Jika Anda tidak mengetahui nama token secara keseluruhan, gunakan alat seperti grep untuk melakukan penelusuran berdasarkan nama properti atau kata kunci. Untuk mengetahui informasi selengkapnya, lihat Menemukan token.

File properti

Ada file konfigurasi komponen yang dapat diedit dan tidak dapat diedit. Bagian ini menjelaskan file tersebut.

File konfigurasi komponen yang dapat diedit

Tabel berikut mencantumkan komponen Apigee dan file properti yang dapat Anda edit untuk mengonfigurasi komponen tersebut:

Komponen Nama Komponen File Konfigurasi yang Dapat Diedit
Cassandra apigee-cassandra /opt/apigee/customer/application/cassandra.properties
Router Edge edge-router /opt/apigee/edge-router/conf/load_balancing.properties
SSO Apigee apigee-sso /opt/apigee/customer/application/sso.properties
Server Pengelolaan edge-management-server /opt/apigee/customer/application/management-server.properties
Message Processor edge-message-processor /opt/apigee/customer/application/message-processor.properties
apigee-monit apigee-monit /opt/apigee/customer/application/monit.properties
UI Klasik (tidak memengaruhi UI Edge yang baru) edge-ui /opt/apigee/customer/application/ui.properties
UI Edge (khusus UI Edge baru; tidak memengaruhi UI Klasik) apigee-management-ui t/a (menggunakan file konfigurasi penginstalan)
OpenLDAP apigee-openldap /opt/apigee/customer/application/openldap.properties
Server Postgres edge-postgres-server /opt/apigee/customer/application/postgres-server.properties
Database PostgreSQL apigee-postgresql /opt/apigee/customer/application/postgressql.properties
Server Qpid edge-qpid-server /opt/apigee/customer/application/qpid-server.properties
Qpidd apigee-qpidd /opt/apigee/customer/application/qpidd.properties
Router edge-router /opt/apigee/customer/application/router.properties
Penjaga kebun binatang apigee-zookeeper /opt/apigee/customer/application/zookeeper.properties

Jika ingin menetapkan properti di salah satu file konfigurasi komponen ini, tetapi tidak ada, Anda dapat membuatnya di lokasi yang tercantum di atas.

Selain itu, Anda harus memastikan bahwa file properti dimiliki oleh pengguna "apigee":

chown apigee:apigee /opt/apigee/customer/application/configuration_file.properties

File konfigurasi komponen yang tidak dapat diedit

Selain file konfigurasi komponen yang dapat diedit, ada juga file konfigurasi yang tidak dapat Anda edit.

File informasi (yang tidak dapat diedit) mencakup hal berikut:

Pemilik Nama file atau Direktori
Penginstalan
/opt/apigee/token
Komponen
/opt/apigee/component_name/conf

Dengan component_name mengidentifikasi komponen. Nilai yang memungkinkan mencakup:

  • apigee-cassandra (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (Database PostgreSQL)
  • apigee-qpidd (Qpidd)
  • apigee-sso (SSO Edge)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (Server Pengelolaan)
  • edge-management-ui (UI Edge baru)
  • edge-message-processor (Pemroses Pesan)
  • edge-postgres-server (Server Postgres)
  • edge-qpid-server (Server Qpid)
  • edge-router (Router Tepi)
  • edge-ui (UI Klasik)

Menetapkan nilai token

Anda hanya dapat mengubah file .properties dalam direktori /opt/apigee/customer/application. Setiap komponen memiliki file .properties sendiri di direktori tersebut. Misalnya, router.properties dan management-server.properties. Untuk mengetahui daftar lengkap file properti, lihat Lokasi file .properties.

Untuk membuat file .properties:

  1. Buat file teks baru di editor. Nama file harus sama dengan daftar yang ditampilkan dalam tabel di atas untuk file pelanggan.
  2. Ubah pemilik file menjadi "apigee:apigee", seperti yang ditunjukkan pada contoh berikut:
    chown apigee:apigee /opt/apigee/customer/application/router.properties

    Jika Anda mengubah pengguna yang menjalankan layanan Edge dari pengguna "apigee", gunakan chown untuk mengubah kepemilikan kepada pengguna yang menjalankan layanan Edge.

Saat Anda mengupgrade Edge, file .properties di direktori /opt/apigee/customer/application akan dibaca. Artinya, upgrade akan mempertahankan properti apa pun yang Anda tetapkan pada komponen.

Untuk menetapkan nilai token:

  1. Edit file .properties komponen.
  2. Tambahkan atau ubah nilai token. Contoh berikut menetapkan nilai properti conf_http_HTTPRequest.line.limit ke "10k":
    conf_http_HTTPRequest.line.limit=10k

    Jika token memerlukan beberapa nilai, pisahkan setiap nilai dengan koma, seperti yang ditampilkan dalam contoh berikut:

    conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status,/myuri/*

    Untuk menambahkan nilai baru ke daftar seperti ini, biasanya Anda harus menambahkan nilai baru ke bagian akhir daftar.

  3. Mulai ulang komponen:
    /opt/apigee/apigee-service/bin/apigee-service component_name restart

    Dengan component_name adalah salah satu dari yang berikut:

    • apigee-cassandra (Cassandra)
    • apigee-openldap (OpenLDAP)
    • apigee-postgresql (Database PostgreSQL)
    • apigee-qpidd (Qpidd)
    • apigee-sso (SSO Edge)
    • apigee-zookeeper (ZooKeeper)
    • edge-management-server (Server Pengelolaan)
    • edge-management-ui (UI Edge baru)
    • edge-message-processor (Pemroses Pesan)
    • edge-postgres-server (Server Postgres)
    • edge-qpid-server (Server Qpid)
    • edge-router (Router Tepi)
    • edge-ui (UI Klasik)

    Misalnya, setelah mengedit router.properties, mulai ulang Router:

    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  4. (Opsional) Pastikan nilai token ditetapkan ke nilai baru menggunakan opsi configure -search. Contoh:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

    Untuk mengetahui informasi selengkapnya tentang configure -search, lihat Menentukan nilai token saat ini.

Menemukan token

Pada umumnya, token yang perlu Anda tetapkan diidentifikasi dalam panduan ini. Namun, jika Anda perlu mengganti nilai token yang ada, yang nama lengkap atau lokasinya tidak Anda ketahui, gunakan grep untuk menelusuri direktori source komponen.

Misalnya, jika Anda tahu bahwa dalam rilis Edge sebelumnya, Anda menyetel properti session.maxAge dan ingin mengetahui nilai token yang digunakan untuk menetapkannya, lalu grep untuk properti di direktori /opt/apigee/edge-ui/source:

grep -ri "session.maxAge" /opt/apigee/edge-ui/source

Anda akan melihat hasilnya dalam format berikut:

/opt/apigee/component_name/source/conf/application.conf:property_name={T}token_name{/T}

Contoh berikut menunjukkan nilai token session.maxAge UI:

/opt/apigee/edge-ui/source/conf/application.conf:session.maxAge={T}conf_application_session.maxage{/T}

String di antara tag {T}{/T} adalah nama token yang dapat Anda tetapkan dalam file .properties UI.

Menetapkan token yang saat ini dijadikan komentar

Beberapa token dijadikan komentar dalam file konfigurasi Edge. Jika Anda mencoba menetapkan token yang dikomentari pada file konfigurasi komponen atau penginstalan, setelan Anda akan diabaikan.

Untuk menetapkan nilai token yang dijadikan komentar dalam file konfigurasi Edge, gunakan sintaksis khusus dalam bentuk berikut:

conf/filename+propertyName=propertyValue

Misalnya, untuk menetapkan properti bernama HTTPClient.proxy.host pada Pemroses Pesan, grep pertama agar properti dapat menentukan tokennya:

grep -ri /opt/apigee/edge-message-processor/ -e "HTTPClient.proxy.host"

Perintah grep menampilkan hasil yang menyertakan nama token. Perhatikan cara nama properti dijadikan komentar, seperti yang ditunjukkan oleh awalan #:

source/conf/http.properties:#HTTPClient.proxy.host={T}conf_http_HTTPClient.proxy.host{/T}
token/default.properties:conf_http_HTTPClient.proxy.host=
conf/http.properties:#HTTPClient.proxy.host=

Untuk menetapkan nilai properti ini, edit /opt/apigee/customer/application/message-processor.properties, tetapi gunakan sintaksis khusus, seperti yang ditampilkan dalam contoh berikut:

conf/http.properties+HTTPClient.proxy.host=myhost.name.com

Dalam hal ini, Anda harus mengawali nama properti dengan conf/http.properties+. Ini adalah lokasi dan nama file konfigurasi yang berisi properti yang diikuti dengan tanda "+".

Setelah memulai ulang Pemroses Pesan, periksa file /opt/apigee/edge-message-processor/conf/http.properties:

cat /opt/apigee/edge-message-processor/conf/http.properties

Di akhir file, Anda akan melihat properti yang ditetapkan, dalam format:

conf/http.properties:HTTPClient.proxy.host=myhost.name.com

Mengonfigurasi proxy penerusan untuk permintaan dari bagian Kirim Permintaan di UI Trace

Bagian ini menjelaskan cara mengonfigurasi proxy penerusan untuk permintaan dari bagian Kirim Permintaan di UI Trace dengan kredensial proxy opsional. Untuk mengonfigurasi proxy penerusan:

  1. Edit /opt/apigee/customer/application/ui.properties dan pastikan file tersebut adalah milik apigee:apigee.
  2. Tambahkan penggantian berikut (mengubah nilai pada konfigurasi proxy tertentu):
    conf_application_http.proxyhost=proxy.example.com
    conf_application_http.proxyport=8080
    conf_application_http.proxyuser=apigee
    conf_application_http.proxypassword=Apigee123!
  3. Simpan dan mulai ulang UI klasik.

Menambahkan format log kustom di Router Apigee/Nginx

Dalam beberapa kasus, Anda perlu mengubah format log Apigee Router/Nginx default atau menambahkan variabel. Untuk mengupdate konfigurasi format log Apigee Router/Nginx default:

  1. Buat file router.properties, jika tidak ada, dengan jalur yang ditampilkan di bawah ini:
    /opt/apigee/customer/application/router.properties
  2. Tambahkan konten berikut ke file router.properties untuk membuat konfigurasi log_format baru dengan nama router_new:
    conf_load_balancing_load.balancing.driver.nginx.global.http.parameters.template.extra=log_format router_new 'time_iso8601\\\\thostname\\\\tremote_addr:remote_port\\\\t'\\\\n\\n 'upstream_addr\\\\trequest_time\\\\t-\\\\t-\\\\t'\\\\n\\n 'status\\\\tupstream_status\\\\trequest_length\\\\t'\\\\n\\n 'body_bytes_sent\\\\t'\\\\n\\n 'request\\\\tupstream_http_x_apigee_message_id\\\\t'\\\\n\\n 'http_user_agent\\\\thost\\thostname-pid-connection-connection_requests\\\\tmy_nginx_var_xff\\t'\\\\n\\n 'upstream_http_x_apigee_fault_flag\\\\tupstream_http_x_apigee_fault_source\\\\tupstream_http_x_apigee_fault_code\\\\t'\\\\n\\n 'upstream_http_x_apigee_fault_policy\\tupstream_http_x_apigee_fault_flow\\tupstream_http_x_apigee_fault_revision\\t'\\\\n\\n 'upstream_http_x_apigee_dp_color\\\\tmy_x_apigee_target_latency\\\\t'\\\\n\\n 'upstream_http_x_apigee_proxy\\\\tupstream_http_x_apigee_proxy_basepath\\\\t'\\\\n\\n 'self_region\\\\tself_pod\\\\tself_color\\\\tssl_protocol\\\\tssl_client_verify\\\\tssl_session_id\\\\tssl_session_reused\\\\tupstream_pod\\\\tupstream_region';\\\\n\\n\n
    conf_load_balancing_load.balancing.driver.nginx.access.log={conf_load_balancing_load.balancing.driver.nginx.log.dir}/{org}~{env}.{port}_access_log router_new

    Perbarui variabel dalam perintah di atas sebagaimana mestinya. Anda dapat menemukan nilai konfigurasi default untuk log_format dalam file di bawah:

    /opt/apigee/edge-router/conf/load_balancing.properties

    Daftar variabel Nginx ditampilkan di http://nginx.org/en/docs/varindex.html.

  3. Mulai ulang Router untuk menerapkan konfigurasi baru:
    apigee-service edge-router restart
  4. Periksa apakah konfigurasi log_format baru (router_new) telah ditambahkan ke file /opt/nginx/conf.d/0-default.conf:
        
    cat /opt/nginx/conf.d/0-default.conf | grep router_new -A 10
  5. Kirim beberapa permintaan API ke proxy API dan verifikasi format log baru di file
    /opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file