ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

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

2026/9/14 1:26:41 拓冰建站 浏览量
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查看匹配到规则的吞吐量 

验证: