Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu öğreticide, alım ve analiz amacıyla günlükleri Logz.io hizmetine göndermek üzere klasik bir Java uygulamasını yapılandırma işlemi gösterilmektedir. Logz.io Elasticsearch/Logstash/Kibana (ELK) ve Grafana tabanlı tam bir izleme çözümü sağlar.
Öğreticide Log4J veya Logback kullandığınız varsayılır. Bu kitaplıklar, Java'da günlüğe kaydetmek için en yaygın kullanılan iki kitaplıktır. Bu nedenle kılavuz, Azure üzerinde çalışan uygulamaların çoğu için uygun olmalıdır. Eğer Java uygulamanızı izlemek için Elastic yığınını zaten kullanıyorsanız, bu kılavuzda Logz.io uç noktasını hedeflemek için nasıl yeniden yapılandırma yapabileceğiniz gösterilir.
Bu öğreticide şunların nasıl yapılacağını öğreneceksiniz:
- Mevcut bir Java uygulamasındaki günlükleri Logz.io gönderin.
- Tanılama günlüklerini ve ölçümlerini Azure hizmetlerinden Logz.io gönderin.
Önkoşullar
- Java Developer Kit, sürüm 11 veya üzeri
- Azure Marketplace üzerinden bir Logz.io hesabı
- Log4J veya Logback kullanan mevcut bir Java uygulaması
Java uygulama günlüklerini Logz.io gönderme
İlk olarak, Java uygulamanızı Logz.io hesabınıza erişim sağlayan bir belirteçle yapılandırmayı öğreneceksiniz.
Logz.io erişim belirtecinizi alma
Belirtecinizi almak için Logz.io hesabınızda oturum açın, sol alt köşedeki dişli simgesini seçin, ardından Ayarlar
Log4J veya Logback için Logz.io kitaplığını yükleme ve yapılandırma
Logz.io Java kitaplığı Maven Central'da kullanılabilir, böylece bunu uygulama yapılandırmanıza bağımlılık olarak ekleyebilirsiniz. Maven Central'daki sürüm numarasını denetleyin ve aşağıdaki yapılandırma ayarlarından en son sürümü kullanın.
Maven kullanıyorsanız, pom.xml dosyanıza aşağıdaki bağımlılığı ekleyin:
Log4J:
<dependency>
<groupId>io.logz.log4j2</groupId>
<artifactId>logzio-log4j2-appender</artifactId>
<version>2.0.0</version>
</dependency>
Logback:
<dependency>
<groupId>io.logz.logback</groupId>
<artifactId>logzio-logback-appender</artifactId>
<version>2.0.0</version>
</dependency>
Gradle kullanıyorsanız derleme betiğinize aşağıdaki bağımlılığı ekleyin:
Log4J:
implementation 'io.logz.log4j:logzio-log4j-appender:2.0.0'
Logback:
implementation 'io.logz.logback:logzio-logback-appender:2.0.0'
Ardından Log4J veya Logback yapılandırma dosyanızı güncelleştirin:
Log4J:
<Appenders>
<LogzioAppender name="Logzio">
<logzioToken><your-logz-io-token></logzioToken>
<logzioType>java</logzioType>
<logzioUrl>https://<your-logz-io-listener-host>:8071</logzioUrl>
</LogzioAppender>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="Logzio"/>
</Root>
</Loggers>
Logback:
<configuration>
<!-- Use shutdownHook so that we can close gracefully and finish the log drain -->
<shutdownHook class="ch.qos.logback.core.hook.DelayingShutdownHook"/>
<appender name="LogzioLogbackAppender" class="io.logz.logback.LogzioLogbackAppender">
<token><your-logz-io-token></token>
<logzioUrl>https://<your-logz-io-listener-host>:8071</logzioUrl>
<logzioType>java</logzioType>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
</appender>
<root level="debug">
<appender-ref ref="LogzioLogbackAppender"/>
</root>
</configuration>
<your-logz-io-token> yer tutucusunun yerine erişim belirtecinizi ve <your-logz-io-listener-host> yer tutucusunu bölgenizin dinleyici konağıyla (örneğin, listener.logz.io) değiştirin. Hesabınızın bölgesini bulma hakkında daha fazla bilgi için bkz. Hesap bölgesi.
logzioType öğesi, Elasticsearch'te farklı belgeleri birbirinden ayırmak için kullanılan mantıksal bir alana başvurur. Logz.io en iyi şekilde yararlanmak için bu parametreyi düzgün bir şekilde yapılandırmak önemlidir.
Logz.io "türü," günlük biçiminizi ifade eder; örneğin: Apache, NGINX, MySQL - bu, kaynağınız değildir; kaynak örnekleri: server1, server2, server3. Bu öğreticide, Java uygulamalarını yapılandırdığımız ve bu uygulamaların tümünün aynı biçime sahip olmasını beklediğimiz için tür java çağırıyoruz.
Gelişmiş kullanım için, Java uygulamalarınızı farklı türlerde gruplandırabilirsiniz. Bu türlerin tümü kendi özel günlük biçimine sahiptir (Log4J ve Logback ile yapılandırılabilir). Örneğin, bir spring-boot-monolith türüne ve bir spring-boot-microservice türüne sahip olabilirsiniz.
Logz.io yapılandırmanızı ve günlük analizinizi test edin
Logz.io kitaplığı yapılandırıldıktan sonra, uygulamanız artık günlükleri doğrudan ona göndermelidir. Her şeyin düzgün çalışıp çalışmadığını test etmek için Logz.io konsoluna gidin,
Requesting Live Tail access...
Access granted. Opening connection...
Connected. Tailing...
Ardından uygulamanızı başlatın veya bazı günlükler oluşturmak için kullanın. Günlükler doğrudan ekranınızda görünmelidir. Örneğin, spring boot uygulamasının ilk başlangıç iletileri şunlardır:
2019-09-19 12:54:40.685Z Starting JavaApp on javaapp-default-9-5cfcb8797f-dfp46 with PID 1 (/workspace/BOOT-INF/classes started by cnb in /workspace)
2019-09-19 12:54:40.686Z The following profiles are active: prod
2019-09-19 12:54:42.052Z Bootstrapping Spring Data repositories in DEFAULT mode.
2019-09-19 12:54:42.169Z Finished Spring Data repository scanning in 103ms. Found 6 repository interfaces.
2019-09-19 12:54:43.426Z Bean 'spring.task.execution-org.springframework.boot.autoconfigure.task.TaskExecutionProperties' of type [org.springframework.boot.autoconfigure.task.TaskExecutionProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
Artık Logz.io günlüklerinizi işlediğine göre platformun tüm hizmetlerinden yararlanabilirsiniz.
Azure hizmetleri verilerini Logz.io gönderme
Daha sonra Azure kaynaklarınızdan Logz.io günlükleri ve ölçümleri nasıl göndereceğinizi öğreneceksiniz.
Şablonu dağıtma
İlk adım Logz.io - Azure tümleştirme şablonunu dağıtmaktır. Tümleştirme, işlem hattının tüm gerekli yapı bloklarını ayarlayan hazır bir Azure dağıtım şablonunu temel alır. Şablon bir Olay Hub'ı ad alanı, bir Olay Hub'ı, iki depolama blobu ve gerekli tüm doğru izinleri ve bağlantıları oluşturur. Otomatik dağıtım tarafından ayarlanan kaynaklar tek bir Azure bölgesi için veri toplayabilir ve bu verileri Logz.io'a gönderir.
Deponun benioku
Azure'a
Alanların çoğunu as-is bırakabilirsiniz, ancak aşağıdaki ayarları girdiğinizden emin olun:
- kaynak grubu
: Var olan bir grubu seçin veya yeni bir grup oluşturun. - Logzio Günlükleri/Ölçüm Ana Bilgisayarı
: Logz.io dinleyicisinin URL'sini girin. Bu URL'nin ne olduğundan emin değilseniz oturum açma URL'nizi denetleyin. app.logz.ioiselistener.logz.io(varsayılan ayardır) kullanın.app-eu.logz.ioiselistener-eu.logz.iokullanın. - Logzio Günlükleri/Ölçüm Belirteci
: Azure günlüklerini veya ölçümlerini göndermek istediğiniz Logz.io hesabının belirtecini girin. Bu belirteci Logz.io kullanıcı arabirimindeki hesap sayfasında bulabilirsiniz.
Sayfanın altındaki koşulları kabul edin ve Satın Alseçeneğini belirleyin. Azure daha sonra şablonu dağıtır ve bu işlem bir veya iki dakika sürebilir. Sonunda portalın üst kısmında "Dağıtım başarılı" iletisini görürsünüz.
Dağıtılan kaynakları gözden geçirmek için tanımlı kaynak grubunu ziyaret edebilirsiniz.
Verileri Azure Blob Depolama'ya yedeklemek için logzio-azure-serverless yapılandırmayı öğrenmek istiyorsanız, Azure etkinlik günlüklerini gönderme bölümüne bakınız.
Azure günlüklerini ve ölçümlerini Logz.io'ya akışını sağlama
Tümleştirme şablonunu dağıttığınız için Azure'ı tanılama verilerini az önce dağıttığınız Olay Hub'ına akışla aktaracak şekilde yapılandırmanız gerekir. Veriler Olay Hub'ına geldiğinde işlev uygulaması bu verileri Logz.io iletir.
Arama çubuğuna Tanılamayazın, ardından Tanılama Ayarlarıseçin.
Kaynak listesinden bir kaynak seçin, ardından Tanılama ayarı ekle'yi seçerek ilgili kaynağın Tanılama ayarları panelini açın.
tanılama ayarları paneli
Tanılama ayarlarınıza bir Adıverin.
bir olay hub'ına
Akış'ı seçin ve ardından Olay Hub'ı seçin panelini açmak için Yapılandır'ı seçin. Olay Hub'ınızı seçin:
-
Etkinlik hub'ı ad alanını seçin: Logzio ile başlayan (örneğin
LogzioNS6nvkqdcci10p) ad alanını seçin. - Olay hub'ının adını seçin: Günlükler için insights-operational-logs ve ölçümler için insights-operational-metricsseçin.
- Olay hub'u ilke adını seçin: LogzioSharedAccessKeyseçin.
-
Etkinlik hub'ı ad alanını seçin: Logzio ile başlayan (örneğin
Tamam seçeneğini belirleyerek Tanılama ayarları paneline geri dönün.
Günlük bölümünden akışını yapmak istediğiniz verileri seçin ve Kaydet'i seçin.
Seçili veriler artık Etkinlik Hub'ına akıyor.
Verilerinizi görselleştirme
Ardından, verilerinizin sisteminizden Logz.io'ya ulaşması için biraz zaman tanıyın ve ardından Kibana'yı açın. Panolarınızı dolduran verileri (eventhubtürüyle) görmeniz gerekir. Pano oluşturma hakkında daha fazla bilgi için bkz. Kibana - Pano Oluşturma.
Buradan, Bul sekmesinde belirli verileri sorgulayabilir veya Görselleştirme sekmesinde verilerinizi görselleştirmek için Kibana nesneleri oluşturabilirsiniz.
Kaynakları temizleme
Bu öğreticide oluşturduğunuz Azure kaynaklarını tamamladığınızda, aşağıdaki komutu kullanarak bunları silebilirsiniz:
az group delete --name <resource group>
Sonraki adımlar
Bu öğreticide Java uygulamanızı ve Azure hizmetlerinizi günlükleri ve ölçümleri Logz.io gönderecek şekilde yapılandırmayı öğrendiniz.
Ardından, uygulamanızı izlemek için Event Hub'ı kullanma hakkında daha fazla bilgi edinin:
Azure izleme verilerini, dış araç tarafından tüketilmek üzere