Google Cloud Logging Uzantısı

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Sürüm 2.0.2

Cloud Logging günlüklerine giriş yazma

Bu içerik, uzantının yapılandırılması ve kullanılmasıyla ilgili referans bilgiler sağlar.

Ön koşullar

Bu uzantıyı bir API proxy'sinden kullanmadan önce şunları yapmanız gerekir:

  1. IAM'de, uzantınızı Cloud Logging sisteminde temsil edecek proje üyesine Logging > Logs Writer rolünü atayın. Rol verme talimatları için Belirli kaynaklar için hizmet hesabına rol verme başlıklı makaleyi inceleyin. Günlüğe kaydetme rolleri hakkında daha fazla bilgi için Erişim Denetimi Kılavuzu'na bakın.

  2. Hizmet hesabı için anahtar oluşturmak üzere Google Cloud Console'u kullanın.

  3. Yapılandırma referansını kullanarak uzantıyı eklerken ve yapılandırırken sonuçtaki anahtar JSON dosyasının içeriğini kullanın.

Bu uzantı, PostClientFlow içinde bulunan bir ExtensionCallout politikası tarafından çağrılmayı destekler. Bu uzantıyı bir PostClientFlow'dan çağırmak için ExtensionCallout politikasını kullanmak istiyorsanız kuruluşunuzda features.allowExtensionsInPostClientFlow işaretinin true olarak ayarlandığından emin olun.

  • Apigee Edge for Public Cloud müşterisiyseniz kuruluşunuzda features.allowExtensionsInPostClientFlow işaretinin true olarak ayarlandığından emin olmak için Apigee Edge Destek Ekibi ile iletişime geçmeniz gerekir.

  • Apigee Edge for Private Cloud müşterisiyseniz features.allowExtensionsInPostClientFlow işaretini true olarak ayarlamak için Update organization properties API'yi kullanın.

Cloud Logging hakkında

Cloud Logging, Google Cloud'un işlem paketinin bir parçasıdır. Günlükler için depolama alanı, günlük gezgini adlı bir kullanıcı arayüzü ve günlükleri programatik olarak yönetmek için bir API içerir. Cloud Logging ile günlük girişlerini okuyup yazabilir, günlüklerinizi arayıp filtreleyebilir, günlüklerinizi dışa aktarabilir ve günlük tabanlı metrikler oluşturabilirsiniz.

Cloud Logging uzantısı, günlüğe girişler yazar. Daha fazla bilgi için Cloud Logging belgelerine bakın.

Örnekler

Aşağıdaki örneklerde, ExtensionCallout politikası kullanılarak Cloud Logging uzantısı işlemleri için desteğin nasıl yapılandırılacağı gösterilmektedir.

Global günlük

Aşağıdaki politika, Cloud Global kaynağındaki example-log adlı günlüğe This is a test mesajını yazar. Gerçek kullanımda, mesajın değerini API proxy'sinde başka bir yerde ayarladığınız bir akış değişkeninde yer alması muhtemeldir.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Logging-Extension">
    <DisplayName>Logging Connector</DisplayName>
    <Connector>cloud-extension-sample</Connector>
    <Action>log</Action>
    <Input><![CDATA[{
        "logName": "example-log",
        "metadata": {
            "resource": {
                "type": "global",
                "labels": {
                    "project_id": "my-test"
                }
            }
        },
        "message": "This is a test."
    }]]></Input>
</ConnectorCallout>

Bu içerik, uzantının yapılandırılması ve kullanılmasıyla ilgili referans bilgiler sağlar. Apigee konsolunu kullanarak uzantı yapılandırma adımları için Uzantı ekleme ve yapılandırma başlıklı makaleyi inceleyin.

İşlemler

log

Günlüğe bir mesaj yazar.

Bu işlem, Cloud Logging günlük girişi yazar. Günlük girişleri meta verilerden ve giriş verilerinden oluşur. Günlük girişleri hakkında daha fazla bilgi için Giriş referansı bölümüne bakın. metadata özelliğiyle ilgili bilgiler için Cloud Logging belgelerindeki LogEntry nesnesine bakın.

Söz dizimi

<Action>log</Action>
<Input><![CDATA[{
  "logName" : "cloud-log-name-to-use",
  "metadata" : JSON-structured-metadata,
  "message" : "data-to-log-as-entry"
}]]></Input>

Örnek: Dize

<Action>log</Action>
<Input><![CDATA[{
  "logName" : "example-log",
  "metadata" : { "resource" : { "type" : "global" } },
  "message": "This is a test."
}]]></Input>

Örnek: JSON

<Action>log</Action>
<Input><![CDATA[{
  "logName" : "example-log",
  "metadata" : { "resource" : { "type" : "global" } },
  "message" : { "info" :  "This is a test." }
}]]></Input>

İstek parametreleri

Parametre Açıklama Tür Varsayılan Zorunlu
logName Bu girişin ait olduğu günlüğün adı. Dize Yok Evet
metadata Günlük girişiyle ilgili meta veriler.
metadata içinde type ve labels ayarlarıyla ilgili daha fazla bilgi ve seçenek için MonitoredResource başlıklı makaleyi inceleyin.
JSON Yok Hayır
message Bu günlük girişi için değer olarak kullanılacak veriler. Daha yapılandırılmış bir mesajı günlüğe kaydetmek için bir dize belirtebilir veya JSON kullanabilirsiniz. Dize veya JSON Yok Evet

Yanıt

İleti günlüğe yazılmışsa None. Aksi takdirde, istek hata döndürür. Ayrıca Uzantıda hata ayıklama başlıklı makaleyi de inceleyin.

Yapılandırma referansı

Bu uzantıyı API proxy'lerinde kullanılacak şekilde yapılandırıp dağıtırken aşağıdakileri kullanın.

Sık kullanılan uzantı özellikleri

Aşağıdaki özellikler her uzantı için mevcuttur.

Mülk Açıklama Varsayılan Zorunlu
name Uzantının bu yapılandırmasını verdiğiniz ad. Yok Evet
packageName Apigee Edge'in sağladığı uzantı paketinin adı. Yok Evet
version Uzantıyı yapılandırdığınız uzantı paketinin sürüm numarası. Yok Evet
configuration Eklediğiniz uzantıya özgü yapılandırma değeri. Bu uzantı paketinin özellikleri başlıklı makaleyi inceleyin Yok Evet

Bu uzantı paketinin özellikleri

Bu uzantıya özel aşağıdaki yapılandırma özelliklerinin değerlerini belirtin.

Mülk Açıklama Varsayılan Zorunlu
projectId Günlüklerin oluşturulması gereken Google Cloud projesinin kimliği. Yok Evet
credentials Apigee Edge konsoluna girildiğinde bu, hizmet hesabı anahtar dosyanızın içeriğidir. Yönetim API'si kullanılarak gönderildiğinde, hizmet hesabı anahtar dosyasından oluşturulan base64 kodlu bir değerdir. Yok Evet