使用python收集docker日志并发

北京哪家皮炎医院好 http://pf.39.net/bdfyy/bdfzj/210410/8833134.html

随着云原生技术的快速发展,很多企业应用都上云,使用了容器运行一些常规应用。那么只要是应用,不管是以什么方式运行,是免不了存在问题导致应用无法正常运行。这时,作为一线开发运维人员,第一个想到的应该就是查看日志,查找应用出现问题的原因,分析原理,然后进行快速解决,避免长时间影响业务。

当然一般的日志收集,我们现在已经有很多方案,利用shell脚本、ELK+filebeat、loki等等

但是怎么收集容器日志呢,最简便的目前实际应用不错的是loki,通过简单安装,即可收集到容器相关日志,并且通过grafana展示也是很友好的

目标:收集docker错误日志,并发送到企微群中提醒相关人员

日志级别:ERROR

再来说说日志级别

为啥有级别,因为代码在运行的时候出现的状况是不一致,有报错,有警告,也有调试的信息,对这些进行分级管理就会更快速更准确的定位到问题的所在

一般是这样的CRITICALERRORWARNINGINFODEBUG

CRITICAL代表问题很严重,不能继续运行了

ERROR就是有错误问题,还能运行但是有些功能已经不能工作

WARNING就是提示告警,注意有一些问题会意外发生或者未来会出问题

INFO就是运行的正常信息,表示正常运作

DEBUG就是一些调试的信息,这里还是比较详细的部分

分析:

docker应用不多的情况下,如何获取docker日志,然后将日志中的错误信息发送到指定企微群里呢。

首先想一想,docker应用是怎么查看日志的,一句命令dockerlogs-fdockername

那么这是实时查看,也可以指定最后几百行加上--tail=行数即可,或者最近三十分钟--since=30m,还有直接execdocker-itbash在/var/log下面查看日志

总之,一条命令能看到,可以利用这个命令,然后可以使用grep命令来筛选包含错误ERROR字段的日志

但是我需要把筛选到的日志发送到企微,那就需要把看到的日志写入文件发送文本或者文件到企微即可。

思路有了就可以编写脚本了

首先导入需要的模块,时间,系统操作,以及接口调用

为了记录脚本执行时间,可以打印当前时间,并将日志命名加入当前的时间

这就是将docker的log,通过grep筛选过后写入一个log文件内,用来发送到企微

有了日志,怎么发送到企微呢

上面这一段就是将日志文件,通过调用企微群机器人发送文件,企微官方也给了通用的模板,大家可以上


转载请注明:http://www.aierlanlan.com/rzfs/5038.html

  • 上一篇文章:
  •   
  • 下一篇文章: