Edge nasıl yapılandırılır?

Edge'i yükleme işleminden sonra yapılandırmak için .properties dosyalarının bir kombinasyonunu kullanırsınız ve Edge yardımcı programları. Örneğin, Edge kullanıcı arayüzünde TLS/SSL'yi yapılandırmak için .properties dosyaları kullanarak gerekli özellikleri ayarlayabilirsiniz. Şu değişiklikler var: .properties dosyaları, etkilenen Edge bileşenini yeniden başlatmanızı gerektiriyor.

Apigee, .properties dosyalarını aşağıdaki gibi kod olarak düzenleme tekniğinden bahseder: config (bazen CwC olarak da kısaltılır). Özetle, config ile kod, bir anahtar/değer aracı, .properties dosyalarındaki ayarlara göre belirlenir. Yapılandırma kodunda, anahtarlara jetonları kullanın. Bu nedenle, Edge'i yapılandırmak için .properties içinde jetonlar ayarlarsınız dosyası olarak da kaydedebilir.

Yapılandırmalı kod, Edge bileşenlerinin kurulum ekibinin bu ayarları kurulum topolojisine göre geçersiz kılmasını sağlar. Böylece müşteriler seçtikleri tüm mülkleri geçersiz kılabilir.

Bunu bir hiyerarşi olarak düşünürseniz, ayarlar şu şekilde düzenlenir: müşteri ayarlarını geçersiz kılmak için en yüksek önceliğe sahip ayarları yapma veya Apigee:

  1. Müşteri
  2. Yükleyici
  3. Bileşen

Bir jetonun mevcut değerini belirleme

.properties dosyasında bir jeton için yeni bir değer ayarlamadan önce, önce aşağıdaki komutu kullanarak geçerli değerini belirlemelisiniz:

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

Burada component_name bileşenin adı, token ise jetondur. tıklayın.

Bu komut, bileşenin .properties dosyalarının hiyerarşisinde jetonun mevcut değerini belirleyin.

Aşağıdaki örnekte, conf_http_HTTPRequest.line.limit öğesinin mevcut değeri kontrol edilir yeni bir jeton oluşturun:

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

Şuna benzer bir çıkış alırsınız:

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

Jetonun değeri bir # ile başlıyorsa açıklama eklenmiştir ve jeton kullanılmalıdır. özel bir söz dizimi kullanmanız gerekir. Daha fazla bilgi için bkz. Şu anda yorum yapılmamış olan bir jeton ayarlayın.

Jetonun tam adını bilmiyorsanız grep gibi bir araç kullanarak arama yapın. özellik adına veya anahtar kelimeye göre. Daha fazla bilgi için Bir jeton.

Mülk dosyaları

Düzenlenebilir ve düzenlenemeyen bileşen yapılandırma dosyaları vardır. Bu bölümde, söz konusu dosyası olarak da kaydedebilir.

Düzenlenebilir bileşen yapılandırma dosyaları

Aşağıdaki tabloda, kullanabileceğiniz Apigee bileşenleri ve özellik dosyaları listelenmektedir: düzenleyin:

Bileşen Bileşen Adı Düzenlenebilir Yapılandırma Dosyası
Cassandra apigee-cassandra /opt/apigee/customer/application/cassandra.properties
Kenar Frezesi edge-router /opt/apigee/edge-router/conf/load_balancing.properties
Apigee TOA apigee-sso /opt/apigee/customer/application/sso.properties
Yönetim Sunucusu edge-management-server /opt/apigee/customer/application/management-server.properties
Mesaj İşleyici edge-message-processor /opt/apigee/customer/application/message-processor.properties
apigee-monit apigee-monit /opt/apigee/customer/application/monit.properties
Klasik kullanıcı arayüzü (yeni Edge kullanıcı arayüzünü etkilemez) edge-ui /opt/apigee/customer/application/ui.properties
Edge kullanıcı arayüzü (yalnızca yeni Edge kullanıcı arayüzü; Klasik kullanıcı arayüzünü etkilemez) apigee-management-ui Yok (yükleme yapılandırma dosyasını kullan)
OpenLDAP apigee-openldap /opt/apigee/customer/application/openldap.properties
Postgres Sunucusu edge-postgres-server /opt/apigee/customer/application/postgres-server.properties
PostgreSQL Veritabanı apigee-postgresql /opt/apigee/customer/application/postgressql.properties
Qpid Sunucusu edge-qpid-server /opt/apigee/customer/application/qpid-server.properties
Qpidd apigee-qpidd /opt/apigee/customer/application/qpidd.properties
Yönlendirici edge-router /opt/apigee/customer/application/router.properties
Zookeeper apigee-zookeeper /opt/apigee/customer/application/zookeeper.properties

