如何使用ARMS配置tengine的日志监控

来自 深圳市小亿网络有限公司 王昕岩 的撰稿

最近公司通过阿里云的业务实时监控服务 ARMS成功搭建了基于tengine的日志监控系统。这里简单分享一下使用[font=&quot]ARMS用于监控[font=&quot]tengine日志的经验。[font=&quot]

公司发展至今,现阶段所有接口都使用阿里的tengine作为web容器,类似nginx,在日志中也记录了包括host,url, ip, 包体大小,响应时长等信息。目前的业务需求场景是希望有一套系统来监控接口的异常,来及时发现系统的异常,并能具体到哪些项目、哪些服务器、甚至哪些URL出现异常,提高分析问题和解决问题的速度。

tengine日志分布到不同服务器上,首先使用日志服务来分别收集这些日志。再以logHub作为日志源,来进行监控。想到使用ARMS的其中一个最重要原因是因为我们系统tengine的日志格式有一定的定制,需要有一个端到端监控产品提供的定制化特别强的数据清洗功能,以及聚合计算+报警功能。

这里详细介绍一下ARMS吊炸天的日志切分功能。
第一步,一个开始节点;
第二步,LogHub数据源过来默认是JSON格式,进行JSON解析,如下图:

注意日期类型的时间格式,尤其是“小时”部分,默认格式是hh(12小时),需要改为HH(24小时)。
第三步,清洗,过滤掉这里不需要监控的host,如下图:

通过函数,过滤掉不以指定域名结尾的host。
第四步,解析URL。使用“单分隔符切分器”,将request字段按照空格切分,分别获取调用方式(GET/POST)、完整URL、协议版本:

第五步,区分错误码。这里主要是为了区分,返回码是代表正常、还是错误。这里只对错误的返回码进行监控。下图的例子是,返回码是4xx或5xx的表示错误,其他表示正常。新增字段is_error表示是否是“错误码”,赋值1或0表示是或否。

第六步,配置服务器IP和服务器名称的对应关系。配置了一个映射表如下:

注意,这里一定要配置一个127.0.0.1的k-v关系,否则日志切分预览的时候会看不到这个“服务器名称”字段。

最后,再简化一下host,把域名的后缀去掉,只保留前缀。

至此,日志切分全部结束。点击“日志切分预览”,即可查看切分效果。点击保存,下一步

配置数据集,例如要监控接口的访问次数,使用count(_line);要监控平均包体大小,使用sum(包体大小)÷count(_line);要监控平均响应时长,使用sum(响应时长)÷count(_line)。维度根据需要配置,此处配置为先服务器,后接口域名。

至此配置全部结束,点击保存,完成配置。即可启动任务了。以上为简单示例。

这边展示我制作的其中几项监控的大盘。
请求数效果图:

响应时长效果图:

包体大小效果图:

错误码个数效果图:

运维人员通过对几个图表的观察分析,可以很快得出一些异常情况发生的原因,并及时处理掉。

一个年轻的互联网公司,需要不断的成长。系统也一样,需要不断的提升、优化。阿里云业务实时监控服务ARMS很好的提供了这么一个入口,为公司提供了一个实时查询Tengine运行情况的解决方案。在未来,ARMS将很好的和ODPS为公司监控形成互补方案,tengine日志日后可同时投递到ARMS和MaxCompute中: ARMS响应第一时间的多维度报警;MaxCompute来做深层次分析,例如接口的请求数、响应时长等,并有针对性地进行调优。

时间: 2024-10-11 17:09:53

如何使用ARMS配置tengine的日志监控的相关文章

zabbix之日志监控

