Rsyslog

Rsyslog

ryslog 是一个快速处理收集系统日志的程序,提供了高性能、安全功能和模块化设计。rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地,据官网介绍,现在可以处理100万条信息。

.  特性:1.多线程

     2.支持加密协议:ssl,tls,relp

     3.mysql、oracle、postgreSQL

     4.等等..

日志分类(facility)
auth,authpriv,cron,daemon,kern,lpr,mail,mark,news,security,user,uucp,syslog,local0-local7

日志级别(priority)

编码 优先级 严重性
0 emerg(panic) 系统不可用
1 alert 必须采取措施
2 crit(critical) 严重状况
3 err 非严重错误状况
4 warning 警告状况
5 notice 正常但重要的事件
6 info 信息性事件
7 debug 调试级别信息

常用参数介绍

参数 解释
* 所有级别
none 没有级别,不记录
=priority 只记录此级别,不记录上层级别
facility.* 当前类型的所有级别
*.priority 所有类型的当前级别及以上层级别将被记录日志

配置rsyslog日志服务器
安装rsyslog程序,并配置以下相关内容

shell> yum install rsyslog
shell> vim /etc/rsyslog.conf
#### MODULES ####
$ModLoad imudp
$UDPServerRun 514			开启UDP,TCP和UDP 可以共存的
$AllowedSender udp,172.16.0.0/24   #允许172.16.0网段内的主机以UDP协议来传输
$template Remote,"/data/log/%fromhost-ip%/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log" #定义模板,接受日志文件路径,区分了不同主机的日志
:fromhost-ip,!isequal,"127.0.0.1" ?Remote  #过滤server 本机的日志

创建日志目录,并重启服务配置防火墙

shell> mkdir -p /data/log
shell> systemctl restart rsyslog
shell> firewall-cmd --permanent --add-port=514/udp
shell> firewall-cmd --reload

客户机安装rsyslog

shell> yum install rsyslog

编辑配置文件,将所有日志的info级别以上日志信息(mail,authpriv,cron信息除外)发送给日志服务器

shell> vim /etc/rsyslog.conf
*.info;mail.none;authpriv.none;cron.none               @172.16.0.102:514
shell> systemctl restart rsyslog

在日志服务器中查看日志目录新增的日志文件

shell> ls /data/log/
172.16.0.105
shell> file /data/log/172.16.0.105/172.16.0.105_2017-06-22.log
/data/log/172.16.0.105/172.16.0.105_2017-06-22.log: ASCII text

基于LAMP和loganalyzer搭建WEB监控日志系统

安装LAMP架构,此处不做赘述

shell> yum install mariadb-server mariadb php php-mysql

安装rsyslog rsyslog-mysql

shell> yum install rsyslog rsyslog-mysql

配置数据库

shell> cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
shell> vi /etc/my.cnf
skip_name_resolve=on
innodb_file_per_table=on

数据库安装初始化(不做赘述)

shell> mysql_secure_installation

重启服务

systemctl restart mariadb

查看rsyslog-mysql库文件,以及sql脚本路径

shell> rpm -ql rsyslog-mysql
/usr/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql

导入sql脚本

shell>  mysql -p < /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql

配置日志用户权限

MariaDB >grant all on Syslog.* to 'syslog'@'172.16.0.%' identified by 'syspass';
MariaDB >flush privileges;

配置相关服务的防火墙


shell> firewall-cmd --permanent --add-service=http
shell> firewall-cmd --permanent --add-service=mysql
shell> firewall-cmd --reload

客户端

首先确保可以用日志用户连接数据库

shell> mysql -usyslog -h172.16.0.102 -psyspass -e "show databases;" &> /dev/null && echo "ok" || echo "error" 
ok

安装rsyslog以及rsyslog-mysql使日志可以发送给数据库

shell> yum install rsyslog rsyslog-mysql
shell> vi /etc/rsyslog.conf
#### MODULES ####
$ModLoad ommysql
#### RULES ####
*.info;mail.none;authpriv.none;cron.none               :ommysql:172.16.0.102,Syslog,syslog,syspass

名词解释

调用的模块 主机地址 数据库 用户名 密码
:ommysql :172.16.0.102, Syslog, syslog, syspass

重启服务加载配置文件

shell> systemctl restart rsyslog

LAMP安装loganalyzer

loganalyzer下载地址
https://files.cnblogs.com/files/xyhome/loganalyzer-3.6.5.tar.gz
shell> tar xf loganalyzer-3.6.5.tar.gz
shell> cp loganalyzer-3.6.5/src/* /var/www/html   -rf
shell> cd /var/www/html
shell> touch config.php
shell> chmod 666 config.php

安装步骤


此处显示无法显示图形,提醒安装php-gd即可显示

安装php-gd后,重启httpd服务,刷新网页即可显示

posted on 2017-06-22 11:07  architect&*  阅读(249)  评论(0编辑  收藏  举报

导航