资讯专栏INFORMATION COLUMN

Apache Skywalking 8.4单机安装

IT那活儿 / 2138人阅读
Apache Skywalking 8.4单机安装
背景介绍

Apache Skywalking是一个国人开源的针对分布式系统的链路追踪系统,尤其是在微服务、云原生的场景,它主要包含指标监控、分布式链路追踪、分布式性能分析,Apache Skywalking也是中国首个无组织支持的Apache开源项目。Apache Skywalking目前已经可以实现java、go、python、C#、.net、nodejs、nginx、简单的前端用户体验等的监控和链路监控

本文重要是Apache Skywalking单机部署的场景,Apache Skywalking的架构模式是高度模块化的,所以如果业务量不大的话单机完全可以满足日常需求,本篇为Apache Skywalking系列的第一篇文章,后面我们产品交付组会持续输出关于Apache Skywalking的相关文章,包括但不限于Apache Skywalking架构、使用、代码层面的内容。


关于储存的改变

目前skywalking已经宣布将Elasticsearch改为了OpenSearch,原因是因为今年年初Elasticsearch宣布将此前使用的 Apache License 2.0 变更为双许可证:Server Side Public License (SSPL) 和 Elastic License。

当时 Apache Skywalking 对于 Elasticsearch 变更许可证的回应是“由于 SSPL 和 Apache License 2.0 不兼容,不能再仅使用 Elasticsearch,会考虑其他存储方案,例如同为 Apache License 2.0 许可的 InfluxDB、TiDB 和 H2 Server”,甚至还计划构建为自己所用的存储方案。

上个月,AWS 宣布推出 OpenSearch 项目,这是 fork 自 Elasticsearch 和 Kibana 的开源分支。OpenSearch 项目由 OpenSearch (fork Elasticsearch 7.10.2) 和 OpenSearch Dashboards (fork Kibana 7.10.2) 组成,包括企业安全、告警、机器学习、SQL、索引状态管理等功能。OpenSearch 项目中的所有软件均采用了 Apache License 2.0 开源许可协议。包括红帽、SAP、Capital One 和 Logz.io 等在内的多个组织也参与维护这个新的 Elasticsearch 分支。

Apache Skywalking 称此消息公布后,他们就开始评估使用 OpenSearch 作为 SkyWalking 的存储方案。经过多次测试,现在正式宣布使用 OpenSearch 取代 Elastcsearch 作为存储方案。


Elasticsearch部署

  • JDK准备
Vi /etc/profile
export JAVA_HOME=/usr/local/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
  • 修改配置文件

cluster.name: apm
node.name: node-1
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9200
path.data: /home/ampdcp/elasticsearch/data
path.logs: /home/ampdcp/elasticsearch/logs
cluster.initial_master_nodes: ["node-1"]
cluster.max_shards_per_node: 3000
  • Jvm调优

vim /data/elasticsearch/config/jvm.options
-Xms1g 修改为 ===> -Xms2g
-Xmx1g 修改为 ===> -Xmx2g

看情况给,给物理内存一半最佳

  •  操作系统调优

在/etc/sysctl.conf添加如下内容

fs.file-max=655360
vm.max_map_count=655360
sysctl -p //使配置生效

1) vm.max_map_count=655360

系统最大打开文件描述符数 

2) vm.max_map_count=655360

限制一个进程拥有虚拟内存区域的大小

 

修改

vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
* soft memlock unlimited
* hard memlock unlimited
(nofile)最大开打开文件描述符

(nproc)最大用户进程数

(memlock)最大锁定内存地址空间

 修改/etc/security/limits.d/90-nproc.conf
* soft nproc 1024 修改前
* soft nproc 65536 修改后
mkdir -p /data/elasticsearch/logs/
touch /data/elasticsearch/logs/escluster_deprecation.log
chown -R shsnc:shsnc /data/elasticsearch
chown -R shsnc:shsnc /usr/local/java

以下操作在普通用户执行

su - shsnc
source /etc/profile
cd /date/elasticsearch/bin
./elasticsearch -d


APM 部署

所有操作建议在普通用户下执行
  • 下载介质

