Cara mengonfigurasi Edge

Untuk mengonfigurasi Edge setelah penginstalan, Anda dapat menggunakan kombinasi .properties file dan Edge. Misalnya, untuk mengonfigurasi TLS/SSL di UI Edge, Anda mengedit .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 config (terkadang disingkat sebagai CwC). Pada dasarnya, kode dengan config merupakan pencarian kunci/nilai berdasarkan setelan dalam file .properties. Dalam kode dengan {i>config<i}, kunci tersebut disebut sebagai token lebih lanjut. Oleh karena itu, untuk mengonfigurasi Edge, Anda perlu menetapkan token di .properties .

Kode dengan konfigurasi memungkinkan komponen Edge untuk mengatur nilai default yang dikirimkan bersama memungkinkan tim instalasi mengganti pengaturan berdasarkan topologi instalasi, lalu memungkinkan pelanggan mengganti properti yang mereka pilih.

Jika Anda menganggapnya sebagai hierarki, maka pengaturan disusun sebagai berikut, dengan catatan setelan yang 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 terlebih dahulu menentukan nilai saat ini dengan 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 untuk diperiksa.

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

Contoh berikut memeriksa nilai conf_http_HTTPRequest.line.limit saat ini token 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 diawali dengan #, nilai tersebut telah diberi komentar dan Anda harus menggunakan sintaks khusus untuk mengubahnya. Untuk informasi selengkapnya, lihat Tetapkan token yang saat ini sedang diberi komentar.

Jika Anda tidak tahu seluruh nama token, gunakan alat seperti grep untuk menelusuri berdasarkan nama properti atau kata kunci. Untuk informasi selengkapnya, lihat Menemukan token tersebut.

File properti

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

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 Anda ingin menetapkan properti di salah satu file konfigurasi komponen ini tetapi tidak Anda dapat membuatnya di lokasi yang tercantum di atas.

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

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 diedit.

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 .properties di direktori tersebut. Misalnya, router.properties dan management-server.properties. Untuk daftar lengkap file properti, lihat Lokasi file .properties.

Untuk membuat file .properties:

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

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

Saat Anda mengupgrade Edge, file .properties di file Direktori /opt/apigee/customer/application telah dibaca. Artinya peningkatan akan mempertahankan properti apa pun yang Anda setel pada komponen.

Untuk menetapkan nilai token:

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

    Jika token mengambil beberapa nilai, pisahkan setiap nilai dengan koma, sebagai berikut contoh menampilkan:

    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, Anda biasanya 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) Periksa apakah nilai token sudah disetel ke nilai baru menggunakan atribut configure -search. Contoh:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

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

Temukan token

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

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

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 dalam file .properties UI.

Menetapkan token yang saat ini diberi komentar

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

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

conf/filename+propertyName=propertyValue

Misalnya, untuk menyetel properti bernama HTTPClient.proxy.host pada Message Pemroses, grep pertama untuk properti yang menentukan tokennya:

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

Perintah grep menampilkan hasil yang menyertakan nama token. Pemberitahuan cara nama properti diberi komentar, seperti yang ditunjukkan dengan 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, namun gunakan URL khusus , seperti yang ditampilkan dalam contoh berikut:

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

Dalam hal ini, Anda harus memberikan awalan conf/http.properties+ untuk nama properti. 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 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 forward proxy 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 tersebut milik apigee:apigee.
  2. Tambahkan penggantian berikut (mengubah nilai ke konfigurasi proxy tertentu Anda):
    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 Apigee Router/Nginx default atau menambahkan variabel. Untuk mengupdate format log Apigee Router/Nginx default konfigurasi:

  1. Jika tidak ada file router.properties, buat file 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 yang sesuai. Anda dapat menemukan nilai konfigurasi 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. Memeriksa 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. Mengirim beberapa permintaan API ke proxy API dan memverifikasi format log baru dalam file
    /opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file