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 上查看服务的信息是否采集到。

相关推荐
唐叔在学习2 分钟前
Python桌面端应用最小化托盘开发实践
后端·python·程序员
2501_945423543 分钟前
使用Fabric自动化你的部署流程
jvm·数据库·python
2401_846341654 分钟前
用Pandas处理时间序列数据(Time Series)
jvm·数据库·python
未知鱼15 分钟前
Python安全开发之子域名扫描器(含详细注释)
网络·python·安全·web安全·网络安全
2401_8318249618 分钟前
编写一个Python脚本自动下载壁纸
jvm·数据库·python
2401_8579182928 分钟前
Python在2024年的主要趋势与发展方向
jvm·数据库·python
今儿敲了吗31 分钟前
python基础学习笔记第九章——模块、包
开发语言·python
二闹1 小时前
Python文件读取三巨头你该选择哪一个?
后端·python
独断万古他化1 小时前
Python+Pytest 接口自动化测试实战 —— 抽奖系统接口测试框架设计与实现
python·pytest·接口自动化·测试·allure·yaml·json schema
沪漂阿龙1 小时前
Python 面向对象编程完全指南:从新手到高手的进阶之路
开发语言·python·microsoft