当前位置:网站首页>Elk note 25 - expérience rapide APM
Elk note 25 - expérience rapide APM
2022-07-23 19:15:00 【Lumière palatine xG】
elkNotes25--Expérience rapideAPM
1 Introduction
Elastic APMEst basé surElastic StackSystème de surveillance du rendement des applications sur.Il permet aux utilisateurs de recueillir des informations sur les demandes entrantes、Requête dans la base de données、Appel de cache、ExtérieurHTTPDétails sur le rendement pour les temps de réponse tels que les demandes,Pour surveiller les services logiciels et les applications en temps réel.Cela permet aux utilisateurs de localiser et de corriger facilement les problèmes de performance.
Elastic APMLes erreurs et exceptions non gérées sont également automatiquement collectées,Ces erreurs sont principalement groupées en fonction de la trace de la pile,Afin que les utilisateurs puissent identifier les nouvelles erreurs lorsqu'elles se produisent,Et se concentrer sur le nombre d'erreurs spécifiques qui se produisent.
Lors de la mise en service du système de production,Les mesures constituent une autre source importante d'information..Elastic APM agentObtient automatiquement des mesures de base au niveau de l'hôte et des mesures spécifiques liées à l'agent,Par exemple,JavaDans l'AgenceJVMIndicateurs etGoDans l'AgenceGoIndicateurs d'exécution.
Elastic APM Contient4Principales composantes: APM agents, Elastic APM integration, Elasticsearch, and Kibana , Leurs principales architectures d'ingénierie sont les suivantes :
1) Sur la machine Edge APM agents Envoyer les données à l'hébergement centralisé APML'intégration est
2)APM agentsEtAPM L'intégration fonctionne sur la machine Edge , Et grâce à l'hébergement centralisé Elastic agent Inscription

Ci - dessusElastic APM Les principales fonctions et architectures de ,Pour comprendreElastic APM Après la fonction principale , Cet article sera installé à partir de la Fondation APM server,Et à travers python Les cas montrent .
2 Essais d'installation
2.1 Installation APM server
docker pull docker.elastic.co/apm/apm-server:7.15.2
curl -L -O https://raw.githubusercontent.com/elastic/apm-server/7.15/apm-server.docker.yml
docker run -d \
-p 8200:8200 \
--name=apm-server-7.15.2 \
--user=apm-server \
--volume="/home/xg/soft/elk/apm-7.15.2/apm-server.docker.yml:/usr/share/apm-server/apm-server.yml:ro" \
docker.elastic.co/apm/apm-server:7.15.2 \
--strict.perms=false -e \
-E output.elasticsearch.hosts=["es_ip:9200"] -E output.elasticsearch.username="es_user" -E output.elasticsearch.password="es_pwd"
2.2 pythonCas d'essai
#!/usr/bin/python3
""" pip3 install elastic-apm[flask] """
import time
from flask import Flask
import requests
import json
from elasticapm.contrib.flask import ElasticAPM
app = Flask(__name__)
app.config['ELASTIC_APM'] = {
'SERVICE_NAME': 'xg-flask-01',
'SECRET_TOKEN': 'not-set',
'SERVER_URL': 'http://localhost:8200'
}
apm = ElasticAPM(app)
@app.route("/")
def hello_world():
ret_dict = {
"main": "/ , Hello. World",
"test_error": "/api/test-error",
"test_wait": "/api/test-wait",
"test_get": "/api/test-get"
}
return json.dumps(ret_dict)
@app.route("/api/test-error")
def test_error():
try:
print(10/0)
except Exception as e:
print(f"error: {
e}")
print(101 + "error")
return json.dumps({
'msg': "test-error"})
def my_wait(ts=1):
time.sleep(ts)
@app.route("/api/test-wait")
def test_wait():
ts = 5
print("wait")
my_wait(ts)
return json.dumps({
'msg': f"wait {
ts}s"})
@app.route("/api/test-get")
def test_get():
r = requests.get(url='http://www.baidu.com')
return json.dumps({
'msg': f"get www.baidu.com, status_code={
r.status_code}"})
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8080)
2.3 kibana APM Afficher les informations
Services
Traces
Dependencies
Overview
Transactions
Dependencies
Errors
Metrics![[Photos]](/img/61/097bdca57b73b76d158f0e24065bf1.png)
3 Notes
- Regarde.APMDocuments officiels,DécouverteElastic De apm-server Prise en charge de l'écriture des données à kafka, On pourrait donc envisager de l'utiliser apm-server Écrire des données kafka, Les données sont ensuite importées dans clickhouseOu autredb, La couche supérieure s'encapsule APM Front end de la requête , Il est possible de réaliser un APMC'est.
Avantages: Peut être utilisé directement elastic De apm-server Et agent Spécification d'accès , Il suffit de se concentrer sur les requêtes des utilisateurs
Inconvénients:Besoin de se réaliser soi - même APM Avant,Peut être référencé elastic De apm Fonction
Configure the Kafka output
4 Description
Environnement d'essai:
elk 7.15.2
apm-server 7.15.2
Documents de référence:
APM User Guide
Run APM Server on Docker
agent code example
边栏推荐
- 什么是堆栈以及堆栈的区别
- Mee | Zhejiang University Chenglei group develops a new method for designing and constructing synthetic flora
- Detailed explanation: tmp1750 chip three channel linear LED driver
- 正则化不同导致的tuple错误
- What is the use of tampermonkey?
- 微信小程序自己实现一个全局事件总线
- PHP file lock lottery to prevent concurrency
- Electronic components - resistance
- Log framework [detailed learning]
- CTF misc learning summary "suggestions collection"
猜你喜欢

Access intranet rds+mysql through SSH

Learn and understand Architecture Design from business development

What is the difference between preamplifier and power amplifier?

Implementation of SPI communication protocol based on FPGA

mBio | 海洋所孙超岷组在深海原位验证了微生物介导的单质硫形成新通路

【C语言】程序环境和预处理
![[2013] [paper notes] terahertz band nano particle surface enhanced Raman——](/img/09/af80a744573ce53a0056e7124675a8.png)
[2013] [paper notes] terahertz band nano particle surface enhanced Raman——

Challenges of decentralized storage

Design of UART interface based on FPGA

Alibaba最新神作!耗时187天肝出来1015页分布式全栈手册太香了
随机推荐
Multithreading & high concurrency (the latest in the whole network: interview questions + map + Notes) the interviewer is calm
Log framework [detailed learning]
[2020] [paper notes] optically controlled spectral ratio adjustable y based on two-dimensional photonic crystal——
Fragment
使用 frp 实现内网穿透
【C语言】程序环境和预处理
微信小程序自己实现一个全局事件总线
Implementation of SPI communication protocol based on FPGA
mysql的访问端口是什么意思_数据库端口是什么端口号
MQ [messagequeue graphic explanation and four MQ comparisons]
Moxa serial server model, moxa serial server product configuration instructions
有向图之求两点之间所有路径
TCL脚本语言详解(1)
基于FPGA的UART接口设计
UPC 2022 summer personal training game 12 (number of combinations b)
lendingclub贷款状态loan status业务详解-current,charge off,issued,Fully Paid,grace period
C语言小项目 -- 通讯录(静态版+动态版+文件版)
What does MySQL access port mean_ What is the port number of the database port
Redis [super superfine introductory tutorial]
ZigBee集成开发环境IAR安装