当前位置: 首页 > article >正文

skywalking 搭建

skywalking

安装

安装服务器: 172.16.118.101

JDK 信息

[root@localhost logs]# java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

下载安装包: /home/kenny/Downloads/apache-skywalking-apm-8.9.1.tar.gz

安装位置:/usr/local/skywalking/apache-skywalking-apm-bin

cd /usr/local/skywalking/apache-skywalking-apm-bin/bin

启动日志收集服务:sh oapService.sh
启动不会有日志输出,需要到日志目录查看相关的日志输出情况

[root@localhost ~]# cd /usr/local/skywalking/apache-skywalking-apm-bin/logs/
[root@localhost logs]# ls
oap.log  skywalking-oap-server.log  webapp-console.log

启动UI服务: sh webappService.sh

在这里插入图片描述

默认端口比较容易和其他端口冲突,编辑 webapp.yml 修改端口

[root@localhost skywalking]# vim apache-skywalking-apm-bin/webapp/webapp.yml

server:
  port: 12900

修改好文件后,停掉原来的服务,重新启动,访问 http://172.16.118.101:12900/

修改使用 es 存储数据

在这里插入图片描述

Agent

IDEA

VM options 添加代理参数

-javaagent:/Users/kenny/skywalking/skywalking-agent/skywalking-agent.jar

Environment variables

SW_AGENT_COLLECTOR_BACKEND_SERVICES=172.16.118.101:11800;SW_AGENT_NAME=redjujubetree

默认情况下,ThreadPool 是不会被代理,无法获取 traceId 的相关的信息,开启此功能需要将 bootstrap-plugins apm-jdk-threadpool-plugin.jar 拷贝到 plugins 目录下来开启此功能

logback

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

    <!-- 引入 Spring Boot 默认的 logback XML 配置文件  -->
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>

    <!-- 控制台 Appender -->
    <property name="CONSOLE_LOG_PATTERN" value="%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %tid %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <!-- 日志的格式化 -->
        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
            <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
                <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
            </layout>
        </encoder>
    </appender>

    <!-- 从 Spring Boot 配置文件中,读取 spring.application.name 应用名 -->
    <springProperty name="applicationName" scope="context" source="spring.application.name" />
    <property name="FILE_LOG_PATTERN" value="%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } %tid --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>
    <!-- 日志文件的路径 -->
    <property name="LOG_FILE" value="/Users/kenny/IdeaProjects/example/logs/${applicationName}.log"/>
    <!-- 日志文件 Appender -->
    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_FILE}</file>
        <!--滚动策略,基于时间 + 大小的分包策略 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz</fileNamePattern>
            <maxHistory>7</maxHistory>
            <maxFileSize>10MB</maxFileSize>
        </rollingPolicy>
        <!-- 日志的格式化 -->
        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
            <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
                <Pattern>${FILE_LOG_PATTERN}</Pattern>
            </layout>
        </encoder>
    </appender>

    <!-- 设置 Appender -->
    <root level="INFO">
        <appender-ref ref="console"/>
        <appender-ref ref="file"/>
    </root>

</configuration>

添加用户名和密码

为 skywalking 添加密码登录设置, skywalking 在后期的版本中没有不再支持直接在yaml 文件中配置明文的用户名称和密码,这里我们借助NGINX的验证能力进行操作

安装 htpasswd 工具

centos

sudo yum install httpd-tools

生成密码文件

htpasswd -c /etc/nginx/.htpasswd skywalking

若需要为已有文件添加新用户:

htpasswd /etc/nginx/.htpasswd another_user

修改 Nginx 配置

server {
    listen       80;
    server_name  localhost;

    #配置全局密码, 如果需要部分访问需要密码,可以将一下两个配置放在指定的location 映射之下
    auth_basic  "enter the username and password";
    auth_basic_user_file  /usr/local/nginx/password;

	location / {
	    proxy_pass http://127.0.0.1:12900;
	    proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	}
    
    }

在这里插入图片描述







http://www.kler.cn/a/451447.html

相关文章:

  • 抓取手机HCI日志
  • 007-spring-bean的相关配置(重要)
  • Spring Boot 项目创建
  • CSS系列(27)- 图形与滤镜详解
  • Spring-Boot 插件
  • Mysql高级部分总结(二)
  • 【漫话机器学习系列】016.误差中的偏差(BIAS)
  • 【漏洞复现】CVE-2015-5531 Arbitrary File Reading
  • 序列化和反序列化(二)
  • ML-Agents 概述(二)
  • windows C++ TCP客户端
  • 类设计者的核查表
  • 微软远程桌面APP怎么用
  • 算法专题——双指针
  • 机器学习之scikit-learn(简称 sklearn)
  • ensp 关于acl的运用和讲解
  • 鸿蒙 log抓取
  • SQL组合查询
  • springboot481基于springboot社区老人健康信息管理系统(论文+源码)_kaic
  • LLM大语言模型私有化部署-使用Dify的工作流编排打造专属AI搜索引擎
  • 《解锁 Python 数据分析的强大力量》
  • Linux 添加磁盘
  • 音乐电影分享系统:数据驱动的内容推荐机制
  • 机器学习DAY3 : 线性回归与最小二乘法与sklearn实现 (线性回归完)
  • 【强化学习】Stable-Baselines3学习笔记
  • 记录:Vue 构建前端项目,在本地开发时通常会使用代理来转发请求,避免跨域请求问题