国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)

這篇具有很好參考價值的文章主要介紹了Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在我之前的文章 “Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(一)” 中,我詳述了如何使用 Elastic APM 來監(jiān)控 Android 應用程序。在今天的文章中,我來詳述如何部署 Elastic Stack,并使用文章中的示例代碼來進行展示。為了展示方便,在今天的展示中,我將所有的組件都安裝到同一臺機器 macOS 上。它的 private IP 地址為 192.168.0.3。

使用 Elastic APM 監(jiān)控 Android 應用程序

APM 集成架構

Elastic APM 集成由四個組件組成:APM 代理、Elastic APM 集成ElasticsearchKibana。 通常,這四個組件可以通過兩種方式協(xié)同工作。邊緣機器上的 APM 代理將數據發(fā)送到集中托管的 APM 集成:

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)?

在本演示中,我們的邊緣設備也即 macOS。它通過 Elastic APM agent 采集信息,并傳輸到一個中央的 APM 集成。

在本次的演示中,我將使用最新的 Elastic Stack 8.7.0?來進行展示。

安裝

Elastic Stack

?我們先按照我之前的文章:

  • 如何在 Linux,MacOS 及 Windows 上進行安裝 Elasticsearch

  • Kibana:如何在 Linux,MacOS 及 Windows 上安裝 Elastic 棧中的 Kibana

來安裝 Kibana 及 Elasticsearch。不過在安裝的時候,我們需要做一些調整。在啟動 Elasticsearch 之前,我們還必須針對 Elasticsearch 的配置文件做一項修改:

config/elasticsearch.yml

xpack.security.authc.api_key.enabled: true

我們把上面的配置添加到 config/elasticsearch.yml 文件的最后面。這個是為了能夠我們使用 API key 的方式來訪問 Elasticsearch。修改完畢后,我們啟動 Elasticsearch。

我們還必須為 Kibana 做一項修正。我們首先在 Kibana 的安裝目錄中使用如下的命令:

xpack.encryptedSavedObjects.encryptionKey: 5834bb75e1e8eaa4794439d228a0fe65
xpack.reporting.encryptionKey: d2a1337320c79c038f279167adc1a9ee
xpack.security.encryptionKey: 7cde0c75b035a99d000ed20b1e84b530

我們把上面的三個 keys 拷貝并粘貼到 config/kibana.yml 文件的最后面:

config/kibana.yml

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)?

添加完畢后,我們重新啟動 Kibana。

Kibana 需要 Internet 連接才能從 Elastic Package Registry 下載集成包。 確保 Kibana 服務器可以連接到端口 443 上的 https://epr.elastic.co。如果你的環(huán)境有網絡限制,則有一些方法可以解決此要求。 有關詳細信息,請參閱氣隙環(huán)境。

另外,我們必須注意的一點是 Fleet 在目前只供具有 superuser 角色的用戶使用。Fleet 是 Kibana 中的界面。它被用來管理及監(jiān)控 Elastic Agents。

Android Studio

如果你還沒有安裝好自己的 Android Studio,請到地址?https://developer.android.com/studio?去下載最新的發(fā)布,并進行相應的安裝。

配置 Fleet

使用 Kibana 中的 Fleet 來添加對 Elastic agent 的管理。第一次使用 Fleet 時,你可能需要對其進行設置并添加 Fleet Server。要部署自我管理的 Fleet Server,請安裝 Elastic Agent 并將其注冊到包含 Fleet Server 集成的代理策略中:

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)?

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)??

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)???

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)??

如上所示,我們在成功地創(chuàng)建 Fleet server policy 之后,然后選擇相應的操作系統(tǒng)來安裝 Elastic Agent。針對我的架構,我安裝 Elastic Agent 到我的 macOS 電腦上:

curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.7.0-darwin-x86_64.tar.gz
tar xzvf elastic-agent-8.7.0-darwin-x86_64.tar.gz
cd elastic-agent-8.7.0-darwin-x86_64
sudo ./elastic-agent install \
  --fleet-server-es=https://192.168.0.3:9200 \
  --fleet-server-service-token=AAEAAWVsYXN0aWMvZmxlZXQtc2VydmVyL3Rva2VuLTE2ODE4MjkwODAxMzQ6LVo1OHN0Z2ZSNXlkOE5ZM3k5Tmd3dw \
  --fleet-server-policy=fleet-server-policy \
  --fleet-server-es-ca-trusted-fingerprint=9f268b75e5b9644109a69007310a97e0244fa86e7e80b3a50c55f937e38c7a66

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)??

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)

