阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

ELK stack实战之结合rsyslog分析系统日志(auth.log)

433次阅读
没有评论

共计 4110 个字符,预计需要花费 11 分钟才能阅读完成。

写在前边的话


在之前的文章中我么谈到了 ELK stack 的部署和简单的小 demo,然后我们又看了 elk stack 结合 filebeat 做了一个分析,具体可参考下面的链接:

Linux 部署 ELK 日志分析系统与简单测试 http://www.linuxidc.com/Linux/2016-10/135849.htm
ELK stack 实战之 Filebeat 的架构分析、配置解释与示例 http://www.linuxidc.com/Linux/2016-10/135850.htm

本篇文章我们主要谈一下 Linux 操作系统的 rsyslog(syslog),然后结合 elk stack 做一个分析 autho.log(linux 自己生成的日志) 的 demo

syslog 与 rsyslog


syslog

    首先需要说明的是 syslog 是一种协议,广泛用于系统日志,syslog 系统日志消息可以记录在本地,也可以发送到接受 syslog 日志的服务器统一进行存储和处理,也可以解析其中的内容做相应的处理。

    常见的应用场景是网络管理工具、安全管理系统、日志审计系统。
    对于老版本的 unix 操作系统,默认使用 syslog,但是在新版本都已经被 rsyslog 所替代
    老版本的 Linux 缺省使用 Syslog,其配置大致如下所示:

shell> cat /etc/syslog.conf

# Log all kernel messages to the console.
# Logging much else clutters up the screen.
# kern.* /dev/console

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages

# The authpriv file has restricted access.
authpriv.* /var/log/secure

# Log all the mail messages in one place.
mail.* -/var/log/maillog

# Log cron stuff
cron.* /var/log/cron

# Everybody gets emergency messages
*.emerg *

# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler

# Save boot messages also to boot.log
local7.* /var/log/boot.log

    完整的 syslog 日志中包含产生日志的程序模块(Facility)、严重性(Severity 或 Level)、时间、主机名或 IP、进程名、进程 ID 和正文。在 Unix 类操作系统上,能够按 Facility 和 Severity 的组合来决定什么样的日志消息是否需要记录,记录到什么地方,是否需要发送到一个接收 syslog 的服务器等。由于 syslog 简单而灵活的特性,syslog 不再仅限于 Unix 类主机的日志记录,任何需要记录和发送日志的场景,都可能会使用 syslog。

    这里涉及两个概念:Facility 和 Severity,中文的意思大致是类型和级别。重点说明两条配置的含义:首先,所有 Severity 大于等于 info 的信息都会被保存到「/var/log/messages」中,但是 Facility 为 mail、authpriv、cron 的消息例外;其次,所有 Facility 为 mail 的消息都会保存到「/var/log/maillog」中,日志文件前面的减号表示的意思是异步写文件。

rsyslog

上边也说了,对于现在的很多发行版都默认采用了 rsyslog,rsyslog 是 syslog 的升级版,这里我们看些 Facility 和 Serverity
rsyslog 通过 Facility 概念来定义日志消息的来源,以方便对日志进行分类,facility 有以下几种

        kern                     内核消息
        user                     用户级消息
        mail                     邮件系统消息
        datemon                  系统服务消息
        auth                     认证系统消息
        syslog                   日志系统本身消息
        lpr                      打印系统消息
        authpriv                 权限系统消息
        corn                     定时任务消息
        news                     新闻系统消息
        uucp                     uucp 系统消息
        ftp                      ftp 系统消息 

除了日志来源以外,对于同一来源产生的日志消息,还进行了优先级的划分,优先级分为以下几种

        Emergency                系统已经不能使用
        Alert                    必须立即进行处理
        Critical                 严重错误
        Error                    错误
        Warning                  警告
        Notice                   正常信息,但是较为重要
        Informational            正常信息
        Debug                    debug 信息 

案例:rsyslog+ELK 分析 auth.log


启动 / 停止 / 查看 rsyslog 的状态

在配置 rsyslog 的机器上执行即可

sudo service rsyslog start
sudo service rsyslog stop
Sudo service rsyslog status

使用系统的 logger 命令测试 rsyslog 是否工作

在配置 rsyslog 的机器上执行即可

Logger hello world

查看 /var/log/message

