目录
skills_microservice
1 java项目整合skywalking
-
下载skywalking 安装包
最新安装包:https://downloads.apache.org/skywalking/8.9.1/apache-skywalking-apm-8.9.1.tar.gz
历史版本:https://archive.apache.org/dist/skywalking/ -
解压缩安装包
tar -zxvf apache-skywalking-apm-8.9.1.tar.gz -C $SKYWALKING_HOME/
-
将skywalking的整个 agent/ 目录拷贝至相应的路径下,也可以不拷贝,比如这里不用拷贝,就使用 $SKYWALKING_HOME/apache-skywalking-apm-bin-es7/agent/
-
执行如下命令即可
# $SKYWALKING_HOME/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar ,是 agent的jar包所在路径
# -Dskywalking.agent.service_name=java_demo::gateway 是该java项目设置的在skywalking中的服务名
# -Dskywalking.collector.backend_service=172.16.1.10:32328 , 是skywalking的服务器地址和端口号,这是外部地址
# -Dskywalking.collector.backend_service=skywalking-service.skywalking-namespace , 是skywalking的服务器地址和端口号,这是k8s的内部地址,
# skywalking-service 为skywalking容器的服务名,skywalking-namespace 为skywalking所在的命名空间
# -Dskywalking.trace.ignore_path=Seata/RM/*,Lettuce/** , 这个是配置忽略追踪的路径,此处是忽略追踪seata和redis的日志
# $GATEWAY_HOME/gateway-0.0.1-SNAPSHOT.jar ,这个是要运行的java系统的jar包路径
# 注意1:以下2个参数有用,有了这个参数,如果有详细日志数据的话,就会被skywalking捕获到,显示在页面上;
# 如果没有配置这2个参数但发现skywalking WEB UI上仍然有详细日志数据,那一定是在agent.config配置文件中配置了这2个参数
-Dskywalking.plugin.toolkit.log.grpc.reporter.server_host=localhost -Dskywalking.plugin.toolkit.log.grpc.reporter.server_port=11800
# 注意2:如果要ignore_path生效,需要把optional-plugins文件夹中的apm-trace-ignore-plugin-8.5.0.jar,拷贝到 plugins文件夹中,详见代码块下面的截图:
# agent.config中以上2个参数的配置语句如下:
plugin.toolkit.log.grpc.reporter.server_host=${SW_GRPC_LOG_SERVER_HOST:localhost}
plugin.toolkit.log.grpc.reporter.server_port=${SW_GRPC_LOG_SERVER_PORT:11800}
# 完整的执行jar包,同时加载skywalking插件的命令如下
java -javaagent:$SKYWALKING_HOME/agent/skywalking-agent.jar -Dskywalking.agent.service_name=java_demo::gateway -Dskywalking.collector.backend_service=localhost:11800 -Dskywalking.plugin.toolkit.log.grpc.reporter.server_host=localhost -Dskywalking.plugin.toolkit.log.grpc.reporter.server_port=11800 -Dskywalking.trace.ignore_path=Seata/RM/*,Lettuce/** -jar target/gateway-0.0.1-SNAPSHOT.jar
2 nacos配置mysql数据源的注意事项
在application.properties中,总共就这么多配置:
(其中时区的配置尤其注意,很可能配置错误,要这么配:serverTimezone=GMT%2B8 ,代表GMT+8,即东八区;也可以写成:serverTimezone=Asia/Shanghai)
#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
# db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=GMT%2B8
db.user=root
db.password=root
### Connection pool configuration: hikariCP
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2
3 rabbmitmq启动UI管理系统
就一句话:sudo rabbitmq-plugins enable rabbitmq_management
4 rabbmitmq新建的用户无法登录web管理界面
RCA:新建用户时忘记设置tag了,tag其实是类似于角色,应该设置账户的tag为 administrator,然后就可以访问web界面了。