热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

日志的管理

在做以下实验时需先做的操作为:(1)打开两个虚拟机(desktop和server)并更改他们的ipÿ

在做以下实验时需先做的操作为:

(1)打开两个虚拟机(desktop和server)并更改他们的ip

    (可用nm-connection-eidtor  #图形设定ip)

(2)更改两个虚拟机的名称(hostnamectl set-hostname       

    node1.example.com #将虚拟机的名字改为node1)

(3)在真机中打开两个shell,用ssh命令分别连接两个虚拟机

注:ctrl+shift+t  #再打开一个shell

1.日志的采集规则:

*.*     文件名称(绝对路径)   #日志类型.日志级别    日志存放的文件

vim /etc/rsyslog.conf       #查看并修改采集日志文件配置,

                                        使我们能够采集日志到指定位置

systemctl stop rsyslog.service    #停止收集日志的服务

systemctl start  rsyslog.service  #开始收集日志的服务

 (1)日志类型

auth          #用户登陆日志(pam生日志)

authpriv      #服务认证日志(sshd认证)

kern          #内核日志

cron          #定时任务日志

lpr           #打印机日志

mail          #邮件日志

news          #新闻

user          #用户相关程序日志

local  1-7    #用户自定义日志

 

(2)日志级别

debug              系统调试信息

info                  常规信息

warning            警告信息

err                报错(级别低,阻止了某个工作不能正常工作)

crit               报错(级别高,阻止了整个软件或整个系统不能正常工作)

alert              需要立即修改的信息

emerg           内核崩溃

none            不采集任何日志信息

 

(3)系统常用日志

/var/log/messages     #所有日志级别的常规信息(不包含邮件,服务认证,定时任务)

/var/log/maillog      #邮件认证

/var/log/secure       #服务认证日志

/var/log/cron         #定时任务日志

 例如:

*.*  /var/log/log.all  #将所有级别所有类型的日志采集到/var/log/log.all里

auth.debug  /var/log/westos#用户登陆的系统调试信息放到/var/log/westos里

auth.*     /var/log/file  #将用户登陆的所有级别的日志放到/var/log/file里

注意:

日志可以直接看出系统中的错误,日志存在于内存中,修改rsyslog(配置文件)的意义在于将内存中的日志采集放到硬盘里

实验1.1具体操作步骤如下:

在服务端(note2)

   > /var/log/messages         #清空日志

   cat /var/log/messages       #查看日志(没有日志)

   systemctl restart sshd.service  #重启服务

   cat /var/log/messages       #(有日志)

   systemctl stop rsyslog.service  #停止收集日志的服务

   > /var/log/messages

   systemctl restart sshd.service

   cat /var/log/messages       #(没有日志)

   systemctl start  rsyslog.service  #开始收集日志的服务

   cat /var/log/messages      # (有日志)

 

实验1.2(将日志采集到指定位置)具体操作步骤如下:

在服务端(note2)

> /etc/rc.d/rc.local  #清空虚拟机一直产生的日志和脚本(本地日志)

> /var/log/westos     #清空日志

cat /var/log/messages #查看日志是否被清空

vim /etc/rsyslog.conf #更改rsyslog.conf配置文件

#################################

*.info;mail.none;authpriv.none;cron.none                /var/log/messages

*.*                                                     /var/log/file

 cat /var/log/file



在客户端测试(note1)

ssh root@172.25.254.130    #连接服务端

exit                       #退出连接


在服务端

systemctl start  sshd.service #重启服务

cat /var/log/file          #查看日志内容(有node1登陆的记录)

 

2.日志的远程同步

   它的意义在于实现多台主机向一台主机传输日志,便于管理者高效的查看多台主机的日志。

 具体实验2操作步骤如下:

在服务端(发送方)

> /etc/rc.d/rc.local   #清空虚拟机一直产生的日志和脚本(本地日志)

> /var/log/message     #清空日志

cat /var/log/messages

vim /etc/rsyslog.conf

####################################

*.*             @172.25.254.130       #日志接收方地址

 systemctl restart  rsyslog.service    #重启配置文件

在客户端(接收方)

>  /etc/rc.d/rc.local  #清空虚拟机一直产生的日志和脚本(本地日志)

> /var/log/message     #清空日志

cat /var/log/messages

vim   /etc/rsyslog.conf        #设置接受方端口

#############################

15 $ModLoad imudp   #           #打开插件

16 $UDPServerRun 514           #打开插件接口(取消注释#即可)

systemctl restart rsyslog.service

systemctl stop firewalld      #关闭接收方防火墙

systemctl disable firewalld   #开机时开启防火墙

cat /var/log/messages         #查看日志

 

 

3.定义日志采集格式

$template  格式名称, "日志采集格式"

具体的日志采集格式:

%timegenerated%    #日志生成时间

%FROMHOST-IP%      #日志来源主机的IP

%systag%           #日志生成程序

%msg%              #日志内容

\n                 #换行

具体实验3操作步骤如下:

在客户端(接收方)

>  /etc/rc.d/rc.local   #清空虚拟机一直产生的日志和脚本(本地日志)

vim /etc/rsyslog.conf   #编辑配置文件,定义采格式

###########################

$template westos, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg% \n "                                                      #定义为westos格式

*.info;mail.none;authpriv.none;cron.none       /var/log/messages;westos

 

systemctl restart rsyslog.service

cat /var/log/messages          #查看日志

 



5. journalctl命令

      journalctl + 参数       #日志的查看

具体参数的含义:

 -p  err #查看报错日志

 -f      #监控 (用户ctrl+c结束监控)

 --since  时间点 --until  时间点  #查看从何时到何时的日志

 -o   verbose    #查看日志详细参数

 -n      3       #最新(new)的三条日志

 -o   verbose     #从详细参数中可以查到日志的PID   

 journalctl _PID=84    #直接查看PID为84的程序产生的日志

 

例如:journalctl  --since 01:30 --until 01:40  #查看从1:30到1:40产生的日

 

(1)对systemd-journald管理

默认此程序只负责对日志进行查看而不能对日志进行保存和采集

那么关机后再开机,只能查看到开机后的日志,因为系统之前的日志是保存在内存中的,

所以关机后就被清空了,那么在开机时用journalctl看不到的

(2)如何让systemd-journald将日志保存到硬盘中

mkdir /var/log/journal       #建立目录

groupadd systemd-journald    #建立组

chgrp systemd-journald /var/log/journal   #在该目录下的创建所有文件   均属于systemd-journald组

chmod g+s /var/log/journal   #

killall -1  systemd-journald  #结束组中的所有进程

journalctl -n 3    #查看关机之前的日志,以便后边对照观察

date    #查看时间

reboot  #重启

ssh root@172.25.254.230

journalctl   #(此时可查看到关机之前的所有日志)

 


6.时间同步

#在服务端共享时间

vim /etc/chrony.conf

######################

29 local stratum           #共享时间共享功能并设定共享级别,

                            这个参数开启后本机不去同步别人的时间到本机

22 allow 172.25.254.0/24   #允许网络位相同的所有客户端来访问本机共享的时间

 

systemctl restart chronyd


#在客户端:

vim /etc/chrony.conf

################

server 172.25.254.230 iburst


systemctl restart chronyd

systemctl stop  firewalld  #关闭防火墙

chronyc sources -v

*********************************************************************

  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.

 / .- Source state '*' = current synced, '+' = combined , '-' = not combined,

| /   '?' = unreachable, 'x' = time may be in error, '~' = time too variable.

||                                                 .- xxxx [ yyyy ] +/- zzzz

||                                                /   xxxx = adjusted offset,

||         Log2(Polling interval) -.             |    yyyy = measured offset,

||                                  \            |    zzzz = estimated error.

||                                   |           |                         

MS Name/IP address         Stratum Poll Reach LastRx Last sample

===============================================================================

^* 172.25.254.128               10   6    17     0  +6500ns[ +111us] +/-  988us

 



7.与timedatectl有关的命令

timedatectl                            #查看时间信息

timedatectl list-timezones             #查看所有时区

timedatectl set-timezone Asia/Shanghai #设置为上海的时区

 

timedatectl set-local-rtc  0           #使用UTC时间

vim /etc/adjtime                       #在此文件中显示UTC

timedatectl set-local-rtc  1           #使用local(本地)时间

vim /etc/adjtime                       #在此文件中显示local

 

timedatectl set-time "年-月-日  时:分:妙" #修改时间

date  #查看时间

例如 timedatectl set-time "2018-11-11 11:11:11"

 

8.与at有关的命令(延迟任务)

at 时间          #设定在该时刻要进行什么操作

at now+数字min   #在几分钟后要进行什么操作

at  -l                 #查看该操作的编号

at  -c  3              #查看编号为3要做什么操做

at  -r  3              #撤回编号为3的操作

 

例如:

at 16:00

>touch /mnt/file{1..3} #要做的操作

>                #(按ctrl+d)

注:做以上操作时需打开一个shell用ssh连接相同的虚拟机

   watch -n 1 ls /mnt 来监控,便于观察现象


vim   /etc/at.deny      #编辑at配置文件,指定黑名单(即用户不能执行at操作)

touch /etc/at.allow     #建立白名单的配置文件(系统默认没有白名单配置文件。白名单一旦出现,黑名单便会失效,即只有超级用户能执行at命令)

vim   /etc/at.allow     #编辑at配置文件,指定白名单,即指定用户和root用户才能>执行at操作

 

 

 

 

 

 


推荐阅读
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  • 六、流程控制语句
    选择结构if只有条件判断结果为真时才执行相应的操作循环结构for、whileuntil反复执行相同操作时,使用循环结构分支结构case根据变量值的匹配结果执行相 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 一、设置时区方法一:使用setup工具setup选择Timezoneconfiguration选择AsiaShanghai空格键勾选上System ... [详细]
  • Linux运维 第五阶段 puppet基础
    一、相关概念:1、puppet基于CS架构,使用ruby编写,在类UNIX平台上集中配置管理系统,它可以管理配置文件、用户、 ... [详细]
  • 查看CPU信息:[rootpqsfc072~]#catproccpuinfo查看CPU型号:[rootpqsfc072~]#catproccpuinfo ... [详细]
  • ubuntu下nginx启动配置文件
    2019独角兽企业重金招聘Python工程师标准在https:github.comJasonGiedyminnginx-init-ubuntu获得的nginx配置文件其中一些 ... [详细]
  • 分享一下我老师大神的人工智能教程!零基础,通俗易懂!http:blog.csdn.netjiangjunshow也欢迎大家转载本篇文章。分 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 【laravel5.6】yii  Process class relies on proc_open, which is not available on your PHP installation.
    部署服务器的时候,使用composer来安装依赖。遇到了从错误提示信息中可以看到是因为关闭了PHP的proc_get_status()函数,那么如何解决 ... [详细]
  • 示例代码packagemainimport("net""os"&am ... [详细]
  • 原力计划云原生(三十六) | Kubernetes篇之Harbor入门和安装
    原力计划云原生(三十六)|Kubernetes篇之Harbor入门和安装-文章目录Harbor入门和安装一、入门1、简介2、核心组件3、安装二、docker使用1 ... [详细]
  • IIS服务器配置NXLog进行syslog转发(并解决GMT+8小时时差问题)
    IIS服务器配置NXLog进行syslog转发(并解决GMT+8小时时差问题) ... [详细]
  • 用户信息文件大多成熟的系统都会有一套符合自己设计逻辑的用户管理系统。就比如Mysq,它是mysql数据库下的user表。其中每行记录表示一个用户以及该用户所拥有的权 ... [详细]
  • 搞懂 ELK 并不是一件特别难的事
    点击下方“民工哥技术之路”,选择“设为星标”回复“1024”获取独家整理的学习资料!本篇文章主要介绍ELK的一些框架组成,原理和实践&#x ... [详细]
author-avatar
嘎嘎19850820
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有