最近使用SkyWalking 10.2.0发现发生了很多变化,现在介绍如下。
1.到SkyWalking下载10.2.0(https://skywalking.apache.org/downloads/),注意新版本中监控和Agent是分开的两个模块。
2.下载后在命令行中使用
tar -xvzf apache-skywalking-java-agent-10.2.0.tgz
解压。放入本地一个非中文文件夹中。,
3.同样在刚才页面下载最新版本的Agents文件。
4.下载后在命令行中使用
tar -xvzf 下载后在命令行中使用
tar -xvzf apache-skywalking-java-agent-9.4.0.tgz
解压。放入本地一个非中文文件夹中。,解压。覆盖%SKYWALKING_HOME%\agent目录下所有文件。
5.在项目中加启动参数
1)在Linux监控Tomcat 7, Tomcat 8, Tomcat 9,打开tomcat/bin/catalina.sh
CATALINA_OPTS="$CATALINA_OPTS -javaagent:/path/to/skywalking-agent/skywalking-agent.jar"; export CATALINA_OPTS
2)在Windows监控Tomcat 7, Tomcat 8, Tomcat 9,打开tomcat/bin/catalina.bat.
set "CATALINA_OPTS=-javaagent:/path/to/skywalking-agent/skywalking-agent.jar"
3)JAR file:yourApp.jar
java -javaagent:/path/to/skywalking-agent/skywalking-agent.jar -jar yourApp.jar
4)jetty
修改jetty.sh, 在命令行加上 -javaagent 参数当启动您的应用的时候
export JAVA_OPTIONS="${JAVA_OPTIONS} -javaagent:/path/to/skywalking-agent/skywalking-agent.jar"
6.修改设置,在%SKYWALKING_HOME%\agent\config打开agent.config
…
# The agent namespace
agent.namespace=${
SW_AGENT_NAMESPACE:}…
…
# Backend service addresses.
collector.backend_service=${
SW_AGENT_COLLECTOR_BACKEND_SERVICES:127.0.0.1:11800}
注意
这个配置项定义了Agent 的命名空间。SW_AGENT_NAMESPACE是一个环境变量。如果没有设置这个环境变量,则默认为空(即没有指定命名空间)。
命名空间的作用是当你有多个独立的SkyWalking集群时,Agent可以通过命名空间区分不同集群中的服务,防止数据混乱。如果你不需要区分多个集群,通常可以保持为空
可以定义这个环境变量
等一下在监控中可以看到这么一个服务
7,SkyWalking GUI默认端口是8080,与大家通用的Tomcat冲突。在%SKYWALKING_HOME%\webapp\application.yml中修改
serverPort: ${
SW_SERVER_PORT:-18080}
# Comma seperated list of OAP addresses.
oapServices: ${
SW_OAP_ADDRESS:-http://localhost:12800}
我这里修改为18080
8,启动SkyWorking
打开浏览器,输入127.0.0.1:1800,启动压测。在SkyWorking选择对应的服务,显示当前机器状态。
也可以选择数据库进行观测
在这里我们看到了慢查询SQL语句。点拓扑图,可以看到
二、用SkyWalking监控非Java编写程序
在以前的版本中,SkyWalking只能监控Java编写的程序,这里以Python为例。其他参看https://skywalking.apache.org/docs/main/next/en/setup/service-agent/server-agents/
pip install apache-skywalking
pip install protobuf==5.26.1
用sw-python run command运行
比如启动一个Django程序,原命令
python manage.py runserver 0.0.0.0:8000
改为
sw-python run python manage.py runserver 0.0.0.0:8000
即可,在SkyWalking GUI窗口出现
Python Service Name|xiang