1. 首页 > 快讯

记一次利用GrayLog实现采集与备份云服务器Web访问日志的实现过程-51CTO.COM

一、业务场景及主要需求

如图所示:

  1. 采集AWS云服务器(Web服务器)的nginx访问日志,并进行日志分析。
  2. 由于AWS云Web服务器(Web服务器)上磁盘空间有限,nginx日志做了logrotate轮转,只保留了最近5天,但是又想做日志长久留存(不仅仅是安全要求),所以想通过同步或者备份的方式在内网的服务器上对nginx Web日志进行增量备份。

二、具体实现的思路

由于AWS云服务器在内网可以SSH访问(AWS云服务器安全组上已经将出口公网IP加入SSH端口的白名单)。

  1. 内网部署一台GrayLog服务器,将Graylog日志服务器的Syslog接收端口2514能过出口防火墙映射到公网。
  2. AWS云服务器通过rsyslog服务采集本地的nginx日志,并发送上一步中到映射到公网的Syslog UDP端口上,也就是发送GrayLog。
  3. 利用GrayLog服务器的磁盘空间,rsync+SSH+crontab的方式实现文件增量同步备份。

三、具体实现步骤

1、AWS云服务器配置rsyslog

vi/etc/rsyslog.d/toGraylog.conf
module(load"imfile"PollingInterval"1")
# Input for FILE1
#wildcardisallowed at file level only
input(
type"imfile"
tag"Nginxlog"
ruleset"filelog"
Facility"local0"
Severity"info"
PersistStateInterval"1"
reopenOnTruncate"on"
freshStartTail"on"
file"/var/log/nginx/access.log"
)
# Define a template for file events
template(name"GraylogFormatFilelog"type"string"string"%msg%\n")

#Replace the TargetandPortvalueswith your GrayLog IP addressandport.
ruleset(name"filelog"){
action(
type"omfwd"
protocol"udp"
target"115.58.180.214"
port"2514"
template"GraylogFormatFilelog"
queue.type"LinkedList"
queue.filename"fileq1"
queue.saveonshutdown"on"
action.resumeRetryCount"-1"
)stop
}

重启rsyslog服务:

systemctl restart rsyslog

2、GrayLog上验证是否收到日志

效果如下:

可以对提取出来的access访问IP做GEOIP查询。



3、实现日志增量备份

先测试一下免密登录是否OK AWS服务器上生成密钥对。

sshkeygent rsab4096
cat id_rsa.pub>>/root/.ssh/authorized_keys

GrayLog服务器上验证使用私钥是否可以免密登录到AWS服务器。

sshi/home/id_rsa root@115.58.180.214

接下来利用rsync+SSH+crontab实现备份。

vi/opt/aws_logs_backup.sh
!/bin/bash
LOCK=/var/log/aws_logs_rsync_record.log
echo"备份日期:">>${LOCK}2>&1
echo `date'+%Y-%m-%d_%T'`>>${LOCK}2>&1
echo"================= AWS logs Rsync starting===============================">>${LOCK}2>&1
rsync--progress -avz -e "ssh -p 22 -i /home/id_rsa" root@115.58.180.214:/var/log/nginx/access.log* /opt/AWS_logs_backup/ >>${LOCK} 2>&1
echo"================= AWS logs Rsync Finished===============================">>${LOCK}2>&1

赋予脚本执行权限。

chmod755/opt/aws_logs_backup.sh
crontabe
[root@graylog~]# crontabl
000,6,12,18,23/opt/aws_logs_backup.sh
sh/opt/aws_logs_backup.sh

尝试手动同步是否OK。

后续再观察增量同步备份是否OK。

rsync参考之前文章:部署CwRsyncServer实现Linux下文件同步到WindowsServer服务器。

OK,关于记一次利用GrayLog实现采集与备份云服务器Web访问日志的实现过程-51CTO.COM和的内容到此结束了,希望对大家有所帮助。

用户评论

拽年很骚

终于找到了这篇关于 Graylog 实践的文章!一直想了解怎么在云平台上采集和备份 Web 日志,现在终于有思路了。

    有16位网友表示赞同!

逃避

这个方法听起来很方便啊,不用再去手动下载日志文件了,太省心了。

    有15位网友表示赞同!

陌潇潇

Graylog确实是个 powerful 的工具,用来处理大规模的数据非常棒。

    有15位网友表示赞同!

采姑娘的小蘑菇

这篇文章写得很详细,讲解步骤清晰易懂,新手也能跟着做出来。

    有15位网友表示赞同!

最怕挣扎

以前一直用默认的日志存储方式,现在看来 Graylog 可以帮我更好地分析日志数据哦。

    有10位网友表示赞同!

颓废人士

云服务器Web访问日志记录很重要,要及时备份才能保证安全和可追溯性。

    有6位网友表示赞同!

一笑傾城゛

文章提到了 Graylog 的一些核心功能,挺有启发意义的。

    有13位网友表示赞同!

没过试用期的爱~

在实际应用中 Graylog 可以帮助我们更快地发现问题吗?

    有9位网友表示赞同!

挽手余生ら

学习这篇文章,我可能可以对服务器日志进行更深入的分析了。

    有6位网友表示赞同!

岁岁年年

对于那些经常开发 web 应用的人来说,Graylog 也挺有用的吧?

    有19位网友表示赞同!

汐颜兮梦ヘ

想了解一下 Graylog 的使用成本和架构细节呢。

    有12位网友表示赞同!

北朽暖栀

有没有什么推荐的相关学习资料,我想进一步了解 Graylog 的用法。

    有13位网友表示赞同!

莫飞霜

这篇文章很有深度,解决了很多实际应用中遇到的问题。

    有20位网友表示赞同!

ゞ香草可樂ゞ草莓布丁

感觉这个方法可以用于其他类型的日志采集和备份吗?很想知道!

    有19位网友表示赞同!

万象皆为过客

如果服务器压力比较大,GRAYLOG 能否应对效率的挑战呢?

    有12位网友表示赞同!

发呆

Graylog 除了用来分析日志还能做些什么其他的事情呢?

    有12位网友表示赞同!

良人凉人

有没有什么更好的工具可以替代 Graylog 呢?

    有6位网友表示赞同!

尘埃落定

这篇文提到的技术可以用在这篇博客内容的文章分析里吗?

    有12位网友表示赞同!

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/7465.html

联系我们

在线咨询:点击这里给我发消息

微信号:666666