【Ubuntu】简洁高效企业级日志平台后起之秀Graylog

这篇具有很好参考价值的文章主要介绍了【Ubuntu】简洁高效企业级日志平台后起之秀Graylog。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

Graylog 是一个用于集中式日志管理的开源平台。在现代数据驱动的环境中,我们需要处理来自各种设备、应用程序和操作系统的大量数据。Graylog提供了一种方法来聚合、组织和理解所有这些数据。它的核心功能包括流式标记、实时搜索、仪表板可视化、告警触发、内容包快速配置、索引设置、日志发射器管理和处理管道。

  1. 流(Streams):流作为对传入消息进行标记的方法。它可以实时将消息路由到不同的类别,并使用规则指示Graylog将消息路由到适当的流中。

  2. 搜索(Search):Graylog提供了一个搜索页面,可以直接搜索日志。使用类似于Lucene的简化语法,用户可以从下拉菜单中配置相对或绝对的时间范围。搜索结果可以保存,也可以作为仪表板小部件进行可视化,从搜索界面直接添加到仪表板中。

  3. 仪表板(Dashboards):仪表板是对日志事件中包含的信息进行可视化或摘要的方式。每个仪表板由一个或多个小部件组成,通过使用字段值生成数据来可视化或摘要事件日志数据,如计数、平均值或总数。用户可以创建指标、图表、图形和地图来更直观地呈现数据。

  4. 告警(Alerts):通过事件定义和条件创建告警。当特定条件满足时,将其存储为事件,并触发通知。

  5. 内容包(Content Packs):内容包可以加速特定数据源的设置过程。它可以包含输入/提取器、流、仪表板、告警和处理管道。例如,用户可以为支持安全用例创建自定义输入、流、仪表板和告警。然后,将内容包导出,并在新安装的Graylog实例上导入,以便节省配置时间和工作量。

  6. 索引(Indexes):索引是OpenSearch和Elasticsearch中存储数据的基本单位。索引集提供了保留、分片和复制等存储数据的配置选项。通过在每个索引上设置值,如保留和轮换策略,可以对不同的数据应用不同的处理规则。

  7. Graylog Sidecar:Graylog Sidecar是一种管理日志发射器(如Beats或NXLog)的代理工具。这些日志发射器用于收集Linux和Windows服务器的操作系统日志。日志发射器读取本地日志文件,然后将其发送到集中式日志管理解决方案。Graylog支持管理任何日志发射器作为后端。

  8. 处理管道(Processing Pipelines):Graylog的处理管道允许用户对特定类型的事件运行规则或一系列规则。通过与流关联,管道可实现消息的路由、拒绝列表、修改和丰富,提高数据处理的灵活性。

通过这些核心功能,Graylog提供了强大而灵活的工具来帮助用户收集、解析和分析日志数据,从而发现问题并做出相应决策。无论是小型企业还是大型组织,Graylog都为日志管理提供了全面可靠的解决方案。

Graylog最简架构

Graylog基于把日志存储在数据节点、使用Elasticsearch或OpenSearch作为搜索引擎来提供强大的日志管理和分析功能。

  • Graylog服务器
    Graylog服务器是Graylog架构中的核心组件,它通过与数据节点交互,为用户提供一个简化的数据访问和搜索接口。用户可以通过Graylog服务器提交搜索查询,而无需直接与数据节点进行交互,从而极大地简化了数据的访问和处理过程。
  • 数据节点
    日志数据存储在数据节点中,其中可以使用Elasticsearch或OpenSearch作为存储引擎。这两个开源搜索引擎具备强大的索引和搜索能力,使用户能够高效地查询和分析大量的日志数据。Graylog 5.1仅支持Elasticsearch的7.10.2版本!我们建议您使用OpenSearch 2.5作为数据节点以支持Graylog 5.1。
  • MongoDB
    MongoDB用于存储元数据,如用户信息和流配置。这些数据并不包含实际的日志数据,因此对系统性能影响较小。MongoDB运行在Graylog服务器进程旁边,占用的磁盘空间很小。
    【Ubuntu】简洁高效企业级日志平台后起之秀Graylog,Ubuntu,Linux,ubuntu,graylog,数据库

之前的文章中【Graylog之最小化部署安装(Ubuntu 22.04)】有介绍如何在Ubuntu 22.04上最小化安装Graylog,这次我们换成在Docker中最小化来部署Garylog,同时我们也将原来的Elasticsearch换成了OpenSearch。

部署

主机设置

在启动 OpenSearch 之前,您应该查看一些重要的系统设置,这些设置可以影响服务的性能。

  • 关闭主机上的内存分页和交换以提高性能。
 sudo swapoff -a
  • 增加 OpenSearch 可用的内存映射数量。
