如何基于运维事件中心通过logstash进行日志关键字监控

简介: 日常运维过程中,很多场景都会有诉求,需要对日志关键字进行监测,以便第一时间发现应用/业务相关异常,如jvm日志的gc关键字、业务日志的error关键字。本文将介绍使用logstash对异常日志进行采集及推送。

日常运维过程中,很多场景都需要对日志关键字进行监测,以便第一时间发现应用/业务相关异常,这是一种比较常见的监控需求,所以也有很多方法可以实现关键字告警。对于简单的告警可以通过一些传统的监控工具实现,但对于体量和业务是非常复杂的中大型企业来说,在海量日志的情况下会存在运维问题、配置分散复杂、性能要求高等问题。本文将介绍一种灵活、高效、方便的方案,协助运维人员实时保障业务稳定。通过logstash结合运维事件中心的标准集成,进行日志关键字监控。

日志构造

为了便于说明,本文将以不断打印如下test.log进行验证、演示。

2021-08-11T00:34:06+08:00 in shanghai,tradeplatform occur P1 ,112.11.123.11keywords error,message:Warning tradeplatform has some exception,content service exception;envirment type:online;group:aliyun;tags:xxxxx

日志推送至标准集成

1. 下载并安装logstash组件。

2. 修改logstash配置文件,对异常日志进行推送。logstash.conf配置文件参考如下:

input {
        beats {
                port => 5044
        }
        file {
                path => "/home/test.log"
  type => "test"
        }
}
filter {
    if [type]=="test" {
        grok {
                match => {
   "message" => "%{TIMESTAMP_ISO8601:timestamp} in %{DATA:region},%{DATA:application} occur %{DATA:level},%{IPV4:source}%{DATA:name},message:%{DATA:summary},content%{DATA:details};envirment type:%{DATA:class};group:%{DATA:group};tags:%{DATA:tag}"
                }
        }
 mutate {
                remove_field => ["host"]
                remove_field => ["@version"]
                remove_field => ["@timestamp"]
                remove_field => ["path"]  
                remove_field => ["message"]
        }
    }
}
output {
    if [type]=="test" {
        http {
                url => " 请替换为标准集成中的URL "
                http_method => "post"
                format => "json"
        }
    }
}

重要 !上述的URL为标准集成的对接URL,可至运维事件中心控制台集成中心>集成配置>标准集成里获取格式类似为:https://public-alert.aliyuncs.com/event/standard/8cd0b46766dd4e2488a5cd5663xxxxxx


3. 启动logstash,开始将异常日志推送至运维事件中心。

4. 为了便于标准集成中查看对应数据格式,本示例手动造一条日志,执行以下命令即可。

echo '2021-08-11T00:34:06+08:00 in shanghai,tradeplatform occur P1 ,112.11.123.11keywords error,message:Warning tradeplatform has some exception,content service exception;envirment type:online;group:aliyun;tags:xxxxx' >> test.log 

集成配置及流转

1. 在运维事件中心控制台集成中心>集成配置>标准集成查看最新推送的数据记录。

2. 在策略中心>流转规则里新增对应的规则,由于日志error是核心异常场景,此处示例优先级选择P1、个人通知勾选电话通知。

3. 为了便于演示,本示例手动造一条日志,以便生成对应事件,执行以下命令即可。

echo '2021-08-11T00:34:06+08:00 in shanghai,tradeplatform occur P1 ,112.11.123.11keywords error,message:Warning tradeplatform has some exception,content service exception;envirment type:online;group:aliyun;tags:xxxxx' >> test.log 

4. 在运维事件中心控制台的事件中心>事件,即可看到最新推送告警所生成的事件。同时分派对象会接收到对应的电话、短信、邮件通知。

其他

以上为如果通过logstash进行日志推送,并在运维事件中心中配置对应关键字,以便准确生成对应事件进行流转处理。实际场景中,也可通过其他技术手段实现推送,如将logstash替换为filebeat等常见开源日志组件、应用程序打印日志通过Shell脚本进行读取并推送等。


