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. .properties dosyalarında yapılan değişiklikler için etkilenen Edge bileşenini yeniden başlatmanız gerekir.

Apigee, .properties dosyalarını aşağıdaki gibi kod olarak düzenleme tekniğinden bahseder: config (bazen CwC olarak da kısaltılır). Yapılandırma içeren kod, temel olarak .properties dosyalarındaki ayarlara dayalı bir anahtar/değer arama aracıdır. 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

Aşağıdaki gibi bir çıkış görü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 bu dosyalar açıklanmaktadır.

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
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 ayarlamak istediğiniz bir mülk yoksa yukarıda listelenen konumda bu mülkü 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 ayarlama

Ş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. Dosyanın sahibini aşağıdaki örnekte gösterildiği gibi "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/*

    Bu tür bir listeye yeni bir değer eklemek için genellikle yeni değeri listenin sonuna eklersiniz.

  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. Örnek:
    /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 mülkünü ayarladığınızı biliyor ve ayarlamak için kullanılan jeton değerini öğrenmek istiyorsanız /opt/apigee/edge-ui/source dizinindeki mülk için grep:

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, mülk kümesini ş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önlendiren proxy'yi 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. log_format için varsayılan yapılandırma değerlerini aşağıdaki dosyada bulabilirsiniz:

    /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