# 检查 sysctl.conf 文件中是否已经存在 vm.max_map_count 设置
if grep -q "vm.max_map_count" /etc/sysctl.conf; then
    # 如果已存在设置,则使用 sed 命令将其修改为 262144
    sudo sed -i 's/vm.max_map_count.*/vm.max_map_count=262144/' /etc/sysctl.conf
else
    # 如果不存在设置,则在文件末尾添加新的设置
    echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf
fi

# 重新加载内核参数
sudo sysctl -p

# 通过检查值来验证更改是否已应用
cat /proc/sys/vm/max_map_count

拉取如下三个镜像

docker pull mongo
docker pull opensearchproject/opensearch:latest
docker pull graylog/graylog:5.1

编辑Docker Compose文件并启动

version: '3'
services:
  mongo:
    image: mongo
    restart: always
    volumes:
      - mongo_data:/data/db
    networks:
      - graylog-net
  opensearch:
    image: opensearchproject/opensearch:latest
    restart: always
    environment:
      - cluster.name=graylog
      - node.name=opensearch
      - discovery.type=single-node
      - network.host=0.0.0.0
      - action.auto_create_index=false
      - plugins.security.disabled=true
      - "OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g"
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
    volumes:
      - opensearch_data:/usr/share/opensearch/data
    networks:
      - graylog-net
  graylog:
      image: graylog/graylog:5.1
      restart: always
      environment:
       - GRAYLOG_PASSWORD_SECRET=GrayLog@12345678
       - GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
       - GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:9000/
       - GRAYLOG_TRANSPORT_EMAIL_ENABLED=true
       - GRAYLOG_TRANSPORT_EMAIL_HOSTNAME=smtp.tech.com
       - GRAYLOG_TRANSPORT_EMAIL_PORT=25
       - GRAYLOG_TRANSPORT_EMAIL_USE_AUTH=false
       - GRAYLOG_TRANSPORT_EMAIL_USE_TLS=false
       - GRAYLOG_TRANSPORT_EMAIL_USE_SSL=false
       - GRAYLOG_ELASTICSEARCH_HOSTS=http://opensearch:9200
       - GRAYLOG_ROOT_TIMEZONE=Asia/Shanghai
      entrypoint: /usr/bin/tini -- wait-for-it opensearch:9200 --  /docker-entrypoint.sh
      networks:
        - graylog-net
      depends_on:
        - mongo
        - opensearch
      ports:
       - 9000:9000
       - 1514:1514
       - 1514:1514/udp
       - 2055:2055
      volumes:
       - graylog_data:/usr/share/graylog/data
       - /etc/timezone:/etc/timezone
       - /etc/localtime:/etc/localtime
volumes:
  mongo_data:
    driver: local
  opensearch_data:
    driver: local
  graylog_data:
    driver: local
networks:
  graylog-net:

以上主要定义了三个服务:MongoDB、OpenSearch和Graylog,并设置了它们的相关配置。
MongoDB服务使用mongo镜像,设置了持续重启(restart: always)。它将/data/db目录挂载为mongo_data卷,并与graylog-net网络关联。
OpenSearch服务使用opensearchproject/opensearch:latest镜像,同样设置了持续重启。它定义了一系列环境变量用于配置OpenSearch,包括集群名称、节点名称、发现类型、网络主机、禁用安全插件等等。此外,还设置了内存锁定和文件打开限制等系统限制。/usr/share/opensearch/data目录被挂载为opensearch_data卷,并与graylog-net网络关联。
Graylog服务使用graylog/graylog:5.1镜像,同样设置了持续重启。它定义了一系列环境变量来配置Graylog,包括密码密钥、根密码哈希、HTTP外部URI、电子邮件传输配置、OpenSearch主机等等。入口点是/usr/bin/tini -- wait-for-it opensearch:9200 -- /docker-entrypoint.sh,它在启动Graylog之前将等待OpenSearch服务就绪。Graylog服务与graylog-net网络关联,并依赖于MongoDB和OpenSearch服务。端口映射包括9000用于Web界面、1514和2055用于接收日志数据。关于Graylog的一系列环境变量都可以通过环境变量进行设置。只需将参数名称以GRAYLOG_为前缀,并全部使用大写字母。具体配置参考【service.conf】。

另外,该docker-compose.yml文件定义了三个卷:mongo_dataopensearch_datagraylog_data,它们分别用于持久化存储MongoDB、OpenSearch和Graylog的数据。
最后,定义了一个名为graylog-net的网络,用于连接MongoDB、OpenSearch和Graylog服务。
请注意,您需要根据您自己的配置和需求进行适当的更改,例如更改密码、主机名、网络配置等。保存并命名为docker-compose.yml文件,然后在包含该文件的目录中运行以下命令启动这三个服务:

