日志系统rsyslog及其Web界面
2015-08-10 19:27
323 查看
在系统运维工作中,记录日志是重中之重,它可以帮助我们快速定位问题所在,监控服务器的运行状态等等,而且一般日志都是实时记录的,所以如果有黑客入侵,我们可以迅速中断网络或者电源来查看日志分析黑客的信息。
如果是一个在线的非常繁忙的服务器,那么它的日志记录量是非常大的,所以我们就需要建立专门的日志记录系统,在CentOS6和7上使用的就是rsyslog。其实我们的每个应用程序和内核都可以各自记录日志,而且它们记录日志的格式等各不相同,所以rsyslog可以将这些程序和内核的日志记录功能包揽过来,进行统一的记录,这样既规范又减轻了各程序开发日志功能的工作。
Rsyslog支持的功能:
facility: 设施,从功能或程序上对日志进行分类,并由专门的工具(facility)负责记录相应的日志信息;
RULLS:
Target之前的-表示不直接同步到磁盘上而是异步写入,先保存到内存中,默认除了mail其它的都是同步
target:
成功登录系统的日志:/var/log/wtmp
查看命令:last
失败的登录的尝试:/var/log/btmp
查看命令:lastb
lastlog命令:显示当前系统每个用户各自最近一次的登录信息;
模块:
启用本机成为日志服务器:
我们看到web2是我们的web服务器和rsyslog客户端,db是我们的数据库和rsyslog服务器,并且日志成功保存到了db之上。接下来我们演示一下日志保存到MariaDB数据库和使用web gui界面管理日志。
最好在客户端和服务端都安装rsyslog-mysql包:
在服务端导入rsyslog所需数据库文件:
创建客户端登陆用户并授权:
在客户端添加所需模块并定义数据库位置:
客户端重启日志服务,可以看到数据库中已经有了web2的日志:
下载并解压缩loganalyzer-3.6.5,将其src子目录移动到/web下命名为log:
#拷贝其配置脚本和安全脚本,并运行之
添加配置界面:
查看web服务的运行用户:
更改/web/log及其子目录的属主为http:
配置web服务器:
访问web服务器根据向导安装loganalyzer:
最重要的就是这一步:
好了已经可以看到web2的日志了:
测试在web2上安装个zsh:
可以直接同步到mysql:
OK,我们的日志功能就介绍到这里了,还有像ELK这样的应用我们有时间再介绍,如有错误敬请指出。
本文出自 “Linuxlove” 博客,请务必保留此出处http://linuxlover.blog.51cto.com/2470728/1683408
如果是一个在线的非常繁忙的服务器,那么它的日志记录量是非常大的,所以我们就需要建立专门的日志记录系统,在CentOS6和7上使用的就是rsyslog。其实我们的每个应用程序和内核都可以各自记录日志,而且它们记录日志的格式等各不相同,所以rsyslog可以将这些程序和内核的日志记录功能包揽过来,进行统一的记录,这样既规范又减轻了各程序开发日志功能的工作。
Rsyslog支持的功能:
多线程; UDP, TCP, SSL, TLS, RELP MySQL, PGSQL, Oracle等多种关系数据库中 强大的过滤器,可实现过滤系统信息中的任意部分 自定义输出格式 适用于企业级别日志记录需求核心概念:
facility: 设施,从功能或程序上对日志进行分类,并由专门的工具(facility)负责记录相应的日志信息;
auth:认证相关 authpriv:认证权限相关 cron:计划任务相关 daemon:守护进程相关 kern:内核相关 lpr:打印相关 mail:邮件相关 mark:防火墙标记 news:新闻信息 security:安全相关 syslog:自身日志 user:用户相关 uucp:Unix to Unix copy,早期系统文件共享服务 local0 - local7:用户自定义facilitypriority:级别
debug:调试 info:除debug外的所有信息 notice:注意 warn, warning:警告 err, error:错误信息 crit:蓝色警报 alert:橙色警报 emerg, panic:红色警报 指定级别的方式: *: 所有级别 none: 没有级别 priority: 比此级别高的(包含)所有级别的日志信息都会记录 =priority: 仅记录指定级别rsyslog的配置文件:/etc/rsyslog.conf
RULLS:
facility.priority [-]target设施.级别 何处
Target之前的-表示不直接同步到磁盘上而是异步写入,先保存到内存中,默认除了mail其它的都是同步
target:
文件路径:将日志记录于指定的文件中;在文件路径之前使用"-",表示异步写入; 用户:将日志信息通知给文件 *: 所有用户 日志服务器:@SERVER 管道:| COMMAND文件记录日志文件的格式:
事件产生的时间 主机名 进程(PID): 事件有些日志记录二进制格式:
成功登录系统的日志:/var/log/wtmp
查看命令:last
失败的登录的尝试:/var/log/btmp
查看命令:lastb
lastlog命令:显示当前系统每个用户各自最近一次的登录信息;
模块:
启用本机成为日志服务器:
$ModLoad imudp #通过UDP的514端口搜集日志信息,即将自己当做日志服务器 $UDPServerRun 514 $ModLoad imtcp #通过TCP的514端口搜集日志信息,即将自己当做日志服务器 $InputTCPServerRun 514
我们看到web2是我们的web服务器和rsyslog客户端,db是我们的数据库和rsyslog服务器,并且日志成功保存到了db之上。接下来我们演示一下日志保存到MariaDB数据库和使用web gui界面管理日志。
最好在客户端和服务端都安装rsyslog-mysql包:
在服务端导入rsyslog所需数据库文件:
创建客户端登陆用户并授权:
在客户端添加所需模块并定义数据库位置:
客户端重启日志服务,可以看到数据库中已经有了web2的日志:
下载并解压缩loganalyzer-3.6.5,将其src子目录移动到/web下命名为log:
#拷贝其配置脚本和安全脚本,并运行之
添加配置界面:
查看web服务的运行用户:
更改/web/log及其子目录的属主为http:
配置web服务器:
访问web服务器根据向导安装loganalyzer:
最重要的就是这一步:
好了已经可以看到web2的日志了:
测试在web2上安装个zsh:
可以直接同步到mysql:
OK,我们的日志功能就介绍到这里了,还有像ELK这样的应用我们有时间再介绍,如有错误敬请指出。
本文出自 “Linuxlove” 博客,请务必保留此出处http://linuxlover.blog.51cto.com/2470728/1683408
相关文章推荐
- 算法竞赛入门经典第五章
- 线程私有数据
- Android Touch事件传递机制通俗讲解
- JVM - 体系结构 内存模型
- 数据结构(12)哈希表
- 【移动安全】Android APP逆向跟踪分析常见问题解决方案
- Java Socket编程
- Android 网络学习之获取服务器文本文件
- 【一些事晚报】知乎神回复又一波
- Android 嵌套滑动机制(NestedScrolling)
- poj 2449 A*求k短路
- 线程基础总结
- 机器学习中梯度下降法和牛顿法的比较
- uva558 Wormholes SPFA 求是否存在负环
- 数据结构(11)无向图相关算法基础
- static 类中的静态成员,组合类,友元函数 ,内部类
- Ubuntu 安裝思源字體
- Tempter of the Bone
- CF Geometric Progression (DP和map)
- LeetCode(24) Swap Nodes in Pairs