?如果你之前在自己的電腦上已經安裝過,你可以去相應的目錄中先進行卸載。針對 macOS:

$ su
Password:
$ cd /Library/Elastic/Agent/
$ ./elastic-agent uninstall
Elastic Agent will be uninstalled from your system at /Library/Elastic/Agent. Do you want to continue? [Y/n]:y
Elastic Agent has been uninstalled.

針對 Linux OS:

liuxg@liuxgu:~$ su
Password: 
root@liuxgu:/home/liuxg# cd /opt/Elastic/Agent/
root@liuxgu:/opt/Elastic/Agent# ./elastic-agent uninstall
Elastic Agent will be uninstalled from your system at /opt/Elastic/Agent. Do you want to continue? [Y/n]:y
I0418 10:31:42.996703    3635 leaderelection.go:248] attempting to acquire leader lease default/elastic-agent-cluster-leader...
Elastic Agent has been uninstalled.

?Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)

稍等一會兒,我們就可以看到 liuxgm.local,也就是我的 macOS?機器上的 Agents 狀態(tài)顯示為?Healthy。我們點擊 Fleet Server Policy:?

?Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)??

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)???

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)???

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)??

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)??

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)??

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)?

從上面,我們可以看出我們已經成功地部署了 APM 服務器。

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)

接下來,我們可以開始部署 APM agents 了。

直到這一步,我們可以查看我們已經啟動的端口:

$ netstat -an | grep LISTEN | grep 8200
tcp4       0      0  192.168.0.3.8200       *.*                    LISTEN     
$ netstat -an | grep LISTEN | grep 8220
tcp46      0      0  *.8220                 *.*                    LISTEN     
$ netstat -an | grep LISTEN | grep 8080
$ netstat -an | grep LISTEN | grep 8080
tcp46      0      0  *.8080                 *.*                    LISTEN    

我們也可以使用如下的命令來查看 APM server:

curl http://192.168.0.3:8200

請注意:上面的 IP 地址是我電腦上的地址。你需要根據自己的電腦上的 IP 而改變。

$ curl http://192.168.0.3:8200
{
  "build_date": "2023-03-27T18:03:39-04:00",
  "build_sha": "80446fbb7881463fa549a8d669055a6f4b897f70",
  "publish_ready": true,
  "version": "8.7.0"
}

配置 APM agents

我們首先去地址?GitHub - elastic/sample-app-android-apm: Sample app to show the Elastic APM implementation on Android apps?下載源碼:

git clone https://github.com/elastic/sample-app-android-apm

然后,我們使用如下的命令來 check out uninstrumented 分支:

cd sample-app-android-apm
git checkout uninstrumented

我們需要重新配置這個 backend。在默認的情況下,它不能連接到 Elasticsearch。我們必須修改如下如下的配置文件:

backend/src/main/resources/elasticapm.properties

service_name=weather-backend
application_packages=co.elastic.apm.android.sample
server_url=http://192.168.0.3:8200
secret_token=YOUR_ELASTIC_APM_SECRET_TOKEN

你需要根據自己的 APM server 地址修改上面的地址。

啟動應用程序

我們接下來啟動應用程序。我們需要在應用程序中進行一些配置。

1)?按照 Elastic APM Android Agent 的設置指南進行操作:

將 co.elastic.apm.android 插件添加到 app/build.gradle 文件(請確保使用該插件的最新版本,你可以在此處找到該插件)。

通過在 app/build.gradle 文件的 “elasticAPM” 部分中提供 “serverUrl” 和 “secretToken” 來配置代理與 Elastic APM 后端的連接。

// Android app's build.gradle file
plugins {
    //...
    id "co.elastic.apm.android" version "[latest_version]"
}

//...

elasticApm {
    // Minimal configuration
    serverUrl = "https://your.elastic.apm.endpoint"

    // Optional
    serviceName = "weather-sample-app" 
    serviceVersion = "0.0.1" 
    secretToken = "your Elastic APM secret token" 
}

在我們的設計中,我們沒有使用 token,所以上面的 secretToken 可以不設置或者可以為任意字符串。如果你想設置 secretToken,請參閱我之前的文章 “Obsevability:安全的 APM 服務器訪問”。

