精华内容
下载资源
问答
  • 集中式日志分析平台 Elastic Stack(介绍) ELK 构建在开源基础之上,让您能够安全可靠地获取任何来源、任何格式的数据,并且能够实时地对数据进行搜索、分析和可视化。 最近查看 ELK 官方网站,发现新一代的日志...

     

    【ELK】

    集中式日志分析平台 Elastic Stack(介绍)

    ELK 构建在开源基础之上,让您能够安全可靠地获取任何来源、任何格式的数据,并且能够实时地对数据进行搜索、分析和可视化。

    最近查看 ELK 官方网站,发现新一代的日志采集器 Filebeat,他是 Beats 家族其中的一员,性能超越 logstash,部署简单,占用资源少,可以很方便的和 logstash,ES 对接。

    从官方网站可以看出新一代 ELK 架构如下:

    集中式日志分析平台 Elastic Stack(介绍)

    1、Beats

    Beats 平台集合了多种单一用途数据采集器。这些采集器安装后可用作轻量型代理,从成百上千或成千上万台机器向 Logstash 或 Elasticsearch 发送数据。

    Beats 家族各采集器如下:

    采集器采集内容
    Auditbeat审计数据
    Filebeat日志文件
    Heartbeat可用性检测
    Metricbeat指标
    Packetbeat网络数据
    WinlogbeatWindows 事件日志

    集中式日志分析平台 Elastic Stack(介绍)

    Beats可以直接发送数据到ElasticSearch或通过logstash,在那里您可以进一步处理和增强数据,然后在Kibana可视化。

    Filebeat

    filebat是一个用于转发和集中日志数据的轻量级shipper。作为代理安装在服务器上,filebeat监视指定的日志文件或位置,收集日志事件,并将它们转发给ElasticSearchlogstash进行索引。
    以下是filebeat的工作原理:当您启动filebeat时,它将启动一个或多个输入,这些输入位于您为日志数据指定的位置。对于文件记录所在的每一个日志,filebat启动一台harvester。每个harvester读取一个新内容的日志,并将新的日志数据发送到libbeatibbeat聚合事件并将聚合的数据发送到filebeat配置的输出。

    集中式日志分析平台 Elastic Stack(介绍)

    2、Logstash

    Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的 “存储库” 中。(我们的存储库当然是 Elasticsearch。)

    数据往往以各种各样的形式,或分散或集中地存在于很多系统中。 Logstash 支持各种输入选择 ,可以在同一时间从众多常用来源捕捉事件。能够以连续的流式传输方式,轻松地从您的日志、指标、Web 应用、数据存储以及各种 AWS 服务采集数据。

    数据从源传输到存储库的过程中,Logstash 过滤器能够解析各个事件,识别已命名的字段以构建结构,并将它们转换成通用格式,以便更轻松、更快速地分析和实现商业价值。

    借助 Pipeline 管理图形界面来管理 Logstash 的部署,您可以轻而易举地治理数据加工管道。此外,此项管理功能也与 Elastic Stack 内置的安全特性无缝集成,用以避免任何意外操作。

    集中式日志分析平台 Elastic Stack(介绍)

    3、Elasticsearch

    Elasticsearch 是基于 JSON 的分布式搜索和分析引擎,专为实现水平扩展、高可靠性和管理便捷性而设计。

    Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。

    Elasticsearch 允许执行和合并多种类型的搜索 ( 结构化、非结构化、地理位置、度量指标 )搜索方式随心而变。先从一个简单的问题出发,试试看能够从中发现些什么。

    4、Kibana

    Kibana 能够以图表的形式呈现数据,并且具有可扩展的用户界面,供您全方位配置和管理 Elastic Stack。

    Kibana 核心搭载了一批经典功能:柱状图、线状图、饼图、旭日图,等等。它们充分利用了 Elasticsearch 的聚合功能。

    集中式日志分析平台 Elastic Stack(介绍)

    集中式日志分析平台 Elastic Stack(介绍)

    集中式日志分析平台 Elastic Stack(介绍)

    ELK中各组件承担的角色和功能

    Elasticsearch:分布式搜索和分析引擎,具有高可伸缩、高可靠和易管理等特点。基于 Apache Lucene 构建,能对大容量的数据进行接近实时的存储、搜索和分析操作。通常被用作某些应用的基础搜索引擎,使其具有复杂的搜索功能;
    Logstash:数据处理引擎,它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到 ES;
    Kibana:数据分析和可视化平台。与 Elasticsearch 配合使用,对数据进行搜索、分析和以统计图表的方式展示;
    Filebeat:ELK 协议栈的新成员,一个轻量级开源日志文件数据搜集器,使用 golang 基于 Logstash-Forwarder 源代码开发,是对它的替代。在需要采集日志数据的 server 上安装 Filebeat,并指定日志目录或日志文件后,Filebeat 就能读取数据,迅速发送到 Logstash 进行解析。

    二、ELK的几种常见架构

    1、All-In-One

    在这种架构中,只有一个 Logstash、Elasticsearch 和 Kibana 实例,集中部署于一台服务器。Logstash 通过输入插件从多种数据源(比如日志文件、标准输入 Stdin 等)获取数据,再经过滤插件加工数据,然后经 Elasticsearch 输出插件输出到 Elasticsearch,通过 Kibana 展示。

    集中式日志分析平台 Elastic Stack(介绍)

    这种架构非常简单,使用场景也有限。初学者可以搭建这个架构,了解 ELK 如何工作。

    2、Logstash 分布式采集

    这种架构是对上面架构的扩展,把一个 Logstash 数据搜集节点扩展到多个,分布于多台机器,将解析好的数据发送到 Elasticsearch server 进行存储,最后在 Kibana 查询、生成日志报表等。

    集中式日志分析平台 Elastic Stack(介绍)

    这种结构因为需要在各个服务器上部署 Logstash,而它比较消耗 CPU 和内存资源,所以比较适合计算资源丰富的服务器,否则容易造成服务器性能下降,甚至可能导致无法正常工作。

    3、Beats 分布式采集

    这种架构引入 Beats 作为日志搜集器。目前 Beats 包括四种:

    • Packetbeat(搜集网络流量数据);
    • Topbeat(搜集系统、进程和文件系统级别的 CPU 和内存使用情况等数据);
    • Filebeat(搜集文件数据);
    • Winlogbeat(搜集 Windows 事件日志数据)

    Beats 将搜集到的数据发送到 Logstash,经 Logstash 解析、过滤后,将其发送到 Elasticsearch 存储,并由 Kibana 呈现给用户。

    集中式日志分析平台 Elastic Stack(介绍)

    这种架构解决了 Logstash 在各服务器节点上占用系统资源高的问题。相比 Logstash,Beats 所占系统的 CPU 和内存几乎可以忽略不计。另外,Beats 和 Logstash 之间支持 SSL/TLS 加密传输,客户端和服务器双向认证,保证了通信安全。

    4、引入消息队列机制的 Logstash 分布式架构

    这种架构使用 Logstash 从各个数据源搜集数据,然后经消息队列输出插件输出到消息队列中。目前 Logstash 支持 Kafka、Redis、RabbitMQ 等常见消息队列。然后 Logstash 通过消息队列输入插件从队列中获取数据,分析过滤后经输出插件发送到 Elasticsearch,最后通过 Kibana 展示。

    集中式日志分析平台 Elastic Stack(介绍)

    这种架构适合于日志规模比较庞大的情况。但由于 Logstash 日志解析节点和 Elasticsearch 的负荷比较重,可将他们配置为集群模式,以分担负荷。引入消息队列,均衡了网络传输,从而降低了网络闭塞,尤其是丢失数据的可能性,但依然存在 Logstash 占用系统资源过多的问题。

    5、引入消息队列机制的 Filebeat + Logstash 分布式架构

    Filebeat 已经支持 kafka 作为 ouput,5.2.1 版本的 Logstash 已经支持 Kafka 作为 Input,和上面的架构不同的地方仅在于,把 Logstash 日志搜集发送替换为了 Filebeat。这种架构是当前最为完美的,有极低的客户端采集开销,引入消息队列,均衡了网络传输,从而降低了网络闭塞,尤其是丢失数据的可能性。

    集中式日志分析平台 Elastic Stack(介绍)

    接下来我们进行初步的探视,利用测试环境体验下ELK Stack + Filebeat,测试环境我们就不进行 Kafka 的配置了,因为他的存在意义在于提高可靠性。

     

     

    【finderweb】

    finderweb 日志等功能

    http://www.finderweb.net/docs/index.html

    管理集群非常好用,推荐给大家

    附:一些安装时需要的命令:

    yum install -y unzip zip  安装解压zip
    yum install lrzsz    安装文件上传和下载命令
    tar -zvxf  apache-tomcat-8.5.24.tar.gz
    cd apache-tomcat-8.5.24
    rm -rf webapps/ROOT    mkdir webapps/ROOT
    cd ..
    wget http://www.finderweb.net/download/finder-web-2.3.6.war
    mv finder-web-2.3.6.war finder-web-2.3.6.zip
    unzip -o -d apache-tomcat-8.5.24/webapps/ROOT finder-web-2.3.6.zipapache-tomcat-8.5.24/bin/startup.sh

    展开全文
  • 最近在接口项目开始使用微服务设计构架,使用...但是为了查询日志方便,多实例记录的日志打算不分开,还是记录同一个文件中(按天分割),看到这里可能有人会问,分布式日志收集,为什么不用ELK呢?我们是有ELK系...

    最近在接口项目开始使用微服务设计构架,使用的是现在流行的spring cloud技术栈。

    网关做权限,限流,日志记录等前置统一入口。在网关统一记录请求及相应日志,单实例的时候情况下,没有问题,但是想到网关压力比较大,于是决定启动多个实例。但是为了查询日志方便,多实例记录的日志打算不分开,还是记录到同一个文件中(按天分割),看到这里可能有人会问,分布式日志收集,为什么不用ELK呢?我们是有ELK系统的,但是平时感觉用的还是比较少,每个日志文件每天就100M以内,而且在服务器查询日志也挺方便的。

    说说碰到的问题,当多个网关实例共同操作同一个日志文件的时候,奇怪的时候会出现只能有一个实例获取操作权限,导致其他实例的日志文件漏打(但是重启其他实例后就没问题,一天时间过后,就出现了只能记录其中一个实例的,现在还不清楚是什么问题),于是就想要不直接把的logback的日志信息,直接输出到的RabbitMQ中,然后MQ消费消息再输出到文件或者ES。大概的意思是

    网关实例1日志输出----> RabbitMq |

    网关实例2日志输出----> RabbitMq | ------>文件/ ES    

    网关实例3日志输出----> RabbitMq |

    这样就不会有多个实例操作同一个日志文件的情况了,只要保证消费MQ消息正确,应该不会出现漏打日志的情况。

    首先

    1.配置一下RabbitMQ的需要的队列,交换器,绑定。(启动注入bean操作)

    @Bean
        public Queue logDirectQueue() {
            return new Queue("logDirectQueue");
        }
    
        @Bean
        public DirectExchange logDirectExchange() {
            return new DirectExchange("log.exchange.direct", false, false);
        }
    
        /**
         * 根据路由键绑定队列到交换器上
         *
         * @return
         */
        @Bean
        public Binding logDirectBinding() {
            return BindingBuilder.bind(logDirectQueue()).to(logDirectExchange()).with("logDirectQueue");
        }
    

    2.Spring boot的配置文件

    spring:
      rabbitmq:
        host: 127.0.0.1
        username: guest
        password: guest
        port: 5672
    
    log:
      path: D:/logs/rabbitmq
    
    logging:
      config: classpath:logback-spring.xml

    3.spring-logback.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
    
        <!--日志存储位置(读取配置文件的路径)-->
        <springProperty scope="context" name="log_dir" source="log.path"/>
        <springProperty name="rabbitmqHost" source="spring.rabbitmq.host"/>
        <springProperty name="rabbitmqPort" source="spring.rabbitmq.port"/>
        <springProperty name="rabbitmqUsername" source="spring.rabbitmq.username"/>
        <springProperty name="rabbitmqPassword" source="spring.rabbitmq.password"/>
    
        <!-- 控制台日志 -->
        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>%red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) [%class:%line] %highlight(%-5level) - %cyan(%msg%n)
                </pattern>
                <charset>UTF-8</charset>
            </encoder>
        </appender>
    
        <appender name="AMQP" class="org.springframework.amqp.rabbit.logback.AmqpAppender">
    
            <!--Layout(纯文本)而不是格式化的JSON -->
            <layout>
                <pattern>
                    <![CDATA[%d{yyyy-MM-dd HH:mm:ss} [%thread] [%class:%line] %-5level %logger - %msg%n ]]>
                </pattern>
            </layout>
            <host>${rabbitmqHost}</host>
            <port>${rabbitmqPort}</port>
            <username>${rabbitmqUsername}</username>
            <password>${rabbitmqPassword}</password>
    
            <declareExchange>false</declareExchange>
            <exchangeType>direct</exchangeType>
            <exchangeName>log.exchange.direct</exchangeName>
            <routingKeyPattern>logDirectQueue</routingKeyPattern>
            <generateId>true</generateId>
            <charset>UTF-8</charset>
            <durable>false</durable>
            <deliveryMode>NON_PERSISTENT</deliveryMode>
        </appender>
    
        <!-- 文件记录只记录指定包的日志 -->
        <logger name="com.example.springbootrabbitmq" level="info" additivity="false">
            <appender-ref ref="STDOUT"/>
            <appender-ref ref="AMQP"/>
        </logger>
    
        <root level="INFO">
            <appender-ref ref="STDOUT"/>
        </root>
    </configuration>

    这里主要是使用spring为我们提供的组织工具。

    4.创建一个消费者

    @Component
    public class DirectConsumer {
    
        @RabbitListener(queues = {"directQueue", "logDirectQueue"})
        public void processMessage(String msg) {
            System.err.println("consumer receive a message:" + msg);
        }
    }
    

    5.启动项目后,主要去检查一下的RabbitMQ的管理界面,查看队里,交换器,是否创建成功,根据routingkey绑定是否成功。

    如果一切成功,我们可以看到每打一个日志就会发送一个消息到绑定的队列。

    展开全文
  • 中高端的飞塔防火墙通常本身都会自带硬盘,用来保存日志等信息,而低端防火墙的日志默认保存在内存,重启日志就会丢失。...还有一个办法就是将一台电脑配置成Syslog日志服务器日志上传到日志服务器中。

             【简介】中高端的飞塔防火墙通常本身都会自带硬盘,用来保存日志等信息,而低端防火墙的日志默认保存在内存,重启日志就会丢失。为了能够保存长时间的日志,可以将日志存放于 FortiAnalyzer 等专用日志设备或 FortiCloud 云空间上,但这个都需要增加投入。还有一个办法就是将一台电脑配置成Syslog日志服务器,日志上传到日志服务器中。


      记录日志

            通常在策略中打开日志记录选项,这样就会产生日志。

            ① 在策略中启动日志纪录,选择全部会话,这样很快可以看到每个会话都会产生日志记录。

            ② 选择菜单【日志与报告】-【日志配置】-【日志设置】,可以看到日志保存方式默认为内存,选择安送日志到Syslog,在服务器地址里输入Syslog日志服务器的IP地址。

      什么是 Syslog

            在 Unix 类操作系统上,syslog 广泛应用于系统日志。syslog 日志消息既可以记录在本地文件中,也可以通过网络发送到接收 syslog 的服务器。接收 syslog 的服务器可以对多个设备的 syslog 消息进行统一的存储,或者解析其中的内容做相应的处理。

            完整的 syslog 日志中包含产生日志的程序模块(Facility)、严重性(Severity或 Level)、时间、主机名或IP、进程名、进程ID和正文。在 Unix 类操作系统上,能够按Facility 和 Severity 的组合来决定什么样的日志消息是否需要记录,记录到什么地方,是否需要发送到一个接收 syslog 的服务器等。由于 syslog 简单而灵活的特性,syslog 不再仅限于 Unix 类主机的日志记录,任何需要记录和发送日志的场景,都可能会使用 syslog。

      什么是 Kiwi Syslog Server

            Kiwi Syslog Server 提供市场上最值得信赖的基于 Windows 的 syslog 服务器解决方案。产品的安装与配置非常简单,提供功能丰富的解决方案来接收、记录、显示并转发各种网络设备(例如路由器、交换机、防火墙、Unix 主机以及其它启用 syslog 的设备)的 syslog 消息。

            它可以接收并管理网络设备中的 syslog 消息;同时显示多个窗口中的 syslog 消息;按主机名称、主机 IP 地址、优先级、消息文本关键字或时间来过滤消息;提供基于消息内容、消息量或元数据的高级警报;自动执行基于警报的操作,包括发送邮件、转发消息、触发声音警报、发送 SNMP 陷阱消息与寻呼 IT 人员;生成趋势分析图表与电子邮件;syslog 流量统计等等。

      Kiwi Syslog Server 下载

            登录官网 www.kiwisyslog.com,可以下载最新版的 Kiwi Syslog Server 试用版本 v9.5。

            ① 进入官网首页,就可以看到试用版下载页面。点击FREE TRIAL图标。

            ② 输入常规信息,点击下载按钮。

            ③ 可以看到14天测试版,点击下载按钮。

           

            ④ 下载后的文件是个压缩文件。

            ⑤ 解开压缩文件得到一个安装文件。

      Kiwi Syslog Server 安装 —  .NET 

            双击解压缩后得到的安装文件。

            ① 由于 Kiwi Syslog Server 需要 .NET 运行环境的支持,所以首先会确认系统是否已经安装 .NET,如果没有提示需要先安装 .NET。

            ② 下载 .NET 的安装文件。

            ③ 安装.NET。

            ④ 安装后显示已经安装成功,点击关闭,然后就没有然后了。。。。。

      Kiwi Syslog Server 安装

            再次双击解压缩后得到的安装文件。

            ① 首先出现的是Kiwi Syslog Server 的版权提示,点击 I Agree。

            ② 这里默认将Kiwi Syslog Server 作为一个服务来安装,点击 Next 。

            ③ 默认使用本地的系统帐号,就不再新建帐号了,点击 Next 。

            ④ 默认安装 Kiwi Syslog Web 访问工具,点击 Next 。

            ⑤ 选择建立的快捷方式,这里也保留默认,点击 Next 。

            ⑥ 选择安装的目录,保留默认,点击 Install 。

           ⑦ 开始安装拷贝文件 。

     

      安装Kiwi Syslog Web Access

            前面默认选择了安装 Kiwi Syslog Web Access,拷贝过程中就跳到这个介面了 。

            ① 首先出现的是设置 Kiwi Syslog Web Access 向导,点击下一步。

            ② 提示除了需要安装.NET之外,还有 ASP.NET、SQL Server 等需要安装,点击下一步。

            ③ 安装 ASP.NET,时间会比较长,耐心等待。

            ④ 安装其它必须要的文件,后面三个文件安装比较快。

     

       配置Kiwi Syslog Web Access

            安装发 Kiwi Syslog Web Access 后,就进入设置向导了 。

            ① 出现 Kiwi Syslog Web Access 设置向导提示,点击 Next 。

           ② 选择 I accept 遵守版权说明,点击 Next 。

           ③ 默认建立快捷方式,点击 Next 。

           ④ 默认安装目录,点击 Next 。

           ⑤ 默认浏览设置,点击 Next 。

           ⑥ 设置管理员帐号密码,点击 Next 。

           ⑦ 设置完成,点击 Install 。

           ⑧ 拷贝安装文件 。

           ⑨ Kiwi Syslog Web Access 安装完成。

     

      启动 Kiwi Syslog Server

           Kiwi Syslog Web Access 安装完成后,最后一个介面提示 Kiwi Syslog Server 全部安装完成。

           ① 点击 Finish ,同时也启动 Kiwi Syslog Server 。

           ② 出现一个免费使用14天的提示。

           ③ 由于飞塔防火墙已经设置了Syslog,输入了这台电脑的IP地址,在窗口就可以看到不断出现的日志信息。说明防火墙的日志传到这台电脑上来了。

           ④ 日志保存于Syslogd下的logs子目录里,以日为单位。

           ⑤ 在桌面上打开Kiwi Syslog Web Access。

          ⑥ 输入管理员帐号和密码。

          ⑦ 就可以操作更多日志信息了。

     

    飞塔技术-老梅子   QQ:57389522

    展开全文
  • 日志服务器

    千次阅读 2018-08-21 17:44:42
    常见日志服务器搭建方案: 接笔者以往的的日志文章衍生- https://blog.csdn.net/enweitech/article/details/51536644 此献给正在做等保的企业(仅供参考) 集中式/中央式管理日志 抑或 是分布式统一管理日志?看...

    常见日志服务器搭建方案:

    接笔者以往的的日志文章衍生- https://blog.csdn.net/enweitech/article/details/51536644 此献给正在做等保的企业(仅供参考)

    集中式/中央式管理日志 抑或 是分布式统一管理日志?看各自企业公司的实际需求选型。以下信息分享,最终看实践。

    1、Rsyslog+LogAnalyzer+X(Redis+NFS/

    LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构。基于当前的日志数据,它可以处理syslog日志消息,Windows事件日志记录,支持故障排除,使用户能够快速查找日志数据中看出问题的解决方案。

    LogAnalyzer 获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log/目录下的日志并保存到服务端该目录下,一种是读取后保存到日志服务器数据库中,推荐使用后者。

    LogAnalyzer 采用php开发,所以日志服务器需要php的运行环境.备注(phplogcon是以前老版本,新版本已改名LogAnalyzer)

    2、ELK +Beat  或者 elasticsearch + kafka-zookeeper + Flume + kibana/zabbix 多种工具软件组合的方式

    ELK 不是一款软件,而是 Elasticsearch、Logstash 和 Kibana 三种软件产品的首字母缩写。这三者都是开源软件,通常配合使用,而且又先后归于 Elastic.co 公司名下,所以被简称为 ELK Stack。根据 Google Trend 的信息显示,ELK Stack 已经成为目前最流行的集中式日志解决方案。

    • Elasticsearch:分布式搜索和分析引擎,具有高可伸缩、高可靠和易管理等特点。基于 Apache Lucene 构建,能对大容量的数据进行接近实时的存储、搜索和分析操作。通常被用作某些应用的基础搜索引擎,使其具有复杂的搜索功能;
    • Logstash:数据收集引擎。它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到用户指定的位置;
    • Kibana:数据分析和可视化平台。通常与 Elasticsearch 配合使用,对其中数据进行搜索、分析和以统计图表的方式展示;
    • Filebeat:ELK 协议栈的新成员,一个轻量级开源日志文件数据搜集器,基于 Logstash-Forwarder 源代码开发,是对它的替代。在需要采集日志数据的 server 上安装 Filebeat,并指定日志目录或日志文件后,Filebeat 
      就能读取数据,迅速发送到 Logstash 进行解析,亦或直接发送到 Elasticsearch 进行集中式存储和分析。

    3、scribe、chukwa、kafka、flume日志系统

    scribe、chukwa、kafka、flume日志系统对比 –  http://www.ttlsa.com/log-system/scribe-chukwa-kafka-flume-log-system-contrast/

    Facebook 日志系统 Scribe、Apache 日志系统 Chukwa
    Linkedin    日志系统 Kafka、Cloudera 日志系统 Flume

    4、Splunk日志分析

    日志分析管理解决方案 | Splunk https://www.splunk.com/zh-hans_cn/solutions/solution-areas/log-management.html

    5、基于大数据分析平台Hadoop之类的日志离线分析系统

    https://blog.csdn.net/chdhust/article/details/27973533

    五种日志格式传输协议 

    UDP、TCP、http/https、RELP、SMTP

    UDP

    可靠性比较低,但是性能损耗最少,在网络情况比较差或者接受服务器压力比较高的情况下,可能存在丢日志情况。

    1. 服务端改配置文件 /etc/rsyslog.conf
      $ModLoad imudp
      $UDPServerRun 514 / 注释 去掉15 16 行的#
      让日志服务器遵循UDP协议 重启服务

    2. 客户端改改配置文件 /etc/rsyslog.conf
      *.info @服务器IP地址 /udp是 一个@ 
      重启服务这下咱们日志的UDP日志服务器就搭配完毕

    TCP

    可靠性比较高,但在接受服务器宕机或者两者之间网络出问题的情况下,会出现丢日志情况。
    1. 服务端改配置文件 /etc/rsyslog.conf
       $ModLoad imtcp
       $InputTCPServerRun 514  / 注释 去掉19 20 行的#
        让日志服务器遵循TCP协议    重启服务
    2.  客户端改改配置文件 /etc/rsyslog.conf
        *.info @@服务器IP地址     /TCP是 两个@  
        重启服务这下咱们日志的TCP日志服务器就搭配完毕

    RELP

    基于TCP封装的可靠日志消息传输协议; 是为解决TCP与UDP协议的缺点而在应用层实现的传输协议,也是三者中最可靠的。
    1. 装包
      yum -y install rsyslog-relp.x86_64

    2.服务端改配置文件 /etc/rsyslog.conf
    $ModLoad imrelp
    $inputRELPServerRun 20514 / 注释 这个是自己加上去的
    让日志服务器遵循RELP协议 重启服务
    3.客户端改改配置文件 /etc/rsyslog.conf
    $ModLoad omrelp

    建立一个中央日志服务器

    详细步骤 http://wenku.baidu.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守护进程让修改生效。让客户机在往中央日志服务器发送日志消息的同时继续在本地进行日志工作仍有必要,起码在调试客户机的时候不必到中央日志服务器查日志,在中央日志服务器出问题的时候还可以帮助调试。

    如何在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服务器。

    【其他资料】

    1、Windows日志分析工具,Syslog日志分析软件,系统日志审计系统 - 卓豪EventLog Analyzer https://www.manageengine.cn/products/eventlog/

    2、日志服务_实时日志分析系统_日志管理软件_网站日志分析工具 - 阿里云 https://www.aliyun.com/product/sls/

    3、日志易: 日志分析更容易 - 日志易 https://www.rizhiyi.com/

    4、日志_智能日志管理_智能日志管理平台 - 七牛云 https://www.qiniu.com/products/insight

    5、LOGSYS日志管理系统 http://www.qinghong.net.cn/LOGSYS/index.html

    6、明析数据 http://infodt.com/index.php/product/news_show?id=3 (百度logsys日志管理系统的商业版)

    7、分享一个号称万亿级海量的深度日志分析系统_搜狐科技 http://www.sohu.com/a/113114089_188123

    8、LogInsight 智能日志分析平台 | AIOps | 业务监控 | 实时业务分析 | 运维大数据 - OneAPM https://www.oneapm.com/li/feature.html

    9、日志分析管理系统 http://www.ipmotor.com/Dlm.html

    10、EasyLog日志分析,日志大数据分析平台 | 袋鼠云 https://www.dtstack.com/?page_id=663

    11、摩卡统一日志分析平台 http://www.mochalog.com/

    12、HOOLI日志分析平台-虎嗅网 https://www.huxiu.com/chuangye/product/2382/HOOLI

    13、打造高效的运维日志收集与分析平台-腾讯云资讯 https://cloud.tencent.com/info/e0b8b659534c08e0009700ae031adb75.html

    14、从ITOA运维和大数据分析着眼,构建智能化日志分析平台 - 运维 -  http://dbaplus.cn/news-134-1545-1.html

    15、CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器 -  https://www.cnblogs.com/mchina/p/linux-centos-rsyslog-loganalyzer-mysql-log-server.html

    展开全文
  • 使用spring boot2.0.7开发项目,由于调用了其他组c++的本地方法,他们的日志是直接在控制台打印日志的,而我们这边统一用logback记录日志,然后logback配置后控制台的日志没有记录到日志文件,不好排查问题,于是...
  • log4j 日志服务器

    热门讨论 2012-01-17 17:38:15
    因此决定在平台中采用日志服务器来做到集中日志管理,平台中所有子系统通过socket方式将日志信息传到日志服务器,再由日志服务器统一记录。这样既避免了一个应用日志不同实例分别打印,也可以将所有子系统日志集中...
  • 将执行结果、标准正确输出、标准错误输出统一到数据库,方便检索 依赖 PHP 5.4.0+ ext-pcntl ext-posix 库依赖(使用composer install自动安装) 安装 请保证两台服务器上所有的代码一致,包括配置文件,最好采用...
  • 网络游戏服务器日志系统

    千次阅读 2016-11-01 16:04:10
    几乎所有的游戏服务器框架都会有一组操作日志的接口,当然最简单的就是大家所熟悉的printf格式化标准输出日志系统的复杂度有高有低,具体目的主要是为调试及运营数据查询需要。可以说日志系统实现是否易用、简洁...
  • Linux服务器日志备份本地

    千次阅读 2017-05-12 16:52:27
    1、确定线上服务器日志文件名称和路径2、一台本地服务器能连接公网,创建一个日志账户,设置密码3、线上服务器要求: a、确定是否已安装sshpass包 [root@iZwz9ghdadtaey1msor7gnZ sh]# rpm -qa|grep sshpass ...
  • Snort日志输出插件详解

    千次阅读 2018-03-27 13:17:54
    Snort日志输出插件详解 Snort是一款老×××的开源***检测工具,本文主要讨论他作为日志分析时的各种插件的应用。Snort的日志一般位于:/var/log/snort/目录下。可以通过修改配置文件来设置Snort的报警形式。基于...
  • Linux环境下搭建Rsyslog日志服务器

    千次阅读 2019-04-05 13:54:53
    1. Rsyslog日志服务简介 (1)Rsyslog简介 rsyslog( rocket-fast system for log),它提供了高性能,高安全功能和模块化设计。rsyslog能够接受从各种各样的... 使用一台统一日志服务器,将登录认证,系统日...
  • 实现了一个把tomcat的catlina.out日志输出到web页面的功能,做出来后,生活美好了一点。码农们不会再为了看日志来烦我了,以后有时间了准备扩展一下,把日志统一收集,过滤,让码农自己玩去,哈哈。作为一个运维狗,...
  • 通过log4j可以实现将日志内容发送其他服务器,其他机器可以再对日志统一处理,比如发送邮件,发送短信,日志分析等等。具体demo如下: 1. 客户端代码  客户端代码分为log4j的配置文件,和客户端记录log4j...
  • 实际使用中可能需要将用户登录、邮件发送等特定的日志输出到指定的文件中,这里举例说明。 4、log4j其他功能简介 log4j功能强大,这里就它有但尚未使用的功能做一个介绍,好心里有个概念。 1、log4...
  • 最开始只是配置了log4j.properties文件,控制部分日志输出级别。发现,日志正常情况下能输出指定文件夹里,但是在每天自动备份日志的时候,总有部分日志仍然输出并且覆盖了前一天的备份文件,最后发现是因为多...
  • flume是cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,flume支持在日志系统中定制各类数据发送方,用于收集数据;...在每个srv中,通过log4j中flume appender,将日志输出到kafka
  • 内核及系统日志 用户日志 程序日志 查看日志的工具:tail 、 more 、 less 、 cat 、 who 、 w 、 users 、last 、ac 1、日志备份和归档 2、延长日志保存期限 3、控制日志访问权限 4、集中管理日志 runlevel...
  • DHCP 服务器日志

    万次阅读 2015-03-25 13:51:04
    1.10 DHCP 服务器日志 http://book.51cto.com/art/201411/458194.htm DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种有效的IP 地址分配手段,已经广泛地应用于各种局域网管理。它能...
  • 在本地测试的时候,输出的日志是直接输出在目录文件下面的,而在正式发布...如果服务器上有多个项目同时运行会把日志输出在同一目录下然后按项目进行分目录。参考连接:https://www.javascriptcn.com/read-9870.html...
  • 程序运行过程中会产生大量的不同等级的日志,如果都混在同一日志文件下,如果打印级别还比较低,当程序出现问题时,会比较麻烦。 日志分级别打印 1.创建LogAppender类import org.apache.log4j....
  • MongoDB log4j 日志整合,统一管理

    千次阅读 2015-03-21 20:16:57
    在分布式系统当中,这些服务可能分别部署在不同的服务器上,并且有各自的日志输出。为了方便对这些日志进行统一管理和分析。我们可以将日志统一输出指定的数据库系统中,而再由日志分析系统去管理。而这个储存日志...
  • 需要查看日志,但不清楚应该去哪台机子上看日志,针对此种情况,可以考虑把日志统一到专门的日志服务器上,这样只需要在日志服务器上进行查看,以下代码是作为一个例子,还不能看出日志输出为哪台机子,以后发现再...
  • log4j 日志服务器配置开发部署

    千次阅读 2011-11-21 10:03:01
    因此决定在平台中采用日志服务器来做到集中日志管理,平台中所有子系统通过socket方式将日志信息传到日志服务器,再由日志服务器统一记录。这样既避免了一个应用日志不同实例分别打印,也可以将所有子系统日志集中...
  • RHEL 6.x 搭建rsyslog日志服务器和loganalyzer日志分析工具 =============================================== rsyslog的介绍 logrotate日志滚动的介绍 rsyslog的存储途径 基于web的loganalyzer日志...
  • 部署在WAS下的log日志输出问题

    千次阅读 2010-08-04 00:25:57
    在本地电脑里用RAD中开发项目并部署在本地WAS能正常输出日志,但部署其它linux系统上里就出现可以创建日志文件但不能输出信息的问题,其中部署的ear包含两个war,每个war都有自己的配置信息,如log4j.xml等。...
  • 日志说明以及格式统一规范

    千次阅读 2019-08-07 09:27:50
    日志统一规范 1日志的级别 FATAL、ERROR、WARN、INFO、DEBUG、TRACE,级别越高保存优先级越高,原则上对于ERROR及以上级别的日志永久保留,对于此级别以下的,级别越高保留时间越长。 TRACE 很低的日志级别,一般...
  • rsyslog的介绍 logrotate日志滚动的介绍 rsyslog的存储途径 基于web的loganalyzer日志分析工具的搭建 ...Linux的日志记录了用户在系统上一切操作,看日志去分析系统的状态是运维人员必须掌握的基本功。 rsyslog日志
  • Linux 的日志服务器 详解(Rsyslog)

    千次阅读 2019-09-22 23:05:35
    Linux 的日志服务器 详解(Rsyslog)日志服务器-概念1、相关概念2、rsyslog 介绍3、Rsyslog 特性4、Rsyslog 重要术语5、 Rsyslog 程序环境6、Rsyslog 配置文件格式(rsyslog.conf)7、Rsyslog 相关模块8、其它日志...
  • 一 : 搭建MQTT服务器 如果你不知如何搭建MQTT服务器,可以参考Ubuntu apache-apollo安装,...这里需要引入mqtt-client.jar以及gson.jar,调用saveServerLog(message)方法保存日志信息并输出Server.log,相应的jar

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 61,960
精华内容 24,784
关键字:

日志输出到统一服务器