Bu bileşen yapılandırma dosyalarından birinde bir özellik ayarlamak isterseniz ancak yukarıdaki konumda oluşturabilirsiniz.

Ayrıca, özellikler dosyasının "Apigee"ye ait olduğundan emin olmalısınız. kullanıcı:

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

Düzenlenemeyen bileşen yapılandırma dosyaları

Düzenlenebilir bileşen yapılandırma dosyalarına ek olarak yapılandırma dosyaları da bu bilgileri düzenleyebilirsiniz.

Bilgilendirme amaçlı (düzenlenemez) dosyalar arasında şunlar bulunur:

Sahip Dosya Adı veya Dizin
Kurulum
/opt/apigee/token
Bileşen
/opt/apigee/component_name/conf

Burada component_name, bileşeni tanımlar. Olası değerlerden bazıları şunlardır:

  • apigee-cassandra (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (PostgreSQL veritabanı)
  • apigee-qpidd (Qpidd)
  • apigee-sso (Edge TOA)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (Yönetim Sunucusu)
  • edge-management-ui (yeni Edge kullanıcı arayüzü)
  • edge-message-processor (Mesaj İşleyici)
  • edge-postgres-server (Postgres Sunucusu)
  • edge-qpid-server (Qpid Sunucusu)
  • edge-router (Edge Yönlendirici)
  • edge-ui (Klasik kullanıcı arayüzü)

Jeton değeri belirleyin

Şuradaki .properties dosyalarını yalnızca değiştirebilirsiniz: /opt/apigee/customer/application dizini. Her bileşenin kendine ait .properties dosyası bulunduğundan emin olun. Örneğin, router.properties ve management-server.properties. Özellik dosyalarının tam listesi için .properties dosyalarının konumu konusuna bakın.

.properties dosyası oluşturmak için:

  1. Düzenleyicide yeni bir metin dosyası oluşturun. Dosya adı, şurada gösterilen listeyle eşleşmelidir: tabloya bakın.
  2. Aşağıdaki örnekte gösterildiği gibi, dosya sahibini "Apigee:Apigee" olarak değiştirin:
    chown apigee:apigee /opt/apigee/customer/application/router.properties

    Edge hizmetini çalıştıran kullanıcıyı "Apigee" sürümünden değiştirdiyseniz kullanıcı, kullan Edge'i çalıştıran kullanıcının sahipliğini değiştirmek için chown geliştirmenizi sağlar.

Edge'i yeni sürüme geçirdiğinizde .properties dosyaları /opt/apigee/customer/application dizini okundu. Bu, yükseltmenin bileşende ayarladığınız özellikleri korur.

Bir jetonun değerini ayarlamak için:

  1. Bileşenin .properties dosyasını düzenleyin.
  2. Jetonun değerini ekleyin veya değiştirin. Aşağıdaki örnek, conf_http_HTTPRequest.line.limit özelliği "10k" olarak ayarlandı:
    conf_http_HTTPRequest.line.limit=10k

    Jeton birden fazla değer alırsa aşağıdaki gibi her bir değeri virgülle ayırın: örnek gösterilmektedir:

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

    Bunun gibi bir listeye yeni bir değer eklemek için genellikle yeni değeri listenin sonuna eklersiniz seçin.

  3. Bileşeni yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service component_name restart

    Burada component_name şunlardan biridir:

    • apigee-cassandra (Cassandra)
    • apigee-openldap (OpenLDAP)
    • apigee-postgresql (PostgreSQL veritabanı)
    • apigee-qpidd (Qpidd)
    • apigee-sso (Edge TOA)
    • apigee-zookeeper (ZooKeeper)
    • edge-management-server (Yönetim Sunucusu)
    • edge-management-ui (yeni Edge kullanıcı arayüzü)
    • edge-message-processor (Mesaj İşleyici)
    • edge-postgres-server (Postgres Sunucusu)
    • edge-qpid-server (Qpid Sunucusu)
    • edge-router (Edge Yönlendirici)
    • edge-ui (Klasik kullanıcı arayüzü)

    Örneğin, router.properties öğesini düzenledikten sonra Yönlendirici'yi yeniden başlatın:

    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  4. (İsteğe bağlı) Jeton değerinin yeni değerinize ayarlandığından emin olmak için configure -search seçeneği. Örneğin:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

    configure -search hakkında daha fazla bilgi için bkz. Bir jetonun mevcut değerini belirleme.

Jetonu bulma

Çoğu durumda, ayarlamanız gereken jetonlar bu kılavuzda açıklanmıştır. Ancak, tam adını veya konumunu bilmediğiniz mevcut bir jetonun değerini geçersiz kılmak için Bileşenin source dizininde arama yapmak için grep tuşlarına basın.

Örneğin, Edge'in önceki bir sürümünde session.maxAge özelliğini ayarlamak için kullanılan jeton değerini öğrenmek istiyorsanız ardından /opt/apigee/edge-ui/source içindeki mülk için grep dizin:

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

Aşağıdaki biçimde bir sonuç görmeniz gerekir:

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

Aşağıdaki örnekte, kullanıcı arayüzünün session.maxAge jetonunun değeri gösterilmektedir:

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

{T}{/T} etiketleri arasındaki dize, ayarlayabileceğiniz jetonun adıdır. kullanıcı arayüzünün .properties dosyasında.

Yorumlanmış olan bir jetonu ayarlayın

Bazı jetonlar, Edge yapılandırma dosyalarında yorumlanmıştır. Bir jeton ayarlamaya çalışırsanız bir yükleme veya bileşen yapılandırma dosyasında açıklama içerdiğinde, ayarınız yoksayılır.

Edge yapılandırma dosyasında yorumlanan bir jetonun değerini ayarlamak için söz dizimini kullanabilirsiniz:

conf/filename+propertyName=propertyValue

Örneğin, İleti'de HTTPClient.proxy.host adlı özelliği ayarlamak için İşleyen, jetonun belirlenmesi için mülk için ilk grep:

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

grep komutu, jeton adını içeren sonuçlar döndürür. Bildirim # önekiyle belirtildiği gibi, mülk adının nasıl yorumlandığı:

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=

Bu özelliğin değerini ayarlamak için şunları düzenleyin: /opt/apigee/customer/application/message-processor.properties, ancak özel bir söz dizimini kullanmalıdır:

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

Bu durumda, mülk adının önüne conf/http.properties+ eklemeniz gerekir. Bu özelliği, ardından "+" işaretini içeren yapılandırma dosyasının konumu ve adıdır.

İleti İşleyici'yi yeniden başlattıktan sonra dosyayı inceleyin. /opt/apigee/edge-message-processor/conf/http.properties:

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

Dosyanın sonunda, özellik ayarlandığını şu biçimde görürsünüz:

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

İzleme Kullanıcı Arayüzünün İstek Gönderme bölümündeki istekler için yönlendirme proxy'sini yapılandırın

Bu bölümde, Trace Kullanıcı Arayüzünün isteğe bağlı proxy kimlik bilgileriyle birlikte İstek Gönderme bölümü. Yönlendirme proxy'sini yapılandırmak için:

  1. /opt/apigee/customer/application/ui.properties öğesini düzenleyin ve dosyanın sahibi: apigee:apigee.
  2. Aşağıdaki geçersiz kılmaları ekleyin (değerleri belirli proxy yapılandırmanıza göre değiştirerek):
    conf_application_http.proxyhost=proxy.example.com
    conf_application_http.proxyport=8080
    conf_application_http.proxyuser=apigee
    conf_application_http.proxypassword=Apigee123!
  3. Kaydedin ve klasik kullanıcı arayüzünü yeniden başlatın.

Apigee Router/Nginx'e özel günlük biçimi ekleme

Bazı durumlarda, varsayılan Apigee Yönlendirici/Nginx günlük biçimini ya da değişken ekleyin. Varsayılan Apigee Yönlendirici/Nginx günlük biçimini güncellemek için yapılandırma:

  1. router.properties dosyası yoksa, aşağıda gösterilen yol ile bir dosya oluşturun:
    /opt/apigee/customer/application/router.properties
  2. router.properties dosyasına aşağıdaki içeriği ekleyin şu adla yeni bir log_format yapılandırması oluşturun: 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

    Yukarıdaki komutlarda bulunan değişkenleri uygun şekilde güncelleyin. Varsayılan değeri aşağıdaki dosyada log_format için yapılandırma değerlerini belirtin:

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

    Nginx değişkenlerinin listesi http://nginx.org/en/docs/varindex.html adresinde gösterilmektedir.

  3. Yeni yapılandırmayı uygulamak için Yönlendiriciyi yeniden başlatın:
    apigee-service edge-router restart
  4. Yeni log_format yapılandırmasının mevcut olup olmadığını kontrol edin (router_new) dosyaya eklendi /opt/nginx/conf.d/0-default.conf:
        
    cat /opt/nginx/conf.d/0-default.conf | grep router_new -A 10
  5. API proxy'sine API istekleri gönderme ve dosyadaki yeni günlük biçimini doğrulama
    /opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file