1 Star 3 Fork 3

Huangzzz / ELK-Filebeat-docker

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MulanPSL-2.0

ELK日志服务使用说明文档

1. 概要说明

  • 基于ELK搭建的日志服务系统,可以提供与集成系统服务的日志(syslog)、各种后端框架的日志服务、前端nginx的日志服务控件、外部服务ftp、外部node服务器等

  • ELK基础架构存在于大型平台系统中如下图所示

    image-20210628162908386

  • 实际的细节接入方式如下:

    image-20210628163838440

  • 使用到的日志服务名词说明:

    名词 说明
    filebeat Filebeat是用于转发和集中日志数据的轻量级传送程序。作为服务器上的代理安装,Filebeat监视您指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或Logstash进行索引。
    logstash Logstash 是一个应用程序日志、事件的传输、处理、管理和搜索的平台。你可以用它来统一对应用程序日志进行收集管理,提供 Web 接口用于查询和统计。
    Elasticsearch Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。
    kibana Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看存放在Elasticsearch中的数据。Kibana与Elasticsearch的交互方式是各种不同的图表、表格、地图等,直观的展示数据,从而达到高级的数据分析与可视化的目的。

2. ELK部署说明

本身ELK是有阿里云、腾讯云等服务提供使用的,但是我现在选择的是自己通过docker进行搭建的方式进行

  • 服务器硬件配置要求

    硬件 具体要求 备注
    CPU 最少需要4C,推荐使用8C
    内存 最少需要8G,推荐使用16G
    存储 需要最少64G的空间
    带宽 5~20M带宽
  • 拉取最新的ELK-Docker的镜像

    docker pull sebp/elk
  • 配置运行docker服务

    docker run -d -p 5601:5601 -p 9200:9200 -p 5044:5044 -e ES_MIN_MEM=128m -e ES_MAX_MEM=1024m -it -d --name elk sebp/elk

    参数说明:

    参数 说明 备注
    -p 5601:5601 kabana服务端口 如果是公有云服务器,需要在安全组策略中追加相应端口
    -p 9200:9200 ES服务端口 如果是公有云服务器,需要在安全组策略中追加相应端口
    -p 5044:5044 Logstash 服务端口 如果是公有云服务器,需要在安全组策略中追加相应端口
    -e ES_MIN_MEM=128m ES服务最少使用内存量设定
    -e ES_MAX_MEM=1024m ES服务最多使用内存量设定
    --name elk 容器名
  • kabana界面概览

    首页

    logs页面查看

3. 基于filebeat的日志采集功能实现

当我们需要落地具体服务的时候,我们在使用原有的控制台与文件查看log时,同时也需要通过ELK可以查看log,这时我们需要使用filebeat来上传日志文件,我们的服务大部分都是落地在docker中,所以需要我们编译docker image,创建对应的docker-container。

我们必需要下记文件:

文件名称 说明
Dockerfile 对应编译docker镜像的build文件
filebeat.yml filebeat的配置文件
logstash-beats.crt 对应ELK的密钥文件,当filebeat连接logstash时进行验证使用
start.sh 当docker-container运行时,需要运行的程序脚本