运维事件中心支持免费开通试用各功能,对产品有任何疑问可以加入官方钉钉用户群(群号:35645045,进群有官方技术支持和产品优惠活动同步。

开通链接:https://alert.console.aliyun.com/

产品详情页:https://www.aliyun.com/product/developerservices/gemp

相关文章
|
24天前
|
监控 关系型数据库 MySQL
《MySQL 简易速速上手小册》第7章:MySQL监控和日志分析(2024 最新版)
《MySQL 简易速速上手小册》第7章:MySQL监控和日志分析(2024 最新版)
42 3
|
2月前
|
Linux 应用服务中间件 nginx
【PUSDN】centos查看日志文件内容,包含某个关键字的前后5行日志内容,centos查看日志的几种方法
【PUSDN】centos查看日志文件内容,包含某个关键字的前后5行日志内容,centos查看日志的几种方法
55 0
|
2月前
|
Prometheus 监控 Kubernetes
Kubernetes 集群监控与日志管理实践
【2月更文挑战第29天】 在微服务架构日益普及的当下,Kubernetes 已成为容器编排的事实标准。然而,随着集群规模的扩大和业务复杂度的提升,有效的监控和日志管理变得至关重要。本文将探讨构建高效 Kubernetes 集群监控系统的策略,以及实施日志聚合和分析的最佳实践。通过引入如 Prometheus 和 Fluentd 等开源工具,我们旨在为运维专家提供一套完整的解决方案,以保障系统的稳定性和可靠性。
|
6天前
|
数据采集 监控 数据可视化
日志解析神器——Logstash中的Grok过滤器使用详解
日志解析神器——Logstash中的Grok过滤器使用详解
29 4
|
6天前
|
存储 运维 监控
【Docker专栏】Docker日志管理与监控的最佳方法
【5月更文挑战第7天】本文探讨了Docker容器的日志管理与监控,强调其在运维中的重要性。Docker默认使用`json-file`日志驱动,可通过`docker logs`命令查看。建议选择合适日志驱动,配置日志选项,并集成ELK Stack等工具进行高级分析。实时监控、设置警报、分析数据和审计日志是实践关键。最佳实践包括日志数据与容器数据分离、使用日志代理、保护敏感信息及遵守法规。关注新技术以提升系统稳定性和安全性。
【Docker专栏】Docker日志管理与监控的最佳方法
|
7天前
|
监控 安全 数据可视化
中间件应用日志记录和监控
【5月更文挑战第1天】中间件应用日志记录和监控
22 3
中间件应用日志记录和监控
|
13天前
|
运维 Prometheus 监控
矢量数据库系统监控与运维:确保稳定运行的关键要素
【4月更文挑战第30天】本文探讨了确保矢量数据库系统稳定运行的监控与运维关键要素。监控方面,关注响应时间、吞吐量、资源利用率和错误率等指标,使用Prometheus等工具实时收集分析,并有效管理日志。运维上,强调备份恢复、性能调优、安全管理和自动化运维。关键成功因素包括建立全面监控体系、科学的运维策略、提升运维人员技能和团队协作。通过这些措施,可保障矢量数据库系统的稳定运行,支持业务发展。
|
13天前
|
Prometheus 监控 Cloud Native
【Go语言专栏】Go语言中的日志记录与监控
【4月更文挑战第30天】Go语言在软件开发和运维中扮演重要角色,提供灵活的日志记录机制和与多种监控工具的集成。内置`log`包支持基本日志记录,而第三方库如`zap`、`zerolog`和`logrus`则扩展了更多功能。监控方面,Go应用可与Prometheus、Grafana、Jaeger等工具配合,实现系统指标收集、可视化和分布式追踪。健康检查通过HTTP端点确保服务可用性。结合日志和监控,能有效提升Go应用的稳定性和性能。
|
13天前
|
存储 监控 关系型数据库
PHP编写的电脑监控软件:用户登录日志记录与分析
使用PHP编写简单但功能强大的电脑监控软件,记录用户登录日志并进行分析。代码示例展示了如何获取并存储用户IP地址和登录时间到数据库,然后进行登录数据的分析,如计算登录频率和常见登录时间。此外,还介绍了如何通过定时任务自动将监控数据提交到网站,以便实时监控用户活动,提升系统安全性和稳定性。
40 0
|
13天前
|
Prometheus 监控 Kubernetes
Kubernetes 集群的监控与日志管理策略
【4月更文挑战第30天】 在微服务架构日益普及的当下,容器化技术与编排工具如Kubernetes成为了运维领域的重要话题。有效的监控和日志管理对于保障系统的高可用性和故障快速定位至关重要。本文将探讨在Kubernetes环境中实施监控和日志管理的最佳实践,包括选用合适的工具、部署策略以及如何整合这些工具来提供端到端的可见性。我们将重点讨论Prometheus监控解决方案和EFK(Elasticsearch, Fluentd, Kibana)日志管理堆栈,分析其在Kubernetes集群中的应用,并给出优化建议。

相关产品

  • 运维事件中心