2025年3月25日 星期二 甲辰(龙)年 月廿四 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Go语言

urlooker 监控 Web 服务可用性及访问质量 采用 go 语言编写

时间:12-14来源:作者:点击数:9
CDSY,CDSY.XYZ

监控 web 服务可用性及访问质量,采用 go 语言编写,易于安装和二次开发。

Feature

  • 返回状态码检测
  • 页面响应时间检测
  • 页面关键词匹配检测
  • 自定义Header
  • GET、POST、PUT访问
  • 自定义POST BODY
  • 检测结果支持推送 nightingale、open-falcon

Install

docker 安装

  • git clone https://github.com/710leo/urlooker.git
  • cd urlooker
  • docker build .
  • docker volume create urlooker-vol
  • docker run -p 1984:1984 -d --name urlooker --mount source=urlooker-vol,target=/var/lib/mysql --restart=always [CONTAINER ID]

源码安装

  • # 安装mysql
  • yum install -y mysql-server
  • wget https://raw.githubusercontent.com/710leo/urlooker/master/sql/schema.sql
  • mysql -h 127.0.0.1 -u root -p < schema.sql
  • # 安装组件
  • curl https://raw.githubusercontent.com/710leo/urlooker/master/install.sh|bash
  • cd $GOPATH/src/github.com/710leo/urlooker
  • # 将[mysql root password]替换为mysql root 数据库密码
  • sed -i 's/urlooker.pass/[mysql root password]/g' configs/web.yml
  • ./control start all

打开浏览器访问 http://127.0.0.1:1984 即可

常见问题及解答

Q:功能不符合预期

A:检查是否使用的是github上的最新版本

Q:图表能画出来,但下面表格是空的这个我该怎么排查

A:只有触发报警后 && 启动了alarm组件 下面列表才会有数据

Q:高级选择中,关键字具体指什么

A:如果填写了关键字为 aaa,检测的页面中包含aaa则表示正常,不包含aaa就会报错

Q:告警历史默认显示多久的数据

A: 默认展示30分钟的数据,时间可以在web配置文件中修改

Q:agent 报 no found

A: 很可能是agent和web组件的配置文件中 hostname 填写的不一致

Q:urlooker默认多少秒发一次请求

A: 60s一次,在配置文件中可以修改

Q:web的sql建表语句文件在哪里获取

A: https://github.com/710leo/urlooker/blob/master/sql/schema.sql

Q:strconv.ParseInt: parsing "user": invalid syntax 创建团队报这个错

A: 这个是前端兼容问题,暂时不好解决,换个浏览器即可

Q:上报到Nightingale之后,看不到监控图

A: 首先确定上报开关已打开,如果web模块没有报错,到Nightingale系统,[监控对象]-[全部对象]下面,看看是否有新增加的监控对象

上报项

  • metric: url_status
  • endpoint: url_id (用户创建监控项时生成的id,首页列表的第一列)
  • tag: 见tag说明
  • counterType: GAUGE
  • step: 60(可在web组件配置文件设置)
  • value: 0 (0~4 0表示正常,其他表示异常)
  • timestamp: 上报时间

tag 说明

tag包含下面几项,在web组件utils/falcon.go中可以修改

ip=ip,ip指url解析指向的ip

domain=domain,domain指url的域名

creator=username,username指增加监控项的用户

from=hostname,hostname指监控agent所在的机器名,可在agent组件配置文件中设置

value 值说明

0 一切正常

1 访问超时

2 状态码与期望不一致

3 关键字与期望不一致

4 url dns解析出错

相关链接

CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