Linux系统日志管理
1、系统常用的日志(日志是用来记录重大事件的工具)
/var/log/message 系统信息日志,包含错误信息等
/var/log/secure 系统登录日志
/var/log/cron 定时任务日志
/var/log/maillog 邮件日志
/var/log/boot.log 系统启动日志
2、日志管理服务 rsyslog
【1】作用:主要用来采集日志,不产生日志
【2】配置文件:/etc/rsyslog.conf
编辑文件时的格式为: ------ *.* 存放日志文件 ------
其中第一个*代表日志类型,第二个*代表日志级别
1.日志类型分为:
auth ##pam产生的日志
authpriv ##ssh、ftp等登录信息的验证信息
corn ##时间任务相关
kern ##内核
lpr ##打印
mail ##邮件
mark(syslog)-rsyslog##服务内部的信息,时间标识
news ##新闻组
user ##用户程序产生的相关信息
uucp ##unix to nuix copy主机之间相关的通信
local 1-7 ##自定义的日志设备
2. 日志级别分为:
debug ##有调试信息的,日志通信最多
info ##一般信息日志,最常用
notice ##最具有重要性的普通条件的信息
warning ##警告级别
err ##错误级别,阻止某个功能或者模块不能正常工作的信息
crit ##严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert ##需要立刻修改的信息
emerg ##内核崩溃等重要信息
none ##什么都不记录
注意:从上到下,级别从低到高,记录信息越来越少
详细信息可查手册:man 5 syslog
3.示例:在/etc/rsyslog中添加一个日志文件/var/log/xniu,当sshd服务出错时,该文件会接收到错误
注释: ------ > /var/log/xniu ---是对文件的内容进行清空;当系统配置文件一定要重启使其生效。
3.日志的远程同步
【1】 作用:便于管理多台主机
【2】步骤:
(1)在日志发送方:vim /etc/rsyslog.conf ----->文件里添加内容: *.*@172.25.254.97 ------> systemctl restart rsyslog
注释:添加内容里面,@表示使用udp协议发送;@@表示使用tcp协议发送
(2)在日志接收方:vim /etc/rsyslog.conf ------>使第15行、16行有效------> systemctl restart rsyslog ------>systemctl stop firewalld
------>systemctl disable firewalld
注释: 配置文件里面,15行:$ModLoad imudp ##表示日志接受模块;
16行:$UDPServerRun 514##表示开启接受模块
systemctl stopfirawalld##关闭接受方防火墙
systemctl disable firewalld ##使防火墙开机不自启动
(3)发送方和接收方均清空日志文件,使用命令: > /var/log/message
(4)测试:在日志的发送方运行:logger test ------> cat /var/log/message ;完成之后,会产生日志信息
在接受方运行:cat /var/log/message ;
【3】示例:client虚拟机为发送方,server虚拟机为接受方;实现日志的同步
[root@client ~]# vim /etc/rsyslog.conf
在服务端进行操作:
[root@server ~]# vim /etc/rsyslog.conf
注意:清空日志文件的先后顺序。
4.日志采集格式的设定
【1】作用:从发送方同步过来的日志,不利于我们查看相关信息;所以要接收方采集的日志按我们自己的设定的规则来显示
【2】设定步骤:vim /etc/rsyslog.conf ------> $template LOGFMT,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
------> 在自己显示的日志文件后面,把格式添加进去:*.*/var/log/westos;LOGFMT
注释: %timegenerated% ##显示日志时间
%FROMHOST-IP% ##显示主机IP
%syslogtag% ##日志记录目标
%msg% ##日志内容
\n ##换行
【3】 示例: 在server虚拟机中设置规则,可以查看到发送方的信息
[root@server ~]# vim /etc/rsyslog.conf
在server主机测试结果:
5.日志分析和采集工具
【1】命令:journalctl##直接执行,进行日志的查看
【2】参数:-n 3 ##查看最近三条记录-perr##查看错误日志-overbose##查看日志的详细参数
--since##查看从什么时候开始的日志 --until##查看什么时候截止的日志
【3】如何使用--- systemd-journald ---保存系统日志信息
【4】示例: 使用-n命令来显示最近3条命令
使用-p命令显示错误日志:
使用-o verbose查看详细参数:
也可以用命令:journalctl _PID=2482 _COMM=sshd 来进行精确查找:
使用命令:journalctl --since "2018-07-27 12:00" --until "2018-07-19 00:00" 时间段的日志
补充:日志在系统的存储是暂时的,系统重启后之前的日志信息就不会存在。可以通过以下步骤实现日志的信息保存(在设置之后的留下的信息)
[root@client ~]# chgrp systemd-journal /var/log/journal/
[root@client ~]# chmod g+s /var/log/journal/ ## 把该文件的使用均指定为组信息
[root@client ~]# ps aux | grep systemd-journal
root 364 0.0 0.2 40864 2428 ? Ss 06:05 0:00 /usr/lib/systemd/systemd-journald
root 5298 0.0 0.0 112644 936 pts/0 R+ 12:08 0:00 grep --color=auto systemd-journal
[root@client ~]# killall -1 systemd-journald ##重新开启日志进程
[root@client journal]# ls
946cb0e817ea4adb916183df8c4fc817 ##记录日志信息的id
[root@client journal]# ll ##该日志会记录7-20 12:09以后的记录
total 0
drwxr-sr-x 2 root systemd-journal 27 Jul 20 12:09 946cb0e817ea4adb916183df8c4fc817
[root@client journal]# date
Fri Jul 20 12:10:17 CST 2018
6.日志时间同步
【1】作用:让多台虚拟机保持时间的一致。
【2】服务名称:chronyd
【3】步骤:(在两台虚拟机下进行)
(1)在服务端配置:vim /etc/chronyd
22行 allow 172.25.254.0/24 ## 允许ip为172.25.254.0、子网掩码为24的主机同步时间
28行 local stratum 10 ##表示不同步其他时间
systemctl restart chronyd
(2)在客户端配置:vim /etc/chronyd
2-5行留下一行:server 172.25.254.97 ##表示要同步的主机为172.25.254.97
systemctl restart chrond ## 重启服务
systemctl stop firewalld ## 关闭防火墙
(3)测试:在客户端输入:chronyc sources -v
若结果为如下,则表示同步成功:
注意:在做此实验前,两边的时间是不相同的(可以使用date查看);服务器端和客户端要关闭防火墙,这样可以进行数据的同步;
文件配置之后要重启。
7.时间设置timedatectl
使用timedatetcl查看系统时间
命令timedatectl list-timezones列出所有时区
使用--- timedatectl set-timezone 时区名---来修改时区
使用---timedatectl set-time "2018-7-20 12:00:00" ---对时间设定
注意:当前系统中的时间为bios时间+时区(windows下无这种计算方法);
---timedatectl set-local-rtc 0---表示使用UTC时间
Linux系统日志管理的更多相关文章
- Linux 系统日志管理 rsyslogd配置文件
rsyslogd配置文件 rsyslogd 服务是依赖其配置文件 /etc/rsyslog.conf 来确定哪个服务的什么等级的日志信息会被记录在哪个位置的.也就是说,日志服务的配置文件中主要定义了 ...
- Linux 系统日志管理
Linux rsyslogd服务及启动方法 在 CentOS 6.x 中,日志服务已经由 rsyslogd 取代了原先的 syslogd.Red Hat 公司认为 syslogd 已经不能满足工作中的 ...
- :Linux 系统日志管理 日志转储
Linux日志服务器设置 使用“@IP:端口”或“@@IP:端口”的格式可以把日志发送到远程主机上. 假设需要管理几十台服务器,每天的重要工作就是查看这些服务器的日志,可是每台服务器单独登录,并且查看 ...
- 【CentOS】Linux日常管理
/////////////////////////目录///////////////////////////////////////// 一.日常监控指标相关 1.监控系统状态命令 2.查看系统进程 ...
- Linux系统日志及日志分析
Linux系统日志及日志分析 Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息. 大部分Linux发行版默认的日志守护进程为 syslog,位 ...
- linux 内存管理——内核的shmall 和shmmax 参数
内核的 shmall 和 shmmax 参数 SHMMAX= 配置了最大的内存segment的大小 ------>这个设置的比SGA_MAX_SIZE大比较好. SHMMIN= 最小的内存seg ...
- [转帖]linux 内存管理——内核的shmall 和shmmax 参数
(转)linux 内存管理——内核的shmall 和shmmax 参数 内核的 shmall 和 shmmax 参数 SHMMAX= 配置了最大的内存segment的大小 ------>这个 ...
- (转)linux 内存管理——内核的shmall 和shmmax 参数
内核的 shmall 和 shmmax 参数 SHMMAX= 配置了最大的内存segment的大小 ------>这个设置的比SGA_MAX_SIZE大比较好. SHMMIN= 最小的内存seg ...
- rsync 通过服务的方式同步 linux系统日志 screen工具
rsync 通过服务的方式同步 俩台机器传文件IP地址交叉编写. 主机1: 要编辑配置文件 /etc/rsyncd.conf rsyncd.conf样例 port=873 ...
随机推荐
- HttpWebRequest 返回BadRequest(400) 同时返回Response
今天用Fiddler分析安卓APP的一个登陆功能的时候,账号和密码错误会返回相应的消息,并且状态码是400. 正常用法: /// <summary> /// 读取返回的内容 /// < ...
- USB Transfer and Packet Sizes
https://msdn.microsoft.com/en-us/library/ff538112.aspx http://blog.csdn.net/chenyujing1234/article/d ...
- SeekArc
https://github.com/neild001/SeekArc https://github.com/imflyn/SeekArc
- 运行bat时隐藏cmd窗口
运行bat时隐藏cmd窗口 新建一个shrjj.vbs文件,文件内容为: Set ws = CreateObject("Wscript.Shell") ws.run "c ...
- MVC分层处理
MVC和三层其实是八竿子打不着的,MVC是一种全新的开发方式,传统的三层,其实是模块划分,为了结构清晰.而MVC就是MVC,是通过URL路由到控制器,然后到模型,处理完数据然后将结果返回给视图.是与三 ...
- ETL增量处理总结
1 LOG表 1.1 思路 用log表记录业务库某表yw_tableA发生变化数据的主键.数据进入BI库目标表bi_tableA前,先根据log表记录的主键进行delete. 1.2 设计 1.2.1 ...
- webservice用cxf发布SOAP
cxf的安装,就是把文件解压,然后配置环境变量 http://cxf.apache.org/download.html这是官网下载 解压到这里 环境变量 wsdl2java命令测试 1.新建java项 ...
- 哥德巴赫猜想-nefu2 & 分拆素数和 hdu2098
哥德巴赫猜想-nefu2 & 分拆素数和 hdu2098 //哥德巴赫猜想 #include <iostream> #include <cmath> #include ...
- C#代码实现 Excel表格与Object互相转换,Excel表格导入数据库(.NET2.0 .NET4.0)
前些天在工作上遇到这个需求,在GitHub找到一个开源代码可以用,Fork了一个版本,整理一下发出来. ①.Net项目中使用Nuget安装一个 NPOI 包 https://github.com ...
- JS的scrollIntoView
scrollIntoView(alignWithTop) 滚动浏览器窗口或容器元素,以便在当前视窗的可见范围看见当前元素.如果alignWithTop为true,或者省略它,窗口会尽可能滚动到自身顶 ...