废话不多说,看到官网老版本支持到本月底,升级升级。。。。。。

本文章中未涉及到nacos、mysql的安装

服务端架构

agent

准备工作

1、机器准备1台4核8G。

2、安装环境centos7

3、软件环境

     docker

     docker kafka,kafka-map

     docker zoopkepper

     docker mysql-exporter

     docker  otel/opentelemetry-collector:0.50.0

     docker elasticsearch7

skywalking 软件包下载

环境安装

docker

yum list docker-ce --showduplicates | sort -r

yum -y install docker-ce-18.03.1.ce

docker version

kafka安装

1、安装zookeeper

 docker pull wurstmeister/zookeeper

2、启动zookeeper

docker run -d --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper

3、安装kafka

docker pull wurstmeister/kafka

4、启动kafka

docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.155.56:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.155.56:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -v /etc/localtime:/etc/localtime wurstmeister/kafka

5、安装kafka-map

docker pull dushixiang/kafka-map

6、启动kafka-map

docker run -d --name kafka-map -p 8085:8080 -e DEFAULT_USERNAME=admin -e DEFAULT_PASSWORD=admin  dushixiang/kafka-map:latest

7、访问kafka-map

http://IP:8085/#/login

8、配置

 

部署skywalking-apm

1、下载包

Apache Downloads

使用wget 命令下载或其他方式

2、skywalking解压

tar -zxvf apache-skywalking-apm-9.2.0.tar.gz

3、修改配置文件application.yml

  3.1  cluster的配置

cluster:
  # 配置我们是集群还是单节点。这里我们是单节点,所以不做改变。
  selector: ${SW_CLUSTER:standalone}

  3.2 存储配置

storage:
#配置存储选择的es,配置ip即可
  selector: ${SW_STORAGE:elasticsearch}
  elasticsearch:
    namespace: ${SW_NAMESPACE:""}
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:IP:9200}
    protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}

3.3 kafka 启用

kafka-fetcher:
  # 把- 修改为default,修改IP
  selector: ${SW_KAFKA_FETCHER:-}
  default:
    #IP 替换kafka的IP
    bootstrapServers: ${SW_KAFKA_FETCHER_SERVERS:IP:9092}
    namespace: ${SW_NAMESPACE:""}

4、执行脚本增加权限

chmod 777 *.sh

5、启动服务

startup.sh

部署skywalking-ui

 注意:skywalking-ui 已编译好的静态资源,后端地址配置的是localhost

 下载地址

nginx安装和配置

1、nginx 安装

yum -y install nginx

2、nginx配置

 server {
        listen       8082;
    #    listen       somename:8080;
        server_name  localhost;
      # alias  another.alias;
        location /graphql {
            proxy_method POST;
            #oap为sky部署apm服务的地址
            proxy_pass http://oap:12800/graphql;
        }

        location / {
            #dist为skywalking-ui的资源
            alias  /usr/local/nginx/html/dist/;
            try_files $uri $uri/ /dist/index.html;
        }
    }

3、浏览器访问

    http://IP:8082

部署skywalking-agent

注意 官网选择最新版V8.13.0

1、下载skywalking-agent

Apache Downloads

2、解压客户端到/usr/local

tar -zxvf apache-skywalking-java-agent-8.13.0.tgz

3、目录结构如下 引用官网说明

+-- agent
    +-- activations
         apm-toolkit-log4j-1.x-activation.jar
         apm-toolkit-log4j-2.x-activation.jar
         apm-toolkit-logback-1.x-activation.jar
         ...
    +-- config
         agent.config  
    +-- plugins
         apm-dubbo-plugin.jar
         apm-feign-default-http-9.x.jar
         apm-httpClient-4.x-plugin.jar
         .....
    +-- optional-plugins
         apm-gson-2.x-plugin.jar
         .....
    +-- bootstrap-plugins
         jdk-http-plugin.jar
         .....
    +-- logs
    skywalking-agent.jar

4、kafka插件拷贝

