首页 > 其他分享 >k8s+log-pilot日志收集

k8s+log-pilot日志收集

时间:2022-11-08 17:03:33浏览次数:70  
标签:log tomcat pilot ELASTICSEARCH 日志 k8s name

github 地址:https://github.com/AliyunContainerService/log-pilot

介绍

log-pilot是一个很棒的 docker 日志工具。可以从dockerlog-pilot主机收集日志并将它们发送到您的集中式日志系统,例如 elasticsearch、graylog2、awsog 等。log-pilot不仅可以收集 docker stdout,还可以收集 docker 容器内的日志文件。

系统架构

image.png

准备工作

  • 已经成功部署了一个kubernetes集群

部署Elasticsearch

为了方便测试,在单机部署了一个Elasticsearch+Kibana

# 部署Elasticsearch
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:6.8.23
# 部署Kibana (ELASTICSEARCH_URL请换成自己本地ip)
docker run --name kibana -e ELASTICSEARCH_URL=http://192.168.0.71:9200 -p 5601:5601 -d kibana:6.8.23

成功访问Kibana
image.png

部署log-pilot

注意:ELASTICSEARCH_HOST 、ELASTICSEARCH_PORT 需要换成刚刚创建Elasticsearch地址
如果是集群,ELASTICSEARCH_HOSTS 变量写多个地址即可,中间用逗号隔开
image.png
pilot-elasticsearch-kubernetes.yml

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: log-pilot
  labels:
    k8s-app: log-pilot
spec:
  updateStrategy:
    type: RollingUpdate
  selector:
    matchLabels:
      k8s-app: log-pilot
  template:
    metadata:
      labels:
        k8s-app: log-pilot
    spec:
      tolerations:
      - key: node-role.kubernetes.io/master
        effect: NoSchedule
      containers:
      - name: log-pilot
        image: registry.cn-hangzhou.aliyuncs.com/acs/log-pilot:0.9.5-fluentd
        env:
          - name: "LOGGING_OUTPUT"
            value: "elasticsearch"
          - name: "ELASTICSEARCH_HOST"
            value: "192.168.0.71" #changeme
          - name: "ELASTICSEARCH_PORT"
            value: "9200" #changeme
          - name: "NODE_NAME"
            valueFrom:
              fieldRef:
                fieldPath: spec.nodeName
        volumeMounts:
        - name: sock
          mountPath: /var/run/docker.sock
        - name: root
          mountPath: /host
          readOnly: true
        - name: pos
          mountPath: /pilot/pos
        - name: localtime
          mountPath: /etc/localtime
        securityContext:
          capabilities:
            add:
            - SYS_ADMIN
              #terminationGracePeriodSeconds: 30
      volumes:
      - name: sock
        hostPath:
          path: /var/run/docker.sock
      - name: root
        hostPath:
          path: /
      - name: pos
        emptyDir: {}
      - name: localtime
        hostPath:
          path: /etc/localtime

在k8s集群部署

kubectl apply -f pilot-elasticsearch-kubernetes.yml

部署成功
image.png

部署一个测试服务

tomcat.yml

apiVersion: v1
kind: Pod
metadata:
  name: tomcat
spec:
  tolerations:
  - key: "node-role.kubernetes.io/master"
    effect: "NoSchedule"
  containers:
  - name: tomcat
    image: "tomcat:7.0"
    env:
    - name: aliyun_logs_catalina
      value: "stdout"   # 告诉 log-pilot 这个容器要收集 stdout 日志。
    - name: aliyun_logs_access
      value: "/usr/local/tomcat/logs/catalina.*.log"  # 则表示要收集容器内 /usr/local/tomcat/logs/ 目录下所有名字匹配 catalina.*.log的文件日志。
    volumeMounts:
      - name: tomcat-log
        mountPath: /usr/local/tomcat/logs
  volumes:
    - name: tomcat-log
      emptyDir: {}

启动服务后,会自动按天创建两个索引
image.png
接下来就可以愉快的玩耍了!!!
image.png

标签:log,tomcat,pilot,ELASTICSEARCH,日志,k8s,name
From: https://www.cnblogs.com/dagongzhe/p/16870265.html

相关文章

  • AccessLog日志配置
    server.tomcat.accesslog.prefix=accessserver.tomcat.accesslog.suffix=.logserver.tomcat.accesslog.file-date-format=-yyyyMMddHH 有的时候我们要使用日志......
  • 分析 k8s 容器 内存 CPU使用率
    分析k8s容器内存CPU使用率安装metrics-server参考githubhttps://github.com/kubernetes-sigs/metrics-server如下命令安装mkdirmetrics-serverwgethttps://git......
  • log4go使用及源码解析
    1.功能模块1.1配置文件日志输出支持:控制台、log文件、xml、分级日志:FINEST|FINE|DEBUG|TRACE|INFO|WARNING|ERROR 2.源码解析  2.1文件结构    2.2 ......
  • tftp-cnblog
    TFTP服务器搭建tftp服务器1、在线安装首先安装tftp服务端apt-getinstalltftpd-hpa安装tftp客户端apt-getinstalltftp-hpa直接一路回车或者按Y就行,这里已经安......
  • 前端灰度环境wayne+k8s部署
    前端灰度环境wayne+k8s部署一、灰度发布canay背景灰度发布是一种发布方式,也叫金丝雀发布,起源是矿工在下井之前会先放一只金丝雀到井里,如果金丝雀不叫了,就代表瓦斯浓......
  • tftp-cnblog
    TFTP服务器搭建tftp服务器1、在线安装首先安装tftp服务端apt-getinstalltftpd-hpa安装tftp客户端apt-getinstalltftp-hpa直接一路回车或者按Y就行,这里已经安......
  • Serilog + Seq 搭建日志平台
    Docker部署Seq日志平台Dokce部署镜像地址:https://hub.docker.com/r/datalust/seqpull镜像dockerpulldatalust/seq设置seqAdmin密码,起站点用到的密码必须要Hash......
  • Kubernetes(K8S) 镜像拉取策略 imagePullPolicy
    镜像仓库,镜像已更新,版本没更新,K8S拉取后,还是早的服务,原因:imagePullPolicy镜像拉取策略默认为本地有了就不拉取,需要修改[root@k8smaster~]#kubectleditdeployment/......
  • 在线k8s练习环境,Killercoda和play-with-k8s
    最近发现了两款比较好的在线kubernetes操练环境,killercoda和play-with-k8s。尽管手头上已经有了ECS、虚拟机,不过这两款在线环境胜在方便快捷。让我们体验下吧!https://kill......
  • android-code-saveLog
    一个工具类。第一个用来将logcat保存到文件,第二个用来获得logcat字符串。publicclassLogcat{publicfinalstaticStringTAG="VLC/Util/Logcat";/***Wr......