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

Edge'i yükledikten sonra yapılandırmak için .properties dosyaları ve Edge yardımcı programlarının bir kombinasyonunu kullanırsınız. Örneğin, Edge kullanıcı arayüzünde TLS/SSL'yi yapılandırmak için gerekli özellikleri ayarlamak üzere .properties dosyalarını düzenlersiniz. .properties dosyalarında yapılan değişiklikler için etkilenen Edge bileşenini yeniden başlatmanız gerekir.

Apigee, .properties dosyalarını düzenleme tekniğini yapılandırmalı kod (bazen CwC olarak kısaltılır) olarak adlandırır. Yapılandırmalı kod, temelde .properties dosyalarındaki ayarlara dayalı bir anahtar/değer arama aracıdır. Yapılandırma içeren kodda anahtarlara jeton adı verilir. Bu nedenle, Edge'i yapılandırmak için .properties dosyalarında jetonlar ayarlarsınız.

Yapılandırma içeren kod, Edge bileşenlerinin ürünle birlikte gönderilen varsayılan değerleri ayarlamasına, kurulum ekibinin bu ayarları kurulum topolojisine göre geçersiz kılmasına ve ardından müşterilerin istedikleri özellikleri geçersiz kılmasına olanak tanır.

Bunu bir hiyerarşi olarak düşünürseniz ayarlar aşağıdaki şekilde düzenlenir. Yükleyici ekibinin veya Apigee'nin ayarlarını geçersiz kılmak için müşteri ayarları en yüksek önceliğe sahiptir:

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

Bir jetonun mevcut değerini belirleme

.properties dosyasındaki bir jeton için yeni bir değer ayarlamadan önce aşağıdaki komutu kullanarak mevcut değerini belirlemeniz gerekir:

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

Burada component_name bileşenin adı, token ise incelenecek jetondur.

Bu komut, jetonun geçerli değerini belirlemek için bileşenin .properties dosyalarının hiyerarşisinde arama yapar.

Aşağıdaki örnekte, yönlendiricinin conf_http_HTTPRequest.line.limit jetonunun geçerli değeri kontrol edilmektedir:

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

Aşağıdakine 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 # ile başlıyorsa yorum satırı yapılmıştır ve değeri değiştirmek için özel bir söz dizimi kullanmanız gerekir. Daha fazla bilgi için Şu anda yorum satırı olarak işaretlenmiş bir jeton ayarlama başlıklı makaleyi inceleyin.

Jetonun adının tamamını bilmiyorsanız grep gibi bir araç kullanarak mülk adına veya anahtar kelimeye göre arama yapın. Daha fazla bilgi için Jeton bulma başlıklı makaleyi inceleyin.

Özellikler dosyaları

Düzenlenebilir ve düzenlenemez bileşen yapılandırma dosyaları vardır. Bu bölümde, söz konusu dosyalar açıklanmaktadır.

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

Aşağıdaki tabloda, Apigee bileşenleri ve bu bileşenleri yapılandırmak için düzenleyebileceğiniz özellik dosyaları listelenmiştir:

Bileşen Bileşen Adı Düzenlenebilir Yapılandırma Dosyası
Cassandra apigee-cassandra /opt/apigee/customer/application/cassandra.properties
Apigee SSO 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 Geçerli değil (yükleme yapılandırma dosyasını kullanın)
SymasLDAP 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/postgresql.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 istiyorsanız ancak bu özellik mevcut değilse yukarıda listelenen konumda oluşturabilirsiniz.

Ayrıca, özellikler dosyasının "apigee" kullanıcısına ait olduğundan emin olmanız gerekir:

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ının yanı sıra düzenleyemeyeceğiniz yapılandırma dosyaları da vardır.

Bilgi amaçlı (düzenlenemeyen) dosyalar şunlardır:

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ğerler ş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

Yalnızca /opt/apigee/customer/application dizinindeki .properties dosyalarını değiştirebilirsiniz. Her bileşenin bu dizinde kendi .properties dosyası vardır. Örneğin, router.properties ve management-server.properties. Özellik dosyalarının tam listesi için .properties dosyalarının konumu başlıklı makaleyi inceleyin.

.properties dosyası oluşturmak için:

  1. Bir düzenleyicide yeni bir metin dosyası oluşturun. Dosya adı, müşteri dosyaları için yukarıdaki tabloda gösterilen listeyle eşleşmelidir.
  2. Aşağıdaki örnekte gösterildiği gibi, dosyanın 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" kullanıcısından farklı bir kullanıcı olarak değiştirdiyseniz sahipliği Edge hizmetini çalıştıran kullanıcıya değiştirmek için chown komutunu kullanın.