因架构使用的kafka,所以我们根据官方提供的资料kafka 插件默认是不启用,需要从把kafka-reporter-plugin-x.y.z.jar, 从 agent/optional-reporter-plugins 移动到  agent/plugins目录下

参考资料地址:

Advanced Reporters | Apache SkyWalking

5、配置agent.config

# Backend service addresses.
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:127.0.0.1:11800}

# Kafka producer configuration
plugin.kafka.bootstrap_servers=${SW_KAFKA_BOOTSTRAP_SERVERS:localhost:9092}
plugin.kafka.get_topic_timeout=${SW_GET_TOPIC_TIMEOUT:10}

目录

服务端架构

准备工作

环境安装

docker

kafka安装

部署skywalking-apm

部署skywalking-ui

部署skywalking-agent

监控 MySQL Server部署

1、mysql数据库创建账号:

2、安装 docker-compose

3、安装mysqld_exporter和prometheus-mysql-exporter


6、项目启动参数

   目前应用名称serverName 通过启动参数传递,其他的方式还未深度研究,后续研究探讨

 -

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

监控 MySQL Server部署

架构图

上面展示的是在 MySQL 客户端层面的监控,那如果想要监控 MySQL Server 该怎么做呢,SkyWalking 发布的 9.2.0 版本升级了许多内容,其中一项就是开始支持 MySQL Server Monitoring。

SkyWalking 是如何监控 MySQL Server 程序的呢,SkyWalking 社区并没有重复造轮子,而是利用了已有的开源实现来采集 MySQL Server 的 metrics 数据,并将 metrics 发送到 SkyWalking OAP,由 MAL 引擎去分析、计算、聚合和存储,具体流程如下:

1、mysql数据库创建账号:

create user 'exporter'@'%' identified by 'exporter'; 
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'%' WITH MAX_USER_CONNECTIONS 3; 
flush privileges;

2、安装 docker-compose

  1. 最新发行的版本地址:https://github.com/docker/compose/releases

  1. 运行以下命令以下载Docker Compose的当前稳定版本

 

sudo curl -L "https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

3.授权

 

sudo chmod +x /usr/local/bin/docker-compose

4、检查是否安装成功

 

cd /docker-compose version

3、安装mysqld_exporter和prometheus-mysql-exporter

注意 mysqld_exporter的安装参考prometheus-mysql-exporter提供的docker-compose方案部署

参考地址:

https://github.com/apache/skywalking/tree/cb8845a1dd8a0efaa8a6c8e6cb3b7c378729a401/test/e2e-v2/cases/mysql/prometheus-mysql-exporter

1、创建docker-compose.yml文件

 

touch /opt/data/docker-compose.yml

touch /opt/data/otel-collector-config.yaml

2、配置内容docker-compose.yml

version: '3'
services:
  mysqld-exporter:
    image: prom/mysqld-exporter:v0.14.0
    container_name: mysqld-exporter
    ports:
      - 9104:9104
    environment:
      - DATA_SOURCE_NAME=exporter:exporter@(数据库ip:3306)/
      - TZ=Asia/Shanghai
  otel-collector:
    image: otel/opentelemetry-collector:0.50.0
    container_name: otel-collector
    command: [ "--config=/etc/otel-collector-config.yaml" ]
    volumes:
      - /opt/data/otel-collector-config.yaml:/etc/otel-collector-config.yaml
    expose:
      - 55678

3、配置otel-collector-config.yaml

receivers:
  prometheus:
    config:
     scrape_configs:
       - job_name: 'mysql-monitoring'
         scrape_interval: 5s
         static_configs:
           - targets: ['mysqld-exporter:9104']
             labels:
               host_name: showcase #skywlking show serversName
processors:
  batch:
exporters:
  otlp:
    endpoint: skywalking-oap服务地址:11800
    tls:
      insecure: true
service:
  pipelines:
    metrics:
      receivers:
      - prometheus
      processors:
      - batch
      exporters:
      - otlp

4、启动容器

docker-compose up -d

5、查看容器情况

docker pa -a

6、查看容器启动日志是否有异常

docker logs -f 容器ID

7、查看ui

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