东莞哪家网站建设好,网站风格设定,陕西住建电子证书查询,绵阳做网站的公司简介
Graylog 是一个用于集中式日志管理的开源平台。在现代数据驱动的环境中#xff0c;我们需要处理来自各种设备、应用程序和操作系统的大量数据。Graylog提供了一种方法来聚合、组织和理解所有这些数据。它的核心功能包括流式标记、实时搜索、仪表板可视化、告警触发、内容…简介
Graylog 是一个用于集中式日志管理的开源平台。在现代数据驱动的环境中我们需要处理来自各种设备、应用程序和操作系统的大量数据。Graylog提供了一种方法来聚合、组织和理解所有这些数据。它的核心功能包括流式标记、实时搜索、仪表板可视化、告警触发、内容包快速配置、索引设置、日志发射器管理和处理管道。 流Streams流作为对传入消息进行标记的方法。它可以实时将消息路由到不同的类别并使用规则指示Graylog将消息路由到适当的流中。 搜索SearchGraylog提供了一个搜索页面可以直接搜索日志。使用类似于Lucene的简化语法用户可以从下拉菜单中配置相对或绝对的时间范围。搜索结果可以保存也可以作为仪表板小部件进行可视化从搜索界面直接添加到仪表板中。 仪表板Dashboards仪表板是对日志事件中包含的信息进行可视化或摘要的方式。每个仪表板由一个或多个小部件组成通过使用字段值生成数据来可视化或摘要事件日志数据如计数、平均值或总数。用户可以创建指标、图表、图形和地图来更直观地呈现数据。 告警Alerts通过事件定义和条件创建告警。当特定条件满足时将其存储为事件并触发通知。 内容包Content Packs内容包可以加速特定数据源的设置过程。它可以包含输入/提取器、流、仪表板、告警和处理管道。例如用户可以为支持安全用例创建自定义输入、流、仪表板和告警。然后将内容包导出并在新安装的Graylog实例上导入以便节省配置时间和工作量。 索引Indexes索引是OpenSearch和Elasticsearch中存储数据的基本单位。索引集提供了保留、分片和复制等存储数据的配置选项。通过在每个索引上设置值如保留和轮换策略可以对不同的数据应用不同的处理规则。 Graylog SidecarGraylog Sidecar是一种管理日志发射器如Beats或NXLog的代理工具。这些日志发射器用于收集Linux和Windows服务器的操作系统日志。日志发射器读取本地日志文件然后将其发送到集中式日志管理解决方案。Graylog支持管理任何日志发射器作为后端。 处理管道Processing PipelinesGraylog的处理管道允许用户对特定类型的事件运行规则或一系列规则。通过与流关联管道可实现消息的路由、拒绝列表、修改和丰富提高数据处理的灵活性。
通过这些核心功能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服务器进程旁边占用的磁盘空间很小。
之前的文章中【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 命令将其修改为 262144sudo sed -i s/vm.max_map_count.*/vm.max_map_count262144/ /etc/sysctl.conf
else# 如果不存在设置则在文件末尾添加新的设置echo vm.max_map_count262144 | 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: mongorestart: alwaysvolumes:- mongo_data:/data/dbnetworks:- graylog-netopensearch:image: opensearchproject/opensearch:latestrestart: alwaysenvironment:- cluster.namegraylog- node.nameopensearch- discovery.typesingle-node- network.host0.0.0.0- action.auto_create_indexfalse- plugins.security.disabledtrue- OPENSEARCH_JAVA_OPTS-Xms1g -Xmx1gulimits:memlock:soft: -1hard: -1nofile:soft: 65536hard: 65536volumes:- opensearch_data:/usr/share/opensearch/datanetworks:- graylog-netgraylog:image: graylog/graylog:5.1restart: alwaysenvironment:- GRAYLOG_PASSWORD_SECRETGrayLog12345678- GRAYLOG_ROOT_PASSWORD_SHA28c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918- GRAYLOG_HTTP_EXTERNAL_URIhttp://127.0.0.1:9000/- GRAYLOG_TRANSPORT_EMAIL_ENABLEDtrue- GRAYLOG_TRANSPORT_EMAIL_HOSTNAMEsmtp.tech.com- GRAYLOG_TRANSPORT_EMAIL_PORT25- GRAYLOG_TRANSPORT_EMAIL_USE_AUTHfalse- GRAYLOG_TRANSPORT_EMAIL_USE_TLSfalse- GRAYLOG_TRANSPORT_EMAIL_USE_SSLfalse- GRAYLOG_ELASTICSEARCH_HOSTShttp://opensearch:9200- GRAYLOG_ROOT_TIMEZONEAsia/Shanghaientrypoint: /usr/bin/tini -- wait-for-it opensearch:9200 -- /docker-entrypoint.shnetworks:- graylog-netdepends_on:- mongo- opensearchports:- 9000:9000- 1514:1514- 1514:1514/udp- 2055:2055volumes:- graylog_data:/usr/share/graylog/data- /etc/timezone:/etc/timezone- /etc/localtime:/etc/localtime
volumes:mongo_data:driver: localopensearch_data:driver: localgraylog_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_data、opensearch_data和graylog_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
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