标签: graylog2

无法将rails日志发送到graylog2

我是graylog2的新手.我安装了graylog2和web界面.我从其他服务器获取TCP syslog到graylog服务器.但是我无法将Rails日志从其他服务器发送到Graylog.

在graylog服务器中,我正在侦听端口12201的GELF HTTP日志,并且所有必需的端口都是打开的.但我没有得到graylog服务器的任何输入.我已将Rails记录器配置如下:

#config/environments/staging.rb

config.lograge.enabled = true    
config.lograge.log_format = :graylog2     
config.logger = GELF::Logger.new("graylogserverexample.com",
                                12201, "WAN",{
                                :host => "hostname",
                                :facility => "railslog"})    
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

ubuntu logging ruby-on-rails-3 elasticsearch graylog2

5
推荐指数
1
解决办法
992
查看次数

如何使用GELF HTTP输入

我正在尝试设置GrayLog2服务器,需要使用GELF HTTP输入监听器.我做了一个小型的C#控制台程序,它将测试日志发送到服务器.然而,似乎只有几条消息实际上是由gl2解析的,我无法弄清楚为什么.例如,以下程序应创建5个日志pr.第二.无论运行多长时间,Gl2总共可以获得1或2个日志.有没有人成功使用GELF HTTP输入,我在这里缺少什么?

do
{
    var client = new RestClient("http://10.8.0.39:12201");
    var request = new RestRequest("gelf", Method.POST);
    request.RequestFormat = DataFormat.Json;
    var glog2 = new GLogEntry
    {
        host = "example.org",
        short_message = "Short message...",
    };
    request.AddBody(glog2);
    client.ExecuteAsync(request, r => { });
    Thread.Sleep(200);
} while (1 == 1);
Run Code Online (Sandbox Code Playgroud)

logging graylog2 gelf

5
推荐指数
0
解决办法
1890
查看次数

在vagrant机器中使用elasticsearch设置graylog2服务器

我正在尝试在我的本地开发机器上安装graylog2服务器并遇到弹性搜索设置问题.

我的elasticsearch作为服务安装在我的开发机器上运行的vagrant机器上.所以我的弹性搜索没有安装在127.0.0.1中,而是安装在192.168.50.4(流浪汉机器的ip)中我从流浪汉机器转发了端口9200,但是graylog2服务器似乎无法找到它并停止运行:

错误:无法成功连接到ElasticSearch.检查您的群集状态是否为RED并且ElasticSearch是否正常运行.

添加从vagrant机器转发的端口9300将错误更改为:

引起:org.elasticsearch.common.netty.channel.ChannelException:无法绑定到:0.0.0.0/0.0.0.0:9350

我在graylog conf文件中尝试了这个设置:

elasticsearch_network_host = 192.168.50.4但只会将错误更改为无法绑定的异常

引起:org.elasticsearch.common.netty.channel.ChannelException:无法绑定到:/192.168.50.4:9350 org.elasticsearch.common.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:272)

但没有帮助.

我会很高兴任何方向我做错了(使用弹性搜索配置或流浪汉或graylog2)

谢谢!

通过以下答案更新以下建议我更改了以下配置:

elasticsearch_discovery_zen_ping_multicast_enabled = false
elasticsearch_discovery_zen_ping_unicast_hosts = 192.168.50.4:9300
Run Code Online (Sandbox Code Playgroud)

我现在得到这个错误:

