首页 > 其他分享 >第二十八:日志服务管理

第二十八:日志服务管理

时间:2024-03-01 21:48:08浏览次数:26  
标签:服务 log rsyslog mysql var 第二十八 日志 root

一、系统日志介绍

  在现实生活中,记录日志非常重要﹐比如:银行转账时会有转账记录﹔飞机飞行过程中的黑盒子(飞行数据记录器)记录着飞机的飞行过程. 那么将系统和应用发生的事件记录至日志中,也很意义,常可以助于排错和分析使用 日志记录的内容包括:   历史事件:时间,地点,人物,事件   日志级别:事件的关键性程度,Loglevel

(1)sysklogd系统日志服务

CentOS 5 之前版本采用的日志管理系统服务   klogd: linux kernel 记录内核日志   syslogd: system application 记录应用日志 事件记录格式:   日期时间 主机 进程[pid]: 事件内容   C/S架构:通过TCP或UDP协议的服务完成日志记录传送,将分布在不同主机的日志实现集中管理

(2)rsyslog系统日志服务

rsyslog是CentOS 6 以后版本的系统管理服务.它提供了高性能,出色的安全性和模块化设计。 尽管 rsyslog最初是常规的syslogd,但已发展成为一种瑞士军刀式的记录工具,能够接受来自各种来源的输 入,并将其转换,然后输出到不同的目的地。 当应用有限的处理时,RSYSLOG每秒可以将超过一百万的消息传递到本地目的地。 即使在远程的目的地 和更精细的处理中,性能通常也被认为是“惊人的”。 官方网站:
https://www.rsyslog.com/
rsyslog 特性 多线程 UDP, TCP, SSL, TLS, RELP MySQL, PGSQL, Oracle实现日志存储 强大的过滤器,可实现过滤记录日志信息中任意部分 自定义输出格式 适用于企业级中继链         

 (3) ELK

ELK:由Elasticsearch, Logstash, Kibana三个软件组成   非关系型分布式数据库   基于Apache软件基金会jakarta项目组的项目lucene   Elasticsearch是个开源分布式搜索引擎,可以处理大规模日志数据,比如:Nginx、Tomcat、系统日志等功能   Logstash对日志进行收集、分析,过滤,并将其存储供以后使用   Kibana 可以提供的日志分析友好的 Web 界面 

 二、Rsyslog管理

1、系统日志术语

facility:设施,从功能或程序上对日志进行归类
#内置分类
auth, authpriv, cron, daemon,ftp,kern, lpr, mail, news, security(auth), 
user(default), uucp, syslog
#自定义的分类
local0-local7
参看帮助: man 3 syslog,man logger 
[root@centos8 ~]#yum -y install man-pages
[root@centos8 ~]#man 3 syslog

2、rsyslog相关文件

