SkyWalking部署(监控系统)

简介

SkyWalking 是一个开源的应用性能监控 (APM) 和可观测性平台,旨在帮助开发者、运维人员和架构师监控、诊断和优化微服务架构中的应用。SkyWalking 提供了一套完整的工具链,用于收集、分析和可视化应用的性能指标、追踪和日志数据。

SkyWalking 的主要特点

自动化的观测性:

  • 自动发现服务拓扑图。
  • 自动跟踪服务间的依赖关系。
  • 自动收集服务和应用的性能指标。

广泛的集成支持:

  • 支持多种编程语言,包括 Java、Go、.NET、Node.js 等。
  • 支持多种服务网格和容器编排平台,如 Kubernetes、Istio 等。
  • 支持多种数据库、缓存和消息队列系统。

灵活的部署模式:

  • 可以部署在本地环境中。
  • 支持云原生部署,如 Kubernetes。
  • 支持混合云和多云环境。

丰富的可视化功能:

  • 提供详细的性能指标图表和报告。
  • 动态的服务拓扑视图。
  • 分布式追踪视图。

强大的告警和通知系统:

  • 支持基于阈值的告警。
  • 可以集成到现有的告警系统中。
  • 支持多种通知渠道,如 Slack、Email 等。

低侵入性:

  • 通过插件和代理的方式收集数据,对应用性能影响极小。
  • 支持无侵入式采集,无需修改现有应用代码。

高度可扩展:

  • 支持水平扩展以处理大规模部署。
  • 可以通过插件机制扩展功能。

链路跟踪:

下载skywalking

https://skywalking.apache.org/downloads

Index of /dist/skywalking

这里选择推荐ES版本,这里系统的centos 7

ES7部署

Download Elasticsearch | Elastic

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.2-linux-x86_64.tar.gz

解压

tar -xvf elasticsearch-7.13.2-linux-x86_64.tar.gz

1、配置

修改配置 vim /usr/local/elasticsearch-7.13.2/bin/elasticsearch

添加

export ES_JAVA_HOME=/usr/local/elasticsearch-7.13.2/jdk

export PATH=ES_JAVA_HOME/bin:PATH

  1. 新增用户

es不能用root执行,需要添加用户执行

useradd my-es

chown my-es:my-es -R /usr/local/elasticsearch-7.13.2

切换到my-es用户

su my-es

进入到目录:

cd /usr/local/elasticsearch-7.13.2/bin

3、启动

启动elasticsearch

./elasticsearch

4、配置文件

vim /usr/local/elasticsearch-7.13.2/config/elasticsearch.yml

修改日志

:可以修改存储数据的路径和日志,默认在elasticsearch根目录

path.data:

path.logs:

修改绑定ip

#默认只允许本机访问,修改为0.0.0.0后则可以远程访问

network.host: 0.0.0.0

初始化节点名称

cluster.name: my_elasticsearch

node.name: es-node0

cluster.initial_master_nodes: "es-node0"

修改端口号

http.port: 19200

设置账号密码(不添加默认不使用密码,添加之后可以设置登录账户密码)

xpack.security.enabled: true

xpack.security.transport.ssl.enabled: true

启动账号密码

5、后台运行

./elasticsearch -d

6、关闭

ps -ef | grep elastic

找到pid kill掉就行

7、设置账户密码

重启elasticsearch服务

执行如下命令:

如果端口或者其他变化了,可以指定ip

export ELASTICSEARCH_URL=http://192.168.20.13:19200

./elasticsearch-setup-passwords interactive

  • elastic: 超级用户
  • kibana_system: Kibana 系统用户
  • apm_system: APM 服务器系统用户
  • beats_system: Beats 系统用户
  • logstash_system: Logstash 系统用户

这里全部把密码设置为:123456

8、后台管理

在网页端输入:http://192.168.20.13:19200 (这里选择自己的ip,或者127.0.0.1)

9、错误

max file descriptors 4096问题

vm.max_map_count 65530 is too low问题

进入到root权限

vim /etc/sysctl.conf

添加

vm.max_map_count=262144

保存退出:

sysctl -p

vi /etc/security/limits.conf

添加

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096

重启系统

Reboot

skywalking配置

1、配置

配置端口,默认是11800和12800

配置elasticsearch7

storage:

selector: ${SW_STORAGE:elasticsearch7}

elasticsearch7:

clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:19200}

端口修改为19200 默认是9200

配置es的账号密码:

这里填写的elastic的账号密码

修改webui的端口8080 修改为12808

webapp/webapp.yml

2、启动

启动主程序

bin/oapService.sh

查询日志是否成功启动

logs/skywalking-oap-server.log

启动webui

bin/webappService.sh

查询日志是否启动

Logs/webapp-console.log

防火墙放开端口

firewall-cmd --add-port=12808/tcp --permanent

firewall-cmd --reload

访问web

http://192.168.20.13:12808/

Agent配置

1、Agent拷贝

把apache-skywalking-apm-bin-es7 下面的agent拷贝到应用的设备上面

我这边直接拷贝到我的开发工程下面

2、修改配置

agent\config\agent.config

新增

agent.service_name=${SW_AGENT_NAME:diandimall-product}

collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.20.13:11800}

服务器启动时候需要做探针

java -javaagent:/path/to/skywalking-agent/skywalking-agent.jar -jar yourApp.jar

如下:

java -javaagent:./agent/skywalking-agent.jar -Dspring.profiles.active=dev -Xms512m -Xmx1024m -jar xxx-0.0.1-SNAPSHOT.jar

在ideal添加如下vm参数

-javaagent:F:\work\code\java\attendance\admin\agent\skywalking-agent.jar

-Dskywalking.agent.service_name=at-gateway

-Dskywalking.collector.backend_service=192.168.20.13:11800

注意这里选择java1.8 不然版本太高会报错

随便请求几次就会出现了

参考SkyWalking 极简入门 | Apache SkyWalking

skywalking安装部署_skywalking部署-CSDN博客

https://github.com/apache/skywalking/issues/7265

相关推荐
风曦Kisaki6 分钟前
Kubernetes(K8s)笔记Day04:控制器(ReplicaSet 与Deployment),滚动更新及回滚,滚动更新策略,Pod 的 DNS 策略
linux·运维·笔记·docker·容器·kubernetes
薛定e的猫咪8 分钟前
零基础选型指南:Make / 扣子 Coze/n8n/Dify 四大自动化平台完整对比
运维·自动化
Huangjin007_19 分钟前
【Linux 系统篇(十)】基础开发工具(五) —— 第一个系统程序 - 进度条
linux·运维·服务器
MetrixAeroCore35 分钟前
出海餐厅手持POS机物联网卡:多币种计费稳定传输与跨境税务合规对接方案
运维
路由侠内网穿透.37 分钟前
本地部署开源日志收集系统 Log Bull 并实现外部访问
运维·服务器·网络·数据库·开源
时空无限1 小时前
linux mellanox 网卡队列 irq rps 相关
linux·运维
AlbertS1 小时前
Let‘s Encrypt 证书自动续期并自动应用到Nginx
运维·nginx·ssl·cerbot·renew·续期
kdxiaojie1 小时前
Linux 驱动研究 —— V4L2 (14)
linux·运维·笔记·学习
如若1231 小时前
Ubuntu 无 sudo 安装花生壳并实现 SSH 内网穿透:Conda 环境部署、冲突排查与自动启动
linux·运维·ubuntu·ssh·内网穿透
承渊政道2 小时前
Linux系统学习【掌握Ext系列⽂件系统的相关内容】
linux·运维·学习·文件系统·存储结构·inode