Brc's blog
首页
前端
后端
运维
  • 工作笔记
  • 分类
  • 标签
  • 归档
关于

Brc

努力中
首页
前端
后端
运维
  • 工作笔记
  • 分类
  • 标签
  • 归档
关于
  • 工具安装

  • AWS

  • EKS

    • 扩缩容

    • 存储

    • devops

      • 保密字典
      • nacos
      • yapi
      • jfrog
      • fluentd
      • SkyWalking
        • 获取日志服务所在的阿里云账号(主账号)ID
        • 创建Trace实例
          • 操作步骤
        • 部署Logtail容器
          • ConfigMap
          • Service
          • Deployment
        • 创建用户自定义标识机器组
        • 接入SkyWalking Trace数据
          • 配置数据接入
          • 配置SkyWalking客户端
          • 后续步骤
      • Retool
      • harbor
      • gitlab
      • openresty
      • sentry
    • test

    • CICD

    • 问题
  • 其他

  • AWS创建EKS集群
  • 谷歌云创建GKE集群
  • 工作笔记
  • EKS
  • devops
Brc
2023-06-11
目录

SkyWalking

使用Logtail发送到阿里云

# 获取日志服务所在的阿里云账号(主账号)ID

https://help.aliyun.com/document_detail/49007.htm?spm=a2c4g.11186623.0.0.2c3b3d0a5tscUJ#task-arl-ynt-qy

  1. 使用日志服务所在的阿里云账号(主账号)登录阿里云 (opens new window)。

  2. 打开云命令行 (opens new window)。

  3. 执行以下命令,获取日志服务所在的阿里云账号(主账号)ID。

    echo $ALIBABA_CLOUD_ACCOUNT_ID
    1241177606124115
    
    1
    2

# 创建Trace实例

https://help.aliyun.com/document_detail/208892.htm?spm=a2c4g.11186623.0.0.2c3b7312NlMUwk#task-2060211

日志服务Trace实例用于管理各类已采集到的Trace数据,包括查询和分析Trace数据、查看Trace数据详情、查看服务指标等。本文介绍创建Trace实例的操作步骤。

# 操作步骤

  1. 登录日志服务控制台 (opens new window)。

  2. 在日志应用区域的智能运维页签下,单击Trace服务。

  3. 单击创建实例。

  4. 在创建实例页面,配置如下参数,然后单击确定。

    参数 描述
    Trace实例名称 Trace实例的名称。
    Trace实例描述 Trace实例的描述信息。
    项目Project 用于存储Trace数据的Project。如果您还没有可用的Project,请单击立即创建,创建一个Project。更多信息,请参见创建Project (opens new window)。
    实例ID Trace实例的ID。
    角色权限 接入Trace数据后,Trace服务中将生成Scheduled SQL任务,用于从存储Trace数据的Logstore中读取数据,计算聚合指标。该Scheduled SQL任务需通过系统角色AliyunLogETLRole读取数据,即当前账号无系统角色AliyunLogETLRole时,您需要先根据页面提示,完成授权。

# 部署Logtail容器

https://help.aliyun.com/document_detail/66659.html?spm=a2c4g.11186623.6.633.8b789951rpravM

  1. 拉取Logtail镜像。

    docker pull registry.cn-hangzhou.aliyuncs.com/log-service/logtail
    
    1

    您需要根据实际情况替换 registry.cn-hangzhou.aliyuncs.com,地域信息请参见 Logtail安装参数 (opens new window)。

    说明 如果您的服务器处于阿里云VPC网络中,需将 registry修改为 registry-vpc。

  2. 启动Logtail容器。

    重要 请在配置参数前执行以下任意一种配置,否则删除其他container时可能出现错误 container text file busy。

    • Centos 7.4及以上版本(除Centos 8.0以外),需设置fs.may_detach_mounts=1。更多信息,请参见Bug 1468249 (opens new window)、Bug 1441737 (opens new window)和issue 34538 (opens new window)。
    • 为Logtail授予privileged权限,即在启动参数中添加--privileged。更多信息,请参见docker run命令 (opens new window)。

    根据实际情况替换模板中的3个参数${your_region_name}、${your_aliyun_user_id}和${your_machine_group_user_defined_id}。

    docker run -d -v /:/logtail_host:ro -v /var/run:/var/run --env ALIYUN_LOGTAIL_CONFIG=/etc/ilogtail/conf/${your_region_name}/ilogtail_config.json --env ALIYUN_LOGTAIL_USER_ID=${your_aliyun_user_id} --env ALIYUN_LOGTAIL_USER_DEFINED_ID=${your_machine_group_user_defined_id} registry.cn-hangzhou.aliyuncs.com/log-service/logtail
    
    1
    参数 参数说明
    ${your_region_name} 请根据日志服务Project所在地域及网络类型填写。其中,地域信息请参见Logtail安装参数 (opens new window),网络类型选择请参见选择网络 (opens new window)。如果为公网,格式为region-internet。例如华东 1(杭州)为cn-hangzhou-internet。如果为阿里云内网,格式为region。例如华东 1(杭州)为cn-hangzhou。
    ${your_aliyun_user_id} 您的日志服务所在的阿里云账号(主账号)ID。获取方法,请参见获取日志服务所在的阿里云账号(主账号)ID (opens new window)。
    ${your_machine_group_user_defined_id} 设置机器组的用户自定义标识,例如log-docker-demo。重要请确保该标识在您的Project所在地域内唯一。在步骤二 (opens new window)中创建机器组时,您需要在用户自定义标识中输入此处设置的用户自定义标识。

    重要

    如果您要自定义配置Logtail容器的启动参数,只需保证以下前提条件。

    • 启动时,必须配置3个环境变量ALIYUN_LOGTAIL_USER_DEFINED_ID、ALIYUN_LOGTAIL_USER_ID、ALIYUN_LOGTAIL_CONFIG。
    • 将宿主机上的/var/run目录挂载到Logtail容器的/var/run目录。
    • 将宿主机根目录挂载到Logtail容器的/logtail_host目录。
    • 如果Logtail日志(/usr/local/ilogtail/ilogtail.LOG)中出现The parameter is invalid : uuid=none的错误日志,请在宿主机上创建一个product_uuid文件,在其中输入任意合法UUID(例如169E98C9-ABC0-4A92-B1D2-AA6239C0D261),并把该文件挂载到Logtail容器的/sys/class/dmi/id/product_uuid目录。

