基础方法包含获取微信小程序监控SDK并初始化、上报和设置安全域名这三个步骤:
获取微信小程序监控SDK并初始化:
在微信小程序/utils目录下新建wxLogger.js文件,并将JS文件的内容复制并粘贴至新建的wxLogger.js文件中。
在/utils目录下新建monitor.js文件,并将以下内容添加至新建的monitor.js文件中以完成初始化。
说明 您可以自定义JS文件的名称和存放位置。
如果项目使用node module (require) 方式集成,则添加以下内容:
const WXLogger = require('./wxLogger.js')
const Monitor = WXLogger.init({
pid: 'xxx',
region: 'cn',// 指定应用部署的地域:中国设为cn,海外地区靠近新加坡的设为sg。
})
export default Monitor
如果项目使用ES module (import) 方式集成,则添加以下内容:
import WXLogger from './wxLogger.js'
const Monitor = WXLogger.init({
pid: 'xxx',
region: 'cn',// 指定应用部署的地域:中国设为cn,海外地区靠近新加坡的设为sg。
})
export default Monitor
说明 关于参数的详细配置,请参见通用SDK配置项。
使用以下方法静默采集PV、Error、API、性能及Health数据:
在app.js中,使用Monitor.hookApp(options)方法静默捕获Error类日志。其中的options即为App层相应的Object配置。
import Monitor from '/util/monitor'
App(Monitor.hookApp({
onError(err) {
console.log('进入onError:', err)
},
onLaunch() {
console.log('进入onLaunch')
},
onShow(options) {
},
onHide() {
}
}))
在page的JS文件中通过Monitor.hookPage(options)方法静默上报API请求、PV、Health数据。
import Monitor from '/util/monitor'
// 使用hookPage后,生命周期的API会自动打点。
Page(Monitor.hookPage({
data: {},
onLoad(query) {
},
onReady() {
// 页面加载完成。
},
onShow() {
},
onLoad(query) {
},
onHide() {
},
onUnload() {
}
}))
设置安全域名:
如果region设为cn,则将https://arms-retcode.aliyuncs.com添加到Request合法域名。
如果region设为sg,则将https://arms-retcode-sg.aliyuncs.com添加到Request合法域名。
API方法:静默打点基础API
方法 参数 备注 示例使用场景
hookApp {} 请传入原有的App参数。 在App的生命周期中自动打点。
hookPage {} 请传入原有的Page参数。 在Page的生命周期中自动打点。
说明 小程序监控项目如需使用hookApp、hookPage嵌入生命周期打点,必须符合标准小程序关于App和Page的规范,即App层有onError,Page层有onShow、onHide、onUnload。使用方法示例,请参见基础使用方法。
API方法:其他设置API
方法 参数 备注
setCommonInfo {[key: string]: string} 设置日志基础字段,可用于灰度发布等场景。
setConfig {[key: string]: string} 设置config字段,具体 *** 作,请参见SDK参考。
说明 对于setConfig方法,小程序场景不支持配置uid,您可以使用setUsername代替uid标识用户。
pageShow {} Page Show打点,发送PV数据。
pageHide {} Page Hide打点,发送Health数据。
error String/Object 错误日志打点。
api 请参见API参考 API类日志上报。
sum/avg String 自定义求和、求均值日志上报。
进阶场景
当基础使用方法无法满足需求时,请参见以下进阶场景:
手动上报API相关信息(不采用静默上报方式):
将disableHook设为true,不静默上报wx.request请求的日志。
手动调用api()方法上报API相关信息。
取消静默上报并改为手动打点:
在App和Page对应的JS文件中不再使用hookApp、hookPage方法。
如需发送当前页面的PV数据,则在Page的onShow方法下调用pageShow()方法。
说明 请勿与hookPage()方法同时使用此方法,否则会造成PV类日志重复上报。
import Monitor from '/util/monitor'
Page({
onShow: function() {
Monitor.pageShow()
}
})
如需发送当前页面的Health类数据,统计当前页面的健康度和页面停留时间,则在Page的onHide和onUnload方法下调用pageHide()方法。
说明 请勿与 hookPage()方法同时使用此方法,否则会造成日志重复上报。
import Monitor from '/util/monitor'
Page({
onHide: function() {
Monitor.pageHide()
},
onUnload: function() {
Monitor.pageHide()
}
...
})
通用SDK配置项
ARMS前端监控提供一系列SDK配置项,让您能够通过设置参数来满足额外需求。以下是适用于本文场景的通用配置项。
参数 类型 描述 是否必选 默认值
pid String 项目唯一ID,由ARMS在创建站点时自动生成。 是 无
uid String 用户ID,用于标识访问用户,可手动配置,用于根据用户ID检索。如果不配置,则由SDK随机自动生成且每半年更新一次。 否 由SDK自动生成
tag String 传入的标记,每条日志都会携带该标记。 否 无
release String 应用版本号。建议您配置,便于查看不同版本的上报信息。 否 undefined
environment String 环境字段,取值为:prod、gray、pre、daily和local,其中:
prod表示线上环境。
gray表示灰度环境。
pre表示预发环境。
daily表示日常环境。
local表示本地环境。
否 prod
sample Integer 日志采样配置,值为1~100的整数。对性能日志和成功API日志按照1/sample的比例采样,关于性能日志和成功API日志的指标说明,请参见统计指标说明。 否 1
behavior Boolean 是否为了便于排查错误而记录报错的用户行为。 否 false
enableLinkTrace Boolean 进行前后端链路追踪,请参见使用前后端链路追踪诊断API错误原因。 否 false
ARMS前端监控还提供了更多SDK配置项,可满足进一步的需求。更多信息,请参见SDK参考。
Zabbix Advance - Linux log monitor 日志监控(/var/log/messages,/var/log/secure,其它程序日志皆可) 原创2020-09-11 10:43:40
2点赞
Fei-Huang
码龄12年
关注
文章目录
日志监控原理
本文档示例版本与官方使用文档
配置过程
一,被监控的主机上配置zabbix_agentd.conf
二,修改日志文件的权限
修改前日志文件的权限:
修改日志文件的权限
查看修改后的文件权限
三,配置zabbix web item页面(监控root用户登陆)
root用户登陆测试
配置告警(trigger)
最终配置
再次测试root登陆
日志监控原理
zabbix 监控日志,主要是用于监控日志中的关键字,遇到关键字后,zabbix agent 将日志发送给server。日志监控必需是agent active的监控项目
本文档示例版本与官方使用文档
官方文档链接
配置过程
一,被监控的主机上配置zabbix_agentd.conf
[root@GuangGu_Zabbix_proxy ~]# egrep -v "#|^$" /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=X.X.X.X
ServerActive=X.X.X.X
Hostname=Zabbix_lOG
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
ServerActive=X.X.X.X
Hostname=Zabbix_lOG
以上两个参数配置对日志很重要,agent active 在发送数据给server端时,会将配置文件中的hostname的值做为一个值携带给服务端,zabbix_server收到发送过来的数据后会主动匹配这个值,是否与自己配置的主机的hostname一致,一致即接收数据,放置在数据库中。
二,修改日志文件的权限
通常情况下,/var/log/目录下的系统日志文件只有root用户有相应的读写权限,而zabbix对这些文件需要有读取的权限,否则无法监控,所以在不更改属主属组的情况下,使用==“facl”== 添加文件权限比较合适,以下为示例:
修改前日志文件的权限:
[hostname]# ls -l /var/log/messages
-rw------- 1 root root 138063 Sep 11 08:10 /var/log/messages
1
2
1
2
只有root用户有读写权限,其它的用户均没有权限
修改日志文件的权限
setfacl -m u:zabbix:r-- /var/log/messages
1
1
查看修改后的文件权限
[root@GuangGu_Zabbix_proxy ~]# ls -l /var/log/messages
-rw-r-----+ 1 root root 193670 Sep 11 09:10 /var/log/messages
1
2
1
2
[root@GuangGu_Zabbix_proxy ~]# getfacl /var/log/messages
getfacl: Removing leading '/' from absolute path names
# file: var/log/messages
# owner: root
# group: root
user::rw-
user:zabbix:r--
group::---
mask::r--
other::---
1
2
3
4
5
6
7
8
9
10
11
1
2
3
4
5
6
7
8
9
10
11
user:zabbix:r-- 可以看到zabbix用户有r的权限了
但是这条命令只设置了当前的/var/log/messages的文件的权限,这个日志文件是会随日期滚动的所以还需要设置一下日志滚动后的zabbix用户的权限,此时还需要修改另外一个文件的内容:
[root@hostname~]# vim /etc/logrotate.d/syslog
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
missingok
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2>/dev/null` 2>/dev/null || true
/usr/bin/setfacl -m u:zabbix:r-- /var/log/messages
endscript
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
logrotate 不是守护进程的服务,所以不需要重启
三,配置zabbix web item页面(监控root用户登陆)
key : log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>]
/var/log/messages 中 root 用户登陆的日志记录如下:
Sep 11 09:30:01 LOGMONITOR systemd: Started Session 6787 of user root.
1
1
几个注意点:
类型必需是“zabbix agent active”的
信息类型必需是“日志”型的
log[/var/log/messages, Started Session .* of user root.$,skip,]
root用户登陆测试
Sep 11 09:44:47 LOGMONITOR systemd-logind: New session 6789 of user root.
Sep 11 09:44:47 LOGMONITOR systemd: Started Session 6789 of user root.
Sep 11 09:44:47 LOGMONITOR systemd: Starting Session 6789 of user root.
1
2
3
1
2
3
以上三条是登陆产生的日志
查看zabbix监控的消息记录
点击“历史记录查看”
zabbix已经收到相关日志
配置告警(trigger)
配置告警思路:
只要zabbix收到相应条目的日志一次,就触发一次告警
收到告警后,如果60s内没有再次触发告警就消失
最终配置
再次测试root登陆
此告警60S后消失
文章知识点与官方知识档案匹配
CS入门技能树Linux入门初识Linux
24650 人正在系统学习中
打开CSDN APP,看更多技术内容
zabbix监控Linux进程方法_lihuaichen的博客
利用zabbixproc.num方法监控Linux服务进程 proc.num[<name>,<user>,<state>,<cmdline>] 监控用户某些状态的进程的数量 name- 进程名称 (默认“all processes”)user- 用户名 (默认 “all users”)state- 可用值:all(默认),run,sl...
继续访问
zabbix监控远程linux服务器基础 *** 作_今天摘太阳的博客_linu...
查看添加的监控主机的最新数据是否监控到数据。4. 通过web页面配置linux监控,添加监控主机及套用模板设置。 zabbix监控Linux流程 m0_52091913的博客 312 zabbix监控Linux流程,邮件警告 远程监控 linux服务器软件,如何从Web浏览器远程监控...
继续访问
log_monitor日志监控
对qps以及接口的平均耗时进行统计 特点 (1)轻量: 共219KB(代码量约300行), 无需安装,解压即可使用 (2)低侵入: 基于日志文件进行统计,无需修改原程序 使用说明 (1) 二进制包:下载工具包 log_monitor.tar.gz,并解压 (2) 源码编译:make 之后进行参数配置,可以拷贝现有的,各个参数说明如下: log_file=/data/nginx_logs/access.log log_reg=
(.∗)\+0800
(.∗)\+0800
time_format=%d/%b/%Y:%H:%M:%S retain_seconds=3600 http_port=3344 log_level=INFO log_file: 需要监控的日志的路径 log_reg: 需要匹配的日期以及耗时信息的正则表达式(需要加括号) time_format: 日志中日期的格式 retain_seconds: 统计数据保留时间 http_port: 用来通过页面展示统计数据的端口 log_level: log monitor的日志级别 启动 ./bin/log_monitor [conf_file_path] 查看 (1) 在控制台就可以看到系统实时的qps以及每一秒中接口的平均耗时情况 (2) 通过浏览器访问 http://${ip}:{http_port}/show.html
Zabbix监控之Linux命令行/Shell脚本解析json
本文主要写了在Linux下如何用Shell脚本解析json数据,以便于在Zabbix中添加适合于业务应用的监控项。为什么要使用json?json作为一种文本化的数据格式(文本化协议),符合UNIX编程的哲学,既符合透明性(透明性:设计可见,便于审查和调试)又符合文本性(文本性:数据应该保存为文本文件)。关键在于json对Web程序或者java程序非常友好,对于开发人员来说,他们也喜欢使用json数...
继续访问
linux启动zabbix服务,zabbix监控Linux系统服务_邓琨腾的博客
Zabbix自动发现规则监控Linux系统的service units 项目要求:通过systemctl命令查看Linux系统的service units监控前提:zabbix环境已搭建好监控原理:通过shell脚本把systemctl命令返回的结果以json格式发送到zabbix...
继续访问
zabbix自动监控linux进程,zabbix远程命令-监控进程停掉后自动重启应用...
6.在验证远程命令的可用性之后,在zabbix前端页面添加监控项,设置触发器,并添加执行远程命令的动作。 7.添加监控项: 自定义名称,类型为zabbix客户端,键值为proc.num[,,,httpd],其他自定义,点击添加。
继续访问
zabbix监控日志
zabbix监控日志
继续访问
linux的数据清洗视频,Zabbix监控历史数据清理
Zabbix监控运行一段时间以后,会留下大量的历史监控数据,Zabbix数据库一直在增大;可能会造成系统性能下降,查看历史数据室查询速度缓慢。Zabbix里面最大的表就是history和history_uint两个表,而且zabbix里面的时间是使用的时间戳方式记录,所以可以根据时间戳来删除历史数据一、关闭zabbix、http服务pkill -9 zabbixservice httpd stop...
继续访问
zabbix3.4监控linux磁盘使用率_一文看懂Linux全能型监控命令--dstat...
在linux上有top、free、iostat、vmstat、netstat等诸多监控系统各项性能的工具,如top,可以实时监控到系统负载、内存等使用情况,iostat能监控系统I/O情况,而vmstat可以得到关于进程、内存、内存分页、堵塞IO、traps及CPU活动的信息。不过今天主...
继续访问
Zabbix监控Linux进程方法
利用zabbix proc.num方法监控Linux服务进程 proc.num[<name>,<user>,<state>,<cmdline>] 监控用户某些状态的进程的数量 name - 进程名称 (默认“all processes”) user - 用户名 (默认 “all users”) state - 可用值: all (默认), run,sleep, zomb cmdline - 命令行过滤(正则表达时) 一、首先新建一个模板,在监控项条目中新
继续访问
关于/var/log/messages文件
/var 包括系统运行时要改变的数据。其中包括每个系统是特定的,即不能够与其他计算机共享的目录,如/var/log,/var/lock,/var/run。有些目录还是可以与其他系统共享,如/var/mail, /var/cache/man, /var/cache/fonts,/var/spool/news。var目录存在的目的是把usr目录在运行过程中需要更改的文件或者临时生成的文件及目录提取出来
继续访问
@Zabbix常用的监控命令及监控分析
文章目录一、面试技巧1.面试常问二、单机监控命令1.CPU 监控命令2.内存监控命令3.磁盘监控命令4.网络监控命令5.TCP11种状态监控命令6.生产场景需求7.系统的oom(out of memory)8.使用脚本监控nginx三、zabbix数据库拆分1.环境准备2.导出原MySQL中的zabbix数据3.准备新的数据库环境4.关闭原来的数据库测试5.修改连接数据库代码 一、面试技巧 1.面试常问 #1.面试官:你们公司监控是如何做的? 你:用zabbix 面试官:.... #2.面试技
继续访问
最新发布 zabbix日志监控: *** 作系统、业务系统、文件大小、多行日志
(一)监控 *** 作系统日志 (二)监控业务系统日志 (三)监控日志文件大小 (四)多行日志监控- Python脚本优化
继续访问
zabbix 时间错误_使用Zabbix来监控系统日志
在Linux系统上,日志文件通常可以分为四类:System Logs(系统日志)Event Logs(事件日志)Application Logs(应用程序日志)Service Logs(服务日志)一、为什么要监控日志?Linux为了跟踪和监视系统(内核)各个组件及应用程序运行状态而将产生的相关事件存储到日志文件中,当系统或者应用程序出现问题时,系统管理员能根据日志定位到问题。而通过监控Linux的...
继续访问
【Docker学习】13、使用 Docker/Docker-Compose 部署 Prometheus 监控组件
文章目录1、Prometheus 监控组件(1)Prometheus 监控 Linux(2)Prometheus 监控 Docker(3)Prometheus 监控 MySQL 1、Prometheus 监控组件 从上面的构建可以发现,现在已经可以监控当前Linux主机了,实际上能监控的内容很多,可以在官网查看,监控内容或社区查找 搭建各种组件的监控,首先需要找到提供数据的数据源,当然,Prometheus已经给我们写好了配置,我们只需要在找到对应的配置进行安装即可,Prometheus GitHub,例如
继续访问
Linux从入门到放弃 zabbix常见的linux监控命令
cpu top htop uptime vmstat 内存 free 磁盘 df iotop 网卡 iftop nethogs 系统进程 ps pstree
继续访问
zabix监控linux进程名称,zabbix监控Linux进程方法
利用zabbixproc.num方法监控Linux服务进程proc.num[,,,]监控用户某些状态的进程的数量name- 进程名称 (默认“all processes”)user- 用户名 (默认 “all users”)state- 可用值:all(默认),run,sleep,zombcmdline-命令行过滤(正则表达时)具体监控某一服务进程的方法一、首先新建一个模板,在监控项条目中新建一...
继续访问
zabbix监控Linux流程
zabbix监控Linux流程,邮件警告
继续访问
zabbix监控linux文件目录,zabbix之日志文件监控
一、日志item介绍下面介绍zabbix另一个“重量级”的功能——日志文件监控,它最主要的是监控日志文件中有没有某个字符串的表达式,对应日志轮转与否,zabbix都支持。在配置Item的时候,Type选择Zabbix agent (active),这里主要需要配置的是Key。下面是监控日志的两种key——log和logtr。log[/path/to/some/file,,,,,]logtr[/pa...
继续访问
监控linux日志,Zabbix日志监控:Linux异常登录告警
本文利用zabbix的日志监控功能监控Linux的secure日志,当有用户登录失败或者用户在非常规时间登录成功时发出告警。这里我们使用zabbix提供的'log[file,,,,,]'来监控Linux的/var/log/secure文件。先介绍下这个log监控项:1)监控项类型是Zabbix agent (active),返回数据类型是Log。2)Zabbix agent要对监控的日志文件有可读...
继续访问
Zabbix监控日志
创建监控项 创建触发器 验证 问题定位 创建监控项 注意要选择客户端主动式,使用主动式的时候无法使用zabbix-get工具调试 键值示例:log[/home/moa/log/smapd/smapd.log,”info”,,,skip,,] 说明:1、/home/moa/log/smapd/smapd.log表示日志路径 2、”info”表示匹配的关键字...
继续访问
zabbix监控日志关键字(ERROR)
前言:对我我这种刚入职场不久的小运维来说其实这个对我来说真的挺难得,研究了好久也在朋友的帮助下终于成功了,在此多谢我的朋友(倪伟)。 公司没有zabbix监控,领导让搭建一套zabbix然后让监控错误日志(关键字error),其实据说牛掰的大神可以监控到具体报错信息是什么,如有大神能编写出来欢迎指教。 因为就是想让他提醒一次就不在提醒了,所以脚本我写了半天(不擅长啊) 我zabbix搭建的过...
继续访问
热门推荐 Linux实时查看文件/var/log/messages以及这个文件的问题
耐心看完说不定有你遇到的问题 1./var/log/messages 首先说一下这个文件的存在,在Ubuntu系统中,这个文件你访问可能提示找不到这个文件 //使用tail命令访问 name@name:~$ sudo tail /var/log/messages tail:无法打开'/var/log/messages' 读取数据: 没有那个文件或目录 tail:没有剩余文件 可能会出现...
继续访问
Zabbix使用总结
1. CentOS 7上启动zabbix-server失败,/var/log/messages中的报错信息如下: Feb 22 12:56:43 mysql-server1 systemd: Starting Zabbix Server with MySQL DB... Feb 22 12:56:43 mysql-server1 kernel: zabbix_server[1599]: s
继续访问
zabbix监控linux历史命令
zabbix
写评论
评论
3
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)