程序包:rsyslog 主程序:/usr/sbin/rsyslogd Ubuntu: /usr/lib/systemd/system/rsyslog.service CentOS 6:/etc/rc.d/init.d/rsyslog {start|stop|restart|status} CentOS 7,8:/usr/lib/systemd/system/rsyslog.service 配置文件:/etc/rsyslog.conf,/etc/rsyslog.d/*.conf 库文件: /lib64/rsyslog/*.so   3、rsyslog配置文件  /etc/rsyslog.conf 配置文件格式:由三部分组成   MODULES:相关模块配置   GLOBAL DIRECTIVES:全局配置   RULES:日志记录相关的规则配置 RULES配置格式: 
facility.priority; facility.priority… target
facility格式:
*     #所有的facility  
facility1,facility2,facility3,...         #指定的facility列表
priority格式:
*: 所有级别
none:没有级别,即不记录
PRIORITY:指定级别(含)以上的所有级别
=PRIORITY:仅记录指定级别的日志信息
target格式: 
文件路径:通常在/var/log/,文件路径前的-表示异步写入
用户:将日志事件通知给指定的用户,* 表示登录的所有用户
日志服务器:@host,把日志送往至指定的远程UDP日志服务器 @@host 将日志发送到远程TCP日志服务器
管道: | COMMAND,转发给其它命令处理
通常的日志文件的格式: 日志文件有很多,如: /var/log/messages,cron,secure等,基本格式都是类似的。格式如下  事件产生的日期时间 主机 进程(pid):事件内容

4、启用网络日志服务 

启用网络日志服务功能,可以将多个远程主机的日志,发送到集中的日志服务器,方便统一管理。 

[root@centos8 ~]#vim /etc/rsyslog.conf
## MODULES ####
...省略...
# Provides UDP syslog reception
# for parameters see http://www.rsyslog.com/doc/imudp.html
module(load="imudp") # needs to be done just once
input(type="imudp" port="514")
# Provides TCP syslog reception
# for parameters see http://www.rsyslog.com/doc/imtcp.html
module(load="imtcp") # needs to be done just once input(type="imtcp" port="514")  #在客户端指定将日志发送到远程的TCP、UDP的日志服务器 [root@centos7 ~]#vim /etc/rsyslog.conf 

5、常见日志文件

/var/log/secure,/var/log/auth.log:系统安全日志,文本格式,应周期性分析 /var/log/btmp:当前系统上,用户的失败尝试登录相关的日志信息,二进制格式,lastb命令进行查看 /var/log/wtmp:当前系统上,用户正常登录系统的相关日志信息,二进制格式,last命令可以查看
#显示系统关机项和运行级别更改
last -x, --system    
/var/log/lastlog:每一个用户最近一次的登录信息,二进制格式,lastlog命令可以查看 /var/log/dmesg:CentOS7 之前版本系统引导过程中的日志信息,文本格式,开机后的硬件变化 将不再记录,也可以通过专用命令 dmesg查看,可持续记录硬件变化的情况 /var/log/boot.log 系统服务启动的相关信息,文本格式,Ubuntu无此文件 /var/log/messages(红帽系统),/var/log/syslog (Ubuntu) :系统中大部分的信息 /var/log/anaconda : anaconda的日志,Ubuntu无此文件 

三、日志管理工具 journalctl 

CentOS 7 以后版,利用Systemd 统一管理所有 Unit 的启动日志。带来的好处就是,可以只用 journalctl一个命令,查看所有日志(内核日志和应用日志)。 日志的配置文件: 
/etc/systemd/journald.conf
journalctl命令格式 
journalctl [OPTIONS...] [MATCHES...]
选项说明:

 四、利用 MySQL 存储日志信息

 1、目前和环境 利用rsyslog日志服务,将收集的日志记录于MySQL中  两台主机 一台:rsyslog日志服务器,IP:10.0.0.8 一台:mariadb数据库服务器,IP:10.0.0.18 2、在rsyslog服务器上安装连接mysql模块相关的程序包  
[root@centos8 ~]#yum -y install rsyslog-mysql 
[root@ubuntu2004 ~]#apt -y install rsyslog-mysql
[root@centos8 ~]#rpm -ql rsyslog-mysql
#查看sql脚本文件内容 [root@ubuntu2204 ~]#cat /usr/share/dbconfig-common/data/rsyslog mysql/install/mysql [root@ubuntu2004 ~]#cat /usr/share/dbconfig-common/data/rsyslog mysql/install/mysql [root@centos8 ~]#cat /usr/share/doc/rsyslog/mysql-createDB.sql    #方法1:事先执行2.3.2步骤再执行下面指令 [root@ubuntu2204 ~]#mysql -ursyslog -p123456 -h10.0.0.202 Syslog < /usr/share/dbconfig-common/data/rsyslog-ysql/install/mysql [root@ubuntu2204 ~]#mysql -ursyslog -p123456 -h10.0.0.202 Syslog -e "source /usr/share/dbconfig-common/data/rsyslog-ysql/install/mysql" #方法2 #将sql脚本复制到数据库服库上 [root@centos8 ~]#scp /usr/share/doc/rsyslog/mysql-createDB.sql 10.0.0.18:/data 

3、准备 MySQL 

[root@centos8 ~]#yum install mysql-server
#在MySQL数据库服务器上创建相关数据库和表,并授权rsyslog能连接至当前服务器
[root@centos8 ~]#mysql -u 
mysql>source /data/mysql-createDB.sql
mysql>CREATE USER  'rsyslog'@'10.0.0.%' IDENTIFIED BY '123456';
mysql>GRANT ALL ON Syslog.* TO 'rsyslog'@'10.0.0.%' ;

4、配置日志服务器将日志发送至指定数据库

五、 Logrotate 日志转储

 1、Logrotate 介绍 logrotate 程序是一个日志文件管理工具。用来把旧的日志文件删除,并创建新的日志文件,称为日志转 储或滚动。可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过 cron 程序来执行

 2、Logrotate 配置

软件包:logrotate 相关文件   计划任务:/etc/cron.daily/logrotate,/lib/systemd/system/logrotate.service,/lib/systemd/system/logrotate.timer   程序文件:/usr/sbin/logrotate   配置文件: /etc/logrotate.conf   日志文件:/var/lib/logrotate/logrotate.status 配置文件主要参数如下:

 3、 Logroate 配置范例

 

标签:服务,log,rsyslog,mysql,var,第二十八,日志,root
From: https://www.cnblogs.com/dujy/p/18047662

相关文章

  • 【Azure Logic App】在中国区的微软云服务上,使用逻辑应用是否可以下载SharePoint上的
    问题描述在中国区的微软云服务上,使用逻辑应用是否可以下载SharePoint上的文件呢?目前遇见的问题时,选择LogicApp的SharePoint组件,登录SharePoint账号时,只能选择中国区的登录账号,不能使用GlobalSharepoint账号。问题解答AzureChina的LogicApp中的SharepointConnector只能......
  • IDEA 热启动,每次更改代码后不用重启服务
    IDEA热启动,每次更改代码后不用重启服务 1、ctrl+Shift+Alt+/,选择Registry2、勾选compiler.automake.allow.when.app.running(可能不按首字母排序,可以多找找) 3、Setting--->Compiler--->勾选Buildprojectautomatically 4、pom.xml增加依赖(这种方式只适用于spring......
  • (笔记)Linux下glog日志库的详细使用方法
     Glog是一个开源的C++日志库,它提供了非常方便的日志记录功能。下面是使用Glog的详细步骤: 一、安装Glog库您可以从Glog的官方网站(https://github.com/google/glog)下载Glog的源代码,然后进行编译和安装。在Linux系统下,您可以使用以下命令安装Glog库:sudoapt-getinstalllibg......
  • 浮木云学习日志(9)---模块统计设计
    ​在SaaS系统中,统计模块是非常重要的一个功能。对于C端产品,可能会展示用户个人使用数据,比如Keep中的锻炼时长统计。虽然这些数据只是供用户了解自己的使用情况,并非必需。然而,在B端的SaaS系统中,由于用户众多且业务复杂,公司管理层需要查看全公司数据和员工绩效情况。因此,SaaS系统必......
  • 在K8S中,如何查看kubelet组件的日志?
    在Kubernetes(K8S)中,查看kubelet组件的日志可以通过几种不同的方法。以下是详细的步骤:使用journalctl命令:如果kubelet是通过systemd方式部署的,你可以使用journalctl命令来查看其日志。执行journalctl-ukubelet将显示kubelet的日志信息。如果需要查看实时更新的日志,可以添加-f......
  • 服务注册中心
    参考资料:服务注册中心前言服务注册中心本质上是为了解耦服务提供者和服务消费者。对于任何一个微服务,原则上都应存在或者支持多个提供者,这是由微服务的分布式属性决定的。更进一步,为了支持弹性扩缩容特性,一个微服务的提供者的数量和分布往往是动态变化的,也是无法预先确定的。因此......
  • spring cloud gateway使用 uri: lb://方式配置时,服务名的特殊要求
    在gateway中配置uri配置有三种方式,包括第一种:ws(websocket)方式:uri:ws://localhost:9000第二种:http方式:uri:http://localhost:8130/第三种:lb(注册中心中服务名字)方式:uri:lb://brilliance-consumer  其中ws和http方式不容易出错,因为http格式比较固定,但是lb方式比......
  • 期初单据打不开(等等其他地方),只要报错:从字符串转换日期/或者时间时,转换失败。那么说明
    期初单据打不开(等等其他地方),只要报错:从字符串转换日期/或者时间时,转换失败。那么说明服务器的时间格式不正确解决方案,步骤:  1、打开注册表,修改注册表里面的时间格式,修改完后重启一下电脑1)按下Win+R快捷键,打开运行对话框。在运行对话框中输入regedit回车2)按下图设置值,设......
  • 使用ambari安装dolphinscheduler服务
    1.添加服务选择dolphinscheduler2.dolphinscheduler服务配置这个选择使用mysql数据作为dolphinscheduler服务的元数据库3.服务选择进行安装选择两个DS-master,至少两个DS-ALTERS,DS-APIS,其余节点都部署DS-worker节点4.如果在安装dolphinscheduler之前做了namenode-ha则可......
  • Linux查看服务器内存
    参考:https://blog.csdn.net/while_int/article/details/130844627freefree命令用来显示系统内存状态,包括系统物理内存、虚拟内存(swap交换分区)、共享内存和系统缓存的使用情况#-m选项是以MB为单位来展示内存使用信息free-m#-h选项则是以人类(human)可读的单位来展示free......