wget https://mirrors.tuna.tsinghua.edu.cn/apache/skywalking/8.4.0/apache-skywalking-apm-es7-8.4.0.tar.gz

  • 解压安装包

su - shsnc
mkdir snc-apm
mv apache-skywalking-apm-es7-8.4.0.tar.gz snc-apm
tar -zxvf apache-skywalking-apm-es7-8.4.0.tar.gz
mv apache-skywalking-apm-bin-es skywaling
  • 修改配置文件

    vi conf/application.yml

修改第106行,存储类型为elasticsearch7

storage:
  selector: ${SW_STORAGE:elasticsearch7}

修改第136行, elasticsearch7连接地址,如果是集群直接后面写就可以(10.2.158.105:9200,10.2.158.106:9200,10.2.158.107:9200)

elasticsearch7:
    nameSpace: ${SW_NAMESPACE:""}
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:10.2.158.42:9200}
修改第150行,调整bulkActions默认2000次请求批量写入一次改到4000次
bulkActions: ${SW_STORAGE_ES_BULK_ACTIONS:4000}
  • 开启自监控

修改第346行为,使用prometheus作为监控项

telemetry:
  selector: ${SW_TELEMETRY:prometheus}
  none:
  prometheus:
    host: ${SW_TELEMETRY_PROMETHEUS_HOST:0.0.0.0}
    port: ${SW_TELEMETRY_PROMETHEUS_PORT:1234}
    sslEnabled: ${SW_TELEMETRY_PROMETHEUS_SSL_ENABLED:false}
    sslKeyPath: ${SW_TELEMETRY_PROMETHEUS_SSL_KEY_PATH:""}
    sslCertChainPath: ${SW_TELEMETRY_PROMETHEUS_SSL_CERT_CHAIN_PATH:""}

修改281行,

prometheus-fetcher:
  selector: ${SW_PROMETHEUS_FETCHER:-}
  default:
    enabledRules: ${SW_PROMETHEUS_FETCHER_ENABLED_RULES:"self"}
    active: ${SW_PROMETHEUS_FETCHER_ACTIVE:true}
  • 初始化skywalking

    sh bin/oapServiceInit.sh

  • 启动skywalking

    sh bin/startup.sh

  • 访问前端


END


更多精彩干货分享

点击下方名片关注

IT那活儿

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129883.html

相关文章

  • windows系统下skywalking安装和配置

    摘要:安装可以去下载最新版本的压缩包,然后解压。然后进入目录下,直接双击即可运行然后访问即可看到的登录页面初始账号和密码均为登录进去即可看到下图因为还没有配置登录进来之后是没有数据的。 skywalking安装 可以去http://skywalking.apache.org/downloads/下载最新版本的skywalking压缩包,然后解压。 然后进入/apache-skywalking...

    AaronYuan 评论0 收藏0
  • 手把手教你搭APM之Skywalking搭建指南(支持Java/C#/Node.js)

    摘要:通过跟踪请求的处理过程,来对应用系统在前后端处理服务端调用的性能消耗进行跟踪,关于的介绍可以看这个链接,大规模分布式系统的跟踪系统作者刀把五链接来源知乎著作权归作者所有。 手把手教你搭APM之Skywalking 前言 什么是APM?全称:Application Performance Management 可以参考这里: 现代APM体系,基本都是参考Google的Dapper(大规模...

    ingood 评论0 收藏0
  • DUBBO监控环境搭建

    摘要:监控环境搭建本文主要介绍如何搭建做分布式跟踪依赖第三方组件部署步骤安装,配置在系统环境变量配置打开终端在用户目录下新建下载不要下载,新版配置项不一样,兼容会有点问题下载地址官网修改文件,并设置设置成。 DUBBO监控环境搭建 本文主要介绍如何搭建 Skywalking 做dubbo分布式跟踪依赖第三方组件JDK8+Elasticsearch 5.xSkywalking 5.x rele...

    guyan0319 评论0 收藏0
  • Skywalking IoTDB存储插件设计说明

    摘要:目前已提交至社区,正在接受社区评审。表示统计数据,是通过脚本或硬编码对源数据进行聚合分析后生成的存储模型。由于该方案丢失了需要索引的,所以需要通过硬编码记录需要索引的及。 ...

    paulquei 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<