前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx访问日志接入GrayLog4.2.5并通过GeoIP展现访问者IP的地理位置信息

Nginx访问日志接入GrayLog4.2.5并通过GeoIP展现访问者IP的地理位置信息

作者头像
yuanfan2012
发布2022-03-31 20:51:10
1.2K0
发布2022-03-31 20:51:10
举报
文章被收录于专栏:WalkingCloudWalkingCloud

Nginx访问日志接入GrayLog4.2.5并通过GeoIP展现访问者IP的地理位置信息

(图片可点击放大查看)

配置步骤

1、maxmind官网下载GeoLite2-City的mmdb文件

https://www.maxmind.com/

(图片可点击放大查看)

上传/etc/graylog/server目录中

(图片可点击放大查看)

并在配置中启用,以及修改Message Processors配置中的顺序

(图片可点击放大查看)

(图片可点击放大查看)

2、Graylog升级至最新版本

代码语言:javascript
复制
rpm -aq | grep graylog-server
yum update graylog-server -y

(图片可点击放大查看)

因为所使用graylog-content-pack-nginx-syslog要求4.2.5以上版本 升级完成后重启服务

代码语言:javascript
复制
systemctl restart graylog-server

(图片可点击放大查看)

3、下载graylog-content-pack-nginx-syslog

https://github.com/scriptingislife/graylog-content-pack-nginx-syslog

修改为1515端口作为syslog input接收端口并导入

(图片可点击放大查看)

点击install后

(图片可点击放大查看)

(图片可点击放大查看)

可以在Input中看到nginx-syslog 1515端口的一个input

(图片可点击放大查看)

先启用input

(图片可点击放大查看)

这时若GrayLog的防火墙没有开放1515 udp端口,则需要开放一下

代码语言:javascript
复制
firewall-cmd --permanent --zone=public --add-port=1515/udp
firewall-cmd --reload

(图片可点击放大查看)

4、nginx服务器上修改nginx.conf配置文件

代码语言:javascript
复制
    log_format graylog_json escape=json '{ "nginx_timestamp": "$time_iso8601", '
        '"remote_addr": "$remote_addr", '
        '"connection": "$connection", '
        '"connection_requests": $connection_requests, '
        '"pipe": "$pipe", '
        '"body_bytes_sent": $body_bytes_sent, '
        '"request_length": $request_length, '
        '"request_time": $request_time, '
        '"response_status": $status, '
        '"request": "$request", '
        '"request_method": "$request_method", '
        '"host": "$host", '
        '"upstream_cache_status": "$upstream_cache_status", '
        '"upstream_addr": "$upstream_addr", '
        '"http_x_forwarded_for": "$http_x_forwarded_for", '
        '"http_referrer": "$http_referer", '
        '"http_user_agent": "$http_user_agent", '
        '"http_version": "$server_protocol", '
        '"remote_user": "$remote_user", '
        '"http_x_forwarded_proto": "$http_x_forwarded_proto", '
        '"upstream_response_time": "$upstream_response_time", '
        '"nginx_access": true }';

    access_log syslog:server=192.168.31.127:1515 graylog_json;
    access_log /var/log/nginx/access.log main ;
    error_log  /var/log/nginx/error.log;

(图片可点击放大查看)

然后重启nginx服务

5、Graylog上可以查询到该nginxserver的日志

(图片可点击放大查看)

可以看出已经拆解成了相应的字段

(图片可点击放大查看)

6、模拟公网IP访问nginx webserver

这时若能匹配到GeoIP,则会有如下GEO相关字段

(图片可点击放大查看)

7、配置WorldMap

代码语言:javascript
复制
Field:remote_addr_geolocation

Type:World Map

(图片可点击放大查看)

(图片可点击放大查看)

8、GEO MAP效果如下

(图片可点击放大查看)

(图片可点击放大查看)

(图片可点击放大查看)

本文参考如下链接完成

代码语言:javascript
复制
1、https://zhuanlan.zhihu.com/p/113755052
2、https://www.graylog.org/post/how-to-set-up-graylog-geoip-configuration
3、https://scriptingis.life/NGINX-Syslog-Graylog/
4、https://github.com/scriptingislife/graylog-content-pack-nginx-syslog
5、https://cloud.tencent.com/developer/article/1690193
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 WalkingCloud 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、maxmind官网下载GeoLite2-City的mmdb文件
  • 2、Graylog升级至最新版本
  • 3、下载graylog-content-pack-nginx-syslog
  • 4、nginx服务器上修改nginx.conf配置文件
  • 5、Graylog上可以查询到该nginxserver的日志
  • 6、模拟公网IP访问nginx webserver
  • 7、配置WorldMap
  • 8、GEO MAP效果如下
相关产品与服务
弹性公网 IP
弹性公网 IP(Elastic IP,EIP)是可以独立购买和持有,且在某个地域下固定不变的公网 IP 地址,可以与 CVM、NAT 网关、弹性网卡和高可用虚拟 IP 等云资源绑定,提供访问公网和被公网访问能力;还可与云资源的生命周期解耦合,单独进行操作;同时提供多种计费模式,您可以根据业务特点灵活选择,以降低公网成本。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档