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

Yükleme işleminden sonra Edge'i yapılandırmak için .properties dosyalarını ve Edge yardımcı programlarını birlikte kullanırsınız. Örneğin, New Edge kullanıcı arayüzünde TLS/SSL'yi yapılandırmak için .properties dosyalarını düzenleyerek gerekli özellikleri ayarlarsınız. .properties dosyalarında yapılan değişiklikler, etkilenen Edge bileşenini yeniden başlatmanızı gerektirir.

Apigee, .properties dosyalarını düzenleme tekniğini yapılandırmayla kodlama (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 anahtarlar jeton olarak adlandırılır. Bu nedenle, Edge'i yapılandırmak için .properties dosyalarında jetonlar ayarlarsınız.

Yapılandırmalı 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 seçtikleri özellikleri geçersiz kılmasına olanak tanır.

Bunu bir hiyerarşi olarak düşünürseniz ayarlar aşağıdaki gibi 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

Bir .properties dosyasındaki jeton için yeni bir değer ayarlamadan önce, aşağıdaki komutu kullanarak jetonun 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, bileşenin .properties dosyalarının hiyerarşisinde arama yaparak jetonun geçerli değerini belirler.

Aşağıdaki örnekte, yönlendirici için conf_http_HTTPRequest.line.limit jetonunun mevcut 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 açıklama satırı yapılmıştır ve değeri değiştirmek için özel söz dizimi kullanmanız gerekir. Daha fazla bilgi için Şu anda açıklama satırı olarak işaretlenmiş bir jeton ayarlama başlıklı makaleyi inceleyin.

Jetonun tam adını bilmiyorsanız özellik adına veya anahtar kelimeye göre arama yapmak için grep gibi bir araç kullanın. Daha fazla bilgi için Jeton bulma başlıklı makaleyi inceleyin.

Özellik 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, 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
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
Yeni Edge kullanıcı arayüzü edge-management-ui /opt/apigee/customer/application/management-ui.properties
OpenLDAP apigee-openldap /opt/apigee/customer/application/openldap.properties
Postgres Server 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.

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

Sahip Dosya adı veya dizin
Kurulum
/opt/apigee/token
Bileşen
/opt/apigee/component_name/conf

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-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)

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ı makaleye bakın.

.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 değiştirdiyseniz sahipliği Edge hizmetini çalıştıran kullanıcıya değiştirmek için chown kullanın.

Edge'i yükselttiğinizde /opt/apigee/customer/application dizinindeki .properties dosyaları okunur. Bu durumda, yükseltme, 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 fazla değer alıyorsa aşağıdaki örnekte gösterildiği gibi her değeri virgülle ayırın:

    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.

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

    component_name, aşağıdakilerden biridir:

    • apigee-cassandra (Cassandra)
    • apigee-openldap (OpenLDAP)
    • apigee-postgresql (PostgreSQL veritabanı)
    • apigee-qpidd (Qpidd)
    • 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)

    Örneğin, router.properties dosyasını 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 komutunu kullanın.

Örneğin, HTTPRequest.line.limit özelliğini ayarlamak istediğinizi biliyorsanız ve bunu ayarlamak için kullanılan jeton değerini öğrenmek istiyorsanız /opt/apigee/edge-management-server/source dizinindeki özellik için grep:

grep -ri "HTTPRequest.line.limit" /opt/apigee/edge-management-server/source

Aşağıdaki biçimde bir sonuç görürsünüz:

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

Aşağıdaki örnekte, Yönetim Sunucusu'nun HTTPRequest.line.limit jetonunun değeri gösterilmektedir:

/opt/apigee/edge-management-server/source/conf/http.properties:HTTPRequest.line.limit={T}conf_http_HTTPRequest.line.limit{/T}

{T}{/T} etiketleri arasındaki dize, bileşenin .properties dosyasında ayarlayabileceğiniz jetonun adıdır.

Şu anda açıklama satırı yapılmış bir jetonu ayarlama

Edge yapılandırma dosyalarında bazı jetonlar açıklama satırı yapılmıştır. Yükleme veya bileşen yapılandırma dosyasında açıklama satırı yapılmış bir jeton ayarlamaya çalışırsanız ayarınız yoksayılır.

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

conf/filename+propertyName=propertyValue

Örneğin, Mesaj İşleyici'de 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. Tesis adının # ön ekiyle belirtildiği gibi nasıl açıklama satırı yapıldığına 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, özellik adının önüne conf/http.properties+ eklemeniz gerekir. Bu, özelliği içeren yapılandırma dosyasının konumu ve adıdır ve ardından "+" gelir.

Mesaj İş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, özellik kümesini şu biçimde görürsünüz:

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

Yeni Edge kullanıcı arayüzünde HTTP/2 protokolünü etkinleştirme veya devre dışı bırakma

Bu bölümde, yeni Edge kullanıcı arayüzünde (edge-management-ui) HTTP/2 protokolünün nasıl etkinleştirileceği veya devre dışı bırakılacağı açıklanmaktadır.

  1. /opt/apigee/customer/application/management-ui.properties dosyasını oluşturun veya düzenleyin ve dosyanın sahibinin apigee:apigee olduğundan emin olun.
  2. HTTP/2 protokolünü etkinleştirmek veya devre dışı bırakmak için aşağıdaki geçersiz kılma işlemini ekleyin:
    conf_uebe_disable_http2={true or false}
  3. Yeni Edge kullanıcı arayüzünü kaydedip yeniden başlatın (edge-management-ui).

Apigee Router/Nginx'te ö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) /opt/nginx/conf.d/0-default.conf dosyasına eklenip eklenmediğini kontrol edin:
        
    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