Loki日志系统详解4——语法
Loki日志系统详解3——部署
Loki提供了HTTP接口,我们这里就不详解了,大家可以看:
https://github.com/grafana/loki/blob/master/docs/api.md
我们这里说下查询的接口如何使用:
第一步,获取当前Loki的元数据类型:
curl http://192.168.25.30:30972/api/prom/label
{"values": ["alertmanager", "app", "component", "container_name", "controller_revision_hash", "deployment", "deploymentconfig", "docker_registry", "draft", "filename", "instance", "job", "logging_infra", "metrics_infra", "name", "namespace", "openshift_io_component", "pod_template_generation", "pod_template_hash", "project", "projectname", "prometheus", "provider", "release", "router", "servicename", "statefulset_kubernetes_io_pod_name", "stream", "tekton_dev_pipeline", "tekton_dev_pipelineRun", "tekton_dev_pipelineTask", "tekton_dev_task", "tekton_dev_taskRun", "type", "webconsole"]
}
第二步,获取某个元数据类型的值:
curl http://192.168.25.30:30972/api/prom/label/namespace/values
{"values":["cicd","default","gitlab","grafanaserver","jenkins","jx-staging","kube-system","loki","mysql-exporter","new2","openshift-console","openshift-infra","openshift-logging","openshift-monitoring","openshift-node","openshift-sdn","openshift-web-console","tekton-pipelines","test111"]}
第三步,根据label进行查询,例如:
http://192.168.25.30:30972/api/prom/query?direction=BACKWARD&limit=1000®exp=&query={namespace="cicd"}&start=1567644457221000000&end=1567730857221000000&refId=A
参数解析:
- query: 一种查询语法详细见下面章节,{name=~“mysql.+”} or {namespace=“cicd”} |= "error"表示查询,namespace为cicd的日志中,有error字样的信息。
- limit: 返回日志的数量
- `start:开始时间,Unix时间表示方法 默认为,一小时前时间
- end: 结束时间,默认为当前时间
- direction: forward 或者 backward, .指定limit时候有用,默认为 backward.
- regexp:对结果进行regex过滤
logQL语法
选择器
对于查询表达式的标签部分,将放在{}中,多个标签表达式用逗号分隔:
{app="mysql",name="mysql-backup"}
支持的符号有:
- = 完全相同。
- != 不平等。
- =~ 正则表达式匹配。
- !~ 不要正则表达式匹配。
过滤表达式
编写日志流选择器后,您可以通过编写搜索表达式进一步过滤结果。搜索表达式可以文本或正则表达式。
如:
- {job=“mysql”} |= “error”
- {name=“kafka”} |~ “tsdb-ops.*io:2003”
- {instance=~“kafka-[23]”,name=“kafka”} != kafka.server:type=ReplicaManager
支持多个过滤
- {job=“mysql”} |= “error” != “timeout”
目前支持的操作符:
- |= line包含字符串。
- != line不包含字符串。
- |~ line匹配正则表达式。
- !~ line与正则表达式不匹配。
表达式遵循https://github.com/google/re2/wiki/Syntax语法
Loki日志系统详解4——语法相关推荐
- 抛弃ELK!Loki日志系统详解!
背景 最近,在对公司容器云的日志方案进行设计的时候,发现主流的ELK或者EFK比较重,再加上现阶段对于ES复杂的搜索功能很多都用不上最终选择了Grafana开源的Loki日志系统,下面介绍下Loki的 ...
- dns日志级别 linux,linux下DNS服务器视图view及日志系统详解
linux下DNS服务器视图view及日志系统详解DNS服务器ACL:在named.conf文件中定义ACL功能如同bash当中定义变量,便于后续引用 ACL格式: acl ACL名称 { IP地址1 ...
- linux系统日志分几个等级,Linux下日志系统详解
Linux下日志系统详 1.linux系统上有两个日志服务syslog和syslog-ng syslog服务有两个进程syslogd和klogd syslogd: 系统产生的日志信息 klogd:内核 ...
- linux下日志管理系统,Linux管理日志系统详解
本文和大家探讨如何利用linux日志系统来管理系统.为方便阅读,在作者原文的基础上,有所修改. 对于日志信息的管理通常采用两种方法,一种方法是不同服务器的日志信息都存放在各自系统内,系统管理员对各服务 ...
- syslog打印不带等级_syslog之一:Linux syslog日志系统详解
目录: 一.syslog简介 syslog是一种工业标准的协议,可用来记录设备的日志.在UNIX系统,路由器.交换机等网络设备中,系统日志(System Log)记录系统中任何时间发生的大小事件.管理 ...
- C++高性能服务器框架——日志系统详解
1|0日志文件系统 对文件系统进行修改时,需要进行很多操作.这些操作可能中途被打断,也就是说,这些操作不是"不可中断"(atomic)的.如果操作被打断,就可能造成文件系统出现不一 ...
- java日志系统详解
本文转自:点击打开链接 Java日志系统确实比较丰富,常用的有log4j.JUL.logback等等,同时伴随着日志系统的发展,出现了日志框架commons-logging和slf4j. 简短地描述下 ...
- Linux syslog日志系统详解
一. syslog简介 syslog是一种工业标准的协议,可用来记录设备的日志.在UNIX系统,路由器.交换机等网络设备中,系统日志(System Log)记录系统中任何时间发生的大小事件.管理者可以 ...
- Linux 日志系统详解
说明: 由于图片太大,上传博客的图片是jpg格式的有点失真,看不清楚,可以双击打开查看,有朋友想看高清,无码,无水印的大图(png格式)请下载附件! 转载于:https://blog.51cto.co ...
最新文章
- python 模拟用户点击浏览器_Python-模拟浏览器-下载文献
- 控制发送的请求条数_一个 HTTP 请求的曲折经历
- SAP Spartacus StoreFeatureModule
- Fragment:关于Avoid non-default constructors in fragments的错误
- 【lucene】Lucene的lukeall工具
- java 根据类名示例化类_Java收集器类– 18个示例
- php tp框架验证,tp5.1验证 - thinkphp5.1框架学习 - php中文网博客
- synchronized偏向锁
- Unity敌人的AI
- 微软服务器系统2018,升级微软2018 Windows10 四月正式版17134(1803)系统的多种方法...
- 微信公众号开发教程(序)
- 移动机器人下位机软件
- 0002数学建模的重要意义
- win7 ftp安装搭建,并且上传图片到ftp文件夹下,使用nginx访问下载图片
- PV操作经典例题——哲学家进餐问题
- c#黑白棋算法_黑白棋C#源代码
- python:编解码器基类之增量式的编码和解码
- AutoRunner的快捷菜单
- Educational Codeforces Round 123 (Rated for Div. 2) 简训
- armv8运行linux,ARMv8-A QEMU运行OP-TEE/ATF环境搭建