利用pipeline实现GrayLog中用日志源IP地址区分主机

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 利用pipeline实现GrayLog中用日志源IP地址区分主机

640.png


在使用GrayLog采集Linux服务器系统日志的过程,在GrayLog 查询界面source列中只能看到主机名, 当主机数量很多时,特别是多个主机有相同主机名时,这时就无法区分日志来自于是哪一台主机了


比如多台主机的hostname都为默认的localhost


640.png

为了解决这个问题,我的想法是能否将source这一列能否用主机IP来展示。


经过翻阅GrayLog社区上的文章,最终找到解决办法 具体文章链接


https://community.graylog.org/t/use-source-ip-for-source-field/20684


640.png


640.png

具体的配置方法如下


1、添加一个pipeline


pipeline名字为changehostname_to_ip

640.png


640.png


2、创建Pipeline Rules

640.png

描述为


replace source with sending IP


Rule source 规则语法如下


rule "Replace source with sending IP"
when
  has_field("message")
then
  set_field("source", to_string($message.gl2_remote_ip));
end


并点击应用

640.png

3、把pipeline应用到stream中

640.png

640.png


4、在stage0中应用rules规则

640.png

当匹配到pipeline中的规则中,就按规则中语法进行处理  

可以通过Throughput查看匹配到规则的吞吐量

640.png

640.png


5、验证效果

640.png

Tips


elasticsearch index.max_result_window数量过小问题


GrayLog后台服务器上执行如下语句解决


curl -XPUT -H 'Content-Type: application/json' -d '{"index_patterns": ["graylog_*"], "settings": {"index.max_result_window": 9000000}}' 'http://127.0.0.1:9200/_template/template_1'


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6月前
|
存储 监控 数据可视化
日志分析对决:揭示 ELK 与 GrayLog 的优势和差异
日志分析对决:揭示 ELK 与 GrayLog 的优势和差异
1327 0
|
12天前
|
存储 运维 监控
开源日志Graylog
【10月更文挑战第21天】
52 8
|
2月前
|
运维 NoSQL Java
SpringBoot接入轻量级分布式日志框架GrayLog技术分享
在当今的软件开发环境中,日志管理扮演着至关重要的角色,尤其是在微服务架构下,分布式日志的统一收集、分析和展示成为了开发者和运维人员必须面对的问题。GrayLog作为一个轻量级的分布式日志框架,以其简洁、高效和易部署的特性,逐渐受到广大开发者的青睐。本文将详细介绍如何在SpringBoot项目中接入GrayLog,以实现日志的集中管理和分析。
223 1
|
3月前
|
存储 监控 网络协议
在Linux中,如何使用 tcpdump 监听主机为 192.168.1.1,tcp 端⼝为 80 的数据,并将将输出结果保存输出到tcpdump.log?
在Linux中,如何使用 tcpdump 监听主机为 192.168.1.1,tcp 端⼝为 80 的数据,并将将输出结果保存输出到tcpdump.log?
|
3月前
|
应用服务中间件 Linux nginx
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
|
3月前
|
网络安全
【Azure Service Bus】启用诊断日志来获取客户端访问Azure Service Bus的IP地址 [2024-03-26 实验结果失败]
【Azure Service Bus】启用诊断日志来获取客户端访问Azure Service Bus的IP地址 [2024-03-26 实验结果失败]
|
4月前
|
数据库连接
系统日志使用问题之如何区分WARN和ERROR级别的日志
系统日志使用问题之如何区分WARN和ERROR级别的日志
|
4月前
|
运维 关系型数据库 Serverless
函数计算产品使用问题之如何在日志中打印出你本地机器的IP地址
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
6月前
|
域名解析 网络协议 应用服务中间件
nginx-ingress通过ipv6暴露服务,并在nginx ingress日志中记录客户端真实ipv6的ip地址
本文主要通过阿里云提供的clb和nlb来实现,建议是提前创建好双栈的vpc和vsw(使用clb可以不用双栈vpc和vsw)
625 1
|
6月前
|
Linux Perl
sed提取日志中的IP地址
sed提取日志中的IP地址
253 4