graylog

作者: 皮皮灬 | 来源:发表于2022-08-30 09:25 被阅读0次

    1、轻量级ELK

    graylog文档地址

    轻量级部署
    高可用部署

    2、安装部署

    version: '3'
    services:
      # MongoDB: https://hub.docker.com/_/mongo/
      mongo:
        image: mongo:4.2
        volumes:
          - /data/graylog/monogod/mongo_data:/data/db
          - /etc/localtime:/etc/localtime:ro
          - /usr/share/zoneinfo/Asia/Shanghai:/etc/timezone:ro
        networks:
          - graylog
      # Elasticsearch: https://www.elastic.co/guide/en/elasticsearch/reference/7.10/docker.html
      elasticsearch:
        image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
        volumes:
          - /data/graylog/es/es_data:/usr/share/elasticsearch/data
        environment:
          - http.host=0.0.0.0
          - transport.host=localhost
          - network.host=0.0.0.0
          - "ES_JAVA_OPTS=-Dlog4j2.formatMsgNoLookups=true -Xms512m -Xmx512m"
        ulimits:
          memlock:
            soft: -1
            hard: -1
        deploy:
          resources:
            limits:
              memory: 1g
        networks:
          - graylog
      # Graylog: https://hub.docker.com/r/graylog/graylog/
      graylog:
        image: graylog/graylog:4.2
        environment:
          # CHANGE ME (must be at least 16 characters)!
          - GRAYLOG_PASSWORD_SECRET=somepasswordpepper
          # Password: admin
          - GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
          - GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:9000/
          - TZ=Asia/Shanghai
        entrypoint: /usr/bin/tini -- wait-for-it elasticsearch:9200 --  /docker-entrypoint.sh
        networks:
          - graylog
        restart: always
        depends_on:
          - mongo
          - elasticsearch
        ports:
          # Graylog web interface and REST API
          - 9000:9000
          # Syslog TCP
          - 1514:1514
          # Syslog UDP
          - 1514:1514/udp
          # GELF TCP
          - 12201:12201
          # GELF UDP
          - 12201:12201/udp
    networks:
      graylog:
        driver: bridge
    

    执行命令 docker-compose up -d
    访问ip:9000
    账号和密码是admin/admin

    3、springboot接入graylog

    1、引入依赖

    <dependency>
      <groupId>de.siegmar</groupId>
      <artifactId>logback-gelf</artifactId>
      <version>3.0.0</version>
    </dependency>
    

    2、在logback.xml配置graylog相关的信息:

    <appender name="GELF" class="de.siegmar.logbackgelf.GelfUdpAppender">
      <!-- Graylog服务的地址 -->
      <graylogHost>ip</graylogHost>
      <!-- UDP Input端口 -->
      <graylogPort>12201</graylogPort>
      <!-- 最大GELF数据块大小(单位:字节),508为建议最小值,最大值为65467 -->
      <maxChunkSize>508</maxChunkSize>
      <!-- 是否使用压缩 -->
      <useCompression>true</useCompression>
      <encoder class="de.siegmar.logbackgelf.GelfEncoder">
        <!-- 是否发送原生的日志信息 -->
        <includeRawMessage>false</includeRawMessage>
        <includeMarker>true</includeMarker>
        <includeMdcData>true</includeMdcData>
        <includeCallerData>false</includeCallerData>
        <includeRootCauseData>false</includeRootCauseData>
        <!-- 是否发送日志级别的名称,否则默认以数字代表日志级别 -->
        <includeLevelName>true</includeLevelName>
        <shortPatternLayout class="ch.qos.logback.classic.PatternLayout">
          <pattern>%m%nopex</pattern>
        </shortPatternLayout>
        <fullPatternLayout class="ch.qos.logback.classic.PatternLayout">
          <pattern>%d - [%thread] %-5level %logger{35} - %msg%n</pattern>
        </fullPatternLayout>
    
        <!-- 配置应用名称(服务名称),通过staticField标签可以自定义一些固定的日志字段 -->
        <staticField>app_name:austin</staticField>
      </encoder>
    </appender>
    

    按实际情况修改Graylog服务的地址

    相关文章

      网友评论

          本文标题:graylog

          本文链接:https://www.haomeiwen.com/subject/xwllnrtx.html