ubuntu设置syslog服务
如何查看配置Ubuntu和Centos的系统日志

如何查看配置Ubuntu和Centos的系统日志内容来源于PPPCloud官网教程介绍Linux系统管理员经常需要查看日志文件用于故障诊断。
事实上,这是任何系统管理员都将做的第一件事。
在本教程中,我们将看看Linux日志记录机制。
默认文件位置默认的日志文件位置:在Linux默认位置是/var/log日志文件。
您可以用一个简单的ls - l /var/log命令查看日志文件的目录列表。
查看文档内容下面是一些常见的日志文件,他们都在默认的log路径下面• wtmp最后一个命令告诉我们登录用户的历史:Syslog守护进程日志的核心机制是rsyslog守护进程,这个服务负责各个部分的的日志信息的收集和传递。
它还可以日志消息转发到另一个Linux服务器。
rsyslog配置文件此守护进程会从rsyslog.conf文件获取配置信息,这个文件一般默认在/etc下面。
这个配置文件会告诉rsylog守护进程哪里去存储日志。
这里是一个CentOS rsyslog摘录。
配置文件:• debug: 来源于项目的调试信息。
•• info: 简单的信息消息——不需要干预•• notice: 可能需要关注的条件•• warn:警告•• err: 错误•• crit: 临界条件•• alert: 条件是需要立即干预•• emerg: 紧急情况•现在让我们考虑下面的从文件中取出的行。
同样,如果我们想从陷阱邮件子系统除了信息消息,该规范将像下面这样在接下来的例子中,我添加两个新行在CentOS的系统配置文件rsyslog.conf。
默认情况下,日志文件是旋转每周有四个剩余积压在线在任何时候。
当程序运行时,将生成一个新的、空的日志文件和旧将被压缩。
他唯一的例外是wtmp和btmp文件。
wtmp跟踪系统登录和btmp跟踪坏的登录尝试。
如果任何wtmp 或btmp文件可以找到,这些日志文件都是每月旋转。
自定义日志保存在etc / logrotate旋转配置目录。
syslog之一:Linuxsyslog日志系统详解