# ConfigMap

kind: ConfigMap
apiVersion: v1
metadata:
  name: birenchong-devops-tool-logtail-conf
  namespace: birenchong-devops
  annotations:
    kubesphere.io/creator: admin
data:
  ALIYUN_LOGTAIL_CONFIG: /etc/ilogtail/conf/ap-southeast-1-internet/ilogtail_config.json
  ALIYUN_LOGTAIL_USER_DEFINED_ID: birenchong-server-api
  ALIYUN_LOGTAIL_USER_ID: '1241177606124115'

1
2
3
4
5
6
7
8
9
10
11
12

# Service

kind: Service
apiVersion: v1
metadata:
  name: birenchong-devops-tool-logtail
  namespace: birenchong-devops
  labels:
    app: birenchong-devops-tool-logtail
    version: v1
  annotations:
    kubesphere.io/creator: admin
    kubesphere.io/serviceType: statelessservice
spec:
  ports:
    - name: tcp-11800
      protocol: TCP
      port: 11800
      targetPort: 11800
  selector:
    app: birenchong-devops-tool-logtail
  clusterIP: 10.100.110.224
  clusterIPs:
    - 10.100.110.224
  type: ClusterIP
  sessionAffinity: None
  ipFamilies:
    - IPv4
  ipFamilyPolicy: SingleStack
  internalTrafficPolicy: Cluster

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

# Deployment

kind: Deployment
apiVersion: apps/v1
metadata:
  name: birenchong-devops-tool-logtail-v1
  namespace: birenchong-devops
  labels:
    app: birenchong-devops-tool-logtail
    version: v1
  annotations:
    deployment.kubernetes.io/revision: '1'
    kubesphere.io/creator: admin
spec:
  replicas: 1
  selector:
    matchLabels:
      app: birenchong-devops-tool-logtail
      version: v1
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: birenchong-devops-tool-logtail
        version: v1
    spec:
      containers:
        - name: logtail
          image: 'harbor.birenchong.cn/devops/logtail:v1.0'
          ports:
            - name: tcp-11800
              containerPort: 11800
              protocol: TCP
          env:
            - name: ALIYUN_LOGTAIL_CONFIG
              valueFrom:
                configMapKeyRef:
                  name: birenchong-devops-tool-logtail-conf
                  key: ALIYUN_LOGTAIL_CONFIG
            - name: ALIYUN_LOGTAIL_USER_DEFINED_ID
              valueFrom:
                configMapKeyRef:
                  name: birenchong-devops-tool-logtail-conf
                  key: ALIYUN_LOGTAIL_USER_DEFINED_ID
            - name: ALIYUN_LOGTAIL_USER_ID
              valueFrom:
                configMapKeyRef:
                  name: birenchong-devops-tool-logtail-conf
                  key: ALIYUN_LOGTAIL_USER_ID
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          imagePullPolicy: IfNotPresent
          securityContext:
            privileged: true
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
      dnsPolicy: ClusterFirst
      nodeSelector:
        env: devops
      serviceAccountName: default
      serviceAccount: default
      securityContext: {}
      imagePullSecrets:
        - name: harbor-devops
      schedulerName: default-scheduler
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 25%
      maxSurge: 25%
  revisionHistoryLimit: 10
  progressDeadlineSeconds: 600

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72

# 创建用户自定义标识机器组

