Skywalking 在 CentOS7 上安装、启动、使用【单机版】

1、Skywalking 分为两部分:backend(oapService)、UI(webappService)

2、下载

3、安装

解压即用:tar -zxvf apache-skywalking-apm-6.5.0.tar.gz

4、修改配置

(1)vi config/application.yml

Skywalking 默认使用 h2 数据库不能持久化,改为 mysql 又存在性能瓶颈,可以使用 elasticsearch 作为数据存储中间件,注释掉 h2 的配置,放开 elasticsearch 的注释,修改 clusterNodes 填写 elasticsearch 的 ip:port 。参考文章:ElasticSearch 在 CentOS7 上 安装、启动、使用

storage:
  elasticsearch:
    nameSpace: ${SW_NAMESPACE:""}
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:192.168.195.134:9200}
    protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}
    trustStorePath: ${SW_SW_STORAGE_ES_SSL_JKS_PATH:"../es_keystore.jks"}
    trustStorePass: ${SW_SW_STORAGE_ES_SSL_JKS_PASS:""}
    user: ${SW_ES_USER:""}
    password: ${SW_ES_PASSWORD:""}
    indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:2}
    indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:0}
    # Those data TTL settings will override the same settings in core module.
    recordDataTTL: ${SW_STORAGE_ES_RECORD_DATA_TTL:7} # Unit is day
    otherMetricsDataTTL: ${SW_STORAGE_ES_OTHER_METRIC_DATA_TTL:45} # Unit is day
    monthMetricsDataTTL: ${SW_STORAGE_ES_MONTH_METRIC_DATA_TTL:18} # Unit is month
    # Batch process setting, refer to https://www.elastic.co/guide/en/elasticsearch/client/java-api/5.5/java-docs-bulk-processor.html
    bulkActions: ${SW_STORAGE_ES_BULK_ACTIONS:1000} # Execute the bulk every 1000 requests
    flushInterval: ${SW_STORAGE_ES_FLUSH_INTERVAL:10} # flush the bulk every 10 seconds whatever the number of requests
    concurrentRequests: ${SW_STORAGE_ES_CONCURRENT_REQUESTS:2} # the number of concurrent requests
    resultWindowMaxSize: ${SW_STORAGE_ES_QUERY_MAX_WINDOW_SIZE:10000}
    metadataQueryMaxSize: ${SW_STORAGE_ES_QUERY_MAX_SIZE:5000}
    segmentQueryMaxSize: ${SW_STORAGE_ES_QUERY_SEGMENT_SIZE:200}
#  h2:
#    driver: ${SW_STORAGE_H2_DRIVER:org.h2.jdbcx.JdbcDataSource}
#    url: ${SW_STORAGE_H2_URL:jdbc:h2:mem:skywalking-oap-db}
#    user: ${SW_STORAGE_H2_USER:sa}
#    metadataQueryMaxSize: ${SW_STORAGE_H2_QUERY_MAX_SIZE:5000}

(2)vi webapp/webapp.yml 

webapp 是 Skywalking UI界面的服务,默认端口号8080,容易与其他服务冲突,所以这里改为 18088

server:
  port: 18088

5、启动

启动 Skywalking 之前需要先启动 ElasticSearch,因为 Skywalking 使用了 ElasticSearch 作为数据存储中间件,参考文章:ElasticSearch 在 CentOS7 上 安装、启动、使用

(1)单独启动 backend(oapService)

./bin/oapService.sh

(2)单独启动 UI(webappService)

./bin/webappService.sh

(3)如果想要两个服务同时启动,可以不用上边两个脚本,用下边这个即可:

./bin/startup.sh

启动效果如下:(注意:等待 elasticsearch 完全启动后,访问 http://192.168.195.134:9200 返回 json 数据后再启动 Skywalking)

6、探针 agent

Skywalking 监听服务实现链路追踪靠的是探针 agent,我们需要把 Skywalking 安装目录中的 agent 文件夹复制到被监听的应用服务旁边,一个应用一个探针。如下图:

编辑配置文件:

vi  agent/config/agent.config

编辑 应用服务名、Skywalking 的 ip:port :

# The service name in UI
agent.service_name=${SW_AGENT_NAME:alicloudProvider-192.168.195.129}
......
# Backend service addresses.
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.195.134:11800}

 consumer 应用的探针配置同上

7、启动应用

启动应用时需要指定 Skywalking 的探针:

nohup java -javaagent:/javaProjects/alicloud-provider/agent/skywalking-agent.jar -jar alicloud-nacos-provider-1.0-SNAPSHOT.jar & 
nohup java -javaagent:/javaProjects/alicloud-consumer/agent/skywalking-agent.jar -jar alicloud-nacos-consumer-1.0-SNAPSHOT.jar & 

或者:

nohup java -Xms256m -Xmx256m -javaagent:/javaProjects/alicloud-provider/agent/skywalking-agent.jar -jar alicloud-nacos-provider-1.0-SNAPSHOT.jar >/dev/null 2>&1 & 
nohup java -Xms256m -Xmx256m -javaagent:/javaProjects/alicloud-consumer/agent/skywalking-agent.jar -jar alicloud-nacos-consumer-1.0-SNAPSHOT.jar >/dev/null 2>&1 & 

刷新 Skywalking 的 UI 页面:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值