SkyWalking部署(监控系统)

2024-08-28 15:44

本文主要是介绍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

这篇关于SkyWalking部署(监控系统)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1115187

相关文章

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat

一文解密Python进行监控进程的黑科技

《一文解密Python进行监控进程的黑科技》在计算机系统管理和应用性能优化中,监控进程的CPU、内存和IO使用率是非常重要的任务,下面我们就来讲讲如何Python写一个简单使用的监控进程的工具吧... 目录准备工作监控CPU使用率监控内存使用率监控IO使用率小工具代码整合在计算机系统管理和应用性能优化中,监

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

MySQL 主从复制部署及验证(示例详解)

《MySQL主从复制部署及验证(示例详解)》本文介绍MySQL主从复制部署步骤及学校管理数据库创建脚本,包含表结构设计、示例数据插入和查询语句,用于验证主从同步功能,感兴趣的朋友一起看看吧... 目录mysql 主从复制部署指南部署步骤1.环境准备2. 主服务器配置3. 创建复制用户4. 获取主服务器状态5

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序