# bigwolf-cloud **Repository Path**: fafi09/bigwolf-cloud ## Basic Information - **Project Name**: bigwolf-cloud - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-15 - **Last Updated**: 2025-06-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 问题汇总 ### 错误类型-调用错误 #### aop代理找不到。 1. 问题描述 ``` java.lang.IllegalStateException: Cannot find current proxy: Set 'exposeProxy' property on Advised to 'true' to make it available, and ensure that AopContext.currentProxy() is invoked in the same thread as the AOP invocation context. ``` 2. 解决办法 - SpringUtils.getAopProxy(this).selectDeptList(dept);这个方法selectDeptList要有切片 - @SpringBootApplication(basePackages = "com.bigwolf") ruoyi也没写 #### 服务传参数没指定参数名,但ruoyi也没指定就可以,目前还未找到原因 1. 问题描述 ```agsl 微服务从网关路由到system模块,http://localhost:3000/api/system/dict/data/type/sys_normal_disable, @GetMapping(value = "/type/{dictType}"), 报错:java.lang.IllegalArgumentException: Name for argument of type [java.lang.String] not specified, and parameter name information not available via reflection. Ensure that the compiler uses the '-parameters' flag. ``` 2. 解决办法 ```agsl @GetMapping(value = "/type/{dictType}") public AjaxResult dictType(@PathVariable("dictType") String dictType) { } ``` ### 错误类型-启动错误 #### 动态数据源加不上 1. 问题描述 ``` hqld等 ``` 2. 解决办法 - pom文件中添加,版本不兼容,采用dynamic-datasource-spring-boot3-starter ```agsl com.baomidou dynamic-datasource-spring-boot3-starter com.alibaba druid ``` ## 集成skywalking ### 下载skywalking-agent(java) 1. 运行BigwolfGatewayApplication,配置 ``` -javaagent:D:\skywalking-agent\skywalking-agent.jar -Dskywalking.agent.service_name=bigwolf-gateway 或 -javaagent:D:\skywalking-agent\skywalking-agent.jar -DSW_AGENT_NAME=smartheating -DSW_AGENT_COLLECTOR_BACKEND_SERVICES=192.168.90.250:11800 或 -javaagent:D:\skywalking-agent\skywalking-agent.jar -DSW_AGENT_NAME=bigwolf-gateway -DSW_AGENT_COLLECTOR_BACKEND_SERVICES=192.168.90.250:11800 -Dskywalking.agent.sample_n_per_3_secs=-1 -Dskywalking.agent.service_type=61 -Dskywalking.plugin.springcloudgateway.service_type=61 -Dskywalking.logging.level=DEBUG -Dskywalking.plugin.springmvc.enable=false ``` 2. 将gateway开启,配置如下agent.config, 将apm-spring-webflux-6.x-plugin-9.4.0.jar, apm-spring-cloud-gateway-4.x-plugin-9.4.0.jar复制到plugins目录下 ```agsl # 显式启用 Gateway 插件 plugin.springcloudgateway.enabled=true # 确保 Netty 插件开启(Gateway 底层依赖) plugin.netty.enabled=true # WebFlux 支持(Gateway 必须) plugin.springwebflux.enabled=true # 开启 DEBUG 日志 logging.level=DEBUG # 100% 采样 agent.sample_n_per_3_secs=-1 # 捕获 HTTP 参数 plugin.springcloudgateway.collect_http_params=true # 关键:设置异步追踪模式 plugin.springwebflux.async_thread_pool_strategy=CONTINUE plugin.springcloudgateway.service_type=spring-cloud-gateway ``` 3. 由于源工程采用的是tomcat10,所以在plugins的目录下将tomcat7,8涉及的包剪切到其他目录下备份。 4. 在启动类的启动参数中添加 ```agsl -Dskywalking.plugin.sentinel.enable=false -Dskywalking.plugin.springwebflux.enable=true -Dskywalking.plugin.springwebflux.priority=100 ``` ## 搭建elk 在CentOS系统中搭建ELK(Elasticsearch + Logstash + Kibana)日志系统,以下是关键步骤和注意事项: ### 一、基础环境准备 1. 安装Java环境 ```bash sudo yum install -y java-1.8.0-openjdk java -version # 验证安装 ``` 2. 开放必要端口(防火墙配置) ```bash sudo firewall-cmd --permanent --add-port={9200,9300,5601}/tcp sudo firewall-cmd --reload ``` ### 二、安装ELK组件 1. 添加Elastic仓库 ```bash sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch sudo vi /etc/yum.repos.d/elasticsearch.repo # 添加以下内容: [elasticsearch] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md ``` 2. 安装各组件 ```bash sudo yum install -y elasticsearch logstash kibana ``` ### 三、配置与启动 1. **Elasticsearch配置** ```bash sudo vi /etc/elasticsearch/elasticsearch.yml # 修改配置: network.host: 0.0.0.0 discovery.type: single-node ``` 启动服务: ```bash sudo systemctl daemon-reload sudo systemctl enable elasticsearch sudo systemctl start elasticsearch ``` 2. **Kibana配置** ```bash sudo vi /etc/kibana/kibana.yml # 修改配置: server.host: "0.0.0.0" elasticsearch.hosts: ["http://localhost:9200"] ``` 启动服务: ```bash sudo systemctl enable kibana sudo systemctl start kibana ``` 3. **Logstash配置**(示例) ```bash sudo vi /etc/logstash/conf.d/logstash.conf # 添加测试配置: input { stdin { } } output { elasticsearch { hosts => ["localhost:9200"] } stdout { codec => rubydebug } } ``` 启动服务: ```bash sudo systemctl enable logstash sudo systemctl start logstash ``` ### 四、验证部署 1. 检查Elasticsearch状态 ```bash curl http://localhost:9200 ``` 2. 访问Kibana界面 ``` http://<服务器IP>:5601 ``` ### 五、常见问题处理 1. **内存不足问题** 修改JVM参数: ```bash sudo vi /etc/elasticsearch/jvm.options -Xms1g -Xmx1g ``` 2. **权限错误** 创建专用用户: ```bash sudo useradd elkuser sudo chown -R elkuser /var/lib/elasticsearch ``` 3. **日志收集配置** 安装Filebeat采集日志: ```bash sudo yum install -y filebeat sudo vi /etc/filebeat/filebeat.yml # 配置output.elasticsearch指向本机 ``` ### 六、生产环境建议 1. 使用独立节点分离角色(如单独的数据节点/协调节点) 2. 配置SSL加密通信 3. 设置用户认证(需安装x-pack插件) 4. 定期备份数据(使用snapshot API) > 注意:实际部署时建议根据硬件配置调整JVM内存参数,生产环境应至少3个Elasticsearch节点组成集群,并配置副本分片保证高可用。 ## k8s ![img](./images/k8s/k8s-1.png)] ![img](./images/k8s/k8s-2.png)] ## 如何写提示词 1. Role: [智能体应扮演的角色] 2. Background: [任务的背景介绍] 3. Profile: [角色的详细描述,包括技能、知识和经验] 4. Skills: [角色具备的能力] 5. Goals: [通过这次交互想要达到的具体目标] 6. Constrains: [任何需要遵守的限制条件] 7. OutputFormat: [期望的输出格式] 8. Workflow: [实现目标的工作流程或步骤] 9. Examples: [成功的互动示例] 10. Initialization: [首次交互时的初始化指令或信息]