智能日志管理平台

  • 服务器性能监控

    最近更新时间:2018-07-13 16:09:32

    系统运维监控 - 使用 Pandora 智能日志管理平台快速构建服务器性能监控系统

    服务器监控是每个互联网厂商都重视并且想要尽可能做好的事情,从数据收集、数据处理、数据可视化最终再到实时监控告警,这一系列复杂的流程可能耗费企业大量的人力和时间,以至于某些时候因为其复杂性高无法达到预期的监控效果。而当事故发生时才发现,由于监控体系的不完善造成了很多不必要的损失, 让我们追悔莫及。

    为了解决企业的此类烦恼,七牛智能日志管理平台推出了快速构建服务器性能监控报警的解决方案。通过七牛智能日志采集工具 logkit Pro ,可以方便地采集大量服务器的海量性能指标数据,然后接入 Grafana 进行全方位监控。而整个部署和使用的流程,您完整体验的时间仅需 15 分钟。

    监控的内容

    logkit Pro 目前收集的机器性能指标主要包括十大模块, 上百个指标

    • system 模块: 监控 load1load5load15用户数cpu 核数以及系统启动时间等.
    • processes 模块: 监控处于各种状态的进程数量, 比如运行中/暂停/可中断/空闲/挂起等状态的进程数量等等.
    • netstat: 监控处于各种状态的网络连接数, 比如syn send/syn recv 等状态的网络连接数.
    • net: 监控网络设备的状态,比如收发包的数量收发包的字节数等.
    • mem: 监控内存的实时状态.
    • swap: 监控 swap 分区的状态,比如换入换出使用率空闲大小等.
    • cpu: 监控 CPU 的实时状态,包括 cpu 用量中断时间占比等.
    • kernel: 监控内核中断次数、上下文切换次数、fork 的进程数等.
    • disk: 监控磁盘的使用情况, 包括磁盘用量inode 使用情况等.
    • diskio: 监控磁盘读写状态, 包括读写次数总用时等.

    监控效果图

    部署完成后,您可以直接载入我们为您构建的监控模板,最终看到的效果图如下。

    1. 模板变量

    模板变量可以起到过滤数据的作用, 比如通过 hostname 这个模板变量可以具体查看某台特定的服务器上的 metric 信息,这样即使有数十上百台机器您也可以轻松管理。同样的,对于某台机器的一些具体的资源,如磁盘、CPU、网卡等等,也有相应的模板变量可以选择。

    模板变量详情请阅读 Grafana 模板变量

    template

    2. 全局概览

    全局信息概览可以看到服务器的一些基本信息,比如系统 load 值、内存使用率、磁盘使用率、网络带宽等。以最直观的方式全局把控整个系统的运行状态,方便在基础资源不够时及时发现、及时处理。
    基本信息概览

    3. CPU Usage 信息

    CPU Usage 顾名思义,就是指 CPU 的使用率,通过这幅图可以看到系统中 usersystem 等对于系统 CPU 资源的占用情况。当 CPU 使用率较高且整体运行平稳时,说明您的业务非常健康;若 CPU 的用量曲线波动较大,那就说明服务有可以优化的地方,或者可以添加报警,在业务高峰时及时添加资源。
    CPU Usage 概览

    4. 系统 load 值与进程

    在这张图中你可以看到不同的统计时间段中系统的负载情况,可以根据负载大小设置告警阈值。同时也可以看到对应的进程数量, 如运行的进程数、在休眠中的进程数,并且可以看到值得关注的一些异常进程,如僵尸进程(zombies)以及被阻塞的进程(blocked)。当存在僵尸进程时说明存在服务异常,需要及时关注并处理。
    load与process

    5. 内存用量

    通过这张图可以看到总内存(total)、已使用内存(used)、空闲内存(free)等信息, 同理, 也可以针对这些信息设置告警,及时发现系统性能短板。另一方面要注意,当系统free的内存少或接近零,而cache部分的内存多时,说明这部分业务对内存缓存较为依赖,虽然服务仍然可以正常运行,但此时极有可能程序没法最大限度利用内存缓存, 导致性能出现了问题。
    memory

    6. kernel 信息

    kernel 基本信息中可以看到内核的上下文切换(context switch)、 fork 的进程数(forks)、 已打开(opened)/最大(max)句柄数等信息。通常情况下服务器打开的句柄数都有一个上限,超过了这个限制服务就会出现问题,而服务器的高并发访问极有可能导致打开的句柄数过多,实时监控句柄数有助于查看服务运行状况。
    kernel

    7. CPU 的状态

    在这张图中可以看到服务器中各个的CPU的状态,是对于 CPU Usage 的详细拓展。CPU 是一种弹性资源,即使使用量达到 100% 也不会出现直接的服务崩溃,但是极有可能导致服务响应变得极慢,密切关注 CPU 用量,并对于 CPU 设置报警监控也是运维必不可少的一环。
    per cpu

    8. 网络相关

    • TCP

    这张图展示了系统中处于各个状态的 TCP 连接数量,比如SYN SENTFIN WAIT 等, 利用这些数据可以及时发现请求的健康状态,常见的如出现大量的FIN WAITCLOST WAIT等状态的连接,说明出现了很多慢请求或连接有问题,需要排查,通常这一类指标可以结合打开文件句柄数一同查看。
    tcp


    • ICMP、IPV4


    这张图中可以看到 icmpipv4 等网络协议的收发状态。
    icmp


    • UDP


    这张图中可以看到 udp 数据报 以及 udp 错误数目等,如错误数过多,表示网络状况不佳。

    UDP


    • 各个网卡的状态


    网卡状态展示了包括网卡收发数据的速度(Network Usage)、收发包的速度(Network Packets)、丢包率(Network drops)以及出错频率(Network errors)等信息。
    interface

    9. 交换分区状态

    这张图展示了交换分区的换入换出状态、交换分区的使用情况等。
    swap

    10. 磁盘用量

    磁盘的重要性毋庸置疑,磁盘爆满可能会对服务产生毁灭性打击,无疑也是需要监控的重点。


    • 磁盘 IO


    这张图给出了当前各个磁盘的 IO 信息,包括磁盘请求频率(Disk IO requests)、读写速度(Disk IO bytes)以及读写时间(Disk IO time)等,当磁盘 IO 过高时,也有可能存在性能问题,需要关注。
    diskio


    • 磁盘使用情况


    这张图中可以看到磁盘总空间(total)与已使用空间(used), 实时展现磁盘使用情况,并且可以设置告警机制,当磁盘的剩余空间少于某个阈值时及时告警。
    disk

    以上内容是否对您有帮助?
  • Close