syslog之⼀:Linuxsyslog⽇志系统详解# ⼀、syslog简介syslog是⼀种⼯业标准的协议,可⽤来记录设备的⽇志。
在UNIX系统,路由器、交换机等⽹络设备中,系统⽇志(System Log)记录系统中任何时间发⽣的⼤⼩事件。
管理者可以通过查看系统记录,随时掌握系统状况。
UNIX的系统⽇志是通过syslogd这个进程记录系统有关事件记录,也可以记录应⽤程序运作事件。
通过适当的配置,我们还可以实现运⾏syslog 协议的机器间通信,通过分析这些⽹络⾏为⽇志,藉以追踪掌握与设备和⽹络有关的状况。
功能:记录⾄系统记录。
# ⼆、syslog服务与配置2.1、安装syslog软件包软件包名称为:rsyslog-5.8.10-10.el6_6.x86_64我⽤的是centos系统,配置的有第三⽅的yum源,我直接yum install直接装就OK了装完后⽤ rpm -qa | grep syslog下看是否已安装2.2、syslog⽇志系统可以根据程序详细信息的不同定义不同的⽇志级别2.3、Linux上的⽇志系统分为:syslog和syslog-ng(syslog⽇志系统的升级版)2.4、syslog服务:syslog服务进程分两个,分别是:syslogd(系统,⾮内核产⽣的⽇志)和klogd(专门记录内核产⽣的⽇志)kernel-->物理终端(/dev/console)-->/var/log/dmesg 其中/var/log/dmesg⽂件可以使⽤dmesg命令和cat查看⽂件内容⽇志滚动(⽇志切割):所谓的滚动是指历史信息所保存的⽇志,如;messages⽂件⽇志会越来越⼤等到了某⼀段时间,会把messages⽂件重新命名为messages.1,系统并重新创建messages⽂件,所以叫做⽇志滚动/sbin/init/var/log/messages:系统标准错误⽇志信息;⾮内核产⽣的引导信息,各⼦系统产⽣的信息/vat/log/maillog:邮件系统产⽣的⽇志信息/vat/log/secure:安全相关log系统⾃带的⽇志切割程序logrotatelogrotate脚本配置⽂件[root@localhost cron.daily]# pwd/etc/cron.daily[root@localhost cron.daily]# vim logrotate滚动⽇志信息配置⽂件[root@localhost cron.daily]# pwd/etc/cron.daily[root@localhost cron.daily]# vim /etc/logrotate.conf# see "man logrotate"for details# rotate log files weeklyweekly #每周滚动⼀次# keep 4 weeks worth of backlogsrotate 4 #只保留4个切割版本⽂件,超过后清除# create new (empty) log files after rotating old onescreate #滚动完之后创建⼀个空的新的⽂件# use date as a suffix of the rotated filedateext# uncomment this if you want your log files compressed#compress# RPM packages drop log rotation information into this directoryinclude /etc/logrotate.d #包括/etc/logrotate.d 下的⽂件,⼿动添加可直接添加到此⽬录# no packages own wtmp and btmp -- we'll rotate them here/var/log/wtmp{monthly #按⽉,⾃⼰定义create 0664 root utmp #创建⽂件并0664权限minsize 1M #最新1Mrotate 1 #保留⼏个版本}/var/log/btmp{missingokmonthlycreate 0600 root utmprotate 1}# system-specific logs may be also be configured here.[root@localhost cron.daily]#syslog配置⽂件/etc/rsyslog.conf注:centos 6 的配置⽂件是/etc/rsyslog.conf,centos5的配置⽂件是/etc/syslog.conf2.5、配置⽂件定义格式为facility.priority actionfacility是指哪个facility来源产⽣的⽇志; priority是指拿个级别的⽇志;action是指产⽣⽇志怎么办是保存在⽂件中还是其他。
linux rsyslog 发日志

linux rsyslog 发日志rsyslog 是Linux 系统上常用的日志系统,它能够收集、处理和转发系统日志,并且支持多种协议和格式。
在rsyslog 中,日志消息被解析并组织成结构化的数据,以便于搜索、分析和可视化。
以下是一些关于如何在Linux 上使用rsyslog 发送日志的步骤:1. 安装rsyslog在大多数Linux 发行版中,rsyslog 已经预装了。
如果没有预装,可以使用包管理器安装它。
例如,在Ubuntu/Debian 上可以使用以下命令安装rsyslog:```sqlsudo apt-get updatesudo apt-get install rsyslog```2. 配置rsyslogrsyslog 的主要配置文件是`/etc/rsyslog.conf`。
这个文件定义了日志的输入、输出和过滤规则。
你可以使用文本编辑器打开这个文件并对其进行配置。
在配置文件中,你可以定义日志的输入源、日志格式、日志存储位置以及日志过滤规则。
例如,以下配置将syslog 守护进程作为输入源,将日志写入到/var/log/syslog 文件中,并使用默认的日志格式:```bash# /etc/rsyslog.conf# Global configurationglobal {# 设置默认日志格式# 使用默认的日志格式,输出内容如下:# [local0]:33654 Aug 29 14:29:11 server01 /var/log/syslog defaultNetstreamDriver gtls # use gtls driver for encrypted syslog defaultNetstreamDriverParms "sec=隐私级别=TLSv1.2" # TLS security setup}# Rules for logging messages to syslog# 在这里定义日志过滤规则,将符合规则的日志消息写入到syslog 文件中if $fromhost-ip (ip("X.X.X.X") and port(514)) then { # 从指定IP 地址发送的日志消息被转发到syslog 文件action(type="omfwd" target="127.0.0.1" port="514" protocol="udp") # 将日志消息转发到本地主机上的syslogd 服务} else if $fromhost-ip (ip("Y.Y.Y.Y") and port(514)) then { # 从另一个指定IP 地址发送的日志消息被转发到syslog 文件action(type="omfwd" target="127.0.0.1" port="514" protocol="udp") # 将日志消息转发到本地主机上的syslogd 服务} else { # 其他情况下的日志消息不会被转发到syslog 文件}```。
ubuntu设置syslog服务

