ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Prometheus在SinoRepl监控的应用

2021-12-22 10:00:06  阅读:145  来源: 互联网

标签:shell SinoRepl script Prometheus 监控 数据 度量


 

1、Prometheus服务,可以直接通过目标拉取数据,或者间接地通过中间网关拉取数据。它在本地存储抓取的所有数据,并通过一定规则进行清理和整理数据,并把得到的结果存储到新的时间序列中,PromQL和其他API可视化地展示收集的数据。

2、Pushgateway是一个独立的服务,Pushgateway位于应用程序发送指标和Prometheus服务器之间。Pushgateway接收指标,然后将其作为目标被Prometheus服务器拉取。可以将其看作代理服务, 它接收度量,而不是探测它们。

3、Alertmanager是一个独立的告警模块,接收Prometheus等客户端发来的警报,之后通

过分组、删除重复等处理,并将它们通过路由发送给正确的接收器;告警方式可以按照不同的规则发送给不同的模块负责人,Alertmanager支持Email, Slack,等告警方式, 也可以通过webhook接入钉钉等国内IM工具。

4、node-exporter用于采集服务器层面的运行指标,包括机器的loadavg、

filesystem、meminfo、CPU等基础监控。

5、Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采

集的数据查询然后可视化的展示,并及时通知。

 Prometheus作为一套完整的开源监控接近方案,因为其诸多强大的特性以及生态的开放性,俨然已经成为了监控领域的事实标准并在全球范围内得到了广泛的部署应用。那么应该如何利用Prometheus对我们的应用形成有效的监控呢?事实上,作为应用我们仅仅需要以符合Prometheus标准的方式暴露监控数据即可,后续对于监控数据的采集,处理,保存都将由Prometheus自动完成。

一、SinoRepl监控需求

二、架构说明

n  JSON文本文件

Ø  config.json:定义执行环境相关变量设定

Ø  sql_metric.{module}.json:定义执行SQL指令,搜集度量数据

Ø  shell_metrics.{module}.json:定义执行Shell script,搜集度量数据

Ø  实现工厂设计模式(factory design patterns)

n  config.json主要元素

Ø  os元素:aix, hpux, linux

ü  以目录方式,将该操作系统执行的shell script进行集中及分离

Ø  mode元素:export及push

ü  控制度量数据传送方式

Ø  module元素:sinodb, ra, rt, rs, node, …

ü  以目录方式,将该操作系统执行的shell script进行集中及分离

n  主要shell script

Ø  shell环境:bash, ksh, sh

Ø  由*_metrics.{module}.json中定义的项目,以shell或sql方式,搜集度量数据

n  Export模式

Ø  度量数据:

ü  操作系统相关:Node_Exporter会自动搜集

ü  应用相关:必须自行开发shell script

Ø  将搜集的度量数据,复制到Node_Exporter文件搜集器的指定目录

Ø  Prometheus透过Node_Exporter API ,传送请求及接收相关度量信息

n  Push模式

Ø  度量数据:

ü  操作系统相关:必须自行开发shell script

ü  应用相关:必须自行开发shell script

Ø  将搜集的度量数据,传送至Pushgateway

Ø  Prometheus透过Pushgateway API ,传送请求及接收相关度量信息

三、界面展示

四、研发总结

优势

a、可以涵盖原功能规格文件所列的项目;

b、度量化/离散化/度量分解,提供监控数据的不同理解 ;

c、 时序数据可视化展示,更清晰易懂;

d、功能涵盖:监视+可视化+告警;

e、模块独立,可以水平扩展开发,避免模块间的影响和干扰;

f、代码功能单纯,行数比较小,容易理解及维护,易进行Unit Testing;

g、支援AIX/HP-UX/Linux平台;

h、Prometheus可以分群分组布署,降低网络及操作系统带宽、效能及资源,占用过高;

弱势

a、功能开发,人力及时程有限,欠缺技术发展规划及策略;

b、欠缺功能:控制/微调;

c、shell script容易被修改及复制;

d、cron job做为排程工具不是最优选择;

   1、短期解决方案:java quartz;

   2、长期解决方案:自行开发;

g、过度依赖开源工具,产品化时,应重新评估;

标签:shell,SinoRepl,script,Prometheus,监控,数据,度量
来源: https://blog.csdn.net/Sinoregal/article/details/122078734

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有