Edge'i yükselttiğinizde /opt/apigee/customer/application dizinindeki .properties dosyaları okunur. Bu nedenle, yükseltme işlemi, bileşende ayarladığınız tüm ö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 örnekte conf_http_HTTPRequest.line.limit özelliğinin değeri "10k" olarak ayarlanmıştır:
    conf_http_HTTPRequest.line.limit=10k

    Jeton birden çok değer alıyorsa her değeri virgülle ayırın. Örneğin:

    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 aşağıdakilerden 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 düzenledikten sonra yönlendiriciyi yeniden başlatın:

    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  4. (İsteğe bağlı) configure -search seçeneğini kullanarak jeton değerinin yeni değerinize ayarlandığını kontrol edin. Ö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 Jetonun mevcut değerini belirleme başlıklı makaleyi inceleyin.

Jeton bulma

Çoğu durumda, ayarlamanız gereken jetonlar bu kılavuzda belirtilir. Ancak tam adından veya konumundan emin olmadığınız mevcut bir jetonun değerini geçersiz kılmanız gerekiyorsa bileşenin source dizininde arama yapmak için grep simgesini kullanın.

Örneğin, Edge'in önceki bir sürümünde session.maxAge özelliğini ayarladığınızı biliyorsanız ve bunu ayarlamak için kullanılan jeton değerini öğrenmek istiyorsanız /opt/apigee/edge-ui/source dizinindeki özellik 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, kullanıcı arayüzünün .properties dosyasında ayarlayabileceğiniz jetonun adıdır.

Şu anda yorum satırı olarak işaretlenmiş bir jetonu ayarlama

Edge yapılandırma dosyalarında bazı jetonlar yorum satırı olarak işaretlenmiştir. Bir yükleme veya bileşen yapılandırma dosyasında yorum satırı olarak işaretlenmiş bir jetonu ayarlamaya çalışırsanız ayarınız yok sayılır.

Bir Edge yapılandırma dosyasında yorum satırı olarak belirtilen bir jetonun değerini ayarlamak için aşağıdaki biçimde özel söz dizimi kullanın:

conf/filename+propertyName=propertyValue

Örneğin, Message Processor'da HTTPClient.proxy.host adlı özelliği ayarlamak için önce özelliğin jetonunu belirlemek üzere 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. # önekinde belirtildiği gibi, mülk adının nasıl yorum satırı haline getirildiğine dikkat edin:

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 /opt/apigee/customer/application/message-processor.properties öğesini düzenleyin ancak aşağıdaki örnekte gösterildiği gibi özel bir söz dizimi kullanın:

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

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

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

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

Trace kullanıcı arayüzünün İstek Gönder bölümündeki istekler için yönlendirme proxy'sini yapılandırma

Bu bölümde, İzleme kullanıcı arayüzünün İstek Gönder bölümünden gelen istekler için isteğe bağlı proxy kimlik bilgileriyle iletme proxy'sinin nasıl yapılandırılacağı açıklanmaktadır. Yönlendirme proxy'sini yapılandırmak için:

  1. /opt/apigee/customer/application/ui.properties dosyasını düzenleyin ve dosyanın apigee:apigee'e ait olduğundan emin olun.
  2. Aşağıdaki geçersiz kılmaları ekleyin (değerleri kendi proxy yapılandırmanıza göre değiştirin):
    conf_application_http.proxyhost=proxy.example.com
    conf_application_http.proxyport=8080
    conf_application_http.proxyuser=apigee
    conf_application_http.proxypassword=Apigee123!
  3. Klasik kullanıcı arayüzünü kaydedip yeniden başlatın.

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

Bazı durumlarda, varsayılan Apigee Router/Nginx günlük biçimini değiştirmeniz veya değişken eklemeniz gerekebilir. Varsayılan Apigee Router/Nginx günlük biçimi yapılandırmasını güncellemek için:

  1. Yoksa aşağıdaki yola sahip bir router.properties dosyası oluşturun:
    /opt/apigee/customer/application/router.properties
  2. router.properties dosyasına aşağıdaki içeriği ekleyerek router_new adlı yeni bir log_format yapılandırması oluşturun:
    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 komutlardaki 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österilir.

  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 (router_new) dosyaya eklenip eklenmediğini kontrol edin /opt/nginx/conf.d/0-default.conf:
        
    cat /opt/nginx/conf.d/0-default.conf | grep router_new -A 10
  5. Bir API proxy'sine bazı API istekleri gönderin ve dosyada yeni günlük biçimini doğrulayın.
    /opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file