监控日志,之前介绍过一个第三方工具,pgbadger。非常的好用。

这次介绍其他的方法。1. 通过ELK监控日志。2. 借助filebeats,kafka,自己编写的监控脚本。

通过ELK监控日志

说是监控日志,其实ELK主要的功能是对文件进行收集和统计。比如某个数据库的错,在一段时间出现的次数。

1. 首先搭建kafka,logstash,kibana,ElasticSearch服务。

此处省略。

2. 在每个数据库服务器中,配置filebeats读取pg_log,并发送至kafka。

3. logstash作为kafka的消费者,读取PGLOG日志,并将日志格式化。将格式化好的数据插入到elasticsearch。

4. 将kibana配置好,展示es中的内容。

这时,我们可以通过kibana,展示所有服务器的pg log。延迟基本可以控制在1分钟(这要看硬件配置和压力大小)。我们30台服务器,平均每分钟数据库产生一万行日志。延迟基本可以保持在3--5秒内。

分享一下目前我们在使用的logstash解析日志的匹配

LOGLEVEL (PANIC|FATAL|LOG|ERROR|WARNING|NOTICE|INFO|DEBUG|DETAIL|STATEMENT|HINT|CONTEXT)
ACTION (%{DATA}:)
DUR (\d+\.\d+)
PGIPORHOST (?:%{IPORHOST}|\[local\])
PGUSER (?:%{DATA})
PGPREFIX %{DATESTAMP:timestamp} %{WORD:TZ} \[%{NUMBER:processid}\]\: (?<sessionlinenumber>\[\d+\-\d+\]) user=%{DATA:dbuser},db=%{DATA:dbname}?(%{PGIPORHOST:agentip})? %{LOGLEVEL:loglevel}:
POSTGRES %{PGPREFIX}%{SPACE}?(((duration: ?(%{DUR:postgres_duration:float}) ms)%{SPACE}?%{ACTION}%{SPACE}%{GREEDYDATA:postgres_message})|((%{ACTION:action})?({SPACE})?%{GREEDYDATA:postgres_message}))

对日志的监控。

因为ELK是对日志的收集和统计,我自己借助了kafka中的日志消息用python写了一个对日志的监控,当日单条错误大于20次时(只是针对于目前环境,针对于应用长时间报错),发送邮件告警。

1. 从kafka中读取日志。

2. 将日志做匹配,只过滤出错误日志。

3. 将错误日志记录到数据库。

4. 当有错误日志的时候,计算当日的错误数量,并记录到统计表中。

5. 当日单个错误数量超过20个时,发送告警。

6. 第二天将前日的错误日志记录通过cron job挪到 历史表中。并清空前日记录。

有兴趣的朋友,可以通过github查看代码。

https://github.com/chuckchen1222/parse_pglog

