龙空技术网

75.服务监控方案整体设计

80后程序员在北京 948

前言:

当前你们对“oraclelinuxio性能监控”大概比较关切,咱们都需要学习一些“oraclelinuxio性能监控”的相关文章。那么小编同时在网络上汇集了一些关于“oraclelinuxio性能监控””的相关资讯,希望我们能喜欢,你们快快来学习一下吧!

文章目录前言1.三个维度:1.1服务器及应用的性能指标:1.2分布式追踪:1.3日志平台:ELK:2.监控架构:2.1.步骤2.2.整体架构3.数据采集方案:4.监控对接要求和对应指标(针对Prometheus)4.1服务器:4.2springboot应用:4.3mysql:4.4redis:4.5oracle:4.6rocketmq4.7nacos5.机器配置规划:前言

为什么需要监控系统?

在线上业务中经常遇到服务器负载过高问题,由于没有监控,一直不会发现,直到业务方反馈速度慢,才能发现问题。这样显得开发很被动。

监控价值意义?

1.在开发环境可发现服务的潜在不足。2.在生产环境可定期查看健康状况,设置预警以便及时处理问题。

本篇文章进行一篇服务监控设计分享。

1.三个维度:1.1服务器及应用的性能指标:

Prometheus + Grafana:

兼顾开发效率和效果一在满足现有需求的前提下,尽量使用现有的工具,用最少的代码,展示最好的效果

1.2分布式追踪:

SkyWalking:

随着微服务架构的流行,一些微服务架构下的问题也会越来越突出,比如一个请求会涉及多个服务,而服务本身可能也会依赖其他服务,整个请求路径就构成了一个网状的调用链,而在整个调用链中一旦某个节点发生异常,整个调用链的稳定性就会受到影响,如果没有及时处理很有可能会造成整个系统崩溃。

面对以上情况,我们就需要一些可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题。

1.3日志平台:ELK:

在过往的单体应用时代,我们所有组件都部署到一台服务器中,那时日志管理平台的需求可能并没有那么强烈,我们只需要登录到一台服务器通过shell命令就可以很方便的查看系统日志,并快速定位问题。随着互联网的发展,互联网已经全面渗入到生活的各个领域,使用互联网的用户量也越来越多,单体应用已不能够支持庞大的用户的并发量,尤其像中国这种人口大国。那么将单体应用进行拆分,通过水平扩展来支持庞大用户的使用迫在眉睫,微服务概念就是在类似这样的阶段诞生,在微服务盛行的互联网技术时代,单个应用被拆分为多个应用,每个应用集群部署进行负载均衡,那么如果某项业务发生系统错误,开发或运维人员还是以过往单体应用方式登录一台一台登录服务器查看日志来定位问题,这种解决线上问题的效率可想而知。日志管理平台的建设就显得极其重要。通过Logstash去收集每台服务器日志文件存储到elasticsearch中创建索引,最后通过Kibana展示给开发者或运维人员进行分析。这样大大提升了运维线上问题的效率。除此之外,还可以将收集的日志进行大数据分析,得到更有价值的数据给到高层进行决策。

2.监控架构:2.1.步骤2.2.整体架构3.数据采集方案:4.监控对接要求和对应指标(针对Prometheus)4.1服务器:

对接要求:

1.需要安装node_exporter:服务器指标采集器

2.能跟普罗米修斯服务通信:ip:port(内网),能够连同

监控指标:

1.机器资源情况概览、

2.Cpu使用率、

3.内存信息、

4.硬盘空间、

5.Io信息、

6.网络链接、

7.磁盘读取速度、

4.2springboot应用:

对接要求:

需要增加封装依赖zqyl-monitor-starter,添加属性配置即可完成正常监控,如需自定义注解指标,详见-》springboot监控应用手册

监控指标:

1.信息概览(开始运行时间、运行时长)

2.Heap和Non-Heap

3.api耗时

3.停服启服信息

4.gc信息

5.日志信息概览

6.jvm信息

7.支持自定义埋点指标展示

4.3mysql:

对接要求:

需要提供linux机器管理员账号+密码,数据库管理员账号+密码,安装对应mysqld_exporter

监控指标:

1.信息概览(运行时间、当前qps、InnoDB Buffer Pool Size)

2. mysql连接信息(MySQL Connections)

3. 当前表锁信息(MySQL Table Locks)

4.网络连接信息(Network)

4.4redis:

对接要求:

需要提供linux机器管理员账号+密码,redis管理员账号+密码,安装对应redis_exporter

监控指标:

1.信息概览

2.运行状态 redis_up

3.内存使用

4.内存占比

4.5oracle:

对接要求:

需要账号密码,安装对应的oracledb_exporter

监控指标:

1.信息概览

2.数据库运行状态 (oracledb_up)

3.用户连接数据 (oracledb_process_count)

4.6rocketmq

对接要求:

需要能访问mq地址例子:127.0.0.1:9876,安装对应

rocketmq-exporter

监控指标:

rocketmq_broker_tps broker 每秒生产消息数量

rocketmq_broker_qps broker 每秒消费消息数量

rocketmq_producer_tps 某个 topic 每秒生产的消息数量

rocketmq_producer_offset 某个 topic 的生产消息的进度

rocketmq_consumer_tps 某个消费组每秒消费的消息数量

4.7nacos

对接要求:

需要修改属性文件,暴漏端口

监控指标:

1.运行状态 (nacos_monitor)

2.占用cpu(system_cpu_usage)

3.占用内存 (jvm_memory_userd_bytes)

5.机器配置规划:

部署:

Prometheus和Grafana安装在一台(测试开发环境一台,生产环境一台)centos机器上面运行,保证跟采集端机器内网通信,各个采集端去集成exporter,保证Prometheus进行采集

1.内存要求:

物理内存4g- 8g ,抓取时间间隔5s-15s 对应监控节点20-100

2.硬盘要求:

20g-100g 数据留存时间14d 对应监控节点20-100

参考图1:

参考图2:

标签: #oraclelinuxio性能监控