2)唯一實際需要更改的代碼是一行代碼,用于在 Application.onCreate 方法中初始化 Elastic APM Android 代理。 此示例應用程序的應用程序類位于 app/src/main/java/co/elastic/apm/android/sample/MyApp.kt。

package co.elastic.apm.android.sample

import android.app.Application
import co.elastic.apm.android.sdk.ElasticApmAgent

class MyApp : Application() {

    override fun onCreate() {
        super.onCreate()
        ElasticApmAgent.initialize(this)
    }
}

3)我們也同時需要修改如下地址的一個文件:

app/src/main/java/co/elastic/apm/android/sample/network/WeatherRestManager.kt

package co.elastic.apm.android.sample.network

import co.elastic.apm.android.sample.network.data.ForecastResponse
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory

object WeatherRestManager {

    private val service: CityWeatherService by lazy {
        val retrofit = Retrofit.Builder()
            .baseUrl("http://192.168.0.3:8080/v1/")
            .addConverterFactory(GsonConverterFactory.create())
            .build()
        retrofit.create(CityWeatherService::class.java)
    }

    suspend fun getCurrentCityWeather(city: String): ForecastResponse {
        return service.getCurrentWeather(city)
    }
}

如上所示,我們需要修改上面的 APM server 地址。

我們準備啟動演示。 (該 demo 旨在使用 Android 模擬器在本地環(huán)境中執(zhí)行。)因此,我們需要:

  1. 在位于示例項目根目錄的終端中使用此命令啟動后端服務:./gradlew bootRun(如果你使用的是 Windows,則為 gradlew.bat bootRun)。 或者,你可以從 Android Studio 啟動后端服務。
  2. 在 Android 模擬器(來自 Android Studio)中啟動天氣示例應用程序。

我們在 Android Studio 里運行 android 應用:

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)

我們可以看到如下的模擬器:

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)

?點擊 Next 按鈕:

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)

我們嘗試其它城市的選擇。當我們選擇 New York 城市的時候,我們可以看到如下的錯誤:

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)

我們回到 APM 的界面:

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)

從上面的圖中,我們可以看到兩個服務。我們點擊 Service map:

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)

很顯然這個是一個收費的功能。我們需要打開試用功能:

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)

這樣就完成了試用的啟動。我們再次回到 Service map 界面:

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)

點擊上面的 weather-sample-app:

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)

Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)

其它的畫面可以參考文章 “Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(一)”。文章來源地址http://www.zghlxwxcb.cn/news/detail-421414.html