Postgresql - 监控 moniter - 监控日志相关推荐

  1. Linux/Unix shell 监控Oracle告警日志(monitor alter log file)

    使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linu ...

  2. Telegraf+InfluxDB+Grafana快速搭建实时监控系统 监控postgresql

    Telegraf+InfluxDB+Grafana快速搭建实时监控系统  监控postgresql 转载于:https://www.cnblogs.com/gaoyuechen/p/10081026. ...

  3. java分析日志文件_java程序如何对监控软件的日志文件进行如下分析?

    一个监控软件的日志文件,内容如下: 日期               时间          接口       设备      状态 2016-09-01   08:00     J1         ...

  4. 资源放送丨《如何从零快速搭建一整套监控体系(日志采集+主机+数据库)》PPT视频...

    前段时间,墨天轮分享了直播<如何从零快速搭建一整套监控体系(日志采集+主机+数据库)>,在这里我们共享一下PPT和视频,供大家参考学习. 客户转型去O使用分布式架构的情况下,作为DBA需要 ...

  5. linux之同时监控多个日志文件变化

    MultiTail是一个开源的ncurses的实用工具,可用于在一个窗口或单一外壳,显示实时一样的尾巴命令,该命令拆分控制台为更多子窗口的日志文件的最后几行(很像显示多个日志文件到标准输出屏幕命令 ) ...

  6. PostgreSQL——不仅仅是监控

    本文PPT来自数据库技术专家梁海安10月16日在2016年杭州云栖大会上发表的<分布式流处理框架--功能对比和性能评估>. PostgreSQL数据库在金融级监控和优化领域占据市场很大的份 ...

  7. 前端错误监控与错误日志

    平时工作中没怎么接触到这部分,对它的了解也零零碎碎的.今天看了几篇文章,算是有个完整的认识了,在这里总结记录一下. 项目上线之后肯定无法避免所有的bug,有些bug出现后开发人员并不知道,有的知道了缺 ...

  8. SonicWALL常见监控说明及日志查看

    1.多核监控 此页面用来监测防火墙内核到活动状态,纵坐标为内核使用率,横坐标为内核序号. 2.威胁监控 此页面是用来展示防火墙所遇到的威胁次数,上方有全球与本防火墙两种选项,右侧为监控到时间段. 3. ...

  9. Snare for Windows 3.1.7 - 监控系统事件日志

    Snare for Windows 3.1.7 - 监控系统事件日志 Snare可以监控Windows事件日志 ,然后记录下来,然后通过udp协议传输到远程,适合监控大量服务器的运作情况 http:/ ...

  10. 整理全网Shell脚本合集,Java脚本,运维脚本,告警脚本,监控脚本,日志脚本,docker脚本等---------持续更新!

    整理全网Shell脚本合集,Java脚本,运维脚本,告警脚本,监控脚本,日志脚本,docker脚本等---------持续更新! 一.ffmpeg脚本 1.1 打开进程,并判断进程数量 1.2 关闭进 ...

最新文章

  1. 重新定义Wi-Fi功能,Wi-Fi 6为什么要分两步?
  2. Wireshark:Usage in Ubuntu 18.04 distribution
  3. C++ 关于方法传值
  4. tomcat5 remote debug 设置
  5. Silverlight Downloads
  6. GitHub 近 100,000 程序员“起义”:向“996”开炮!
  7. LeetCode(合集) 路径总和(二叉树) golang copy的值复制
  8. Java 接口做参数,接口回调
  9. 零门槛人像转卡通、GIF表情包(赶快行动起来)
  10. NEC学习 ---- 布局 -两列, 右侧定宽,左侧自适应
  11. IDEA--tomcat日志乱码
  12. 动态推荐系统关键技术研究(一)
  13. 世界主要国家地区英文名称,缩写代码
  14. Android源码目录简介
  15. Win10设置默认英文输入法
  16. 基于HTML5 Canvas实现黑白滤镜
  17. 局域网有几台电脑频繁断网_电脑经常自动断网掉线分析
  18. 计算机小学数学辅助教学缺点及对策 论文,小学数学第二学段图形与几何领域的作业设计研究...
  19. 计算物理学(数值分析)上机实验答案5、常微分方程初值问题的数值解法
  20. Python之旅.第十章.mysql.

热门文章

  1. 华中科技大学计算机潘再余,华中科技大学2016年免试攻读研究生名单
  2. 一个小工具就能帮我清理 30GB 微信文件,也太好用了!
  3. 两部苹果手机同步照片_如何将旧苹果手机音乐里面的歌曲同步到新苹果手机上...
  4. 【中医学】10 针灸-1
  5. 《搞不定人,你如何带团队?》读书记录
  6. Android一步步实现无痕埋点(3)-------虎躯一震
  7. Pascal 英语句子语法解析器
  8. Qt之快速生成缩略图thumbnail
  9. 【电商界的屠龙者-拼多多】——“拼多多”竞品分析
  10. Windows下VS2015编译caffe(CPU ONLY)