ubuntu设置syslog服务ubuntu设置syslog服务ubuntu服务器默认安装有rsyslog服务如果没有安装可以运行命令安装apt-get install rsyslog配置etc/rsyslog.conf修改此处#,使UDP端口接收生效# provides UDP syslog reception$ModLoad imudp$UDPServerRun 514添加#Cisco Syslog messageslocal2.debug /var/log/cisco.log $AllowedSender UDP, 127.0.0.1 , 192.168.XX.XX #这里是你的cisco设备ip重起rsyslog服务,命令service rsyslog stopservice rsyslog start察看有log文件了运行ls命令/var/log/cisco.logcisco 设备按需要添加命令:#logging 192.168.X.X (此处为ubuntu ip)#logging facility local2#service timestamps debug datetime localtime show-timezone msec#logging trap 7 (logging 7 为debug 信息)察看logtail -f cisco.logtail -f 命令可以看实时变化,相当于监控,ctrl-c退出。
另外操作log文件的命令cp cisco.log : copy filemv cisco.log : move filechmod 764 cisco.log :修改权限chmod +x cisco.log :修改权限rm cisco.log : delete cisco.logPS重复记录问题:syslog 不光在firewall.log 中记录,还在/var/log 中的syslog 和messages 记录,由于日志很大,这下麻烦了。
linux的syslog转发

在Linux系统中,syslog是一种广泛使用的日志记录协议。
syslog 服务器接收并保存系统日志,以便后续分析和报告。
当需要将日志从一台机器转发到另一台机器时,可以使用syslog的转发功能。
以下是在Linux系统中使用syslog进行转发的步骤:1. 配置发送端:在发送端机器上,需要配置syslog服务器将日志发送到目标服务器。
这可以通过修改/etc/rsyslog.conf文件来完成。
找到下面这样的行并取消注释:```bash$ModLoad imudp$UDPServerRun 514```这将启用rsyslog守护进程监听UDP端口514,并将日志发送到目标服务器。
2. 配置接收端:在接收端机器上,需要配置syslog服务器接收来自其他机器的转发日志。
这可以通过编辑/etc/rsyslog.conf文件来完成。
找到下面这样的行并取消注释:```bash$ModLoad imudp$UDPServerRun 514```这将启用rsyslog守护进程监听UDP端口514,并接收来自其他机器的转发日志。
3. 重启rsyslog服务:在发送端和接收端机器上,需要重启rsyslog服务以使配置更改生效。
可以使用以下命令重启rsyslog服务:```shellsudo systemctl restart rsyslog```4. 测试转发功能:现在,应该已经配置好了syslog转发。
可以使用以下命令测试转发功能是否正常工作:```shelllogger -n <接收端IP地址> -u UDP514 "Hello, world!"```如果一切正常,您应该能够在接收端机器的syslog日志文件中看到刚刚发送的消息。
Syslog日志中心服务器收集windows和linux客户端日志

