使用云监控来监控线下IDC(及其它云)的Mongodb,Redis,Mysql等中间件

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 背景当前很多用户的服务部署在混合环境中,比如同时使用多个云厂商,或者云加线下IDC等。而对于线下IDC的监控主要是使用开源的系统来自建。带来的问题就是需要花费较大精力来维护自建监控系统并且和云上的监控数据也无法打通。针对这种混合云环境,云监控推出了企业版监控服务,可以实现在阿里云上对下线IDC或其它云服务上部署的中间件进行监控。线下IDC中间件监控实现在云监控上对下线IDC的中间件进行监控,主要实

背景

当前很多用户的服务部署在混合环境中,比如同时使用多个云厂商,或者云加线下IDC等。

而对于线下IDC的监控主要是使用开源的系统来自建。

带来的问题就是需要花费较大精力来维护自建监控系统并且和云上的监控数据也无法打通。

针对这种混合云环境,云监控推出了企业版监控服务,可以实现在阿里云上对下线IDC或其它云服务上部署的中间件进行监控

线下IDC中间件监控实现

在云监控上对下线IDC的中间件进行监控,主要实现原理是在IDC的机器上使用Prometheus的Exporter来采集指标,然后通过云监控的Agent将这些指标上报到云监控的指标仓库。

之后这些数据以符合Prometheus规范的方式输出到云监控自建的Grafana,Prometheus报警等。甚至可以将这些数据对接到线下Grafana。

流程如图所示(以mongodb为例,其它的中间件完全类似):

具体操作上,共分为以下三个步骤,详细过程如下:

1,安装Exporter,收集指标

 Prometheus官网上已经提供了很多现成的Exporter,只需要根据监控的中间件下载对应的Exporter进行安装和启动就行。

https://prometheus.io/docs/instrumenting/exporters/

2,安装云监控的Agent

云监控Agent安装比较简单,根据云监控控制台上的文档行进行安装就行,

但有几点点需要注意:

(1)不需要在每个机器上都安装Agent,只需要在一台机器上安装就行,但是如果只在一个机器上安装Agent,通过这一台机器的Agent来收集Exporter暴露出来的指标,那么就需要步骤一中的各个Exporter的地址是不同的(启动的时候可以侦听不同的端口);

(2)安装Agent的机器需要能访问公网,因为下载Agent安装包和通过Agent上报指标数据都需要通过公网;

(3)安装的Agent版本号需要 大于等于 3.5.5,最好是安装最新版。

Agent安装文档在云监控控制台的主机监控页面可以找到,

https://cloudmonitornext.console.aliyun.com/hostMonitoring/all

如图:

安装完成后,通过 ps -aux | grep argusagent 看到如图所示,意味着Agent安装成功

通过/usr/local/cloudmonitor/bin/argusagent -v 可以查看Agent的版本号。

3,在云监控的控制台上进行配置

在云监控控制台上的配置主要是指标仓库的数据接入,页面地址

https://cloudmonitornext.console.aliyun.com/hybrid-monitor/dashboard/hybridTaskList

具体步骤见图:

(1)创建指标仓库(如果已经创建则省去这步)

(2)管理指标仓库的数据接入

点击上图中的每个指标仓库下面的“管理数据接入”,然后再点击“其它指标”,点击“接入其他指标”按钮就会打开配置页面。

配置页面,如图所示:

填写这个几个必填项后,点击“确定,下一步”

勾选两个需要确认的选项,然后点击“确定,下一步”

填写Exporter的地址后,再根据需要设置其他几个项,然后点击“确定,下一步”就完成了配置。

至此,数据采集和配置已经全部完成,就可以查看上报的数据了。

4,查看数据

完成步骤3后,点击指标仓库页面的“查看数据”,就可以查看和验证数据了,如图

选择指标,就会看到数据

如果数据正常上报,那么剩下的就是如何使用这些数据了。

监控数据使用

配置完成后,正常情况下数据就已经上报到了云监控的指标仓库,然后指标仓库会将这些数据按照Prometheus协议的格式输出,

主要用于:

1,在云监控页面上配置Grafana大盘;

2,在云监控页面上配置Prometheus报警;

3,也可以通过公网/VPC对接到线下Grafana。

具体如下,

1,配置Grafana大盘

云监控自建Grafana大盘有两个入口,分别是上面数据查看那个页面的”管理Grafana大盘“和企业云监控目录下的监控大盘页面。

前者见上图,后者如下图

