rsyslog多线程远程日志记录介绍(lamp+rsyslog)

rsyslog:

rsyslog:

多线程;

支持UDP, TCP, SSL, TLS, RELP远程日志记录

rsyslog支持将日志记录在MySQL, PGSQL, Oracle等多种关系数据库中

rsyslog支持强大的过滤器,可实现过滤系统信息中的任意部分

自定义输出格式

适用于企业级别日志记录需求

对于日志产生速率非常快的,保存在数据库中是不明智的,可能会使用nosql,分布式

elk组件: elasticsearch, logstash日志收集工具, kibana图形展示工具

elk:轻量,易用,展示,分析平台

elk:为独立的,大量的日志生成而工作

日志生成方:应用程序和内核

每个应用程序都可自行记录日志

内核也可记录日志

rsyslog核心概念:

facility: 设施,从功能或程序上对日志进行分类,并由专门的工具负责记录相应的日志信息;

auth;认证

authpriv:认证权限

cron:定期任务计划

daemon:守护

kern:内核

lpr:打印系统

mail:邮件

mark:防火墙

news:新的

security:安全

syslog:自己的日志

user:用户

uucp:uinxcp,uinx2

local0 - local7:自定义

priority:级别

debug:调试

info:除debug之外

notice:请关注

warn, warning:警告级别

err, error:发生错误

crit:蓝色警报

alert:红色警报

emerg, panic:橙色,红色

指定级别的方式:

*: 所有级别

none: 没有级别

priority: 比此级别高的(包含)所有级别的日志信息都会记录

=priority: 仅记录指定级别

文件记录日志文件的格式:

事件产生的时间          主机                  进程(PID):                      事件

有些日志记录二进制格式,例如,两个日志文件:

成功登录系统的日志:/var/log/wtmp

查看命令:last

失败的登录的尝试:/var/log/btmp

查看命令:lastb

lastlog命令:显示当前系统每个用户各自最近一次的登录信息

rsyslog的配置文件:/etc/rsyslog.conf

一,模块:

启用本机成为日志服务器:

vim  /etc/rsyslog.conf

UDP

$ModLoad imudp

$UDPServerRun 514       收集日志信息

开启UDP模块后便可以使用ss -unlp查看514端口是否开启了

TCP

$ModLoad imtcp

$InputTCPServerRun 514

二,rsyslog支持把日志存储于mysql中:

(1) 有可用的MySQL服务器;

简单安装:yum -y install mysql-server

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

yum -y install rsyslog-mysql

(3) 创建rsyslog依赖的数据库;

# mysql -u root -p < /usr/share/doc/rsyslog-mysql-VERSION/createDB.sql

(rpm -ql rsyslog-mysql可以查看sql文件位置)

(4)进入mysql查看Syslog是否已经导入

#mysql -u root -p

password:

MariaDB [(none)]> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| Syslog |

| blog

MariaDB [(none)]> use Syslog

Database changed

MariaDB [Syslog]> show tables;

+------------------------+

| Tables_in_Syslog |

+------------------------+

| SystemEvents |

| SystemEventsProperties |

+------------------------+

2 rows in set (0.00 sec)

MariaDB [Syslog]> desc SystemEventsProperties;

+---------------+------------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+---------------+------------------+------+-----+---------+----------------+

| ID | int(10) unsigned | NO | PRI | NULL | auto_increment |

| SystemEventID | int(11) | YES | | NULL | |

| ParamName | varchar(255) | YES | | NULL | |

| ParamValue | text | YES | | NULL | |

+---------------+------------------+------+-----+---------+----------------+

4 rows in set (0.05 sec)

(5) 配置rsyslog启用ommysql模块;

vim /etc/rysylog.conf

#### MODULES ####

$ModLoad ommysql

(6) 定义某facility把日志记录至指定的数据库的指定表中;

vim /etc/rysylog.conf

#### RULES ####

facility.priority :ommysql:SERVER_IP,DATABASE,USERNAME,PASSWORD

*.info;mail.none;authpriv.none;cron.none :ommysql:127.0.0.1,Syslog表,rsyslog用户,password密码

当我们保存后,/var/log/messages中的日志将会收集在mysql的Syslog中

创建用户

[root@www ~]# mysql -u root -p

MariaDB [(none)]> GRANT ALL ON Syslog.* TO 'rsyslog'@'127.0.0.1' IDENTIFIED BY 'password';

Query OK, 0 rows affected (0.06 sec)

MariaDB [(none)]> GRANT ALL ON Syslog.* TO 'rsyslog'@'localhost' IDENTIFIED BY 'password';

Query OK, 0 rows affected (0.02 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.01 sec)

测试:

安装yum -y install zsh,而后进入数据库查看是否有安装日志!

MariaDB [(none)]> use Syslog

Database changed

