iT邦幫忙

2021 iThome 鐵人賽

DAY 18
0
DevOps

Elastic Stack(ELK)數據圖表化與異常監控系列 第 18

Day18 Elastic APM (二)

接下來我們要開始運用APM Agent的函式庫來去做應用程式方面的監控。

APM 安裝

kibana開啟左選單 Observability > APM後,點選Add data後,可以按照步驟安裝設定。
https://ithelp.ithome.com.tw/upload/images/20210924/201297626gJczpKHxT.jpg

APM Server 安裝
步驟一:下載APM Server安裝包, 下載地址

curl -L -O https://artifacts.elastic.co/downloads/apm-server/apm-server-7.0.0-darwin-x86_64.tar.gz
tar xzvf apm-server-7.0.0-darwin-x86_64.tar.gz
cd apm-server-7.0.0-darwin-x86_64/

步驟二:修改配置檔案apm-server.yml。

output.elasticsearch:
    hosts: ["localhost:9200"]
    username: <username>
    password: <password>

步驟三:通過指令啟動 APM Server。

./apm-server -e

步驟四:檢測APM Server是否啟動成功。
https://ithelp.ithome.com.tw/upload/images/20210924/20129762gS9JYOmrGX.png

APM Agents
步驟一:安裝apm套件。

go get go.elastic.co/apm

步驟二:設定環境變數。

export ELASTIC_APM_SERVICE_NAME=apm-it13
export ELASTIC_APM_SERVER_URL=http://localhost:8200
export ELASTIC_APM_SECRET_TOKEN=
export ELASTIC_APM_ENVIRONMENT=

步驟三:在應用程式中加入APM Agent的函式庫。

import (
	"net/http"

	"go.elastic.co/apm/module/apmhttp"
)

func main() {
	mux := http.NewServeMux()
	...
	http.ListenAndServe(":8080", apmhttp.Wrap(mux))
}

以下為官方提供的函式庫:

  • module/apmhttp
  • module/apmfasthttp
  • module/apmecho
  • module/apmgin
  • module/apmfiber
  • module/apmbeego
  • module/apmgorilla
  • module/apmgrpc
  • module/apmhttprouter
  • module/apmnegroni
  • module/apmlambda
  • module/apmsql
  • module/apmgopg
  • module/apmgorm
  • module/apmgocql
  • module/apmredigo
  • module/apmgoredis
  • module/apmgoredisv8
  • module/apmrestful
  • module/apmchi
  • module/apmlogrus
  • module/apmzap
  • module/apmzerolog
  • module/apmelasticsearch
  • module/apmmongo
  • module/apmawssdkgo
  • module/apmazure

如何使用apm函式庫可以參考官方的文件說明連結

小結

今日我們已經把APM Server安裝和APM Agent的函式庫都簡單介紹完畢,接下來我們就要來看看Elastic APM所產生的監控圖表,到底可以收集到那些資訊。


上一篇
Day17 Elastic APM (一)
下一篇
Day19 Elastic APM (三)
系列文
Elastic Stack(ELK)數據圖表化與異常監控30

尚未有邦友留言

立即登入留言