APM(二):监控 Python 服务

上一篇我们已经安装好了 Skywalking 和 Easysearch,这次我们来写个简单的 Python 服务,并把它的服务调用信息发送给 Skywalking,通过 Skywalking 的 Web UI 进行展示。

启动后端服务

先启动好后端服务,包括 Skywalking 和 Easysearch。启动完成后能通过 Web UI 访问 Skywalking。

构建 Python 服务

我们编写一个简单的 Flask 服务程序,只要访问 localhost:8081/a 就会返回 "Hello, I'm Service A!" 信息。

复制代码
from flask import Flask

app = Flask(__name__)

@app.route('/a', methods=['GET'])

def service_b():
    return "Hello, I'm Service A!"

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8081)

运行前,要安装好依赖。

复制代码
pip3 install flask
pip3 install apache-skywalking

依赖关系展示如下:

设置环境变量

为了让服务能成功把相关信息发送到 Skywalking 后端,启动前我们还要设置两个环境变量告诉服务程序该往哪里发送信息。

复制代码
export SW_AGENT_COLLECTOR_BACKEND_SERVICES=localhost:11800
export SW_AGENT_NAME=AService-python

启动 Python 程序

一切准备妥当后,运行我们的服务程序。

复制代码
sw-python run python3 AService.py

程序启动后会监听 8081 端口。

我们通过浏览器访问下。

在 Skywalking 的 Web UI 上查看服务的信息是否采集到。

相关推荐
CoderJia程序员甲1 小时前
GitHub 热榜项目 - 日榜(2025-11-23)
python·开源·github·mcp
Elasticsearch2 小时前
Elastic AI agent builder 介绍(四)
elasticsearch
AI爱好者2 小时前
WordPress保卫战:用Python分析日志并封禁恶意爬虫
python
Better Bench2 小时前
Elasticsearch BM25 检索器连接问题解决方案
大数据·elasticsearch·jenkins
Robpubking2 小时前
elasticsearch 使用 systemd 启动时卡在 starting 状态 解决过程记录
linux·运维·elasticsearch
nvd112 小时前
Gidgethub 使用指南
开发语言·python
___波子 Pro Max.2 小时前
Python模块导入详解与最佳实践
python
2501_941146702 小时前
探讨 Java、C# 与 C++ 在现代软件开发中的应用与选择
elasticsearch
N***73853 小时前
ReactGraphQLAPI
大数据·c#·爬山算法