docker-compose up -d

这将启动MongoDB、OpenSearch和Graylog服务,并您可以通过访问http://hostip:9000/来访问Graylog的Web界面。以上YML文件中定义的默认用户名密码为 admin/admin
【Ubuntu】简洁高效企业级日志平台后起之秀Graylog,Ubuntu,Linux,ubuntu,graylog,数据库

Reference:
[1] https://opensearch.org/docs/latest/install-and-configure/install-opensearch/docker/
[2] https://go2docs.graylog.org/5-0/setting_up_graylog/server.conf.html
[3] https://www.joda.org/joda-time/timezones.html
[4] https://go2docs.graylog.org/5-1/downloading_and_installing_graylog/docker_installation.htm
[5] https://hub.docker.com/r/graylog/graylog
[6] https://hub.docker.com/r/opensearchproject/opensearch
[7] https://hub.docker.com/_/mongo文章来源地址https://www.toymoban.com/news/detail-652891.html

到了这里,关于【Ubuntu】简洁高效企业级日志平台后起之秀Graylog的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ELK 企业级日志分析系统(三)

    定义: zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目 工作机制: zookeeper从设计模式角度来理解:是以一个基于观察者模式设计的分布式服务管理框架,它复习存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生改变,

    2024年02月15日
    浏览(41)
  • ELK 企业级日志分析系统(二)

    目录 ELK Kiabana 部署(在 Node1 节点上操作) 1.安装 Kiabana 2.设置 Kibana 的主配置文件  3.启动 Kibana 服务 4.验证 Kibana  5.将 Apache 服务器的日志(访问的、错误的)  添加Elasticsearch 并通过 Kibana 显示  Filebeat+ELK 部署 在 filebeat 节点上操作 2.设置 filebeat 的主配置文件  

    2024年02月14日
    浏览(38)
  • ELK 企业级日志分析系统(一)

    服务器数量较少时 使用 rsyslog 或 脚本 收集、分割日志,统一汇总到专门存放日志的日志服务器保存管理。 (查看日志可把需要的日志文件传输到 windows 主机上,使用专业的文本工具打开分析日志) 服务器数量较多时 使用 ELK 收集日志,存储日志,展示日志。 日志主要包括

    2024年02月16日
    浏览(37)
  • [ELK] ELK企业级日志分析系统

    1.1 ELK 简介与组件 ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。 ●ElasticSearch:是基于Lucene(一个全文检索引擎的架构)开发的分布式存储检索引擎,用来存储各类日

    2024年01月21日
    浏览(73)
  • ELK 企业级日志分析系统 简单介绍

    目录 一     ELK 简介 1, elk 是什么 2,elk 架构图 3,elk 日志处理步骤 二    Elasticsearch 简介 1, Elasticsearch 是什么 2, Elasticsearch 的核心概念 3, Elasticsearch 的原理 三     Logstash 1, Logstash 是什么 2,Logstash 架构图 四,Logstash 的代替品  1,Filebeat 1.1,为什么Logs

    2024年04月13日
    浏览(42)
  • ELK 企业级日志分析系统 ELFK

    ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。 使用ELK日志文件系统的原因:日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了

    2024年02月07日
    浏览(43)
  • 分布式ELK 企业级日志分析系统

    ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。 ElasticSearch :是基于Lucene(一个全文检索引擎的架构)开发的分布式存储检索引擎,用来存储各类日志。Elasticsearch 是用

    2024年02月16日
    浏览(40)
  • ELK、ELKF企业级日志分析系统介绍

     前言 随着企业级应用系统日益复杂,随之产生的海量日志数据。传统的日志管理和分析手段,难以做到高效检索、实时监控以及深度挖掘潜在价值。在此背景下,ELK日志分析系统应运而生。\\\"Elastic\\\" 是指 Elastic 公司所提供的一系列与搜索、日志分析和数据可视化相关的产品。

    2024年04月15日
    浏览(42)
  • DAY 74 ELK企业级日志分析系统

    ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求 ElasticSearch: 是基于Lucene(一个全文检索引擎的架构)开发的分布式存储检索引擎,用来存储各类日志。 Elasticsearch 是用

    2024年02月09日
    浏览(35)
  • 分布式应用:ELK企业级日志分析系统

    目录 一、理论 1.ELK  2.ELK场景  3.完整日志系统基本特征 4.ELK 的工作原理          5.ELK集群准备 6.Elasticsearch部署(在Node1、Node2节点上操作) 7.Logstash 部署(在 Apache 节点上操作) 8.Kiabana 部署(在 Node1 节点上操作) 二、实验          1.Elasticsearch部署(在Node1、Node2节点上

    2024年02月14日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包