乱读天书, 不求甚解
周祎骏的个人云笔记
Toggle navigation
乱读天书, 不求甚解
主页
Linux:系统配置
Linux:用户管理
Linux:优化排错
Linux:进程调度
Linux:文件系统
Linux:网络
Linux:系统服务
Linux:安全
Linux:内核
容器:Docker
容器:containerd
容器编排:Kubernetes
IAC:Terraform
大数据:Hadoop
大数据:Zookeeper
大数据:Hbase
消息队列:rsyslog
消息队列:kafka
数据库:MySQL
数据库:MongoDB
搜索引擎:Elasticsearch
时序数据库:OpenTSDB
网站服务:Nginx
编程:Bash
编程:Perl
编程:Python
编程:C
编程:JAVA
编程:Rust
版本控制:gitlab
知识管理:docusaurus
常用小工具
关于我
标签
Linux服务 1.03 rsyslog (作为系统日志服务)
2017-03-12 14:04:37
76
0
0
admin
> 该服务以syslog协议收发,存储log;作为redhat6自带的日志服务(rsyslog兼容syslog 的配置方式,syslog是redhat5自带的日志服务),也可以作为一个queue 来用。这里介绍syslog协议和如何使用该服务记录系统日志。 #大致介绍syslog 协议 syslog 协议是把日志,信息格式化成: ``` <PRI>HEAD MESSAGE ``` **PRI** 由facility(设备)和severity(严重等级)组成,PRI=facility*8 + severity,这样二进制PRI 的前三位就是facility,后三位就是severity。 **facility**(来自 https://en.wikipedia.org/wiki/Syslog) | code | Keyword | Description | |------|-----------|---------------------------------------------| | 0 | kern |kernel messages | | 1 | user |user-level messages | | 2 | mail |mail system | | 3 | daemon |system daemons | | 4 | auth |security/authorization messages | | 5 | syslog |messages generated internally by syslogd | | 6 | lpr |line printer subsystem | | 7 | news |network news subsystem | | 8 | uucp |UUCP subsystem | | 9 | |clock daemon | | 10 | authpriv |security/authorization messages | | 11 | ftp |FTP daemon | | 12 | - |NTP subsystem | | 13 | - |log audit | | 14 | - |log alert | | 15 | cron |scheduling daemon | |16~23 | local0~7 |local use 0~7 | **severity**(来自 https://en.wikipedia.org/wiki/Syslog) *这里所谓的严重级别只是建议,应用时应当看业务重要性,比如说交易系统hung肯定比几台无关紧要的机器宕机更可怕* | Value | Severity | Keyword | Description | |-------|----------------|-------------|----------------------------------------------------------------| | 0 | Emergency | emerg |系统不可用,这个级别不应该被系统上跑的软件使用 | | 1 | Alert | alert |应当立即修复 | | 2 | Critical | crit |紧急事故,系统主要服务出问题 | | 3 | Error | err |服务遇到错误 | | 4 | Warning | warn |如果不采取行动的话可能会出问题 | | 5 | Notice | notice |一些不寻常的现象 | | 6 | Informational| info |正常显现,不需要采取行动 | | 7 | Debug | debug |Debug 信息 | **HEAD**由时间和主机名(IP)构成(例: “Mar 15 07:30:59 hostname"),与PRI之间没有空格 **MSG**由TAG 和 CONTENT构成,中间用冒号分格;TAG是 “进程名称[pid]”, CONTENT就是内容。 *** #使用rsyslog 记录日志 ##配置rsyslog 配置文件/etc/rsyslog.conf (syslog 的配置文件是/etc/syslog.conf) **配置格式(syslog的配置方式,由rsyslog兼容)** 服务名称[.=!]severity 日志路径或者主机名 例: ``` # Log cron stuff cron.* /var/log/cron # Save news errors of level crit and higher in a special file. uucp,news.crit /var/log/spooler # Log anything (except mail) of level info or higher. # Don't log private authentication messages! *.info;mail.none;authpriv.none;cron.none /var/log/messages ``` \. 把大于等于配置的等级的信息全部记录下来 = 把等于配置等级的信息全部记录下来 ! 把不等于配置等级的信息全部记录下来 ##启动关闭等 /etc/init.d/rsyslog {start|stop|restart|condrestart|try-restart|reload|force-reload|status} ##命令行生成日志 usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] [ message ... ] *** #使用rsyslog 转发日志 服务端 ``` [root@hadoop1 log]# cat /etc/rsyslog.conf # Provides UDP syslog reception $ModLoad imudp $UDPServerRun 514 # Provides TCP syslog reception $ModLoad imtcp $InputTCPServerRun 514 ``` 客户端 ``` [root@hadoop2 log]# cat /etc/rsyslog.conf *.info;mail.none;authpriv.none;cron.none @@192.168.0.105 #往哪台机器转发,一个@是udp 两个@是tcp ```
上一篇:
Linux服务 1.02 crond
下一篇:
Linux服务 2.1 vsftp
文档导航