Cara mengonfigurasi Edge

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

Apigee mengacu 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, Anda menetapkan 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 diatur sebagai berikut, dengan setelan pelanggan memiliki prioritas tertinggi untuk mengganti 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 tampak seperti berikut ini:

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 dikomentari dan Anda harus menggunakan sintaksis khusus untuk mengubahnya. Untuk mengetahui informasi selengkapnya, lihat artikel Menetapkan token yang saat ini sedang diberi komentar.

Jika Anda tidak mengetahui seluruh nama token, gunakan alat seperti grep untuk menelusuri 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
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 baru) edge-ui /opt/apigee/customer/application/ui.properties
UI Edge (khusus UI Edge baru; tidak memengaruhi UI Klasik) apigee-management-ui t/a (gunakan 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/postgresql.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
Zookeeper apigee-zookeeper /opt/apigee/customer/application/zookeeper.properties

Jika ingin menetapkan properti di salah satu file konfigurasi komponen ini, tetapi properti tersebut 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 (tidak dapat diedit) mencakup hal berikut:

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

Tempat 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 di direktori /opt/apigee/customer/application. Setiap komponen memiliki file .properties-nya 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. Membuat file teks baru di editor. Nama file untuk file pelanggan harus cocok dengan daftar yang ditampilkan pada tabel di atas.
  2. Ubah pemilik file menjadi "apigee:apigee", seperti yang ditunjukkan dalam 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 dalam 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 menggunakan beberapa nilai, pisahkan setiap nilai dengan koma, seperti yang ditunjukkan 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 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 berikut ini:

    • 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 Anda menggunakan opsi configure -search. Misalnya:
    /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 menetapkan properti session.maxAge dan ingin mengetahui nilai token yang digunakan untuk menetapkannya, maka grep untuk properti di direktori /opt/apigee/edge-ui/source:

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

Anda akan melihat hasil dalam bentuk 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 di file .properties UI.

Menetapkan token yang saat ini diberi komentar

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

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

conf/filename+propertyName=propertyValue

Misalnya, untuk menetapkan properti bernama HTTPClient.proxy.host di Message Processor, grep pertama untuk properti tersebut akan 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 dikomentari, 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 ditunjukkan pada contoh berikut:

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

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

Setelah memulai ulang Message Processor, 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 kumpulan properti, dalam bentuk:

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 forward proxy:

  1. Edit /opt/apigee/customer/application/ui.properties dan pastikan file dimiliki oleh apigee:apigee.
  2. Tambahkan penggantian berikut (mengubah nilai ke 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 Apigee Router/Nginx

Dalam beberapa kasus, Anda perlu mengubah format log Router/Nginx Apigee 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:
    /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 ini:

    /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 dalam file
    /opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file