我的知识库 / DevOps / Grafana / 使用grafana监控5xx服务
grafana服务:https://devops.example.com/grafana
如果要注册账号请联系devops组。
grafana已经配置了对service.hompartners.com域名下的service访问状态返回5xx的监控,可以查看对应的grafana面板https://devops.example.com/grafana/d/Q_zv-HrWz/cst-service-status?orgId=1
该监控面板中可以查看如userapi、emailapi等服务是否正常,当面板的网格视图中出现红点,说明访问对应的服务返回了5xx状态,即服务端异常。开发人员等可以根据该视图及时发现服务异常情况。
如果项继续添加Grafana面板来监控更多的服务,请参照以下教程。
Step 1 复制模板视图:
选中并进入xxx service http_status_5xx template面板,按操作如下复制xxx.xxx.com http_status_5xx视图
(可通过该链接访问:https://devops.example.com/grafana/d/XNnusprWz/xxx-service-http_status_5xx-template?orgId=1)
Step 2 创建新面板:
按如下操作创建新面板并粘贴视图。
随后会在页面呈现一个视图,这时可以先编辑面板信息,并新命名,选择面板分类,并保存面板信息。
Step 3 定制xxx.xxx.com http_status_5xx视图:
保存完成之后,点击左上角的回退箭头图标:<–,回到视图页面,按如下操作编辑视图。
修改查询sql语句,域名修改为要监控的域名或服务名,比如你想监控www.example.com
域名下所有服务,那么你可以定制sql如下:
SELECT "service_code" FROM "service_status" WHERE ("health_code" = 500 AND "domain_name" = 'www.example.com') AND $timeFilter GROUP BY "service_name"
,当然你可能只想监控某个域名下的其中一个服务,如你想监控www.example.com
域名下operationplatgform
服务,那么你可以定制sql如下:
SELECT "service_code" FROM "service_status" WHERE ("health_code" = 500 AND "domain_name" = 'www.example.com' AND "service_name" = 'operationplatgform')
另外这里的health_code做了格式化,分为200和500,我们默认监控对我们有用的500状态
修改视图名称,如果有CloudWatch日志连接的需要,可以定制Panel links。
视图修改完成后,右上角保存面板。
Step 4 定制xxx service info视图:
按照上述操作,将xxx.service.info视图复制,然后粘贴在新的面板中。
并且编辑粘贴的视图,修改query。
Step 1 复制模板视图:
选中并进入xxx service http_status_5xx template面板,按操作如下复制xxx service ingo视图
(可通过该链接访问:https://devops.example.com/grafana/d/XNnusprWz/xxx-service-http_status_5xx-template?orgId=1)
之后在视图页面,可以通过伸缩视图页面,使展示更合理;通过调整时间段查看想要观察的时间段内的数据。
如果在定制过程中存在问题,也可以联系DevOps组。