当前位置: 首页 > news >正文

GrayLog日志平台的基本使用-ssh接入Dashboards展示

这里使用的版本为graylog4.2.10

1、一键安装graylog4.2.10,解压zip包,执行脚本就行

链接:https://pan.baidu.com/s/11U7GpBZ1B7PXR8pyWVcHNw?pwd=udln 
提取码:udln

2、通过rsyslog采集系统日志,具体操作参考前面文章

GrayLog日志平台的基本使用-收集系统日志-CSDN博客

3、下载需要的安装包

Releases · P3TERX/GeoLite.mmdb · GitHub

GitHub - xkill/graylog_4.1_ssh: Graylog SSH parser and display

4、配置

(1)上传GeoIP地址库文件

GeoLite2-City.mmdb上传到GrayLog服务器的/etc/graylog/server目录中

(2)启用GeoIP Resolver

system/configurations中最右下方Geo-Location Processor中 启用Geo-Location Processor

并在Message Processors Configuration中将GeoIP Resolver的顺序放在最下面 拖拽即可

(3)上传并安装graylog_4.1_ssh-main-content-pack

(4)、修改Pipeline SSH的extract_ssh_fields

rule "extract_ssh_fields"
when
     has_field("message")
then
    let msg = to_string($message.message);
    let msg2 = regex_replace("Invalid user", msg, "Invalid user by invalid user");
    let parsed = grok(pattern: "%{SSH}", value: msg2, only_named_captures: true);
    set_fields(parsed);
    rename_field("ssh_rip","remote_addr");
    rename_field("ssh_username","username");
end 

(5)、模拟公网IP测试SSH登录失败

这里由于我在内网服务器上操作,可以ifconfig ens192:1起虚拟IP进行模拟  

可以在SSH Dashboard的地图中看到效果

6、解决localhost显示问题

1、添加一个pipeline

2、创建Pipeline Rules

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

3、把pipeline应用到stream中

4、在stage0中应用rules规则

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

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

验证: 

相关文章:

  • 使用python netmiko模块批量配置Cisco、华为、H3C路由器交换机(支持 telnet 和 ssh 方式)
  • QT 输入框输入限制 正则表达式限制 整理
  • Midjourney v6 正式发布,AI创新工坊同步更新
  • 与擎创科技共建一体化“数智”运维体系,实现数字化转型
  • 在k8s中将gitlab-runner的运行pod调度到指定节点
  • 【学习笔记】Java函数式编程03 Stream流-终结操作
  • 在ajax中使用callback
  • CNVD原创漏洞审核和处理流程
  • Python in Visual Studio Code 2023年12月发布
  • 基于 Linux 的批量上传本地 Git 仓库到 Github 的实践
  • Dash中的callback的使用 多input 6
  • 人工智能_机器学习078_聚类算法_概念介绍_聚类升维_降维_各类聚类算法_有监督机器学习_无监督机器学习---人工智能工作笔记0118
  • 个性化定制的知识付费小程序,为用户提供个性化的知识服务,知识付费saas租户平台
  • Maven 项目依赖仓库配置详解:pom.xml 中的 repositories 与 Maven 配置文件的调用顺序
  • 13.鸿蒙HarmonyOS App(JAVA)文本框组件按钮点击提示
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • 【笔记】你不知道的JS读书笔记——Promise
  • 10个最佳ES6特性 ES7与ES8的特性
  • DOM的那些事
  • IP路由与转发
  • javascript从右向左截取指定位数字符的3种方法
  • k8s 面向应用开发者的基础命令
  • k8s如何管理Pod
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • mac修复ab及siege安装
  • mongodb--安装和初步使用教程
  • Odoo domain写法及运用
  • PHP那些事儿
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • Vim Clutch | 面向脚踏板编程……
  • Vue2 SSR 的优化之旅
  • Webpack 4 学习01(基础配置)
  • 山寨一个 Promise
  • 深度学习中的信息论知识详解
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • # include “ “ 和 # include < >两者的区别
  • #微信小程序:微信小程序常见的配置传旨
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (二)换源+apt-get基础配置+搜狗拼音
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (译) 函数式 JS #1:简介
  • (转)Windows2003安全设置/维护
  • .form文件_SSM框架文件上传篇
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .Net Redis的秒杀Dome和异步执行
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • .NET与 java通用的3DES加密解密方法
  • .net知识和学习方法系列(二十一)CLR-枚举