01-elasticsearch-apm-server k8s 部署

k8s 部署elasticsearch-apm

文档地址

官方文档 https://www.elastic.co/guide/en/apm/index.html

说明

java agent 比需使用 6.5 版本以上的 apm-server

说以elasticsearch 和kibana 最好使用6.5 以上的版本

我这里使用的是6.8.7的版本

apm-server 部署

1. 创建apm-server 的配置文件

apm-server.docker.yml

apm-server:
  host: "0.0.0.0:8200"
output.elasticsearch:
  hosts: ["elasticsearch-client:9200"]

创建configmap

kubectl create cm elasticsearch-apm --from-file=apm-server.docker.yml --namespace=paltform-uat

2. 创建 apm-server

elasticsearch-apm-server.yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  annotations:
  labels:
    app: elasticsearch-apm
  name: elasticsearch-apm
  namespace: platform-uat
spec:
  replicas: 1
  revisionHistoryLimit: 2
  selector:
    matchLabels:
      app: elasticsearch-apm
  template:
    metadata:
      labels:
        app: elasticsearch-apm
    spec:
      containers:
      - image: docker.elastic.co/apm/apm-server:6.8.7
        imagePullPolicy: IfNotPresent
        name: elasticsearch-apm
        ports:
        - containerPort: 8200
          protocol: TCP
        resources:
          limits:
            cpu: "1"
          requests:
            cpu: 25m
            memory: 512Mi
        volumeMounts:
        - mountPath: /usr/share/apm-server/apm-server.yml
          name: config
          subPath: apm-server.docker.yml
      volumes:
      - configMap:
          defaultMode: 420
          name: elasticsearch-apm
        name: config
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: elasticsearch-apm
  name: elasticsearch-apm
  namespace: platform-uat
spec:
  ports:
  - name: elasticsearch-apm
    port: 8200
    protocol: TCP
  selector:
    app: elasticsearch-apm

执行

kubectl apply -f elasticsearch-apm-server.yaml

apm-agent 部署

agent 下载地址 https://search.maven.org/search?q=g:co.elastic.apm AND a:elastic-apm-agent

在java 启动参数下 添加

java \
-javaagent:/path/to/elastic-apm-agent-<version>.jar \
-Delastic.apm.service_name=my-cool-service \                                        #  需要修改成服务的名称
-Delastic.apm.application_packages=org.example,org.another.example \    # 自定义作用暂时没有发现
-Delastic.apm.server_urls=http://localhost:8200 \                                      #  需要修改成apm-server 的地址
-jar <app-name>.jar

3. 配置 kibana

  1. 在kibana 的 APM 菜单下 检查server 的状态

  2. 检查agent 的 状态。agent 状态正常的情况下 Load Kibana objects

4. 查看 程序调用链信息

  1. 选择java模块
  2. 查看某个请求可以看到整体的调用链
posted @ 2020-03-10 18:56  hurz  阅读(1734)  评论(0编辑  收藏  举报