【AWS】监控指标查看与疑难杂症排查

【AWS】监控指标查看与疑难杂症排查

背景

https://blog.csdn.net/Overlay762/article/details/162457424

↑这个是上篇文章的基础后续拓展部分,讲一下哪些指标是我们关心的,怎么排查一下问题

安装问题

常见安装问题:

1.为什么配置完了启动compose,启动失败了?

dockerps查看容器情况,是哪个容器失败了dockerlogs xx(容器name)--tail50查看启动时日志输出,有没有报错日志,定位错误内容

2.为什么docker配置完报了这个错误

yaml: while parsing a block mapping
at line 1, column 3:
line 73, column 4:
did not find expected key
代表了你的配置文件缩进有问题,docker无法识别这个配置文件的某个参数

nl-badocker-compose.yml|sed-n'60,80p'查看配置文件60到80行内容,有需要就改后面的cdinfra 进入有docker配置文件的目录dockercompose config 让docker读配置告诉是第几行有问题vimdocker-compose.yml 编辑错误处

一般要不是多个空格、要么少个空格

3.为什么启动了,游标采集没采集到

catdocker-compose.yml 检查docker配置文件是否统一容器内的network模式 一般是有的用了host模式 有的用了bridge模式 导致访问不到catprometheus.yml 检查global-config下的访问是localhost:xxx还是容器name:xxx 判断用了host模式 还是bridge

4.为什么我访问不到自己服务器

这个问题排查起来很简单

sudonfw stauts 查看防火墙状态sudonfwenable开启防火墙sudoallow xxx(你需要开放的服务访问端口 比如grafana=3000、promtheus=9090)sudonfw status 查看一下allow到没有

排查服务器安全组 是否开放TCP、HTTP端口,是否自己ip不在白名单,不在白名单或者端口没开放返回都是502 http server error

以上是我安装时碰到的问题,如果大家还碰到了什么问题可以在评论区下面一起讨论。

指标学习

使用Grafana DashBoard

Node-Exporter Full

这里的话我就以后端视角来说,一般关心的指标是CPU、任务队列情况、网络IO、内存空间、硬盘空间、硬盘IO这几个指标

Pressure

第一个是能看见 cpu、内存、硬盘IO情况最基础指标,最直观反应当前服务器负载情况

CPU Busy

第二个 cpu当前处理的负载情况,后续我们可以使用

sudoaptinstallstress-ng --安装压测工具 stress-ng--cpu2--timeout60s --压测试试cpu的抗压 这里cpu我写的是2因为博主的服务器只有2核(笑)很快你就能在监控面板看到CPU Busy在往上标了
Sys Load

第三个 反应当前服务器正在处理的任务队列情况,这个面板反应不直观,但要明白linux原生是Load1、Load5、Load15
Load 本质是什么不是 CPU 利用率。而是:等待CPU执行的任务数+不可中断IO任务数,2核机器:Load=2基本跑满。
Grafana 常见算法:
Load / CPU核心数 × 100%
假设:Load=2.52、CPU=2 Core
结果:2.52 / 2 × 100%=126%
这就是你看到的:Sys Load = 126%
实际上意思是:系统队列长度超过CPU处理能力。不是CPU用了126%。说白了就是服务器任务处理不过来了。

RAM Used && SWAP Used

RAM顾名思义物理内存占用空间
什么服务/程序会占用?

MySQL Redis Docker Grafana Prometheus PHP Java Python GoLang C/C++ C# Linux Cache

是程序/服务就会占用内存,这是CPU用来和快速交互访问的空间,意义上来说也是服务器最重要的部分之一
SWAP是什么?什么时候触发?
这个好理解,比拟Winodws的虚拟内存,如果内存不够了,那linux就会从硬盘里割出一个硬盘空间充当内存
假设:RAM 满了:8GB ████████
Linux 会把暂时不用的数据:搬到磁盘 就是Swap
例如:
Swap 2GB 用了500MB
Grafana:Swap Used 500MB

SWAP > 0 很正常其实linux会主动使用一点
但是如果持续上涨那就是RAM可能不够用了,要立马检查是服务内存泄漏了还是程序服务器内存泄漏了,还是请求数据在这台服务器已经塞不下了。

free-h查看内存状况

指标 正常范围 需要关注
RAM Used 40%~80% >90% 持续
RAM Available 越高越好 <10% 持续
Swap Used 0~几 MB 持续增长、占用率高
Swap In/Out 接近 0 持续发生表示内存压力大

Root FS Used

如果上面显示超过60%这时候就需要检查是不是真的了,在服务器输入 df -h 查看存储空间,是不是真的用了那么多,如果不够了要看看需不需要扩容,免得服务挂了,或者说是什么东西占用的硬盘空间,能否清理等等。