问题标签 [logz.io]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
elastic-stack - Logz.io / Kibana 是否有任何关于警报占位符语法的文档?
在 Logz.io 的 ELK 堆栈中,您可以使用占位符语法发送警报,例如
和
我正在尝试查找列出所有这些占位符的任何文档,因为我需要一个实际列出所有事件的占位符,而不仅仅是一个示例。
除了一些如何与其他系统(如 slack)集成的示例之外,我似乎在任何地方都找不到关于这个主题的任何内容。
有谁知道我在哪里可以找到这方面的任何东西?
json - 弹性搜索嵌套过滤器
这是 Elastic Search API 返回的文档结构:
{
"process_name":"process01",
"beat":
{
"hostname":"12345","name":"blablabla"
},
}
按 process_name 过滤很容易,但是如何按嵌套在 beat 中的 host_name 过滤?
- 尝试失败 1
{
"size":10000,
"query" : {
"bool" : {
"should": [
{ "match" : { "process_name" : "process01" } },
{ "match" : { "process_name" : "process02" } }
],
"must": [
{ "match" : { beat: { "hostname":"12345" } } }
]
}
}
}
错误信息 1:
(未能反序列化对象类型=类 com.logshero.api.SearchApiRequest):
- 失败的尝试 2
{
"size":10000,
"query" : {
"bool" : {
"should": [
{ "match" : { "process_name" : "process01" } },
{ "match" : { "process_name" : "process02" } }
],
"must": [
{ "match" : { "hostname":"12345" } }
]
}
}
}
错误信息 2:
{“点击”:{“总”:0,“max_score”:null,“点击”:[]}}
json - 在logz.io api的json查询中过滤日期范围“前天”(弹性搜索)
上下文:通过 API 查询 logz.io。
以下查询返回昨天的结果
{
"size":10000,
"query" : {
"bool" : {
"must" : [
{ "range": { "@timestamp": { "gte": "now-1d/d", "lt": "now/d" } } }
]
}
}
}
我希望这个能返回前天的结果
{
"size":10000,
"query" : {
"bool" : {
"must" : [
{ "range": { "@timestamp": { "gte": "now-2d/d", "lt": "now-1/d" } } }
]
}
}
}
但它不返回任何东西。我错过了什么?
logstash - 使用 logstash(ELK 堆栈)解析 json
我创建了一个简单的json,如下所示
我将这些值保存在名为 simple.txt 的文件中。然后我使用file beat来监听文件并将新的更新发送到端口5043,另一方面我启动了监听这个端口的log-stash服务,以便解析json并将其传递给弹性搜索。log-stash 没有处理 json 值,它挂在中间。
日志存储
文件节拍配置:
Logstash 输出
**
**
每次我使用命令运行 log-stash
而且由于没有 json 处理,我通过按 ctrl + c 停止该服务。
请帮助我找到解决方案。在此先感谢。
tcp - Logstash:通过代理将日志转发到 logz.io
我想使用logstash将标准输出从正在运行的应用程序发送到logz.io。应用程序和 logstash 都是由 docker-compose 管理的 docker 镜像,它负责设置(拉取镜像、network_mode、日志驱动程序等)。Logstash 输入通过 gelf-input-plugin 处理。发送到 logz.io 是通过 tcp-output-plugin 处理的。
logstash.conf:
摘自 docker-compose.yml:
这按预期工作。
现在我需要使用一个 TCP 代理服务器,将日志从主机(运行 logstash 实例)发送到 logz.io。不幸的是,我没有找到 logstashs tcp-output-plugin 的代理扩展。有人对这个问题有建议吗?
graphql - 如何使用 appsync httpdatasource 访问 logz api 搜索
我正在尝试使用他们提供给我的 api-search 访问存储在 logz.io 上的日志。
实际上,我可以使用 curl 命令成功访问,如下所示:
就像https://github.com/logzio/public-api/tree/master/search说的。
但是,当我使用 AWS AppSync api 时,使用带有参数名称的 HttpResolver 数据源:HttpDataSourceTest,类型:HTTP 和端点:https : //api.logz.io/v1/search,我定义了我的 schema.grapqhl,请求和响应模板解析器:
架构.grapgql
请求模板解析器:
响应模板解析器:
经过几次尝试和失败后,我保持非常简单,只需在查询中询问 TimeStamp 字段并显示状态并全部返回作为响应。
在所有这些配置之后,我得到这个响应:
当我跳过 X-API-TOKEN 参数标头时,结果相同,就像 HttpDatasource 不发送该参数一样。我是使用所有这些技术、AWS 服务和 Logz.io 的新手,如果我在某个地方遗漏了什么,请告诉我。
asp.net-mvc - 使用 NLog 将日志发送到 Logz.io 失败
我只是想将一些错误日志从我的 ASP.NET MVC 5 应用程序发送到Logz.io
我NLog
用来运送我的日志。
我已经安装了 NLog 和 NLog.Web 包
我有以下 nlog.config 文件:
然后,我的每个 C# 控制器都有这一行:
然后我尝试使用以下方式发送我的日志:
但是,当我writeTo="file"
在nlog.config
文件中时,我可以在本地磁盘上找到一个日志文件,上面写着“发生了一些不好的事情”,所以一切都很好。
但是,当 I 时,我的 LogzIo Web 界面上什么也没有出现writeTo="logzio"
,没有日志被运送到那里。
我错过了什么 ?
spring-boot - 有没有推荐的方法来让 Spring Boot 使用 logback 转换为 JSON 格式的日志
使用 Spring Boot可以通过提供如下文件来2.1.1.RELEASE
将日志格式化为 JSON :logback-spring.xml
并添加到pom.xml
确实导致如下消息:
为什么?
我正在试用logz.io,当日志为 JSON 格式时,它的表现似乎更有利,一些托运人在处理多行日志时遇到了困难,就像我们在 java 堆栈跟踪中看到的那样,当以 JSON 格式格式化时,它可以自动解析字段,例如level
,message
如果有它会自动获取 MDC 数据。
我在一些将日志传送到 logzio 的方法方面有一些不太好的经验,比如他们的 docker 映像和使用 rsyslog 而不使用 JSON 格式的日志消息。
这种方法的问题
它适用于控制台附加,但 spring boot 提供了logging.file=test.log
, logging.level.com.example=WARN
, logging.pattern.console
. 我确实可以导入托管配置,spring-boot-2.1.1.RELEASE.jar!/org/springframework/boot/logging/logback/base.xml
然后从中导入console-appender.xml and
file-appender.xml`。
控制台附加程序的示例
文件追加器的示例
这两个正是我支持属性的弹簧配置所需要的,但它们不包括我需要的编码器/布局。
在我的初始测试中,我不能简单地将我的 appender 命名为与那些相同的名称并提供我的布局。例如:
导致消息以 JSON 和纯文本格式记录。
我确实可以将这 3 个文件的内容复制并粘贴到我的自定义配置中,而不是完全导入它们。然后我可以覆盖我想要自定义的内容。
但是,随着春季的发展和可能添加功能的新版本的发布,我将永远强迫自己跟上、复制和粘贴新文件并进行更改并测试它们。
有没有更好的方法可以:
- 只需对附加器进行附加更改,而不是完全重新定义它们,例如保持配置不受弹簧影响,但提供我自己的编码器或布局以供这些附加器使用。
- 完全通过属性将 spring 配置为 JSON 日志而无需任何配置 - 我对此表示怀疑:S
脚注:logzio 确实提供了一个可以导入的依赖项,但我不喜欢将日志记录提供程序直接耦合到代码中的想法。我觉得如果伺服器恰好将 JSON 日志生成到标准输出或文件,那么任何提供商都可以轻松处理这些日志并将它们发送到某个目的地。
asp.net-mvc - NLog 可扩展性 - 如何使用 ExtendValues 添加自定义字段?
我尝试使用可扩展性向 NLog 添加一些自定义字段。
我的部分nlog.config
文件看起来像这样:(为展览而简化)
在每个控制器中,我都有类似的东西(我正在使用 ASP.NET MVC5)
然后我将我的日志发送到 logzio 使用
现在,currentUser
总是有 value test
,这是合乎逻辑的。
但是,尽管有文档,但我不明白如何currentUser
通过当前登录用户的 ID 动态更改值。
我应该创建一种工厂吗?(如果是,怎么做?我对工厂不放心)
我应该改变我的logger
变量吗?如果是这样,如何?
一段代码将非常受欢迎。
谢谢你指出我错在哪里
编辑
在@Rolf 的回答之后,我创建了这个自定义布局渲染器
我相应地更改了 nlog.config ,添加
对我<target>
但是,我仍然不明白如何将自定义值传递给currentUser
. 在 logz.io 中,我有“HowToPassCustomDataHere?” 作为 的值currentUser
。
(顺便说一句,${aspnet-user-identity}
很棒并且工作正常;但是我想了解如何将自定义值传递给我的布局渲染器。就我而言,类似于${aspnet-user-id}
)
haproxy - Filebeat 无法通过 haproxy 将日志发送到 logzio
以下是我的 filebeat.yml 的输出片段
其中 192.168.200.38:5015 是在 tcp 模式下侦听的 haproxy 服务器。
以下是我的 haproxy 配置:
使用上面的配置我得到以下错误:
我在这里使用 haproxy 服务器作为代理服务器。早些时候我有鱿鱼代理(http),它不适用于filebeat。所以将其更改为 haproxy,我将 listener.logz.io:5015 作为后端。
我在这里做错了什么?