syslog日志服务器搭建
Ⅰ 如何搭建日志监控系统
ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台(开源实时日志分析ELK平台部署)
日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。
通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。
集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。
开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。官方网站:
Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash是一个完全开源的工具,他可以对你的日志进行收集、分析,并将其存储供以后使用(如,搜索)。
kibana也是一个开源和免费的工具,他Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。 工作原理如下所示:
在需要收集日志的所有服务上部署logstash,作为logstash agent(logstash shipper)用于监控并过滤收集日志,将过滤后的内容发送到logstash indexer,logstash indexer将日志收集在一起交给全文搜索服务ElasticSearch,可以用ElasticSearch进行自定义搜索通过Kibana 来结合自定义搜索进行页面展示。
四大组件:
Logstash: logstash server端用来搜集日志;
Elasticsearch: 存储各类日志;
Kibana: web化接口用作查寻和可视化日志;
Logstash Forwarder: logstash client端用来通过lumberjack 网络协议发送日志到logstash server;
Ⅱ syslog配置了服务器与客户端,网口连通,514端口开启,为啥还是不能再服务器端记录日志
edhat 9.0也有这种情况
从其他机器连不到514端口..
后来 # vi /etc/xinetd.d/rsh-----------改disable= no
重启xinetd服务
telnet localhost 514
在另外一台机器上利用日志分析工具就可以连了.
Ⅲ 如何搭建中心系统日志服务器
系统统日志(Syslog)协议简介Syslog是一种在网络中传递消息的标准。它采用Client/Server架构:syslog的发送者(Client)向接受者(Server)发送短消息(一般小于1KB)。现在Syslog被应用于很多系统中:OS,Router,Switch等等。日志严重程度(severity levels): 0 - Emergency (emerg) 1 - Alerts (alert) 2 - Critical (crit) 3 - Errors (err) 4 - Warnings (warn) 5 - Notification (notice) 6 - Information (info) 7 - Debug (debug) 通常系统会将进程分组,同组进程的日志将具有相同的组标识(称为facility),这样可以在一定程度上对日志分类。常用的facility包括:auth - authentication (login) messages cron - messages from the memory-resident scheler daemon - messages from resident daemons kern - kernel messages lpr - printer messages (used by JetDirect cards) mail - messages from Sendmail user - messages from user-initiated processes/apps local0-local7 - user-defined syslog - messages from the syslog process itself 搭建中心系统日志(Syslog)服务器有什么好处?一般系统缺省会将日志发送到本地的Syslog服务器上,并保存到本地存储或者直接输出在屏幕等终端设备上。建立一个统一的日志服务器,并且将所有的日志发送到该服务器具有如下好处:方便集中日志管理(存储、备份、查询,等等)。对于没有终端(Console)的设备,方便查看日志。日志更安全:一旦黑客入侵其中某个设备,通常会将日志清楚。将日志输出到中心服务器,有利于保护日志的完整性。搭建中心系统日志(Syslog)服务器如果你的系统使用sysklogd,请参考如下配置:修改/etc/sysconfig/syslog,替换:SYSLOGD_OPTIONS="-m 0" 为SYSLOGD_OPTIONS="-rm 0"重新启动syslog服务:service syslog restart注意防火墙设置:如果你的Client是192.168.1.2, Syslog Server是192.168.1.1,可以参考如下的设置: iptables -I INPUT -p udp -i eth0 -s 192.168.1.2 -d 192.168.1.1 --dport 514 -j ACCEPT 配置其他设备使用该系统日志(Syslog)服务器syslogd的配置文件(如:/etc/syslog.conf)一般有如下语法: facility.severity log-file-name 将所有Kernel日志写入/var/log/kernel.log: kern.* /var/log/kernel.log 将所有日志写入/var/log/kernel.log: *.* /var/log/all.log 将所有日志发送到远程日志服务器: *.* @hostname 注意防火墙设置:如果你的Client是192.168.1.2, Syslog Server是192.168.1.1,可以参考如下的设置: iptables -I OUTPUT -p udp -i eth0 -s 192.168.1.2 -d 192.168.1.1 --dport 514 -j ACCEPT 参考资料维基网络上的Syslog介绍。Syslog daemon。Syslog-ng日志系统 - 一个增加版的日志系统。Rsyslog - 多线程、灵活的日志系统。
Ⅳ 如何将Linux主机设置成syslog服务器
鸟哥在书中介绍了这样的一种环境。 办公室内有10台Linux主机,每一台负责一个网络服务。为了无需登录每台主机去查看登录文件,需要设置一台syslog服务器,其他主机的登录文件都发给它。这样做的话,只需要登录到syslog服务器上就能查看所有主机的登录文件。 RedHat上的设置方法,鸟哥已经介绍了。 【服务器端】step 1:查看服务器是否开启了UDP 514端口 grep '514' /etc/services step 2:修改syslogd的启动设置文件/etc/sysconfig/syslog 将SYSLOGD_OPTIONS="-m 0"修改成SYSLOGD_OPTIONS="-m 0 -r" step 3:重启syslogd服务 /etc/init.d/syslog restart 重启后,你会发现UDP 514端口已经打开。 Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0:514 0.0.0.0:* 5628/syslogd 【客户端】step 1:在/etc/syslog.conf中,添加下行。 user.* @192.168.0.Y # syslog服务器的IP地址 在Ubuntu中配置syslogd服务器的方法类似。 step 1:查看服务器是否开启了UDP 514端口,有下面一行说明端口514被打开,没有需要加入 # grep '514' /etc/services 184:shell 514/tcp cmd # no passwords used
185:syslog 514/udp step 2: 修改/etc/init.d/sysklogd,将SYSLOGD=""修改成SYSLOGD=" -r" step 3: 修改/etc/default/syslogd,将SYSLOGD=""修改成SYSLOGD=" -r" step 4: 重启服务 /etc/init.d/sysklogd restart step 5: 验证 在/var/log/messages中找到 May 1 23:31:59 flagonxia-desktop syslogd 1.5.0#5ubuntu3: restart (remote reception) # netstat -tlunp 得到syslogd服务正在监听端口514 udp 0 0 0.0.0.0:514 0.0.0.0:* 3912/syslogd step 6: 假设syslog服务器的IP地址:192.168.1.25,在其他主机上的/etc/syslog.conf中加入 *.* @192.168.1.25 注:/etc/syslog.conf文件的解析日志文件按/etc/syslog.conf 配置文件中的描述进行组织。下图是/etc/syslog.conf 文件的内容:[root@localhost ~]# cat /etc/syslog.conf
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# 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
# The authpriv file has restricted access.
authpriv.* /var/log/secure
# Log all the mail messages in one place.
mail.* -/var/log/maillog
# Log cron stuff
cron.* /var/log/cron
# Everybody gets emergency messages
*.emerg *# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler
# Save boot messages also to boot.log
local7.* /var/log/boot.log
syslog.conf 行的基本语法是: [ 消息类型][ 处理方案] 注意:中间的分隔符必须是Tab 字符!消息类型是由" 消息来源" 和" 紧急程度" 构成,中间用点号连接。例如上图中,news.crit 表示来自news 的“ 关键” 状况。在这里,news是消息来源,crit 代表关键状况。通配符* 可以代表一切消息来源。 说明:第一条语句*.info ,将info 级以上(notice,warning,err,crit,alert 与emerg )的所有消息发送到相应日志文件。日志文件类别(按重要程度分类)日志文件可以分成八大类,下面按重要性从大到下列出:emerg emergency ,紧急alert 警报crit critical ,关键errerror ,错误warning 警告notice 通知info 信息debug 调试简单列一下消息来源auth 认证系统,如login 或su ,即询问用户名和口令cron 系统执行定时任务时发出的信息daemon 某些系统的守护程序的 syslog ,如由in.ftpd 产生的log
kern 内核的信息lpr 打印机的信息mail 处理邮件的守护进程发出的信息mark 定时发送消息的时标程序news 新闻组的守护进程的信息user 本地用户的应用程序的信息uucp uucp 子系统的信息* 表示所有可能的信息来源处理方案" 处理方案" 选项可以对日志进行处理。可以把它存入硬盘,转发到另一台机器或显示在管理员的终端上。处理方案一览:文件名 写入某个文件,要注意绝对路径。 @ 主机名 转发给另外一台主机的syslogd 程序。@IP 地址 同上,只是用IP 地址标识而已。/dev/console 发送到本地机器屏幕上。* 发送到所有用户的终端上。 | 程序 通过管道转发给某个程序。例如:kern.emerg /dev/console( 一旦发生内核的紧急状况,立刻把信息显示在控制台上) 说明: 如果想修改syslogd 的记录文件,首先你必须杀掉syslogd 进程,在修改完毕后再启动syslogd 。攻击者进入系统后通常立刻修改系统日志,因此作为网管你应该用一台机器专门处理日志信息,其他机器的日志自动转发到它上面,这样日志信息一旦产生就立刻被转移,这样就可以正确记录攻击者的行为。
Ⅳ 如何搭建syslog日志服务器
首先我们知道日志是什么,日志毫无疑问就跟我们写日记一样记录我们每天做的一些事情,那么日志对于一台服务器而言是至关重要的,比如说我们搭建服务的时候,服务起不来也没提示错误信息,那么这个时候就可以查看日志来排错了,还记录了服务器的运行情况已经入侵记录等等... ,那么我们知道一台服务器的日志默认是存放在本地的对于linux而言日志一般存放于/var/log/目录下,比如说某系统管理员管理着几十甚至上百台服务器的时候,默认日志放在每台服务器的本地,当我们每天要去看日志的时候一台一台的看日志是不是要郁闷死了. 没关系在linux系统上提供了一个syslogd这样的一个服务为我们提供日志服务器,他可以将多台主机和网络设备等等的日志存到日志服务器上,这样就大大减少了管理员的工作量,下面将在一台默认装有rhel5.x的系统上搭建一台日志服务器.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
系统环境:默认安装有rhel5.8的系统
主机 角色 IP地址
server1 日志服务器 10.0.0.1
server2 10.0.0.2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
实际上日志服务器的配置非常之简单几条命令就搞定了
一.配置日志服务器为网络中其他主机及其网络设备等等提供日志存储服务,也就是配置server1
1. 在server1上编辑/etc/sysconfig/syslog文件修改如下
#vim /etc/sysconfig/syslog ## 只修改SYSLOGD_OPTINOS这项,如下
SYSLOGD_OPTIONS="-m 0 -r"
2 .重新启动syslog
#service syslog restart
3.配置防火墙,syslog传送日志的端口是UDP的514端口防火墙在默认的情况下是阻止所有的,这里就 直接把防火墙关闭了,防火墙的配置就不介绍了
#service iptables stop
#chkconfig iptables off
ok!到这里服务器的配置基本就结束了.
二.配置server2让其将日志发送到日志服务器上去,我们知道windows跟交换机路由器都是有日志产 生的,它们的日志也是可以存储到日志服务器上去的,这里就只介绍linux主机的
1.配置server2上的/etc/syslog.conf定义日志的类型以及日志的级别和日志存放的位置,这里就只简 单的介绍下大体的配置思路,
#vim /etc/syslog.conf
*.* @10.0.0.1
上面的配置表示所有的日志类型.所有的日志的级别的日志都将存放在10.0.0.1这台日志服务器上
2,重启syslog
#service syslog restart
三.验证
1.在server2上建一个redhat的用户,然后到server1上的/var/log/secure文件或者/var/log/messages文件 查看日志
#cat /var/log/secure
Jun 8 00:58:05 10.0.0.2 useradd[15463]: new group: name=redhat, GID=500
Jun 8 00:58:05 10.0.0.2 useradd[15463]: new user: name=redhat, UID=500, GID=500, home=/home/redhat, shell=/bin/bash
可以看到10.0.0.2这台主机new了一个redhat的用户
Ⅵ 怎么搭建Linux syslog服务器抓思科交换机的日志
将Cisco设备的日志发往syslog服务器,如下操作:
device#conf t
device(config)#logging on
device(config)#logging 172.16.86.102
device(config)#logging trap errors //日志记录级别,可用"?"查看详细内容
device(config)#logging source-interface loopback0 //日志发出用的源IP地址
device(config)#service timestamps log datetime localtime //日志记录的时间戳设置,可根据需要具体配置检验
device#sh logging
设置完成后,最好设置一下当前交换机或路由器的时钟。这样在日志服务器上就可以看到何时产生的日志。
switch#clock 9:48:00 21 Feb 2011
logging trap level //指定日志消息的级别
(0:紧急(Emergencies)
Ⅶ 想在公司内部搭建一个日志服务器,可以接收其他所有服务器以及各种设备产生的日志。不知道用什么服务器。
http://wenku..com/view/8053931cff00bed5b9f31d8a.html
详细步骤
建立一个中央日志服务器
1建立中央日志服务器前的准备工作
配置良好的网络服务(DNS和NTP)有助于提高日志记录工作的精确性。在默认情况下,当有其他机器向自己发送日志消息时,中央日志服务器将尝试解析该机器的FQDN(fullyqualifieddomainname,完整域名)。(你可以在配置中央服务器时用“-x”选项禁止它这样做。)如果syslog守护进程无法解析出那个地址,它将继续尝试,这种毫无必要的额外负担将大幅降低日志记录工作的效率。类似地,如果你的各个系统在时间上不同步,中央日志服务器给某个事件打上的时间戳就可能会与发送该事件的那台机器打上的时间戳不一致,这种差异会在你对事件进行排序分析时带来很大的困扰;对网络时间进行同步有助于保证日志消息的时间准确性。如果想消除这种时间不同步带来的麻烦,先编辑/etc/ntp.conf文件,使其指向一个中央时间源,再安排ntpd守护进程随系统开机启动就可以了。
2配置一个中央日志服务器
只须稍加配置,就可以用syslog实现一个中央日志服务器。任何一台运行syslog守护进程的服务器都可以被配置成接受来自另一台机器的消息,但这个选项在默认情况下是禁用的。在后面的讨论里,如无特别说明,有关步骤将适用于包括SUSE和RedHat在内的大多数Linux发行版本。我们先来看看如何激活一个syslog服务器接受外来的日志消息:
1. 编辑/etc/sysconfig/syslog文件。
在“SYSLOGD_OPTIONS”行上加“-r”选项以允许接受外来日志消息。如果因为关于其他机器的DNS记录项不够齐全或其他原因不想让中央日志服务器解析其他机器的FQDN,还可以加上“-x”选项。此外,你或许还想把默认的时间戳标记消息(--MARK--)出现频率改成比较有实际意义的数值,比如240,表示每隔240分钟(每天6次)在日志文件里增加一行时间戳消息。日志文件里的“--MARK--”消息可以让你知道中央日志服务器上的syslog守护进程没有停工偷懒。按照上面这些解释写出来的配置行应该是如下所示的样子:
SYSLOGD_OPTIONS="-r-x-m240"
2.重新启动syslog守护进程。修改只有在syslog守护进程重新启动后才会生效。如果你只想重新启动syslog守护进程而不是整个系统,在RedHat机器上,执行以下两条命令之一:
/etc/rc.d/init.d/syslogstop;/etc/rc.d/init.d/syslogstart
/etc/rc.d/init.d/syslogrestart
3.如果这台机器上运行着iptables防火墙或TCPWrappers,请确保它们允许514号端口上的连接通过。syslog守护进程要用到514号端口。
4为中央日志服务器配置各客户机器
让客户机把日志消息发往一个中央日志服务器并不困难。编辑客户机上的/etc/syslog.conf文件,在有关配置行的操作动作部分用一个“@”字符指向中央日志服务器,如下所示:
另一种办法是在DNS里定义一个名为“loghost”的机器,然后对客户机的syslog配置文件做如下修改(这个办法的好处是:当你把中央日志服务器换成另一台机器时,不用再修改每一个客户机上的syslog配置文件):
authpriv.*@loghost
接下来,重新启动客户机上的syslog守护进程让修改生效。让客户机在往中央日志服务器发送日志消息的同时继续在本地进行日志工作仍有必要,起码在调试客户机的时候不必到中央日志服务器查日志,在中央日志服务器出问题的时候还可以帮助调试。
Ⅷ syslog日志服务器日志用什么查看
Ruijie(config)#logging on //打开日志开关
Ruijie(config)#no logging on //关闭日志开关,一般情况下,不建议关闭日志开关
Ⅸ 路由器上的“Syslog服务器”是干什么的,有什么用处
日志服务器。
日志就是记录我们做过的一些操作。
比如你敲入接口UP 或DOWN的命令,就会出现一条日志。提示接口打开或关闭。
我们一般用LOGGING SYN来同步命令和日志。
Ⅹ 如何在windows2008建立syslog服务器
我们需要测试一种集中日志系统,要在Windows上建立一个类Linux下的集中日志系统。
经过比较Winsyslog和Kiwisyslog等工具,最终选定Kiwisyslog(http://www.kiwisyslog.com/),它不仅功能齐全,而且提供免费的版本。
Kiwisyslog遵循标准的日志协议(RFC 3164),并支持UDP/TCP/SNMP几种方式的日志输入。它默认是个免费的功能受限版(但功能基本够用了,只是没有找到汉化),自带发送模拟器﹑日志浏览器等实用工具。
我还测试了一下把ACE日志写到syslog的功能。过程记录如下:
1)使用klog工具
这个主要用到kiwisyslog的klog实用工具(这个工具同时提供dll库的调用方式,真是好东西,我决定以后在我的应用里都用它!),它支持直接或用重定向的方法输出日志到kiwisyslog。
klog –m "It's almost lunchtime"
DIR *.* | klog -h 192.168.1.2 -i
但我试图使用ACE应用日志输出到kiwisyslog时(ace_app.exe | klog -h 192.168.1.2 -i的形式),发现日志内容里前后有乱码出现,即ACE的日志输出直接重定向到klog再转到kiwisyslog有问题;并且不能按时间一行一行的输出,而是等应用程序执行结束时一股脑输出到kiwisyslog(按回车换行切开成一条一条日志)。如果程序非正常结束,还不能将输出日志内容传到 kiwisyslog。
还有一个方法是在Windows通过设置可以把ACE日志输出到系统日志里面。
ACE_LOG_MSG->set_flags(ACE_Log_Msg::SYSLOG);
然后按下面2)的方法转到kiwisyslog。
2)还可以把Windows下的事件日志转到Linux下的syslog
我们需要第三方的软件来将windows的日志转换成syslog类型的日志后,转发给syslog服务器。
介绍第三方软件evtsys (全称是evntlog to syslog)
文件才几十K大小,非常小巧,解压后是两个文件evtsys.dll和evtsys.exe
把这两个文件拷贝到 c:/windows/system32目录下。
打开Windows命令提示符(开始->运行输入CMD)
C:/>evtsys –i –h 192.168.10.100
-i 表示安装成系统服务
-h 指定log服务器的IP地址
如果要卸载evtsys,则:
net stop evtsys
evtsys -u
启动该服务:
C:/>net start evtsys
打开windows组策略编辑器 (开始->运行输入 gpedit.msc)
在windows设置-> 安全设置-> 本地策略->审核策略中,打开你需要记录的windows日志。evtsys会实时的判断是否有新的windows日志产生,然后把新产生的日志转换成syslogd可识别的格式,通过UDP 3072端口发送给syslogd服务器。