一.日志item介绍 下面介绍zabbix另一个"重量级"的功能--日志文件监控,它最主要的是监控日志文件中有没有某个字符串的表达式,对应日志轮转与否,zabbix都支持. 在配置Item的时候,Type选择Zabbix agent (active),这里主要需要配置的是Key.下面是监控日志的两种key--log和logtr. log[/path/to/some/file,<regexp>,<encoding>,<maxlines>,<mod

CentOS-6.5安装配置Tengine

一.安装pcre: cd /usr/local/src wget http://downloads.sourceforge.net/project/pcre/pcre/8.34/pcre-8.34.tar.gz tar zxvf pcre-8.34.tar.gz cd pcre-8.34 ./configure --prefix=/usr/local/pcre make make install 二.下载proxy_cache插件 cd /usr/local/src wget http://la

Druid基本配置及内置监控使用

1.             使用方法 首先从http://repo1.maven.org/maven2/com/alibaba/druid/ 下载最新的jar包.如果想使用最新的源码编译,可以从https://github.com/alibaba/druid 下载源码,然后使用maven命令行,或者导入到eclipse中进行编译. 和dbcp类似,druid的配置项如下: 配置 缺省值 说明 name 配置这个属性的意义在于,如果存在多个数据源,监控的时候 可以通过名字来区分开来.如果没有配置

Zabbix监控之系统及应用日志监控报警

zabbbix还可以用于支持/不支持翻转的日志文件的集中监控与分析.比如系统日志/var/log/message /var/log/secure等.当一个日志文件包含特定的字符或者字符模式时,zabbix向用户发送报警信息. 1.选择 Configuration-templates-Template OS Linux模板,或者是自定义正在使用的模板,选择item-create item 有几个地方需要确认: type:一顶要选择zabbix agent active     ##中文就是主动模式

CentOS6.4 配置Tengine(转)

CentOS6.4 配置Tengine 1.安装Nginx所需的pcre-devel库 yum install -y gcc gcc-c++ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.33.tar.gz tar zxvf pcre-8.33.tar.gz cd pcre-8.33./configure --prefix=/usr/local/pcre makemake install 2.安装Tengine

ElasticSearch实战-日志监控平台

1.概述 在项目业务倍增的情况下,查询效率受到影响,这里我们经过讨论,引进了分布式搜索套件——ElasticSearch,通过分布式搜索来解决当下业务上存在的问题.下面给大家列出今天分析的目录: ElasticSearch 套件介绍 ElasticSearch 应用场景和案例 平台架构 下面开始今天的内容分享. 2.ElasticSearch 套件 2.1LogStash LogStash是一个开源的.免费的日志收集工具,属于Elastic家族的一员,负责将收集的日志信息输送到ElasticSe

nagios+check_logifile实现日志监控

日志检查时我们平时用的非常多的一种监控方式,检查日志我们需要使用nagios插件,比如nagios自带的check_logfile,功能比较有限:我们使用ConSol Labs出品的check_logfiles,它能够处理截断日志,支持宏定义,支持正则等功能,使我们的监控更加灵活. 一.安装 1.安装check_logfiles tar -zxvf check_logfiles-3.6.3.tar.gz cd /usr/local/src/ check_logfiles-3.6.3 ./conf

一种轻量级的微信小程序日志监控的方法

今天一个活动要写个H5,明天一个功能要用小程序,天天都在写bug.用户反馈小程序用起来有问题还特么还不知道到底出了啥bug,反馈多了,老板要扣工资了!看来挖了太多坑不填也不行,程序异常还是要主动追踪,今天给大家介绍一个轻量级的错误日志监控服务Fundebug. Fundebug的小程序监控插件接入简单,只需要下载相应的插件文件,然后在app.js文件中引入并配置apikey即可.唯一要注意的就是微信需要设置request合法域名这一点不能忘记了. 1. 创建微信小程序监控项目 需要注册账号,点击

DRUID连接池的实用 配置详解以及监控配置

DRUID介绍 DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0.DBCP.PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池(据说是目前最好的连接池,不知道速度有没有BoneCP快). 配置参数 和其它连接池一样DRUID的DataSource类为:com.alibaba.druid.pool.DruidDataSource,基本配置参数如下: 配置 缺省值 说明 name   配置这个属性的意义在