skywalking8.0+es构建监控系统

2 篇文章 0 订阅

skywalking8.0集群+es7.x集群

项目缺少链路监控工具,在考虑效率、代码侵入性、易用性等因素后,决定引入skywalking8.0进行链路监控

首先搭建es集群用于存储skywalking收集的信息

这里准备了三台机器,部署两台skywalking、3个es节点

解压下载好的es7,es7自带jdk

并做好相关配置

#集群名称
cluster.name: skywalking-es
#节点名称
node.name: skywalking-node2
path.data: /usr/skywalking/elasticsearch-7.4.2/data
path.logs: /usr/skywalking/elasticsearch-7.4.2/logs
#允许外网访问
network.host: 0.0.0.0
http.port: 9201
#tcp通信暴露的端口
transport.tcp.port: 9301
#允许跨域
http.cors.enabled: true
http.cors.allow-origin: "*"
#是否data节点(可操作数据)
node.data: true
#是否可以成为主节点
node.master: true
#种子地址,获取符合选举的主机列表
discovery.seed_hosts: ["192.168.74.75", "192.168.74.76","10.168.74.77"]
#用于引导集群启动的节点
cluster.initial_master_nodes: ["skywalking-node1"]

三个节点除了name不一样,其他都一致

可通过下面命令来查看非注释的配置

more ./elasticsearch.yml | grep ^[^#]

这里再新建一个sky用户,用于启动es和skywalking

useradd sky
chown -R sky /usr/skywalking/

(现在还是root用户)再修改本地配置

 vi /etc/security/limits.conf

在末尾(按G可以直达)下面加入这些配置(如果没有的话),不然es启动会报错误,也可以专门为某个用户进行配置

* soft nproc 11000          #表示任何一个用户可以打开的最大的进程数
* hard nproc 11000          
* soft nofile 655350        #表示任何一个用户可以打开的最大的文件描述符数量
* hard nofile 655350        

然后还需编辑另一个文件

vi /etc/sysctl.conf

在末尾加入如下内容

vm.max_map_count=655360
fs.file-max=655360

并使用sysctl -p进行配置刷新

这时候切换到sky用户进入到es的bin目录,并逐一启动

su sky

./bin/elasticsearch -d

这时候elasticsearch集群已构建成功

 

然后到skywalking集群

skywalking集群需要一个类似哨兵的角色去协调不同的collector,这里采用为了方便,采用zookeeper单点,放在node1上面

 wget https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz

下载好后copy一份zoo.cfg添加data和log的路径,并配置其他节点地址

dataDir=/usr/skywalking/zk/apache-zookeeper-3.6.2-bin/data
dataLogDir=/usr/skywalking/zk/apache-zookeeper-3.6.2-bin/logs
server.1=ip1:2888:3888

server.2=ip2:2888:3888

server.3=ip3:2888:3888

quorumListenOnAllIPs=true

并且输出myid

echo “1”> /var/zookeeper/data/myid

进入到bin目录进行启动,其他节点也如法炮制

 ./zkServer.sh start

如果当前用户没有配置java环境,可以参考如下命令,主要是编辑用户环境变量,设置好后让其生效

vi ~/.bash_profile
export JAVA_HOME=/usr/skywalking/elasticsearch-7.4.2/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source ~/.bash_profile

这时候回到skywalking的配置,

首先要改绑定的grpc绑定的ip

 restHost: ${SW_CORE_REST_HOST:0.0.0.0}
    restPort: ${SW_CORE_REST_PORT:12800}
    restContextPath: ${SW_CORE_REST_CONTEXT_PATH:/}
    gRPCHost: ${SW_CORE_GRPC_HOST:0.0.0.0}
    gRPCPort: ${SW_CORE_GRPC_PORT:11800}

再把cluster方式改为zookeeper

cluster:
  selector: ${SW_CLUSTER:zookeeper}
#  standalone:
  # Please check your ZooKeeper is 3.5+, However, it is also compatible with ZooKeeper 3.4.x. Replace the ZooKeeper 3.5+
  # library the oap-libs folder with your ZooKeeper 3.4.x library.
  zookeeper:
    nameSpace: ${SW_NAMESPACE:""}
    hostPort: ${SW_CLUSTER_ZK_HOST_PORT:ip1:2181,ip2:2181,ip3:2181}
    # Retry Policy
    baseSleepTimeMs: ${SW_CLUSTER_ZK_SLEEP_TIME:1000} # initial amount of time to wait between retries
    maxRetries: ${SW_CLUSTER_ZK_MAX_RETRIES:3}

然后到storage节点,主要是配置es集群

storage:
  selector: ${SW_STORAGE:elasticsearch7}
  elasticsearch7:
    nameSpace: ${SW_NAMESPACE:"skywalking-index"}
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:192.168.74.75:9201,192.168.74.74:9201,192.168.74.76:9201}
    protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}
    trustStorePath: ${SW_STORAGE_ES_SSL_JKS_PATH:""}
    trustStorePass: ${SW_STORAGE_ES_SSL_JKS_PASS:""}

