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

Kurulumdan sonra Edge'i 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 .properties dosyalarını gerekli özellikleri ayarlamak üzere düzenlersiniz. .properties dosyalarında yapılan değişiklikler, etkilenen Edge bileşenini yeniden başlatmanızı gerektirir.

Apigee, .properties dosyalarını config ile kod (bazen CwC olarak kısaltılır) olarak düzenleme tekniğini ifade eder. Temel olarak yapılandırmaya sahip kod, .properties dosyalarındaki ayarları temel alan bir anahtar/değer arama aracıdır. Yapılandırmalı 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 belirlemesine olanak tanır, kurulum ekibinin yükleme topolojisine göre bu ayarları 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üyorsanız ayarlar, yükleyici ekibinden veya Apigee'den gelen tüm ayarları geçersiz kılma konusunda en yüksek önceliğe sahip olacak şekilde aşağıdaki gibi düzenlenir:

  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 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, jetonun mevcut değerini belirlemek için bileşenin .properties dosyalarının hiyerarşisinde arama yapar.

Aşağıdaki örnekte, Yönlendirici için conf_http_HTTPRequest.line.limit jetonunun mevcut değeri kontrol edilir:

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

Aşağıdaki gibi bir çıkış almanız gerekir:

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 jetonun açıklaması dışa aktarılmıştır. Jetonu değiştirmek için özel bir söz dizimi kullanmanız gerekir. Daha fazla bilgi için Şu anda yorum eklenmiş olan bir jeton ayarlama bölümüne bakın.

Jetonun tam adını bilmiyorsanız mülk adına veya anahtar kelimeye göre arama yapmak için grep gibi bir araç kullanın. Daha fazla bilgi için Jeton bulma bölümünü inceleyin.

Özellikler dosyaları

Düzenlenebilir ve düzenlenemeyen bileşen yapılandırma dosyaları bulunur. 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
Kenar Freze Makinesi 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ın)
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 istiyorsanız ancak özellik yoksa özelliği 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.

Bilgilendirici (düzenlenemez) dosyalar şunları içerir:

Sahip Dosya Adı veya Dizin
Döşeme
/opt/apigee/token
Bileşen
/opt/apigee/component_name/conf

Burada component_name, bileşeni tanımlar. Olası değerler şunları içerir:

  • 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

.properties dosyalarını yalnızca /opt/apigee/customer/application dizininde değiştirebilirsiniz. Her bileşenin bu dizinde kendi .properties dosyası vardır. Örneğin, router.properties ve management-server.properties. Mülk dosyalarının tam listesi için .properties dosyalarının konumu konusuna bakın.

.properties dosyası oluşturmak için:

  1. Bir düzenleyicide yeni 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ı olarak değiştirmek için chown kullanın.

Edge'i yükselttiğinizde /opt/apigee/customer/application dizinindeki .properties dosyaları okunur. Bu, yükseltme işleminin bileşen üzerinde ayarladığınız tüm özellikleri koruyacağı anlamına gelir.

Jetonun değerini belirlemek 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 ayarlanmaktadır:
    conf_http_HTTPRequest.line.limit=10k

    Jeton birden fazla değer alıyorsa aşağıdaki örnekte gösterildiği gibi, her bir 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/*

    Bir listeye bunun gibi 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 talimatı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 ayarlanıp ayarlanmadığı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 Bir jetonun mevcut değerini belirleme bölümünü inceleyin.

Jetonu bulma

Çoğu durumda, ayarlamanız gereken jetonlar bu kılavuzda açıklanmıştır. Bununla birlikte, tam adını veya konumunu bilmediğiniz mevcut bir jetonun değerini geçersiz kılmanız gerekirse bileşenin source dizininde arama yapmak için grep öğesini kullanın.

Örneğin, Edge'in önceki bir sürümünde session.maxAge özelliğini ayarladığınızı ve bu özelliği ayarlamak için kullanılan jeton değerini öğrenmek istediğinizi biliyorsanı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 eklenmiş olan bir jeton ayarlayın

Bazı jetonlar, Edge yapılandırma dosyalarında açıklamaya dahil edilir. Bir yükleme veya bileşen yapılandırma dosyasında yorumlanan bir jeton ayarlamaya çalışırsanız ayarınız yok sayılır.

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

conf/filename+propertyName=propertyValue

Örneğin, İleti İşleyici'de HTTPClient.proxy.host adlı özelliği ayarlamak üzere mülkün jetonunu belirlemek için önce 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. Mülk adının # ön ekiyle belirtildiği gibi nasıl yorumlandığı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, mülk adının önüne conf/http.properties+ eklemeniz gerekir. Bu, "+" işaretinden önce gelen özelliği içeren yapılandırma dosyasının konumu ve adıdır.

İ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, özellik grubunu ş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ünden istekler için yönlendirme proxy'sini yapılandır

Bu bölümde, isteğe bağlı proxy kimlik bilgileriyle birlikte İzleme kullanıcı arayüzünün İstek Gönderme bölümünden istekler için yönlendirme 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 öğesini düzenleyin ve dosyanın apigee:apigee adlı kullanıcıya ait olduğundan emin olun.
  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. Klasik kullanıcı arayüzünü kaydedin ve yeniden başlatın.

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

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

  1. Bir router.properties dosyası yoksa aşağıdaki yolu kullanarak oluşturun:
    /opt/apigee/customer/application/router.properties
  2. router_new adıyla yeni bir log_format yapılandırması oluşturmak için aşağıdaki içeriği router.properties dosyasına ekleyin:
    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 (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. API proxy'sine bazı API istekleri gönderin ve dosyadaki yeni günlük biçimini doğrulayın
    /opt/apigee/var/log/edge-router/nginx/${org}~${env}.${port}_access_log file