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

相关文章

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

AJAX请求上传下载进度监控实现方式

《AJAX请求上传下载进度监控实现方式》在日常Web开发中,AJAX(AsynchronousJavaScriptandXML)被广泛用于异步请求数据,而无需刷新整个页面,:本文主要介绍AJAX请... 目录1. 前言2. 基于XMLHttpRequest的进度监控2.1 基础版文件上传监控2.2 增强版多

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用