Syslog⽇志中⼼服务器收集windows和linux客户端⽇志Syslog⽇志中⼼服务器收集windows和linux客户端⽇志Vdi环境下,虚拟机太多,我们不可能⼀台⼀台登录到虚机⾥⾯看⽇志,配置⼀台⽇志中⼼服务器,收集、管理虚机的⽇志是最好的⽅法;这⾥介绍在windows下使⽤nxlog⽇志上传⼯具(在win7、server2008、2012上测试通过),并且占⽤的资源很⼩(见图); linux下使⽤⾃带的syslog(Ubuntu14、12,centos7、6.5、6.4、6.3测试通过),并指向syslog中⼼⽇志服务器,在syslog中⼼⽇志服务器上就能对⼤量虚机的⽇志进⾏管理了。
(⼀)客户端配置(1)Windows Nxlog客户端配置:附件安装包:这款软件可以在32位和64位os上安装。
安装好的位置如下图:⽰例是32位操作系统安装好后修改配置⽂件:打开conf⽂件夹下 nxlog.conf⽂件,按下图注释位置修改:1)填⼊⽂件安装路径(注意32位和64位os的路径不⼀样)2)使⽤udp协议3)接受消息的地址4)514端⼝配置好后启动nxlog服务,设成⾃动启动Nxlog在server2008下占⽤的资源图:(2)Linux下syslog客户端配置:修改配置⽂件:#vi /etc/rsyslog.conf在最后⼀⾏加⼊:*.* @169.169.169.169:514 #将所有消息发送到该地址重启服务:#service rsyslog restart(⼆)Syslog中⼼⽇志服务器配置:1)修改rsyslog.conf⽂件:#vi /etc/rsyslog.conf去掉$ModLoad imudp和 $UDPServerRun 514两⾏前⾯的注释#号2)# service rsyslog restart3)# ip net# ip net exec qrouter-1f6fafcf-8b73-4f59-9a38-b176b3649cac #需要修改qrouteriptables -t nat -A neutron-l3-agent-PREROUTING -p udp -d 169.169.169.169 --dport 514 -j DNAT --to 192.168.201.13:514#***********将发送到169.169.169.169 514端⼝的消息转发到syslog中⼼⽇志服务器192.168.201.13:514 需要修改成syslog中⼼⽇志服务器的IP和端⼝***********##service iptables restart验证:Syslog中⼼⽇志服务器上能看到时间⽇期计算机名事件代码的⽇志信息,跟windows下对⽐是⼀致的,这样在syslog服务器上就能实时看到Windows虚拟机的⽇志了,只要Windows虚机产⽣⽇志,都会马上传到syslog服务器上下图是Syslog客户端发送的消息Syslong中⼼⽇志服务器收到消息,可以看到虚机neustor的⽇志信息,跟syslog客户端发来的⼀致注:⽇志发送的是计算机名,如果虚机计算机名是⼀样的就⽆法辨别了,所以虚机计算机名需要修改,NewName.bat的作⽤是修改计算机名的,运⾏⼀次重启后随机⽣成计算机名;如果是⼤批量的创建虚拟机,可以将该批处理放在windows启动项,然后做成镜像,再创建虚拟机,虚机建好后⽣成的计算机名不⼀样,解决发送到syslog服务器⽇志重名⽆法辨别是哪台机器的问题。
init rc加日志方法

init rc加日志方法
在Linux系统中,init是系统的第一个进程,它负责启动和管理系统中的所有其他进程。
init进程的配置文件通常是位于/etc目录下的init/rc文件,不同的Linux发行版可能会有不同的命名方式,比如Ubuntu使用的是upstart或者systemd。
要给init/rc添加日志方法,你可以使用syslog服务来记录系统日志信息。
syslog是一个系统日志服务,它可以帮助你收集、记录和管理系统的各种日志信息。
你可以在init/rc脚本中调用syslog服务来记录特定事件或者输出信息。
另一种方法是在init/rc脚本中直接调用logger命令来记录日志。
logger命令可以将指定的消息写入系统日志中,你可以在
init/rc脚本中使用logger命令来记录系统启动、关闭或者其他重要事件的日志信息。
此外,你还可以在init/rc脚本中使用echo命令将日志信息输出到特定的文件中,这样可以方便你查看和分析系统的运行日志。
总的来说,要给init/rc添加日志方法,你可以使用syslog服
务、logger命令或者echo命令来记录系统日志信息,这样可以帮助你更好地监控和管理系统的运行情况。
linux日志转发给syslog

