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&regexp=&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——语法相关推荐

  1. 抛弃ELK!Loki日志系统详解!

    背景 最近,在对公司容器云的日志方案进行设计的时候,发现主流的ELK或者EFK比较重,再加上现阶段对于ES复杂的搜索功能很多都用不上最终选择了Grafana开源的Loki日志系统,下面介绍下Loki的 ...

  2. dns日志级别 linux,linux下DNS服务器视图view及日志系统详解

    linux下DNS服务器视图view及日志系统详解DNS服务器ACL:在named.conf文件中定义ACL功能如同bash当中定义变量,便于后续引用 ACL格式: acl ACL名称 { IP地址1 ...

  3. linux系统日志分几个等级,Linux下日志系统详解

    Linux下日志系统详 1.linux系统上有两个日志服务syslog和syslog-ng syslog服务有两个进程syslogd和klogd syslogd: 系统产生的日志信息 klogd:内核 ...

  4. linux下日志管理系统,Linux管理日志系统详解

    本文和大家探讨如何利用linux日志系统来管理系统.为方便阅读,在作者原文的基础上,有所修改. 对于日志信息的管理通常采用两种方法,一种方法是不同服务器的日志信息都存放在各自系统内,系统管理员对各服务 ...

  5. syslog打印不带等级_syslog之一:Linux syslog日志系统详解

    目录: 一.syslog简介 syslog是一种工业标准的协议,可用来记录设备的日志.在UNIX系统,路由器.交换机等网络设备中,系统日志(System Log)记录系统中任何时间发生的大小事件.管理 ...

  6. C++高性能服务器框架——日志系统详解

    1|0日志文件系统 对文件系统进行修改时,需要进行很多操作.这些操作可能中途被打断,也就是说,这些操作不是"不可中断"(atomic)的.如果操作被打断,就可能造成文件系统出现不一 ...

  7. java日志系统详解

    本文转自:点击打开链接 Java日志系统确实比较丰富,常用的有log4j.JUL.logback等等,同时伴随着日志系统的发展,出现了日志框架commons-logging和slf4j. 简短地描述下 ...

  8. Linux syslog日志系统详解

    一. syslog简介 syslog是一种工业标准的协议,可用来记录设备的日志.在UNIX系统,路由器.交换机等网络设备中,系统日志(System Log)记录系统中任何时间发生的大小事件.管理者可以 ...

  9. Linux 日志系统详解

    说明: 由于图片太大,上传博客的图片是jpg格式的有点失真,看不清楚,可以双击打开查看,有朋友想看高清,无码,无水印的大图(png格式)请下载附件! 转载于:https://blog.51cto.co ...

最新文章

  1. python 模拟用户点击浏览器_Python-模拟浏览器-下载文献
  2. 控制发送的请求条数_一个 HTTP 请求的曲折经历
  3. SAP Spartacus StoreFeatureModule
  4. Fragment:关于Avoid non-default constructors in fragments的错误
  5. 【lucene】Lucene的lukeall工具
  6. java 根据类名示例化类_Java收集器类– 18个示例
  7. php tp框架验证,tp5.1验证 - thinkphp5.1框架学习 - php中文网博客
  8. synchronized偏向锁
  9. Unity敌人的AI
  10. 微软服务器系统2018,升级微软2018 Windows10 四月正式版17134(1803)系统的多种方法...
  11. 微信公众号开发教程(序)
  12. 移动机器人下位机软件
  13. 0002数学建模的重要意义
  14. win7 ftp安装搭建,并且上传图片到ftp文件夹下,使用nginx访问下载图片
  15. PV操作经典例题——哲学家进餐问题
  16. c#黑白棋算法_黑白棋C#源代码
  17. python:编解码器基类之增量式的编码和解码
  18. AutoRunner的快捷菜单
  19. Educational Codeforces Round 123 (Rated for Div. 2) 简训
  20. armv8运行linux,ARMv8-A QEMU运行OP-TEE/ATF环境搭建

热门文章

  1. 2020年软考系统规划与管理师35天特训——重点知识梳理:第5章 IT服务部署实施
  2. GPS周 北斗周 年月日转换
  3. OSGB数据文件解读
  4. 北京林业大学信息学院软件工程研究生专业课初试总结
  5. 微信小程序图片设置为圆
  6. Python官方中文文档来了
  7. Android断点下载时异常:java.io.IOException: unexpected end of stream,请问该怎么解决
  8. python爬虫案例(二):大学排名
  9. LTE-LTE-A-4G、4G+-LTE-A Pro
  10. LabVIEW通讯-GPIB