到了這里,關于Elasticsearch:使用 Elastic APM 監(jiān)控 Android 應用程序(二)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Beats:使用 Filebeat 將 golang 應用程序記錄到 Elasticsearch - 8.x

    Beats:使用 Filebeat 將 golang 應用程序記錄到 Elasticsearch - 8.x

    毫無疑問,日志記錄是任何應用程序最重要的方面之一。 當事情出錯時(而且確實會出錯),我們需要知道發(fā)生了什么。 為了實現這一目標,我們可以設置 Filebeat 從我們的 golang 應用程序收集日志,然后將它們發(fā)送到 Elasticsearch。 最后,使用 Kibana 我們可以可視化這些日志并

    2024年02月12日
    瀏覽(22)
  • 如何在Android設備上檢查應用程序使用情況,包括使用時間

    如何在Android設備上檢查應用程序使用情況,包括使用時間

    你可能不知道自己花了多少時間在手機上。很可能你一天中有一半的時間都在盯著手機屏幕。如果你懷疑這一事實,你會很快核實的。在這篇文章中,我們將向你介紹如何在Android設備上檢查應用程序的使用情況。 你使用時間最長的應用程序可能會消耗最多的電池。然而,有

    2024年02月07日
    瀏覽(23)
  • 使用 CameraX 在 Jetpack Compose 中構建相機 Android 應用程序

    使用 CameraX 在 Jetpack Compose 中構建相機 Android 應用程序

    CameraX 是一個 Jetpack 庫,旨在幫助簡化相機應用程序的開發(fā)。 [camerax官方文檔] https://developer.android.com/training/camerax CameraX的幾個用例: Image Capture Video Capture Preview Image analyze 具體如何使用相關用例,請查看上面的官方鏈接。 下面僅就視頻錄制用例來敘述相關實現流程。 添加

    2024年02月06日
    瀏覽(49)
  • 在基于 Android 相機預覽的 CV 應用程序中使用 OpenCL

    在基于 Android 相機預覽的 CV 應用程序中使用 OpenCL

    組裝和配置 Android OpenCL SDK。 示例的 JNI 部分依賴于標準 Khornos OpenCL 標頭,以及 OpenCL 和 libOpenCL.so 的C++包裝器。標準 OpenCL 標頭可以從 OpenCV 存儲庫中的第三方目錄或 Linux 發(fā)行版包中復制。C++包裝器在Github上的官方Khronos存儲庫中可用。按以下方式將頭文件復制到專用目錄:

    2024年01月21日
    瀏覽(25)
  • Elasticsearch:使用在本地計算機上運行的 LLM 以及 Ollama 和 Langchain 構建 RAG 應用程序

    Elasticsearch:使用在本地計算機上運行的 LLM 以及 Ollama 和 Langchain 構建 RAG 應用程序

    無需 GPU 的隱私保護 LLM。在本博客中,我將演示使用不同的工具 Ollama 構建的 RAG 應用程序。 與本文相關的所有源代碼均已發(fā)布在 github上。 請克隆存儲庫以跟隨文章操作。我們可以通過如下的方式來克隆: Ollama 是一個輕量級且靈活的框架,專為在個人計算機上本地部署 LL

    2024年04月16日
    瀏覽(30)
  • 如何使用KoodousFinder搜索和分析Android應用程序中的安全威脅

    如何使用KoodousFinder搜索和分析Android應用程序中的安全威脅

    KoodousFinder是一款功能強大的Android應用程序安全工具,在該工具的幫助下,廣大研究人員可以輕松對目標Android應用程序執(zhí)行安全研究和分析任務,并尋找出目標應用程序中潛在的安全威脅和安全漏洞。 在使用該工具之前,我們首選需要訪問該工具的【開發(fā)者門戶】創(chuàng)建一個

    2024年02月13日
    瀏覽(25)
  • android excludeFromRecents將activity在最近的使用的應用程序列表中不顯示

    excludeFromRecents 是Android應用程序清單文件(AndroidManifest.xml)中的一個屬性,用于控制應用程序是否在最近使用的應用程序列表中顯示。通過將 excludeFromRecents 屬性設置為 true ,可以將應用程序從最近使用的應用程序列表中排除。 以下是將應用程序排除在最近使用的應用程序列

    2024年02月15日
    瀏覽(20)
  • Android應用程序中使用 Gemini Pro AI開發(fā)——2年工作經驗如何淘汰10年工作經驗的Android開發(fā)?

    Android應用程序中使用 Gemini Pro AI開發(fā)——2年工作經驗如何淘汰10年工作經驗的Android開發(fā)?

    上周,谷歌推出了最強大的基礎模型 Gemini 。 Gemini 是多模式的AI——它可以接受文本和圖像輸入。 谷歌為 Android 開發(fā)者引入了一種在設備上,利用最小模型Gemini Nano的方法。此功能可通過 AICore 在部分設備上使用,這是一項處理模型管理、運行時、安全功能等的系統(tǒng)服務,可

    2024年01月18日
    瀏覽(28)
  • Web 應用程序綜合監(jiān)控

    Web 應用程序綜合監(jiān)控

    模擬用戶通過 Web 應用程序的旅程并對其進行監(jiān)控以檢測任何增加延遲的元素的過程被廣泛稱為綜合監(jiān)控或綜合測試。 為了確保最終用戶的無縫體驗,綜合性能監(jiān)控勢在必行。監(jiān)視綜合事務以幫助您了解用戶如何與 Web 應用程序交互,并確保其中關鍵元素的功能。 綜合監(jiān)測通

    2024年02月11日
    瀏覽(21)
  • Elasticsearch:在 Java 客戶端應用中管理索引 - Elastic Stack 8.x

    管理索引是客戶端應用常用的一些動作,比如我們創(chuàng)建,刪除,打開 及關閉索引等操作。在今天的文章中,我將描述如何在 Java 客戶端應用中對索引進行管理。 我們需要閱讀之前的文章 “Elasticsearch:在 Java 客戶端中使用 truststore 來創(chuàng)建 HTTPS 連接”。在那篇文章中,我們詳

    2023年04月09日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包