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

相关推荐
EMTime3 小时前
Docker运行OpenWRT
运维·docker·容器
lolo大魔王4 小时前
Linux 文件系统超全面详解(原理、结构、挂载、分区、inode、日志、管理命令)
linux·运维·服务器
zyl837216 小时前
Docker 使用手册
运维·docker·容器
古月方枘Fry7 小时前
MGRE实验
运维·服务器
stolentime7 小时前
FreeDomain 本地开发环境快速搭建指南
运维·服务器·网络
bush49 小时前
嵌入式linux学习记录四
linux·运维·学习
lihao lihao10 小时前
软硬链接
linux·运维·服务器
TOWE technology10 小时前
智能安防监控系统如何做好防雷?——视频信号SPD综合应用方案解析
运维·服务器·防雷产品·信号保护·信号防雷·spd
楼田莉子10 小时前
Docker学习:Docker介绍及其架构介绍
运维·后端·学习·docker·容器·架构
大明者省10 小时前
IIS 端口绑定正常访问的原理说明与常见误区澄清
运维·服务器·笔记