MariaDB [Syslog]> SELECT * FROM SystemEvents;

+----+------------+---------------------+---------------------+----------+----------+----------+--------------------------------------------------------------------------------------------+------------+------------+-------------+-----------+---------------+---------+-----------------------+-----------+----------+----------+------------+------------+--------------+-----------------+----------+

| ID | CustomerID | ReceivedAt | DeviceReportedTime | Facility | Priority | FromHost | Message | NTSeverity | Importance | EventSource | EventUser | EventCategory | EventID | EventBinaryDAvailable | CurrUsage | MinUsage | MaxUsage | InfoUnitID | SysLogTag | EventLogType | GenericFileName | SystemID |

+----+------------+---------------------+---------------------+----------+----------+----------+--------------------------------------------------------------------------------------------+------------+------------+-------------+-----------+---------------+---------+-----------------------+-----------+----------+----------+------------+------------+--------------+-----------------+----------+

| 1 | NULL | 2015-05-16 03:52:07 | 2015-05-16 03:52:07 | 0 | 6 | www | imklog 5.8.10, log source = /proc/kmsg star | NULL | NULL | NULL | NULL | NULL | NULL | NULL NULL | NULL | NULL | NULL | 1 | kernel: | NULL | NULL | NULL |

| 2 | NULL | 2015-05-16 03:52:07 | 2015-05-16 03:52:07 | 5 | 6 | www | [origin software="rsyslogd" swVersion="5.8d="5972" x-info="http://www.rsyslog.com"] start | NULL | NULL | NULL | NULL | NULL | NULL | NULL NULL | NULL | NULL | NULL | 1 | rsyslogd: | NULL | NULL | NULL |

| 3 | NULL | 2015-05-16 03:54:01 | 2015-05-16 03:54:01 | 1 | 6 | www | Installed: zsh-4.3.10-7.el6.x86_64 | NULL | NULL | NULL | NULL | NULL | NULL

也可以这样查看:

MariaDB [Syslog]> SELECT * FROM SystemEvents\G

DeviceReportedTime: 2015-05-16 03:54:01

Facility: 1

Priority: 6

FromHost: www

Message: Installed: zsh-4.3.10-7.el6.x86_64

NTSeverity: NULL

Importance: NULL

EventSource: NULL

EventUser: NULL

EventCategory: NULL

EventID: NULL

EventBinaryData: NULL

MaxAvailable: NULL

CurrUsage: NULL

MinUsage: NULL

MaxUsage: NULL

InfoUnitID: 1

SysLogTag: yum[5989]:

EventLogType: NULL

GenericFileName: NULL

SystemID: NULL

3 rows in set (0.00 sec)

(7) 可选:使用loganalyzer (WebGUI)来展示日志信息;

依赖:lamp组件;

# yum install httpd php php-mysql php-gd -y

测试下php

vim /var/www/html/index.php

phpinfo();

?>

下载loganalyzer,并展开至/var/www/html;这里以loganalyzer-3.6.5为例

loganalyzer是一个Php程序

[root@www ~]# tar -xf loganalyzer-3.6.5.tar.gz -C /var/www/html/

[root@www ~]#cd  /var/www/html/

[root@www ~]#cp -r loganalyzer-3.6.5/src /var/www/html/loganalyzer

[root@www ~]# cp loganalyzer-3.6.5/contrib/* /var/www/html/loganalyzer

[root@www ~]# cd  /var/www/html/loganalyzer

[root@www loganalyzer ]# chmod +x configure.sh secure.sh

[root@www loganalyzer]# ./configure.sh

[root@www loganalyzer]# ./secure.sh

[root@www loganalyzer]# chmod 666 config.php

[root@wwwloganalyzer ]# chown -R apache.apache ./*

访问:http://SERVER_IP/loganalyzer/install.php

而后下一步,一直到step7 的时候选择mysql ,在下拉菜单中填写信息即可

运行到这里如果出错!

1,将config.php内容删除(:1,$d ),保留config.php文件

2,再次执行

# chmod 666 config.php

# chown -R apache.apache ./*

3,重新安装

扩展主机node1!

打开vim /etc/rsyslog.conf

*.info;mail.none;authpriv.none;cron.none @172.16.249.117

yum install httpd -y

刷新浏览器!

除非另有说明,否则本站上的内容根据以下许可进行许可: CC署名-非商业性使用-相同方式共享4.0国际许可协议4.0进行许可

本文作者:www.linuxea.com for Mark

文章链接:http://www.linuxea.com/rsyslog-lamprsyslog.html (转载请注明本文出处和本章链接)

您可以选择一种方式赞助本站

支付宝扫码赞助

日期: 2015-05-17

linux 多线程 写日志,rsyslog多线程远程日志记录介绍(lamp+rsyslog)相关推荐

  1. linux 配置远程日志服务器配置,配置远程日志服务器—实现日志的集中管理

    一.server端配置 [root@keeplived_haproxy_mysql ~]# vim /etc/rsyslog.conf 去掉19和20行的#注释 19 $ModLoad imtcp 2 ...

  2. rsyslog搭建远程日志服务器

    背景 在两台机器上,通过rsyslog提供的日志转发功能,将其中一台机器的日志转发到另一台,也就是需要一个日志服务器. 机器环境 服务端:CentOS 7.2系统 客户端:CentOS 6.5系统 服 ...

  3. niginx查看服务器日志信息,nginx 远程日志服务器

    nginx 远程日志服务器 内容精选 换一换 为加强对系统数据的容灾管理,云堡垒机支持配置日志备份,提高审计数据安全性和系统可扩展性.本小节主要介绍如何在系统配置Syslog服务器参数,将日志远程备份 ...

  4. java 多线程写缓存,Java多线程_缓存对齐

    1.什么是缓存对齐 当前的电脑中,数据存储在磁盘上,可以断电保存,但是读取效率较低.不断电的情况下,数据可以在内存中存储,相对硬盘效率差不多是磁盘的一万倍左右.但是运算时,速度最快的是直接缓存在CPU ...

  5. Linux运维之认识与分析日志文件(rsyslog服务),时间同步服务(chronyd服务)及时间管理命令(timedatectl)

    一.实验环境(rhel7.0版本) 主机环境:rhel7.0 各主机信息 主机名 IP server 172.25.254.1 client 172.25.254.2 二.日志文件介绍 1.Linux ...

  6. 学习Linux系统清理/var/log/journal/垃圾日志教程

    学习Linux系统清理/var/log/journal/垃圾日志教程 journal介绍 常见的日志文件 查看垃圾文件的方法 清空 /var/log/journal 文件的方法 1.用 echo 命令 ...

  7. linux远程日志rsyslog服务端和客户端安装(亲测)--自定义接收日志格式

    linux远程日志rsyslog服务端和客户端安装 用rsyslog的缘由:  1.防止系统崩溃无法获取系统日志分享崩溃原因,用rsyslog可以把日志传输到远程的日志服务器上  2.使用rsyslo ...

  8. Linux系统中的日志管理 ---systemd-journald日志(journalctl命令的用法)和 rsyslog 日志(自定义日志采集路径、更改日志采集格式和日志的远程同步)

    一.实验环境 Horizon_carry: 172.25.254.10 carry: 172.25.254.20 Horizon_carry & carry: systemctl stop f ...

  9. python多线程写日志_python 应用logging多线程写多个log文件

    python 使用logging多线程写多个log文件 import threading import time import logging import logging.handlers LEVE ...

最新文章

  1. zabbix监控-基本原理介绍
  2. canvas js 绘图插件_[开盖即食]小程序图表插件eCharts实战
  3. 数据库设计中,多对多关系使用使用逗号分割关联讨论
  4. 安卓案例:利用XML配置菜单
  5. 算法学习 -- 枚举
  6. mysql查询字段转型_mysql转型
  7. 如何提升自身的C++开发技术?
  8. 2021 年百度之星·程序设计大赛 - 初赛一
  9. FW:word/ppt中使用LaTEX语法输入公式!!!
  10. 运动控制卡培训--运动控制卡疑问解答l
  11. WebSockt面试题
  12. iOS之Swift实现二维码扫描
  13. VMware Horizon 8 2106 -- 用于管理虚拟桌面 (VDI)、应用和在线服务的领先平台
  14. vue3+ts+vant移动端H5项目搭建
  15. dsp版win10和普通版区别_Windows10各个版本有什么不同,如何选择适合自己的Win10系统...
  16. MDM三权分立及分类分级权限说明
  17. QA实习第三周个人感受
  18. java必读10本书_新技术领先者必读的6本书
  19. sim808模块收发送短信
  20. 动态生成模板(模板生成器)

热门文章

  1. COMMIT WORK关键字在CRM content management应用里的使用场景
  2. 使用命令行工具mc连接SAP云平台Leonardo机器学习服务的AWS存储
  3. 在webclient UI page里嵌入external view
  4. 如何使用SAP APF里的过滤器
  5. SAP CRM调查问卷的评分和图表显示功能介绍 1
  6. 能量平衡_能量平衡原则
  7. mongodb的id的唯一性_mongodb中的objectid是collection中唯一,还是全db唯一,还是全宇宙唯一?...
  8. 国内MySQL技术现状_1024不搬砖,谈谈自己2020剩余两月的学习计划
  9. 图像语义分割_uNetXST:将多个车载摄像头转换为鸟瞰图语义分割图像
  10. 服务器运行jar包日志怎么清理,docker 启动jar包,并将日志文件进行挂载