欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > graylog~认识一下-日志管理平台

graylog~认识一下-日志管理平台

2025/2/23 22:27:53 来源:https://blog.csdn.net/qq_45838796/article/details/145262436  浏览:    关键词:graylog~认识一下-日志管理平台

1、介绍

Graylog 是一个开源的日志管理和分析平台,旨在帮助企业集中收集、存储、搜索和分析来自各种来源的日志数据。它提供了强大的实时日志处理能力,适用于大规模分布式系统和复杂的生产环境。
主要功能

  • 集中化日志管理:
    收集来自不同来源的日志,包括应用程序、服务器、网络设备等。
    支持多种输入插件,如GELF(Graylog Extended Log Format)、Syslog、Beats等。

  • 实时日志分析:
    提供实时日志流处理和可视化功能。
    支持复杂的查询语言,可以快速定位和分析问题。

  • 告警和通知:
    可以设置基于规则的告警,当满足特定条件时触发通知。
    支持多种通知方式,如电子邮件、Slack、PagerDuty等。

  • 仪表盘和报表:
    创建自定义仪表盘,展示关键指标和趋势。
    生成定期报表,帮助团队了解系统健康状况。

  • 扩展性和灵活性:
    支持横向扩展,能够处理海量日志数据。
    提供丰富的插件和API,方便集成到现有基础设施中。

graylog依赖框架

  • mongodb
  • elasticsearch

mongodb主要负责持久化切块存储,elasticsearch则用于全文检索提升检索速度

在这里插入图片描述

2、graylog部署

(1)安装docker【略】
(2)安装docker-compose
i、官网下载安装包安装

https://github.com/docker/compose/releases

在这里插入图片描述
(ii)将文件上传服务器,修改文件名为docker-compose
在这里插入图片描述
(iii)授权文件

sudo chmod +x /usr/local/bin/docker-compose

(iv)创建软连接

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

(v)查看版本

docker-compose --version

在这里插入图片描述
安装完毕

(3)安装graylog
(i)创建目录并授权

mkdir -p /opt/app/logs/graylog/mongo_data
mkdir -p /opt/app/logs/graylog/es_data
mkdir -p /opt/app/logs/graylog/graylog_data
mkdir -p /opt/app/logs/graylog/graylog_data/configchmod 777 -R /opt/app/logs/graylog/mongo_data
chmod 777 -R /opt/app/logs/graylog/es_data
chmod 777 -R /opt/app/logs/graylog/graylog_data
chmod 777 -R /opt/app/logs/graylog/graylog_data/config

(ii)下载配置文件

wget http://raw.githubusercontent.com/Graylog2/graylog-docker/4.3/config/graylog.conf
wget http://raw.githubusercontent.com/Graylog2/graylog-docker/4.3/config/log4j2.xml

(iii)修改配置文件

vim /opt/graylog/graylog_data/config/graylog.conf

新增:
国内时区:root_timezone = PRC

修改
查询高亮:allow_highlighting = true

(iv)进到目录/opt/app/logs/graylog/graylog_data/config创建docker-compose.yml

version: '3'
services: mongodb:container_name: mongodbimage: mongo:4.4.0restart: alwaysvolumes:- /opt/graylog/mongo_data:/data/db- /etc/localtime:/etc/localtime:ro- /usr/share/zoneinfo/Asia/Shanghai:/etc/timezone:roelasticsearch:image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2container_name: elasticsearchrestart: alwaysvolumes:- /opt/graylog/es_data:/usr/share/elasticsearch/data- /etc/localtime:/etc/localtime:ro- /usr/share/zoneinfo/Asia/Shanghai:/etc/timezone:roports:- 9200:9200- 9300:9300environment:- TZ=Asia/Shanghai- http.host=0.0.0.0- transport.host=localhost- network.host=0.0.0.0- http.cors.allow-origin=*- http.cors.enabled=true- discovery.type=single-node- 'ES_JAVA_OPTS=-Xms1024m -Xmx1024m'graylog:image: graylog/graylog:4.3.6container_name: graylogrestart: alwaysvolumes:- /opt/graylog/graylog_data:/usr/share/graylog/data- /etc/localtime:/etc/localtime:ro- /usr/share/zoneinfo/Asia/Shanghai:/etc/timezone:roenvironment:# 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:9191/- GRAYLOG_MONGODB_URI=mongodb://mongodb:27017/graylog- GRAYLOG_ELASTICSEARCH_HOSTS=http://elasticsearch:9200- TZ=Asia/Shanghaientrypoint: /usr/bin/tini -- wait-for-it elasticsearch:9200 --  /docker-entrypoint.shdepends_on:- mongodb- elasticsearchlinks:- mongodb- elasticsearchports:# Graylog web interface and REST API- 9191:9000# Syslog TCP- 1514:1514# Syslog UDP- 1514:1514/udp# GELF TCP- 12201:12201# GELF UDP- 12201:12201/udp

(v) 启动

docker-compose up -ddocker-compose -f docker-compose.yml up -d

在这里插入图片描述
完成部署

3、使用

(1)项目集成
(i)项目引入依赖【使用合适版本,存在坑,不兼容问题】

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

兼容表如下
在这里插入图片描述

官网:https://go2docs.graylog.org/5-2/downloading_and_installing_graylog/installing_graylog.html

(ii)配置
在日志配置文件添加以下配置【记得注册一下】

 <!-- graylog日志配置 --><appender name="GELF_LOG" class="de.siegmar.logbackgelf.GelfUdpAppender"><!-- Graylog服务的地址 --><graylogHost>113.45.184.58</graylogHost><!-- UDP Input端口 --><graylogPort>12201</graylogPort><!--以下为可选配置--><maxChunkSize>508</maxChunkSize><useCompression>true</useCompression><encoder class="de.siegmar.logbackgelf.GelfEncoder"><!-- 是否发送原生的日志信息 --><includeRawMessage>true</includeRawMessage><includeMarker>true</includeMarker><includeMdcData>true</includeMdcData><includeCallerData>true</includeCallerData><includeRootCauseData>true</includeRootCauseData><includeLevelName>true</includeLevelName><!-- 是否发送日志级别的名称,否则默认以数字代表日志级别 --><includeLevelName>true</includeLevelName><shortPatternLayout class="ch.qos.logback.classic.PatternLayout"><pattern>%m%nopex</pattern></shortPatternLayout><fullPatternLayout class="ch.qos.logback.classic.PatternLayout"><!-- 使用定义的格式模式 --><pattern>[%-5level]\t%d{yyyy-MM-dd HH:mm:ss.SSS}\t%thread\t%logger\t%file:%line\t[%X{traceid}]\t%msg%n</pattern></fullPatternLayout><!--配置应用名称(服务名称),通过staticField标签可以自定义一些固定的日志字段--><staticField>app_name:${APP_NAME}</staticField></encoder></appender>

在这里插入图片描述
(2)打开控制台绑定项目

(i) 访问平台

http://ip:端口
eg: http://127.0.0.1:9999

在这里插入图片描述
账号/密码:admin/admin

(ii)设置保存时间
在这里插入图片描述
在这里插入图片描述
(iii)绑定项目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词