点击“查看大盘”,就会跳转到云监控自建的Grafana。 然后就可以根据需求配置图表了。

https://cloudmonitor-dashboard.console.aliyun.com/

见图,

2,配置Prometheus报警

配置报警入口也有两个,分别是数据查看页面的“另存为报警”和指标仓库页面的“创建报警”,

我们以数据查看页面的“另存为报警”为例,见图

点击“另存为报警”,打开报警设置页面

其中标签和注释(Annotations)用于报警通知中附带内容,例如上面截图配置的规则,

手机短信收到通知如下:

 

钉钉通知如下:

   

报警规则的其它设置项,如报警联系人,通道沉默等根据需要和提示正常设置就行。

规则创建成功后,可以在报警服务的报警规则页面看到,

如图

3,对接线下Grafana

为了满足更多场景,云监控指标仓库的数据可以通过公网或VPC对接到到线下Grafana,

见图

点击“对接线下”,就会打开操作文档,根据文档操作即可,

见图

至此,使用云监控监控线下IDC或其他云环境的中间件操作就完成了,使用过程中如果遇到任何问题,请钉钉联系 云监控support群(群号:21705108)

相关实践学习
RocketMQ监控/告警一站式搭建应用
RocketMQ监控/告警一站式搭建演示
目录
相关文章
|
1月前
|
缓存 NoSQL 关系型数据库
13- Redis和Mysql如何保证数据⼀致?
该内容讨论了保证Redis和MySQL数据一致性的几种策略。首先提到的两种方法存在不一致风险:先更新MySQL再更新Redis,或先删Redis再更新MySQL。第三种方案是通过MQ异步同步以达到最终一致性,适用于一致性要求较高的场景。项目中根据不同业务需求选择不同方案,如对一致性要求不高的情况不做处理,时效性数据设置过期时间,高一致性需求则使用MQ确保同步,最严格的情况可能涉及分布式事务(如Seata的TCC模式)。
51 6
|
2月前
|
NoSQL 关系型数据库 MySQL
分布式锁(redis/mysql)
分布式锁(redis/mysql)
69 1
|
3月前
|
缓存 NoSQL 关系型数据库
亿级电商流量,高并发下Redis与MySQL的数据一致性如何保证
你们有多少人是被面试官问到过Redis和MySQL的数据一致性如何保证的? 你们是否考虑过在高并发场景下,Redis与MySQL的同步会有哪些问题?该如何解决? 本篇文章会带大家详细了解,让你知其然,知其所以然,吊打面试官。
372 0
亿级电商流量,高并发下Redis与MySQL的数据一致性如何保证
|
3月前
|
存储 NoSQL 关系型数据库
|
5天前
|
监控 安全 数据可视化
中间件应用日志记录和监控
中间件应用日志记录和监控
19 3
|
11天前
|
监控 NoSQL MongoDB
MongoDB性能调优:监控与诊断工具的技术探讨
【4月更文挑战第30天】本文探讨了MongoDB性能调优,重点关注监控与诊断工具。MongoDB自带的Shell和Profiler有助于理解数据库性能,而MMS、PMM和mongostat等第三方工具则提供实时监控和深度分析。调优实践包括优化索引、调整内存配置、分片与复制、硬件升级及查询优化。通过这些工具和策略,可有效提升MongoDB性能。
|
22天前
|
NoSQL MongoDB Redis
Python与NoSQL数据库(MongoDB、Redis等)面试问答
【4月更文挑战第16天】本文探讨了Python与NoSQL数据库(如MongoDB、Redis)在面试中的常见问题,包括连接与操作数据库、错误处理、高级特性和缓存策略。重点介绍了使用`pymongo`和`redis`库进行CRUD操作、异常捕获以及数据一致性管理。通过理解这些问题、易错点及避免策略,并结合代码示例,开发者能在面试中展现其技术实力和实践经验。
311 8
Python与NoSQL数据库(MongoDB、Redis等)面试问答
|
2月前
|
NoSQL 关系型数据库 MySQL
安装Docker&镜像容器操作&使用Docker安装部署MySQL,Redis,RabbitMQ,Nacos,Seata,Minio
安装Docker&镜像容器操作&使用Docker安装部署MySQL,Redis,RabbitMQ,Nacos,Seata,Minio
457 1
|
2月前
|
NoSQL 关系型数据库 MySQL
一个小小的签到功能,到底用MySQL还是Redis
一个小小的签到功能,到底用MySQL还是Redis
9 0
|
2月前
|
NoSQL 关系型数据库 MySQL
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
251 0