2014-06-16 23:04:34,946 WARN : org.elasticsearch.transport.netty - [graylog2-server] Message not fully read (response) for [6] handler org.elasticsearch.discovery.zen.ping.unicast.UnicastZenPing$4@67bd250a, error [true], resetting
2014-06-16 23:04:36,451 WARN : org.elasticsearch.discovery.zen.ping.unicast - [graylog2-server] failed to send ping to [[#zen_unicast_1#][inet[/192.168.50.4:9300]]]
org.elasticsearch.transport.RemoteTransportException: Failed to deserialize exception response from stream
Caused by: org.elasticsearch.transport.TransportSerializationException: Failed to deserialize exception response from stream
    at org.elasticsearch.transport.netty.MessageChannelHandler.handlerResponseError(MessageChannelHandler.java:169)
    at org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:123)
    at …
Run Code Online (Sandbox Code Playgroud)

elasticsearch graylog2

5
推荐指数
1
解决办法
7158
查看次数

如何根据级别(syslog严重性/优先级)在Graylog中查找消息

我将Drupal中的数据存储到syslog中,然后存储到Graylog中.我想根据它们的严重程度找到所有消息(Graylog似乎称之为级别).

这是显示"级别"字段的一些消息的屏幕截图.这些都恰好是通知,但我输入的搜索是在消息字段中找到"通知"一词,而不是在"级别"字段中.

在此输入图像描述

rsyslog graylog2

5
推荐指数
2
解决办法
7406
查看次数

Docker和Graylog

我一直在安装最新版本的Docker(1.8).这个新版本很棒,因为你可以设置一个特定的日志驱动程序来将日志发送到Graylog2(例如).

这是来自 docker 的博客文章:Docker博客宣布1.8这里是graylog团队博客,以实现神奇的发生:Graylog blog

我的问题是它不起作用:(

这是我在执行此命令时收到的错误消息:

docker run –log-driver=gelf –log-opt gelf-address=udp://127.0.0.1:12201 busybox echo Hello Graylog 
Run Code Online (Sandbox Code Playgroud)

错误:

Unable to find image '–log-driver=gelf:latest' locally repository name component must match "[a-z0-9]+(?:[._-][a-z0-9]+)*"
Run Code Online (Sandbox Code Playgroud)

这是一个截图:

在此输入图像描述

任何的想法 ?

编辑

遵循聪明人的建议:看起来破折号不是好的.

这是正确命令的粘贴:

docker run --log-driver=gelf --log-opt gelf-address=udp://127.0.0.1:12201 busybox echo Hello Graylog
Run Code Online (Sandbox Code Playgroud)

graylog2 docker graylog

5
推荐指数
1
解决办法
788
查看次数

在Graylog2中查找导致均值统计函数的NaN的值

我有一个简单的请求日志,其中每个记录在exec_time属性下具有以秒为单位的执行时间.它应该始终是一个数字(越低越好).基于该属性,我有仪表板小部件,显示其平均值,直到最近才工作正常.现在它显示了NaN.

我的猜测是,有一个或多个记录exec_time不是数字.我怎样才能找到这些记录?

graylog2 graylog

5
推荐指数
1
解决办法
372
查看次数

如何从Graylog 2.1手动清除数据

我有一台运行了一段时间的Graylog 2.1服务器.我最近没有注意到我的保留率,今天早上来到Graylog部分崩溃是因为磁盘空间不足.Elasticsearch Shards目前正在占用近100%的磁盘空间.对于Graylog Web界面是不是目前它在状态下使用.我尝试了一些标准的Ubuntu技巧为释放磁盘空间一样apt-get autoremoveclean,但未能获得足以让Web界面功能.

问题是我目前可以通过Web界面找到更改保留率和循环分片的所有文档.Graylog配置文件中不再显示唯一的配置选项.

有没有人知道手动,CLI,从Graylog 2.1中的Elasticsearch Shards中清除数据的方法?

elasticsearch graylog2 graylog

5
推荐指数
1
解决办法
2万
查看次数

Java Tomcat,底层Netty线程未停止

我正在尝试使用log4j附加程序将日志发送到GrayLog2(log4j2-gelf)。因此,我将我的依赖项添加到pom.xmlconfigure中log4j2.xml以配置我的附加程序。用maven编译整个程序并将其部署到本地tomcat,一切正常。当我尝试关闭tomcat时,会发生问题。如果我不使用Tomcat,Tomcat不会停止运行kill -9 PIDcatalina.out最终结果是:完整的堆栈跟踪

引起我注意的是

java.lang.NoClassDefFoundError:io / netty / util / concurrent / DefaultPromise $ 1

首先,我认为我可能还有另一个依赖项导入netty,这将导致此异常。但是我已经找了一段时间,却找不到其他进口商品。然后我看到了:

原因:java.lang.ClassNotFoundException:非法访问:此Web应用程序实例已被停止。无法加载[io.netty.buffer.PoolArena $ 1]。出于调试目的以及试图终止导致非法访问的线程,将抛出以下堆栈跟踪。

这就是我要问的问题。我的理解是,gelf-appender使用Netty作为与GrayLog服务器异步通信的一种方式。但这是服务器本身。那么Tomcat是否有可能在杀死底层Netty之前停止了父Servlet?哪个会导致这个问题?我正在尝试查找有关Tomcat关闭的方法的文档,但是到目前为止,我什么也没找到,而且我在诊断方面完全错了……

java multithreading tomcat graylog2 log4j2

5
推荐指数
1
解决办法
2372
查看次数

如何通过gelf将MDC传输到graylog?

我们有一个日志记录流,其中我们的 java 应用程序填充 MDC,该 MDC 通过 log4j2 传输到 syslog 到中央 rsyslog 安装。在这里,我们广泛使用了 MDC。我们的设置是这样的:

   <Syslog name="syslog" format="RFC5424" host="localhost" port="514" protocol="UDP"
        appName="messaging_platform.${application}" mdcId="mdc" includeMDC="true" facility="LOCAL5" connectTimeoutMillis="100" ignoreExceptions="false">
    <LoggerFields>
        <KeyValuePair key="class" value="%c"/>
        <KeyValuePair key="classname" value="%c{1}"/>
        <KeyValuePair key="exception" value="%ex{full}"/>
        <KeyValuePair key="method" value="%method"/>
        <KeyValuePair key="line" value="%line"/>
        <KeyValuePair key="application_name" value="${application}"/>
        <KeyValuePair key="sequenceNumber" value="%sequenceNumber"/>
        <KeyValuePair key="application_version" value="${application.version}"/>
        <KeyValuePair key="marker" value="%marker"/>
        <KeyValuePair key="thread" value="%thread"/>
        <KeyValuePair key="system_nano_time" value="%nano"/>
        <KeyValuePair key="app_uptime" value="%relative"/>
    </LoggerFields>
</Syslog>
Run Code Online (Sandbox Code Playgroud)

我正在尝试将其转换为使用 graylog,似乎 GELF 是推荐的传输协议。我找到了多个库来做到这一点,并从GelfLayoutlog4j2 的内置开始。但那不支持LoggerFields

那么将这些字段放入 Graylog 的推荐方法是什么?如果我做

   <Socket name="Graylog" protocol="udp" host="localhost" …
Run Code Online (Sandbox Code Playgroud)

mdc graylog2 log4j2 gelf

5
推荐指数
1
解决办法
1863
查看次数

在Graylog2中搜索full_message

是否可以使用Quickfilter在Graylog2中搜索完整的消息?

我可以成功搜索短消息,但似乎只能使用流来过滤完整消息.

我需要过滤旧的完整消息,新流仅应用于新消息.有没有解决这个问题的方法?

graylog2

4
推荐指数
2
解决办法
1万
查看次数