[master@localhost log]$ sudo tail -n 1 messages
Sep 29 23:37:00 localhost master: hello word

测试 rsyslog 的性能

使用官方提供的 tcpflood
https://github.com/rsyslog/rsyslog/blob/master/tests/tcpflood.c

rsyslog+elk 做日志收集

1、服务器两台

192.168.197.129    配置 elk            OS:RedHat
192.168.197.131    rsyslog 客户端  OS:CentOS7

2、ELK 客户端配置
即 129 这个服务器
rsyslog.conf

input {
  tcp{port => 5514
    type => syslog
  }
  udp{port => 5514
    type => syslog
  }
}
output {
  stdout {codec=> rubydebug}
  elasticsearch {hosts => ["192.168.197.129:9200"]
  }
}

启动 ELK 服务

rsyslog 客户端配置

即 131 这个服务器

sudo vim /etc/rsyslog.conf

找到下边的一段,去掉注释:

# provides UDP syslog reception
# module(load="imudp")
# input(type="imudp" port="5514")

# provides TCP syslog reception
# module(load="imtcp")
# input(type="imtcp" port="5514")

如下:

# provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="5514")

# provides TCP syslog reception
module(load="imtcp")
input(type="imtcp" port="5514")

最后添加一行(elk 所在机器的 ip 和监听的端口)

*.*  @192.168.197.129:5514

重启 rsyslog 服务

sudo service rsyslog restart

测试

在 rsyslog 所在客户端执行

logger -p info“hello, remote rsyslog”

部署 ELK 的服务器终端查看 Elasticsearch 的输出

ELK stack 实战之结合 rsyslog 分析系统日志 (auth.log)

kibana 的 web 展示界面可以看到

ELK stack 实战之结合 rsyslog 分析系统日志 (auth.log)

当然我们也可以执行一些其他的命令

ssh localhost

输入正确的密码,在终端可以监测到:

ELK stack 实战之结合 rsyslog 分析系统日志 (auth.log)

ssh localhost 输入错误的密码:

ELK stack 实战之结合 rsyslog 分析系统日志 (auth.log)

根据这种情况我们就可以针对登录日志做出相应的分析

这里的 logstash 中的 rsyslog.conf 文件也可以这样写

input {
   syslog{port => 5514
    type => syslog
  }
}
output {
  stdout {codec=> rubydebug}
  elasticsearch {hosts => ["192.168.197.129:9200"]
  }
}

这个时候在 rsyslog 的服务器中执行

logger -p info“hello, remote rsyslog”

ELK stack 实战之结合 rsyslog 分析系统日志 (auth.log)


END

————————————– 分割线 ————————————–

CentOS 上配置 rsyslog 客户端用以远程记录日志  http://www.linuxidc.com/Linux/2015-02/112989.htm

CentOS 6.3 下利用 Rsyslog+LogAnalyzer+MySQL 部署日志服务器 http://www.linuxidc.com/Linux/2013-07/86956.htm

使用 rsyslog mysql 和 logAnalyzer 的日志服务器 http://www.linuxidc.com/Linux/2012-09/70717.htm

Rsyslog 配置及使用教程  http://www.linuxidc.com/Linux/2015-02/113614.htm

RHEL5.4 部署中央日志服务器之 rsyslog+loganalyzer  http://www.linuxidc.com/Linux/2010-12/30801.htm

————————————– 分割线 ————————————–

Rsyslog 的详细介绍 :请点这里
Rsyslog 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-10/135851.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4110字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19356
评论数
4
阅读量
8277910
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛 NAS-7:手把手教你免费内网穿透 -Cloudflare tunnel 前言 大家好,我是星...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
开源项目绝版游戏保护计划:重温一下经典游戏

开源项目绝版游戏保护计划:重温一下经典游戏

  开源项目绝版游戏保护计划:重温一下经典游戏 在数字时代,游戏作为一种文化载体,面临着前所未有的生...
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...
飞牛NAS升级到最新版,有线无法获取IP、无线网络莫名打开的BUG问题

飞牛NAS升级到最新版,有线无法获取IP、无线网络莫名打开的BUG问题

  飞牛 NAS 升级到最新版,有线无法获取 IP、无线网络莫名打开的 BUG 问题 星哥的飞牛 N...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...