rsyslog的讲解

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
日志服务 SLS,月写入数据量 50GB 1个月
简介:

日志:历史日志

历史事件:

时间,事件

日志级别:事件的关键性程度,Loglevel


系统日志服务:

syslog:

syslogd: system

klogd: kernel


rsyslog:

syslogd

klogd


rsyslog:

多线程;

UDP, TCP, SSL, TLS, RELP;

MySQL, PGSQL, Oralce实现日志存储;

强大的过滤器,可实现过滤日志信息中任何部分;

自定义输出格式


elasticsearch, logstash, kibana = elk


日志收集方:

facility:设施,从功能或程序上对日志进行分类;

auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security, user, uucp, local0-local7, syslog

priority

debug, info, notice, warn(warning), err(error), crit(critical), alert, emerg(panic)


指定级别:

*: 所有级别

none: 没有级别

priority: 此级别及更高级别的日志信息

=priority:此级别


facility.priority /var/log/messages


程序环境:

主程序:rsyslogd

配置文件:/etc/rsyslog.conf

服务脚本:/etc/rc.d/init.d/rsyslog


rsyslog.conf

RULES:

facility.priority  target


target: 

文件路径:记录于指定的日志文件中,通常应该在/var/log目录下;文件路径前的“-”表示异步写入;

用户:将日志通知给指定用户

*: 所有用户

日志服务器:@host

host: 必须要监听在tcp或udp协议514端口上提供服务;

管道: |COMMAND


文件记录的日志的格式:

事件产生的日期时间  主机  进程(pid):事件内容


有些日志记录二进制格式:/var/log/wtmp,/var/log/btmp

/var/log/wtmp: 当前系统上成功登录的日志;

last

/var/log/btmp:当前系统上失败的登录尝试;

lastb


lastlog命令:显示当前系统每一个用户最近一次的登录时间;


rsyslog服务器:

# Provides UDP syslog reception

$ModLoad imudp //一定要有个端口接收日志信息

$UDPServerRun 514


# Provides TCP syslog reception

$ModLoad imtcp

$InputTCPServerRun 514


配置使用基于mysql存储日志信息:

(1) 准备好MySQL服务器,创建用户,授权对Syslog数据库的全部访问权限;

                    GRANT ALL ON Syslog.* TO 'syslog'@'192.168.%.%' IDENTIFIED BY 'syslog'

(2) 安装rsyslog-mysql程序包;

                    yum install rsyslog-mysql

                    rpm -ql rsyslog-mysql

                        查询到/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

(3) 创建rsyslog-mysql依赖的数据库;//自动执行sql语句创建

# mysql -uUSERNAME -hHOST -pPASSWORD < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

(4) 配置rsyslog使用ommysql模块

#### MODULES ####

$ModLoad ommysql //output modules


#### RULES ####

facility.priority  :ommysql:DBHOST,DB,DBUSER,USERPASS

                        :ommysql:192.168.18.9,Syslog,syslog,syslog

重启rsyslog服务

                        service rsyslog restart

(5) 安装loganalyzer//是rsyslog的web前端

(a) 配置webserver, 支持php

# yum install httpd php php -mysql php-gd

# service httpd start

(b) loganalyzer

# cp -r loganalyzer-3.6.5/src /var/www/html/loganalyzer

# cp loganalyzer-3.6.5/contrib/*.sh /var/www/html/loganalyzer

# cd /var/www/html/loganalyzer

# chmod +x *.sh

# ./configure.sh

# ./secure.sh

# chmod 666 config.php



本文转自 神迹难觅 51CTO博客,原文链接:http://blog.51cto.com/ji123/1957180,如需转载请自行联系原作者

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
存储 关系型数据库 MySQL
CentOS7+Rsyslog+MySQL 搭建 Rsyslog 日志服务器
CentOS7+Rsyslog+MySQL 搭建 Rsyslog 日志服务器
557 0
|
网络协议 Linux
|
关系型数据库 MySQL PHP
httpd 的坑
Httpd服务器的坑 在/etc/httpd/conf/httpd.conf中的配置信息, 有时注释到的内容仍然会生效 配置Auth时, 允许htpasswd规定的文件中的所有的用户, Require valid-uesr, 允许特定的用户Require user user1 user2 user3 .
945 0
|
JavaScript 前端开发 Shell
|
应用服务中间件 nginx 网络协议
Nginx使用Rsyslog记录日志
直接使用Nginx记录日志,在多台服务器的情况下日志会过于分散不容易管理,不过nginx在1.7.1版本以后,可以使用Rsyslog来记录日志。 Rsyslog可以作为集中日志服务器。
|
Web App开发 监控 测试技术
|
数据安全/隐私保护
|
Web App开发 监控 关系型数据库