zoukankan      html  css  js  c++  java
  • SkyWalking部署

     

     

     

     

     

     

    SkyWalking部署

     

     

     

     

     

     

     

     

     

    作者

    刘畅

    时间

    2021-07-12

     

     

     

     

    环境: centos7.5

    主机名

    IP

    安装软件

    es01

    192.168.30.47

    elasticsearch 7.8.1

    es02

    192.168.30.48

    elasticsearch 7.8.1

    es03

    192.168.30.49

    elasticsearch 7.8.1

    skywalking

    192.168.30.51

    skywalking 8.6.0jdk1.8.0_291

     

     

     

     

     

     

    目录

    1 部署elasticsearch服务

    2 部署SkyWalking

    2.1 部署jdk1.8

    2.2 下载SkyWaking

    2.3 配置skywalking连接es7

    2.4 启动skywalking

    2.5 访问skywalking UI

    3 部署skywalkingagent追踪java应用

    3.1 修改agent配置文件并将agent目录打包

    3.2 将打包的skywalking agent部署到jar应用上

    4 访问skywalkingUI

    4.1 仪表板

    4.2 拓扑图

    4.3 查看java应用的堆栈信息

     


    1 部署elasticsearch服务

    192.168.30.47-192.168.30.49节点上操作,并安装elasticsearch-head,这里省略安装步骤,详细
    安装步骤可以参考: https://www.cnblogs.com/LiuChang-blog/p/14702941.html文档。
    elasticsearch集群名称为: elk-cluster

    # skywalking官网推荐将以下配置添加到elasticsearch.yml
    thread_pool.write.queue_size: 1000
    # Suitable for ElasticSearch 6 and 7

    # 访问elasticsearch集群
    http://192.168.30.47:9100/
    wps4EF0.tmp

    2 部署SkyWalking

    192.168.30.51节点上操作

    官方文档: https://skywalking.apache.org/docs/main/v8.6.0/readme/

    wps4EF1.tmp 

    2.1 部署jdk1.8

    # tar -xzf jdk-8u291-linux-x64.tar.gz -C /home/
    # cd /home/
    # mv jdk-8u291-linux-x64/ jdk/

    # vim /etc/profile
    export JAVA_HOME=/home/jdk
    export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
    export PATH=$JAVA_HOME/bin:$PATH

    #
    source /etc/profile

    2.2 下载SkyWaking

    https://www.apache.org/dyn/closer.cgi/skywalking/8.6.0/apache-skywalking-apm-es7-8.6.0.tar.gz
    # tar -xzf apache-skywalking-apm-es7-8.6.0.tar.gz -C /home/
    # cd /home/
    # mv apache-skywalking-apm-es7-8.6.0/ skywalking-es7/

    # ls -l /home/skywalking-es7/
    wps4EF2.tmp

    2.3 配置skywalking连接es7

    # vim /home/skywalking-es7/config/application.yml
    wps4EF3.tmp

    可选优化:
    (1) 修改skywalking日志存储个数
    #
    vim /home/skywalking-es7/config/log4j2.xml
    <DefaultRolloverStrategy max="30"/>
    # 默认30个,单个日志大小102400KB
    # 
    建议值5

    (2) 关于存储清理的配置
    # vim /home/skywalking-es7/config/application.yml
    core:
    recordDataTTL: ${SW_CORE_RECORD_DATA_TTL:3}
    # Unit is day
    # 记录: 影响记录数据,包括跟踪和报警。
    # 建议3
    metricsDataTTL: ${SW_CORE_METRICS_DATA_TTL:7}
    # Unit is day
    # 指标: 影响所有指标,包括服务、实例、端点指标和拓扑图指标。
    # 
    建议3

    (3) 优化skywalking存储elasticsearch配置
    #
    vim /home/skywalking-es7/config/application.yml
    elasticsearch7:
    indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:1}
    # Shard number of new indexes
    # es存储分片数,因为是3es节点,这里设置为3
    indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:1}
    # Replicas number of new indexes
    # es存储分片副本数
    # 建议1
    bulkActions: ${SW_STORAGE_ES_BULK_ACTIONS:1000}
    # Execute the async bulk record data every ${SW_STORAGE_ES_BULK_ACTIONS} requests
    # 批量提交的大小,通过增加该值,减少skwalking服务端和es之间交互,增加吞吐量
    # 建议4000
    flushInterval: ${SW_STORAGE_ES_FLUSH_INTERVAL:10}
    # flush the bulk every 10 seconds whatever the number of requests
    # 每间隔多少秒提交请求,建议值30
    concurrentRequests: ${SW_STORAGE_ES_CONCURRENT_REQUESTS:2}
    # the number of concurrent requests
    # 增加现有请求数,建议值4
    metadataQueryMaxSize: ${SW_STORAGE_ES_QUERY_MAX_SIZE:5000}
    # 查询最大数量,建议值8
    000

    2.4 启动skywalking

    # /home/skywalking-es7/bin/startup.sh
    # skywalking的日志文件在skywalking安装目录下的logs目录下。

    # netstat -tunlp | grep java
    wps4F03.tmp
    11800gRPC 服务agent连接端口
    12800REST
    服务agent连接端口

    2.5 访问skywalking UI

    http://172.16.1.123:8080/

    3 部署skywalkingagent追踪java应用

    3.1 修改agent配置文件并将agent目录打包

    # ls -l /home/skywalking-es7/agent/
    wps4F04.tmp

    # egrep -v "^$|^#" /home/skywalking-es7/
    agent/config/agent.config
    agent.service_name=${SW_AGENT_NAME:Your_ApplicationName}
    # agent注册到skywalking的服务名,这里不配置,采用变量注入的方式进行覆盖
    agent.is_cache_enhanced_class = ${SW_AGENT_CACHE_CLASS:true}
    agent.class_cache_mode = ${SW_AGENT_CLASS_CACHE_MODE:MEMORY}
    # 上面两行表示打开skywalking代理与其他Java代理字节码进程的兼容性
    collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.30.51:11800}
    # agent连接到skywalking的地址
    logging.file_name=${SW_LOGGING_FILE_NAME:skywalking-api.log}
    # agent默认日志文件存放在agent目录下的logs目录下
    logging.level=${SW_LOGGING_LEVEL:INFO}
    logging.dir=${SW_LOGGING_DIR:/home/liuchan/log/agent}
    # 自定义日志家目录,默认为空字符串(" ")
    logging.max_history_files=${SW_LOGGING_MAX_HISTORY_FILES:5}
    # agent历史文件个数限制,默认为-1,表示不限制,为防止agent日志爆盘,这里修改为5
    plugin.mount=${SW_MOUNT_FOLDERS:plugins,activations}
    # 
    agent插件挂载的目录

    # cd /home/skywalking-es7/
    # tar -czf agent.tar.gz agent/

    3.2 将打包的skywalking agent部署到jar应用上

    1 部署agent

    # tar -xzf agent.tar.gz -C /home/liuchan/
    # mkdir -p /home/liuchan/log/agent/

     

    2 修改docker-compose.yml文件[只修改以java进程启动容器的部分]

    # vim /home/liuchan/compose/docker-compose.yml
    (1) 挂载agent卷到容器
    volumes:
      - /home/liuchan/agent:/home/liuchan/agent

    (2) 修改java命令,在 -jar 之前加入如下参数
    command:
    -javaagent:/home/liuchan/agent/skywalking-agent.jar -Dskywalking.agent.service_name=<分组名称>::<容器名称> -Dskywalking.agent.instance_name=<容器名称>-${HOSTIP} -Dskywalking.logging.file_name=<容器名称>-${HOSTIP}.log

     

    3 重启docker-compose

    # docker-compose down
    #
    docker-compose up -d

    4 访问skywalkingUI

    4.1 仪表板

    http://192.168.30.51:8080/
    wps4F05.tmp
    仪表板提供服务、服务实例和端点的指标,我们需要了解一些指标术语。
    吞吐量CPM # 每分钟调用次数
    Apdex # 应用程序性能指数,满意”、“容忍”和“沮丧”分别对应10.50
    响应时间百分比 # 包括p99p95p90p75p50
    SLA # 代表成功率。对于HTTP,它表示200响应代码的速率。
    服务、实例和仪表板选择器可以手动重新加载而不是重新加载整个页面。

    4.2 拓扑图

    http://192.168.30.51:8080/topology
    wps4F06.tmp

    4.3 查看java应用的堆栈信息

    http://192.168.30.51:8080/
    wps4F07.tmp

  • 相关阅读:
    python 将字符串转化为可执行代码
    NGS的duplicate的问题
    建库原理
    生信转岗心得
    openpyxl模块处理excel文件
    getopt两个模块getopt 和gun_getopt 的异同
    Migrate repo from Gitlab to Github
    flume(2)
    flume
    docker命令总结
  • 原文地址:https://www.cnblogs.com/LiuChang-blog/p/15415760.html
Copyright © 2011-2022 走看看