linux日志转发给syslog摘要:1.Linux 日志简介2.syslog 的作用和原理3.配置Linux 日志转发到syslog4.总结正文:Linux 日志简介Linux 系统日志是记录系统运行过程中发生的事件和错误的工具,可以帮助管理员快速定位问题,了解系统运行状况。
日志信息按照不同类型存储在不同的文件中,例如,系统日志信息通常存储在/var/log/目录下。
syslog 的作用和原理syslog 是一个Linux 系统中的日志管理工具,它可以接收、存储和转发各种类型的日志信息。
syslog 通过使用日志消息协议(syslog protocol)与其他系统进行通信,从而实现日志信息的集中管理和分析。
配置Linux 日志转发到syslog要将Linux 日志转发给syslog,需要进行以下步骤:1.安装syslog:在Debian 和Ubuntu 系统中,可以使用以下命令安装syslog:```sudo apt-get install syslog```在RHEL 和CentOS 系统中,可以使用以下命令安装syslog:```sudo yum install syslog```2.配置syslog:编辑syslog 配置文件,通常位于/etc/syslog.conf。
在此文件中,可以设置syslog 接收日志的IP 地址和端口,以及其他相关配置。
以下是一个示例配置,将日志转发到本地的1234 端口:```# /etc/syslog.confsyslog {source s_local {ip(0.0.0.0) udp(1234);};};```3.配置Linux 系统日志:在Linux 系统日志配置文件中,需要添加以下内容,以指定syslog 服务器。
例如,以下配置将系统日志转发到syslog 服务器(192.168.1.100)的1234 端口:```# /etc/rsyslog.conf$SystemLogFile /dev/null$WorkDirectory /var/log$DefaultLogLevel notice$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat*.* @192.168.1.100```4.重启syslog 服务:保存配置文件后,需要重启syslog 服务以使更改生效。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ubuntu设置syslog服务
ubuntu服务器默认安装有rsyslog服务
如果没有安装可以运行命令安装
apt-get install rsyslog
配置etc/rsyslog.conf
修改此处#,使UDP端口接收生效
# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
添加
#Cisco Syslog messages
local2.debug /var/log/cisco.log $AllowedSender UDP, 127.0.0.1 , 192.168.XX.XX #这里是你的cisco设备ip
重起rsyslog服务,命令
service rsyslog stop
service rsyslog start
察看有log文件了
运行ls命令
/var/log/cisco.log
cisco 设备按需要添加命令:
#logging 192.168.X.X (此处为ubuntu ip)
#logging facility local2
#service timestamps debug datetime localtime show-timezone msec
#logging trap 7 (logging 7 为debug 信息)
察看log
tail -f cisco.log
tail -f 命令可以看实时变化,相当于监控,ctrl-c退出。
另外操作log文件的命令
cp cisco.log : copy file
mv cisco.log : move file
chmod 764 cisco.log :修改权限
chmod +x cisco.log :修改权限
rm cisco.log : delete cisco.log
PS
重复记录问题:
syslog 不光在firewall.log 中记录,还在/var/log 中的syslog 和messages 记录,由于日志很大,这下麻烦了。
看看syslog.conf 的man,居然还有个! 功能,在syslog.conf 文件中的syslog 和messages 定义前面加上了!local7.*,感觉不错,syslog 不再向syslog 和messages 文件中记录设备日志了。
/etc/rsyslog.d/50-default.conf进行修改
*.*,!,!local2.debug;auth,authpriv.none -/var/log/syslog
文件超大问题
syslog 记录的日志文件最大不超过2.5G,如果超过了,将停止记录。
而 isg1000 4个小时左右的日志就达到这个数量了。
必须设置日志轮转。
在
/etc/logrotate.d 中新建 firewall 日志轮转控制文件,属性644,firewall 内如如下:
/var/log/firewall/firewall.log {
start 1000
rotate 512
maxage 100
size 1500M
compress
delaycompress
missingok
postrotate
/usr/bin/killall -HUP syslogd
Endscript
}
#include <iostream>
#include <syslog.h>
using namespace std;
int main() {
openlog( "test", LOG_PID, LOG_USER );
syslog( LOG_LOCAL3 | LOG_INFO, "lalalalalalalalalalal" );
closelog();
cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
return 0;
}
参考地址
/wangkangluo1/archive/2012/05/30/2526011.html
/OS/Linux/201004/16302.htm。