背景https://blog.csdn.net/Overlay762/article/details/162457424↑这个是上篇文章的基础后续拓展部分讲一下哪些指标是我们关心的怎么排查一下问题安装问题常见安装问题1.为什么配置完了启动compose启动失败了dockerps查看容器情况是哪个容器失败了dockerlogs xx(容器name)--tail50查看启动时日志输出有没有报错日志定位错误内容2.为什么docker配置完报了这个错误yaml: while parsing a block mappingat line 1, column 3:line 73, column 4:did not find expected key代表了你的配置文件缩进有问题docker无法识别这个配置文件的某个参数nl-badocker-compose.yml|sed-n60,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模式 还是bridge4.为什么我访问不到自己服务器这个问题排查起来很简单sudonfw stauts 查看防火墙状态sudonfwenable开启防火墙sudoallow xxx(你需要开放的服务访问端口 比如grafana3000、promtheus9090)sudonfw status 查看一下allow到没有排查服务器安全组 是否开放TCP、HTTP端口是否自己ip不在白名单不在白名单或者端口没开放返回都是502 http server error以上是我安装时碰到的问题如果大家还碰到了什么问题可以在评论区下面一起讨论。指标学习使用Grafana DashBoardNode-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、Load15Load 本质是什么不是 CPU 利用率。而是等待CPU执行的任务数不可中断IO任务数2核机器Load2基本跑满。Grafana 常见算法Load / CPU核心数 × 100%假设Load2.52、CPU2 Core结果2.52 / 2 × 100%126%这就是你看到的Sys Load 126%实际上意思是系统队列长度超过CPU处理能力。不是CPU用了126%。说白了就是服务器任务处理不过来了。RAM Used SWAP UsedRAM顾名思义物理内存占用空间什么服务/程序会占用MySQL Redis Docker Grafana Prometheus PHP Java Python GoLang C/C C# Linux Cache是程序/服务就会占用内存这是CPU用来和快速交互访问的空间意义上来说也是服务器最重要的部分之一SWAP是什么什么时候触发这个好理解比拟Winodws的虚拟内存如果内存不够了那linux就会从硬盘里割出一个硬盘空间充当内存假设RAM 满了8GB ████████Linux 会把暂时不用的数据搬到磁盘 就是Swap例如Swap 2GB 用了500MBGrafanaSwap Used 500MBSWAP 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 查看存储空间是不是真的用了那么多如果不够了要看看需不需要扩容免得服务挂了或者说是什么东西占用的硬盘空间能否清理等等。
【AWS】监控指标查看与疑难杂症排查
背景https://blog.csdn.net/Overlay762/article/details/162457424↑这个是上篇文章的基础后续拓展部分讲一下哪些指标是我们关心的怎么排查一下问题安装问题常见安装问题1.为什么配置完了启动compose启动失败了dockerps查看容器情况是哪个容器失败了dockerlogs xx(容器name)--tail50查看启动时日志输出有没有报错日志定位错误内容2.为什么docker配置完报了这个错误yaml: while parsing a block mappingat line 1, column 3:line 73, column 4:did not find expected key代表了你的配置文件缩进有问题docker无法识别这个配置文件的某个参数nl-badocker-compose.yml|sed-n60,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模式 还是bridge4.为什么我访问不到自己服务器这个问题排查起来很简单sudonfw stauts 查看防火墙状态sudonfwenable开启防火墙sudoallow xxx(你需要开放的服务访问端口 比如grafana3000、promtheus9090)sudonfw status 查看一下allow到没有排查服务器安全组 是否开放TCP、HTTP端口是否自己ip不在白名单不在白名单或者端口没开放返回都是502 http server error以上是我安装时碰到的问题如果大家还碰到了什么问题可以在评论区下面一起讨论。指标学习使用Grafana DashBoardNode-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、Load15Load 本质是什么不是 CPU 利用率。而是等待CPU执行的任务数不可中断IO任务数2核机器Load2基本跑满。Grafana 常见算法Load / CPU核心数 × 100%假设Load2.52、CPU2 Core结果2.52 / 2 × 100%126%这就是你看到的Sys Load 126%实际上意思是系统队列长度超过CPU处理能力。不是CPU用了126%。说白了就是服务器任务处理不过来了。RAM Used SWAP UsedRAM顾名思义物理内存占用空间什么服务/程序会占用MySQL Redis Docker Grafana Prometheus PHP Java Python GoLang C/C C# Linux Cache是程序/服务就会占用内存这是CPU用来和快速交互访问的空间意义上来说也是服务器最重要的部分之一SWAP是什么什么时候触发这个好理解比拟Winodws的虚拟内存如果内存不够了那linux就会从硬盘里割出一个硬盘空间充当内存假设RAM 满了8GB ████████Linux 会把暂时不用的数据搬到磁盘 就是Swap例如Swap 2GB 用了500MBGrafanaSwap Used 500MBSWAP 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 查看存储空间是不是真的用了那么多如果不够了要看看需不需要扩容免得服务挂了或者说是什么东西占用的硬盘空间能否清理等等。