Skywalking+Nacos实现高可用集群和动态配置
注意:Skywalking启动时路径不可为中文(windows)
环境介绍#
下面是架构图:
软件版本信息:
- nacos:1.3.0
- skywalking:8.5.0
- elastcisearch:7.7.1
nacos+keepalived+haproxy高可用集群搭建#
可参考:Nacos高可用集群搭建 - 秋风飒飒吹 - 博客园
nacos安装完成后,创建出skywalking
命名空间,供后续skywalking使用
ES环境搭建#
可参考:Elastic Stack:Centos7安装ElasticSearch7.7.1以及开机自启 - 秋风飒飒吹 - 博客园
skywalking安装#
三台机器都需要执行:
cd /opt
wget https://mirrors.bfsu.edu.cn/apache/skywalking/8.5.0/apache-skywalking-apm-es7-8.5.0.tar.gz
tar -zxvf apache-skywalking-apm-es7-8.5.0.tar.gz
配置oap#
vi /opt/apache-skywalking-apm-bin-es7/config/application.yml## 主要修改了三处配置,因为文件太长,这里只贴出修改的部分cluster:selector: ${SW_CLUSTER:nacos}# 中间部分省略。。。nacos:serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"}hostPort: ${SW_CLUSTER_NACOS_HOST_PORT:192.168.1.56:18848}# Nacos Configuration namespacenamespace: ${SW_CLUSTER_NACOS_NAMESPACE:"skywalking"}# Nacos auth usernameusername: ${SW_CLUSTER_NACOS_USERNAME:"nacos"}password: ${SW_CLUSTER_NACOS_PASSWORD:"nacos"}# Nacos auth accessKeyaccessKey: ${SW_CLUSTER_NACOS_ACCESSKEY:""}secretKey: ${SW_CLUSTER_NACOS_SECRETKEY:""}storage:selector: ${SW_STORAGE:elasticsearch7}elasticsearch7:nameSpace: ${SW_NAMESPACE:""}clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:192.168.1.43:9200}protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}trustStorePath: ${SW_STORAGE_ES_SSL_JKS_PATH:""}trustStorePass: ${SW_STORAGE_ES_SSL_JKS_PASS:""}dayStep: ${SW_STORAGE_DAY_STEP:1} # Represent the number of days in the one minute/hour/day index.# 后面省略。。。。configuration:selector: ${SW_CONFIGURATION:nacos}none:# 中间部分省略。。。nacos:# Nacos Server HostserverAddr: ${SW_CONFIG_NACOS_SERVER_ADDR:192.168.1.56}# Nacos Server Portport: ${SW_CONFIG_NACOS_SERVER_PORT:18848}# 组信息group: ${SW_CONFIG_NACOS_SERVER_GROUP:skywalking}# nacos命名空间namespace: ${SW_CONFIG_NACOS_SERVER_NAMESPACE:skywalking}# Unit seconds, sync period. Default fetch every 60 seconds.period: ${SW_CONFIG_NACOS_PERIOD:60}# Nacos auth usernameusername: ${SW_CONFIG_NACOS_USERNAME:""}password: ${SW_CONFIG_NACOS_PASSWORD:""}# Nacos auth accessKeyaccessKey: ${SW_CONFIG_NACOS_ACCESSKEY:""}secretKey: ${SW_CONFIG_NACOS_SECRETKEY:""}
配置UI#
vi /opt/apache-skywalking-apm-bin-es7/webapp/webapp.yml#注释部分省略
server:port: 8888collector:path: /graphqlribbon:ReadTimeout: 10000# Point to all backend's restHost:restPort, split by ,listOfServers: 192.168.1.53:12800,192.168.1.54:12800,192.168.1.55:12800
启动skywalking#
其中一台执行:
/opt/apache-skywalking-apm-bin-es7/bin/startup.sh
另外两台执行:
/opt/apache-skywalking-apm-bin-es7/bin/oapServiceNoInit.sh
/opt/apache-skywalking-apm-bin-es7/bin/webappService.sh
查看启动日志:
tail -500f /opt/apache-skywalking-apm-bin-es7/logs/skywalking-oap-server.log
tail -500f /opt/apache-skywalking-apm-bin-es7/logs/webapp.log
动态配置#
可以配置的配置文件如下:
agent-analyzer.default.uninstrumentedGateways
configuration-discovery.default.agentConfigurations
core.default.endpoint-name-grouping
core.default.apdexThreshold
agent-analyzer.default.slowDBAccessThreshold
agent-analyzer.default.sampleRate
alarm.default.alarm-settings
此外:官网文档对这些配置做了详细解释:Dynamic Configuration | Apache SkyWalking
我这里就不赘述了
动态配置测试#
新建一个配置,在skywalking命名空间中:
新建一个data-id叫做agent-analyzer.default.uninstrumentedGateways
,group信息是skywalking
,配置格式yaml
配置内容:
gateways:- name: proxy0instances:- host: 127.0.0.1 # the host/ip of this gateway instanceport: 9099 # the port of this gateway instance, defaults to 80
点击发布:
gateways:- name: proxy0instances:- host: 127.0.0.1 # the host/ip of this gateway instanceport: 9099 # the port of this gateway instance, defaults to 80
发布成功后,注意三台机器skywalking-oap-server.log
的日志信息,控制台打印了配置的变化,这里就达到了不重启Skywalking而动态刷新配置的效果。
一个小问题#
三个skywalking oap服务都注册到了nacos中,服务名称都为SkyWalking_OAP_Cluster
,按道理来说有三个实例,可以nacos注册中心一直只有一个实例,有点奇怪,目前找不到原因。
而且三台nacos,每一台的服务信息一模一样,都只有同一个实例。
三台机器的skywalking日志也没有任何错误日志。非常奇怪!!!!!!
不过目前没有影响到基本使用,后续我先在公司的环境再搭建一套,再监控具体服务看看。
Skywalking+Nacos实现高可用集群和动态配置相关推荐
- HBase 高可用集群整合 Phoenix 配置
HBase 高可用集群整合 Phoenix 配置 接上文:HBase 高可用集群配置 命令行参考:https://blog.csdn.net/ubuntu64fan/article/details/8 ...
- 基于zookeeper(集群)+LevelDB的ActiveMq高可用集群安装、配置、测试
Linux 环境 zookeeper集群安装.配置.测试https://blog.csdn.net/weixin_40816738/article/details/100576259 MQ集群部署规划 ...
- 高可用集群heartbeat安装配置(一)
一.HA高可 FailOver:故障转移 包含HA Resource IP, service,STONITH FailBack故障转移原点 Faiover domain:故障转移域 资源粘性资源更倾向 ...
- 基于CENTOS7 Linux高可用集群LVS+Keepalived配置
1.LVS安装配置 配置LVS负载均衡集群: 1.填写下列IP分配表 服务器角色 IP地址 DR 192.168.158.129 RS1 192.168.158.137 RS2 192.168.158 ...
- RuoYi-Cloud 进阶篇_03( Seata 高可用集群与 NacosConfig配置中心整合)
文章目录 1. 创建文件config.txt 2. 创建nacos-config.sh 3. 配置导入nacos配置中心 4. 配置验证 1. 创建文件config.txt 在seata的安装文件夹下 ...
- 高可用集群 heartbeatv1实例
------- 高可用集群的简单配置 -------- 地址规划 主节点:HA1 172.16.21.13 hostname node2.magedu.com 备节点: HA2 172.1 ...
- Redis 如何使用 Twemproxy 和 Sentinel 构建高可用集群架构?
文章目录 Redis 如何使用 Twemproxy 和 Sentinel 构建高可用集群架构? 配置环境 构建 RedisSharding1 安装 Redis 配置 RedisSharding1 构建 ...
- Nacos发布 v0.2 版本,无缝支持 Spring Cloud 微服务生态及高可用集群模式
2019独角兽企业重金招聘Python工程师标准>>> 近日,阿里巴巴新开源项目Nacos 发布了 v0.2 版本,该版本开始支持完整的Spring生态技术栈,这包括 Spring ...
- 零基础带你一步步搭建Nacos高可用集群(史上最详细,赛过教科书!)为此我准备了三台云服务器+云数据库
容我先说一句:节日快乐!永远九岁的我们当然不能错过,奥里给!{容我先说一句:节日快乐!永远九岁的我们当然不能错过,奥里给!}容我先说一句:节日快乐!永远九岁的我们当然不能错过,奥里给! 如果你不懂jd ...
最新文章
- 即时通讯 IM 开发指南 1:如何进行技术选型
- python语言基本认识_Python基础语法合集——了解python
- 原理简单,但不知道怎么用?一文看懂「同期群模型」
- 2.OAuth 简介(2)
- linux安装audit软件,linux audit工具
- 前端练手项目合集40.0个,附源码,2022年最新
- SCM供应链管理系统解决方案:助力企业采购流程高效运行,全面降低供应链风险
- 计算机管理工具怎么设置,电脑音频管理器怎么设置,教你电脑音频管理器怎么设置...
- react native 面试题
- android tf卡 修复工具,如何修复/格式化损坏的安卓手机SD卡-万兴恢复专家
- 关于“ VMware Workstation 16 此平台不支持虚拟化的Intel VT-x/EPT. 不使用虚拟化的Intel VT-x/EPT,是否继续?”的有关问题的总结解答
- 小米官网仿写部分代码+实训报告
- HDU 1567(2006)
- 保险行业的电子签章应用场景:印章统一管、合同在线签
- 超论价值观,需求价值论
- 理解作用域与作用域链
- C++标准库(第2版)(侯捷译)PDF
- 电影院订票选座小程序 毕业设计 课程设计(3)电影详情页面
- Flutter混合开发框架(二)——FlutterEngineGroup使用及原理分析
- 解决第一个Android工程sync失败失败90%问题的方法(sync失败、unresolved ...、not found、。。。)