然后启动对应的3个节点

 sh bin/oapService.sh

其中一个节点启动ui sh webappService.sh,配置前需要配置对应的serverlist,在webapp/webapp.yml下配置收集器的地址

如果启动失败,可以查看日志

然后查看es,已有结果

zk也注册上去了

然后就是agent的配置了

在客户端所在机器,copy一份skywalking的agent文件夹,随便放一个地方(如果同一台机器则不用),然后再指定信息启动

 -javaagent:/usr/skywalking/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar  -Dskywalking.agent.service_name=$module -Dskywalking.collector.backend_service=192.168.74.75:11800,192.168.74.76:11800

此时可以看到整个系统情况

可以查看对应的调用链路情况,进行分析

这里可以配置一些无需采集的断点、监控spirngbean程序

把optioal-plugins里的apm-trace-ignore-plugin-8.0.0.jar copy到 plugins下,并在config下面添加apm-trace-ignore-plugin.config文件

内容为你所要忽略采集的配置(这里的忽略是指不在链路监控列表里面展示,链路调用如果设涉及了还是会出现的)

#  忽略路径数据上传
#  路径匹配规则
#  /path/?   单个字符
#  /path/*   多个字符
#  /path/**  多个字符和多级路径
#  多个规则使用逗号“,”分割
#  具体屏蔽的路径要看采集的路径而定
trace.ignore_path=${SW_AGENT_TRACE_IGNORE_PATH:/eureka/apps/**,Lettuce/**,Mysql/JDBI/**}

如果要监控springbean,还可以把optional文件夹下的apm-spring-annotation-plugin-8.0.0.jar加入到config里面

配置,也是在agent的config目录下,对agent.config进行配置

配置mysql信息、实例id信息等等,具体可以查看官网配置示例

这三个分别是每3s采集的样本数、上报sql长度

agent.sample_n_per_3_secs

plugin.mysql.sql_parameters_max_length=200

plugin.mysql.trace_sql_parameters=${SW_MYSQL_TRACE_SQL_PARAMETERS:true}

 

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
引用提到了新建一个名为sky的用户,并使用命令"useradd sky"创建了该用户。接着使用命令"chown -R sky /usr/skywalking/"将/usr/skywalking/目录下的所有文件和文件夹的所有者改为sky用户。 引用中的表达式"${SW_ZK_EXPRESSION:skywalking:skywalking}"可能是用于配置skywalking的ZooKeeper表达式。这个表达式可能指定了skywalking的ZooKeeper连接信息,例如ZooKeeper的地址和端口等。 引用中提到了在客户端所在的机器上复制一个skywalking的agent文件夹,并将其放在一个随便的位置(如果是同一台机器,则不需要复制)。然后使用以下信息启动应用程序: -javaagent:/usr/skywalking/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar -Dskywalking.agent.service_name=$module -Dskywalking.collector.backend_service=192.168.74.75:11800,192.168.74.76:11800 其中,-javaagent指定了skywalking的agent的路径,-Dskywalking.agent.service_name指定了应用程序的服务名称,-Dskywalking.collector.backend_service指定了skywalking collector的后端服务地址。 综上所述,根据引用内容,skywalking8.0可能涉及到用户管理、配置ZooKeeper连接信息和使用agent启动应用程序的相关操作。请提供更多细节以便更准确地回答您的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [skywalking8.0+es构建监控系统](https://blog.csdn.net/weixin_37703281/article/details/111410634)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [skywalking 8.0 配置文件](https://blog.csdn.net/weixin_42514562/article/details/114469782)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值