https://help.aliyun.com/document_detail/28983.html

  1. 登录日志服务控制台 (opens new window)。

  2. 在Project列表区域,单击目标Project。

  3. 在左侧导航栏中,选择资源> 机器组。

  4. 选择机器组右侧的**机器组> 创建机器组**。

  5. 在创建机器组对话框中,配置如下参数,单击确定。

    参数 说明
    名称 设置机器组的名称。注意 创建后,不支持修改机器组名称,请谨慎填写。
    机器组标识 选择用户自定义标识。
    机器组Topic 机器组Topic用于区分不同服务器产生的日志数据。更多信息,请参见日志主题 (opens new window)。
    用户自定义标识 配置为2 (opens new window)中配置的用户自定义标识。
  6. 查看机器组状态。

    1. 在机器组列表中,单击目标机器组。

    2. 在机器组配置页面,查看使用相同用户自定义标识的服务器及其心跳状态。

      • 机器组状态中的IP列表,即为使用相同用户自定义标识的服务器的IP地址。例如:

        假设当前为用户自定义标识机器组,用户自定义标识为userdefined,机器组状态中的IP分别为10.10.10.10、10.10.10.11、10.10.10.12。则表示您在这三个服务器上创建了相同的用户自定义标识userdefined。如果您需要新增10.10.10.13服务器,则只需要在该服务器上创建用户自定义标识userdefined,即可在机器组状态中看到该服务器。

      • 心跳为OK表示服务器上的Logtail实例与日志服务的连接正常,如果显示FAIL请参见Logtail机器组无心跳 (opens new window)处理。

      机器组状态

# 接入SkyWalking Trace数据

https://help.aliyun.com/document_detail/208914.html?spm=5176.2020520112.help.dexternal.7b9a34c0pyva1C#step-fn9-9yq-89g

# 配置数据接入

image-20230220151222849

  1. 登录日志服务控制台。
  2. 在接入数据区域,选择SkyWalking。
  3. 选择Project:bi-renchong,然后选择Logstore: birenchong-api-trace-traces
  4. 创建机器组。
    • 如果您已有可用的机器组,请单击使用现有机器组。
    • 如果您还没有可用的机器组,请执行以下操作(以ECS为例)。
      1. 在ECS页签中,选中目标ECS实例,单击立即执行。更多信息,请参见安装Logtail(ECS实例) (opens new window)。
      2. 如果是自建集群、其他云厂商服务器,需要手动安装Logtail。更多信息,请参见安装Logtail(Linux系统) (opens new window)或安装Logtail(Windows系统) (opens new window)。
      3. 安装完成后,单击确认安装完毕。
      4. 创建机器组,单击下一步。日志服务支持创建IP地址机器组和用户自定义标识机器组,详细参数说明请参见创建IP地址机器组 (opens new window)和创建用户自定义标识机器组 (opens new window)。
  5. 选中目标机器组,将该机器组从源机器组移动到应用机器组,单击下一步。 注意 如果创建机器组后立刻应用,可能因为连接未生效,导致心跳为FAIL,您可单击自动重试。如果还未解决,请参见Logtail机器组无心跳 (opens new window)进行排查。
  6. 创建Logtail配置,单击下一步。
  • 注意:若您的Logtail本地11800端口被占用,可替换为其他可用端口,同时需修改SkyWalking上报的端口号。
{
    "inputs" : [
        {
            "detail" : {
                "Address" : "0.0.0.0:11800"
            },
            "type" : "service_skywalking_agent_v3"
        }
    ],
    "aggregators" : [
        {
            "detail" : {
                "MetricsLogstore" : "birenchong-api-trace-metrics",
                "TraceLogstore" : "birenchong-api-trace-traces"
            },
            "type" : "aggregator_skywalking"
        }
    ],
    "global" : {
        "AlwaysOnline" : true,
        "DelayStopSec" : 300
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# 配置SkyWalking客户端

配置SkyWalking客户端,将数据发送到Logtail监听的地址,详细说明如下:

  • 如果您使用的是Java Agent,则替换其中的collector.backend_service参数。具体操作,请参见Java Agent配置 (opens new window)。
  • 如果您使用的是.net core Agent,则使用dotnet skyapm config ${service}${endpoint}命令生成配置文件。其中,${service}需替换为实际的服务名,${endpoint}需替换为步骤5 (opens new window)中配置的机器组IP地址及对应的端口号。具体操作,请参见SkyAPM-donet (opens new window)。
  • 如果您使用的是其他Agent或SDK发送数据,需将后端地址替换为步骤5 (opens new window)中配置的机器组IP地址及对应的端口号。

# 后续步骤

  • 查看Trace实例详情 (opens new window)
  • 查询和分析Trace数据 (opens new window)
#SkyWalking
Last Updated: 2023/11/08, 14:45:54
fluentd
Retool

← fluentd Retool→

最近更新
01
谷歌云创建GKE集群
07-26
02
ElastiCacheForRedis启用密码
07-26
03
upload-to-gcs
06-29
更多文章>
Theme by Vdoing | Copyright © 2021-2024 Brc | MIT License | 浙ICP备19031881号-4
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式