(1)示例:编译与运行docker-ftp服务

  • Dockerfile文件说明:

    # Dockerfile to illustrate how Filebeat can be used with nginx
    # Filebeat 7.13.2
    
    # Build with:
    # docker build -t ftp-filebeat .
    
    # Run with:
    # $ docker run -d -v <host folder>:/home/vsftpd \
    #                 -p 20:20 -p 21:21 -p 47400-47470:47400-47470 \
    #                 -e FTP_USER=<username> \
    #                 -e FTP_PASS=<password> \
    #                 -e PASV_ADDRESS=<ip address of your server> \
    #                 --name ftp \
    #                 --restart=always bogem/ftp
    
    FROM bogem/ftp
    MAINTAINER HuangJR huangz2350@163.com
    ENV REFRESHED_AT 2021-06-28
    
    
    ###############################################################################
    #                                INSTALLATION
    ###############################################################################
    
    ### install Filebeat
    
    ENV FILEBEAT_VERSION 7.12.0
    ENV FILEBEAT_BASE_VERSION 7.12.0
    
    
    RUN apt-get update -qq \
     && apt-get install -qqy curl \
     && apt-get clean
    
    RUN curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${FILEBEAT_VERSION}-amd64.deb \
     && dpkg -i filebeat-${FILEBEAT_VERSION}-amd64.deb \
     && rm filebeat-${FILEBEAT_VERSION}-amd64.deb
    
    
    ###############################################################################
    #                                CONFIGURATION
    ###############################################################################
    
    ### tweak nginx image set-up
    
    # remove log symlinks
    RUN rm -rf /var/log/vsftpd.log
    
    
    ### configure Filebeat
    
    # config file
    ADD filebeat.yml /etc/filebeat/filebeat.yml
    RUN chmod 644 /etc/filebeat/filebeat.yml
    
    # CA cert
    RUN mkdir -p /etc/pki/tls/certs
    ADD logstash-beats.crt /etc/pki/tls/certs/logstash-beats.crt
    
    # create template based on filebeat version (assumption: it is the same version as elasticsearch version)
    RUN filebeat export template --es.version ${FILEBEAT_BASE_VERSION} > /etc/filebeat/filebeat.template.json
    
    ###############################################################################
    #                                    DATA
    ###############################################################################
    
    ### add dummy HTML file
    
    # COPY node-back-end-cli /root/node-back-end-cli
    
    
    ###############################################################################
    #                                    START
    ###############################################################################
    
    ADD ./start.sh /usr/local/bin/start.sh
    RUN chmod +x /usr/local/bin/start.sh
    CMD [ "/usr/local/bin/start.sh" ]
    
  • filebeat.yml文件说明:

    output:
      logstash:
        enabled: true
        index: vsftpd			# 对应logstash中的index
        hosts:
          - 182.92.207.10:5044	# ELK的logstash服务
        timeout: 15
        ssl:
          certificate_authorities:
          - /etc/pki/tls/certs/logstash-beats.crt # 使用crt校验连接
    
    filebeat.config:
      modules:
        path: ${path.config}/modules.d/*.yml
        reload.enabled: false
    
    processors:
    - add_cloud_metadata: ~
    
    filebeat:
      inputs: #设置传入的log位置
        -
          paths:
            - /var/log/syslog
            - /var/log/auth.log
          document_type: syslog
        - 
          paths:
            - /var/log/vsftpd.log
          type: log
          enabled: true
  • start.sh文件说明:

    #!/bin/bash
    
    # 下记内容运行filebeat服务
    curl -XPUT -H "Content-Type: application/json" 'http://182.92.207.10:9200/_template/filebeat?pretty' -d@/etc/filebeat/filebeat.template.json
    /etc/init.d/filebeat start
    # 下记运行ftp服务
    /usr/sbin/run-vsftpd.sh
  • Docker-image编译:

    $ docker build -t ftp-filebeat .
  • Docker-container运行:

    # Run with:
    $ docker run -d -v <host folder>:/home/vsftpd \
                    -p 20:20 -p 21:21 -p 47400-47470:47400-47470 \
                    -e FTP_USER=<username> \
                    -e FTP_PASS=<password> \
                    -e PASV_ADDRESS=<ip address of your server> \
                    --name ftp \
                    --restart=always bogem/ftp
  • 运行截图:

    Docker-container运行情况

    image-20210629114728006

    image-20210629114807594

    基于index收集到的上报日志

(2)示例:编译与运行docker-nginx服务

  • Dockerfile文件说明:

    # Dockerfile to illustrate how Filebeat can be used with nginx
    # Filebeat 7.13.2
    
    # Build with:
    # docker build -t filebeat-nginx-example .
    
    # Run with:
    # docker run -p 80:80 -it --link <elk-container-name>:elk \
    #     --name filebeat-nginx-example filebeat-nginx-example
    
    FROM nginx
    MAINTAINER Sebastien Pujadas http://pujadas.net
    ENV REFRESHED_AT 2020-10-02
    
    
    ###############################################################################
    #                                INSTALLATION
    ###############################################################################
    
    ### install Filebeat
    
    ENV FILEBEAT_VERSION 7.12.0
    ENV FILEBEAT_BASE_VERSION 7.12.0
    
    
    RUN apt-get update -qq \
     && apt-get install -qqy curl \
     && apt-get clean
    
    RUN curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${FILEBEAT_VERSION}-amd64.deb \
     && dpkg -i filebeat-${FILEBEAT_VERSION}-amd64.deb \
     && rm filebeat-${FILEBEAT_VERSION}-amd64.deb
    
    
    ###############################################################################
    #                                CONFIGURATION
    ###############################################################################
    
    ### tweak nginx image set-up
    
    # remove log symlinks
    RUN rm /var/log/nginx/access.log /var/log/nginx/error.log
    
    
    ### configure Filebeat
    
    # config file
    ADD filebeat.yml /etc/filebeat/filebeat.yml
    RUN chmod 644 /etc/filebeat/filebeat.yml
    
    # CA cert
    RUN mkdir -p /etc/pki/tls/certs
    ADD logstash-beats.crt /etc/pki/tls/certs/logstash-beats.crt
    
    # create template based on filebeat version (assumption: it is the same version as elasticsearch version)
    RUN filebeat export template --es.version ${FILEBEAT_BASE_VERSION} > /etc/filebeat/filebeat.template.json
    
    ###############################################################################
    #                                    DATA
    ###############################################################################
    
    ### add dummy HTML file
    
    COPY html /usr/share/nginx/html
    
    
    ###############################################################################
    #                                    START
    ###############################################################################
    
    ADD ./start.sh /usr/local/bin/start.sh
    RUN chmod +x /usr/local/bin/start.sh
    CMD [ "/usr/local/bin/start.sh" ]
    
  • filebeat.yml文件说明:

    output:
      logstash:
        enabled: true
        index: nginx
        hosts:
          - 182.92.207.10:5044
        timeout: 15
        ssl:
          certificate_authorities:
          - /etc/pki/tls/certs/logstash-beats.crt
    
    filebeat.config:
      modules:
        path: ${path.config}/modules.d/*.yml
        reload.enabled: false
    
    processors:
    - add_cloud_metadata: ~
    
    filebeat:
      inputs:
        -
          paths:
            - /var/log/syslog
            - /var/log/auth.log
          document_type: syslog
        -
          paths:
            - "/var/log/nginx/*.log"
          fields_under_root: true
          fields:
            type: nginx-access
  • start.sh文件说明:

    #!/bin/bash
    
    curl -XPUT -H "Content-Type: application/json" 'http://182.92.207.10:9200/_template/filebeat?pretty' -d@/etc/filebeat/filebeat.template.json
    /etc/init.d/filebeat start
    nginx
    tail -f /var/log/nginx/access.log -f /var/log/nginx/error.log
  • Docker-image编译:

    $ docker build -t filebeat-nginx-example .
  • Docker-container运行:

    # Run with:
    $ docker run -p 80:80 -it --link <elk-container-name>:elk \
         --name filebeat-nginx-example filebeat-nginx-example

(3)示例:编译与运行docker-gitlab服务

  • Dockerfile文件说明:

    # Dockerfile to illustrate how Filebeat can be used with nginx
    # Filebeat 7.13.2
    
    # Build with:
    # docker build -t gitlab-filebeat .
    
    # Run with:
    # docker run -d  -p 6622:22 -p 6620:80 -p 6443:443 --volume /root/docker/gitlab/config:/etc/gitlab  
    # \ --volume /root/docker/gitlab/logs:/var/log/gitlab --volume /root/docker/gitlab/data:/var/opt/gitlab  --restart always  --name gitlab gitlab/gitlab-ce:latest
    
    FROM gitlab/gitlab-ce:latest
    MAINTAINER HuangJR huangz2350@163.com
    ENV REFRESHED_AT 2021-06-28
    
    
    ###############################################################################
    #                                INSTALLATION
    ###############################################################################
    
    ### install Filebeat
    
    ENV FILEBEAT_VERSION 7.12.0
    ENV FILEBEAT_BASE_VERSION 7.12.0
    
    
    RUN apt-get update -qq \
     && apt-get install -qqy curl \
     && apt-get clean
    
    RUN curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${FILEBEAT_VERSION}-amd64.deb \
     && dpkg -i filebeat-${FILEBEAT_VERSION}-amd64.deb \
     && rm filebeat-${FILEBEAT_VERSION}-amd64.deb
    
    
    ###############################################################################
    #                                CONFIGURATION
    ###############################################################################
    
    ### tweak nginx image set-up
    
    # remove log symlinks
    RUN rm -rf /var/log/gitlab/*.*
    
    
    ### configure Filebeat
    
    # config file
    ADD filebeat.yml /etc/filebeat/filebeat.yml
    RUN chmod 644 /etc/filebeat/filebeat.yml
    
    # CA cert
    RUN mkdir -p /etc/pki/tls/certs
    ADD logstash-beats.crt /etc/pki/tls/certs/logstash-beats.crt
    
    # create template based on filebeat version (assumption: it is the same version as elasticsearch version)
    RUN filebeat export template --es.version ${FILEBEAT_BASE_VERSION} > /etc/filebeat/filebeat.template.json
    
    ###############################################################################
    #                                    DATA
    ###############################################################################
    
    ### add dummy HTML file
    
    # COPY node-back-end-cli /root/node-back-end-cli
    
    
    ###############################################################################
    #                                    START
    ###############################################################################
    
    ADD ./start.sh /usr/local/bin/start.sh
    RUN chmod +x /usr/local/bin/start.sh
    CMD [ "/usr/local/bin/start.sh" ]
    
  • filebeat.yml文件说明:

    output:
      logstash:
        enabled: true
        index: gitlab
        hosts:
          - 182.92.207.10:5044
        timeout: 15
        ssl:
          certificate_authorities:
          - /etc/pki/tls/certs/logstash-beats.crt
    
    filebeat.config:
      modules:
        path: ${path.config}/modules.d/*.yml
        reload.enabled: false
    
    processors:
    - add_cloud_metadata: ~
    
    filebeat:
      inputs:
        -
          paths:
            - /var/log/syslog
            - /var/log/auth.log
          document_type: syslog
        - 
          paths:
            - /var/log/gitlab/gitlab-rails/*.log
          type: log
          enabled: true
  • start.sh文件说明:

    #!/bin/bash
    
    curl -XPUT -H "Content-Type: application/json" 'http://182.92.207.10:9200/_template/filebeat?pretty' -d@/etc/filebeat/filebeat.template.json
    /etc/init.d/filebeat start
    /assets/wrapper
  • Docker-image编译:

    $ docker build -t gitlab-filebeat .
  • Docker-container运行:

    # Run with:
    $ docker run -d  -p 6622:22 -p 6620:80 -p 6443:443 --volume /root/docker/gitlab/config:/etc/gitlab  
     \ --volume /root/docker/gitlab/logs:/var/log/gitlab --volume /root/docker/gitlab/data:/var/opt/gitlab  --restart always  --name gitlab gitlab/gitlab-ce:latest

(4)示例:编译与运行docker-nodejs服务

  • Dockerfile文件说明:

    # Dockerfile to illustrate how Filebeat can be used with nginx
    # Filebeat 7.13.2
    
    # Build with:
    # docker build -t node-filebeat-7120 .
    
    # Run with:
    # docker run -it -d --hostname node-5001 -p 5001:5001 --name node-5001 
    #            \ -v node-back-end-cli:/root/node-back-end-cli 
    #            \ -v filebeat.yml:/etc/filebeat/filebeat.yml
    #            \ node-filebeat-7120 /bin/bash /usr/local/bin/start.sh -D
    
    FROM node
    MAINTAINER HuangJR huangz2350@163.com
    ENV REFRESHED_AT 2021-06-25
    
    
    ###############################################################################
    #                                INSTALLATION
    ###############################################################################
    
    ### install Filebeat
    
    ENV FILEBEAT_VERSION 7.12.0
    ENV FILEBEAT_BASE_VERSION 7.12.0
    
    
    RUN apt-get update -qq \
     && apt-get install -qqy curl \
     && apt-get clean
    
    RUN curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${FILEBEAT_VERSION}-amd64.deb \
     && dpkg -i filebeat-${FILEBEAT_VERSION}-amd64.deb \
     && rm filebeat-${FILEBEAT_VERSION}-amd64.deb
    
    
    ###############################################################################
    #                                CONFIGURATION
    ###############################################################################
    
    ### tweak nginx image set-up
    
    # remove log symlinks
    RUN rm -rf /var/log/node/*.log
    
    
    ### configure Filebeat
    
    # config file
    ADD filebeat.yml /etc/filebeat/filebeat.yml
    RUN chmod 644 /etc/filebeat/filebeat.yml
    
    # CA cert
    RUN mkdir -p /etc/pki/tls/certs
    ADD logstash-beats.crt /etc/pki/tls/certs/logstash-beats.crt
    
    # create template based on filebeat version (assumption: it is the same version as elasticsearch version)
    RUN filebeat export template --es.version ${FILEBEAT_BASE_VERSION} > /etc/filebeat/filebeat.template.json
    
    ###############################################################################
    #                                    DATA
    ###############################################################################
    
    ### 添加规则引擎服务
    
    COPY node-back-end-cli /root/node-back-end-cli
    
    
    ###############################################################################
    #                                    START
    ###############################################################################
    
    ADD ./start.sh /usr/local/bin/start.sh
    RUN chmod +x /usr/local/bin/start.sh
    
    # 下记代码如果需要后期修改filebeat内容或node代码更新,则下记功能不打开
    # CMD [ "/usr/local/bin/start.sh" ]
  • filebeat.yml文件说明:

    output:
      logstash:
        enabled: true
        index: node_5000  # 对应logstash中的index
        hosts:
          - 182.92.207.10:5044  # ELK的logstash服务
        timeout: 15
        ssl:
          certificate_authorities:
          - /etc/pki/tls/certs/logstash-beats.crt # 使用crt校验连接
    
    filebeat.config:
      modules:
        path: ${path.config}/modules.d/*.yml
        reload.enabled: false
    
    processors:
    - add_cloud_metadata: ~
    
    filebeat:
      inputs: #传入log位置
        -
          paths:
            - /var/log/syslog
            - /var/log/auth.log
          document_type: syslog
        - 
          paths:
            - /var/log/node/*.log
          type: log
          enabled: true
  • start.sh文件说明:

    #!/bin/bash
    
    curl -XPUT -H "Content-Type: application/json" 'http://182.92.207.10:9200/_template/filebeat?pretty' -d@/etc/filebeat/filebeat.template.json
    /etc/init.d/filebeat start
    /usr/local/bin/node /root/node-back-end-cli/bin/www.js
  • Docker-image编译:

    $ docker build -t node-filebeat-7120 .
  • Docker-container运行:

    # Run with:
    $ docker run -it -d --hostname node-5001 -p 5001:5001 --name node-5001 
                \ -v node-back-end-cli:/root/node-back-end-cli 
                \ -v filebeat.yml:/etc/filebeat/filebeat.yml
                \ node-filebeat-7120 /bin/bash /usr/local/bin/start.sh -D
  • 额外注意内容:

    • docker容器的端口号是和配置的产品相符合的,在【Docker-container运行】、【filebeat.yml文件】配置时注意下

    • 在生成新的规则引擎服务时,只需要对node-back-end-cli、filebeat.yml中的相关内容进行修改,不需要重新编译Docker-image

    • 对于node-back-end-cli需要添加log4js库写入日志文件,具体代码在"src/config/log.js"中

      var InternalLogger = function() {
      	this.log4js = {};
      	this.Logger = {};
      
      	// 对应log4js,可以向控制台输出,也可以保存到滚动文件中,然后可以通过filebeat上传到ELK中
      	this.initialize = function() {
      		this.log4js = require('log4js');
      		this.log4js.configure({
      		  appenders: {
      			console: {
      			  type: 'console'
      			},
      			file: {
      			  type: 'file',
      			  filename: '/var/log/node/node.log',
      			  maxLogSize: 102400,
      			  backups: 3
      			}
      		  },
      		  categories: {
      			default: { appenders: ['console', 'file'], level: 'info' }
      		  }
      		});
      		
      		this.Logger = this.log4js.getLogger();
      	};
      
      	this.trace = function(message) {
      		this.Logger.trace(message);
      	};
      
      	this.debug = function(message) {
      		this.Logger.debug(message);
      	};
      
      	this.info = function(message) {
      		this.Logger.info(message);
      	};
      
      	this.warn = function(message) {
      		this.Logger.warn(message);
      	};
      
      	this.error = function(message) {
      		this.Logger.error(message);
      	};
      
      	this.fatal = function(message){
      		this.Logger.fatal(message);
      	};
      };
      
      var Logger = new InternalLogger();
      Logger.initialize();
      
      module.exports = Logger;

      在代码中需要使用log的位置

      const Logger = require('../src/config/log.js') 
      
      server.listen(PORT, () => {
        Logger.info('server running at port 5000');
      })
木兰宽松许可证, 第2版 木兰宽松许可证, 第2版 2020年1月 http://license.coscl.org.cn/MulanPSL2 您对“软件”的复制、使用、修改及分发受木兰宽松许可证,第2版(“本许可证”)的如下条款的约束: 0. 定义 “软件”是指由“贡献”构成的许可在“本许可证”下的程序和相关文档的集合。 “贡献”是指由任一“贡献者”许可在“本许可证”下的受版权法保护的作品。 “贡献者”是指将受版权法保护的作品许可在“本许可证”下的自然人或“法人实体”。 “法人实体”是指提交贡献的机构及其“关联实体”。 “关联实体”是指,对“本许可证”下的行为方而言,控制、受控制或与其共同受控制的机构,此处的控制是指有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。 1. 授予版权许可 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,您可以复制、使用、修改、分发其“贡献”,不论修改与否。 2. 授予专利许可 每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的(根据本条规定撤销除外)专利许可,供您制造、委托制造、使用、许诺销售、销售、进口其“贡献”或以其他方式转移其“贡献”。前述专利许可仅限于“贡献者”现在或将来拥有或控制的其“贡献”本身或其“贡献”与许可“贡献”时的“软件”结合而将必然会侵犯的专利权利要求,不包括对“贡献”的修改或包含“贡献”的其他结合。如果您或您的“关联实体”直接或间接地,就“软件”或其中的“贡献”对任何人发起专利侵权诉讼(包括反诉或交叉诉讼)或其他专利维权行动,指控其侵犯专利权,则“本许可证”授予您对“软件”的专利许可自您提起诉讼或发起维权行动之日终止。 3. 无商标许可 “本许可证”不提供对“贡献者”的商品名称、商标、服务标志或产品名称的商标许可,但您为满足第4条规定的声明义务而必须使用除外。 4. 分发限制 您可以在任何媒介中将“软件”以源程序形式或可执行形式重新分发,不论修改与否,但您必须向接收者提供“本许可证”的副本,并保留“软件”中的版权、商标、专利及免责声明。 5. 免责声明与责任限制 “软件”及其中的“贡献”在提供时不带任何明示或默示的担保。在任何情况下,“贡献者”或版权所有者不对任何人因使用“软件”或其中的“贡献”而引发的任何直接或间接损失承担责任,不论因何种原因导致或者基于何种法律理论,即使其曾被建议有此种损失的可能性。 6. 语言 “本许可证”以中英文双语表述,中英文版本具有同等法律效力。如果中英文版本存在任何冲突不一致,以中文版为准。 条款结束 如何将木兰宽松许可证,第2版,应用到您的软件 如果您希望将木兰宽松许可证,第2版,应用到您的新软件,为了方便接收者查阅,建议您完成如下三步: 1, 请您补充如下声明中的空白,包括软件名、软件的首次发表年份以及您作为版权人的名字; 2, 请您在软件包的一级目录下创建以“LICENSE”为名的文件,将整个许可证文本放入该文件中; 3, 请将如下声明文本放入每个源文件的头部注释中。 Copyright (c) [Year] [name of copyright holder] [Software Name] is licensed under Mulan PSL v2. You can use this software according to the terms and conditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at: http://license.coscl.org.cn/MulanPSL2 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details. Mulan Permissive Software License,Version 2 Mulan Permissive Software License,Version 2 (Mulan PSL v2) January 2020 http://license.coscl.org.cn/MulanPSL2 Your reproduction, use, modification and distribution of the Software shall be subject to Mulan PSL v2 (this License) with the following terms and conditions: 0. Definition Software means the program and related documents which are licensed under this License and comprise all Contribution(s). Contribution means the copyrightable work licensed by a particular Contributor under this License. Contributor means the Individual or Legal Entity who licenses its copyrightable work under this License. Legal Entity means the entity making a Contribution and all its Affiliates. Affiliates means entities that control, are controlled by, or are under common control with the acting entity under this License, ‘control’ means direct or indirect ownership of at least fifty percent (50%) of the voting power, capital or other securities of controlled or commonly controlled entity. 1. Grant of Copyright License Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable copyright license to reproduce, use, modify, or distribute its Contribution, with modification or not. 2. Grant of Patent License Subject to the terms and conditions of this License, each Contributor hereby grants to you a perpetual, worldwide, royalty-free, non-exclusive, irrevocable (except for revocation under this Section) patent license to make, have made, use, offer for sale, sell, import or otherwise transfer its Contribution, where such patent license is only limited to the patent claims owned or controlled by such Contributor now or in future which will be necessarily infringed by its Contribution alone, or by combination of the Contribution with the Software to which the Contribution was contributed. The patent license shall not apply to any modification of the Contribution, and any other combination which includes the Contribution. If you or your Affiliates directly or indirectly institute patent litigation (including a cross claim or counterclaim in a litigation) or other patent enforcement activities against any individual or entity by alleging that the Software or any Contribution in it infringes patents, then any patent license granted to you under this License for the Software shall terminate as of the date such litigation or activity is filed or taken. 3. No Trademark License No trademark license is granted to use the trade names, trademarks, service marks, or product names of Contributor, except as required to fulfill notice requirements in Section 4. 4. Distribution Restriction You may distribute the Software in any medium with or without modification, whether in source or executable forms, provided that you provide recipients with a copy of this License and retain copyright, patent, trademark and disclaimer statements in the Software. 5. Disclaimer of Warranty and Limitation of Liability THE SOFTWARE AND CONTRIBUTION IN IT ARE PROVIDED WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR OR COPYRIGHT HOLDER BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THE SOFTWARE OR THE CONTRIBUTION IN IT, NO MATTER HOW IT’S CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 6. Language THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN THE CASE OF DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION SHALL PREVAIL. END OF THE TERMS AND CONDITIONS How to Apply the Mulan Permissive Software License,Version 2 (Mulan PSL v2) to Your Software To apply the Mulan PSL v2 to your work, for easy identification by recipients, you are suggested to complete following three steps: i Fill in the blanks in following statement, including insert your software name, the year of the first publication of your software, and your name identified as the copyright owner; ii Create a file named “LICENSE” which contains the whole context of this License in the first directory of your software package; iii Attach the statement to the appropriate annotated syntax at the beginning of each source file. Copyright (c) [Year] [name of copyright holder] [Software Name] is licensed under Mulan PSL v2. You can use this software according to the terms and conditions of the Mulan PSL v2. You may obtain a copy of Mulan PSL v2 at: http://license.coscl.org.cn/MulanPSL2 THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the Mulan PSL v2 for more details.

简介

基于ELK搭建的日志服务平台,使用filebeat进行日志收集 展开 收起
Docker
MulanPSL-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Docker
1
https://gitee.com/huangz2350_admin/elk-filebeat-docker.git
git@gitee.com:huangz2350_admin/elk-filebeat-docker.git
huangz2350_admin
elk-filebeat-docker
ELK-Filebeat-docker
master

搜索帮助