炎龙智能炎龙智能
AIOPS智能运维平台
AIOPS智能运维平台
  • 服务器监控

服务器监控

服务器监控是AIOPS智能运维平台的基础功能模块,提供对物理服务器和虚拟机的全面监控能力,帮助用户实时掌握服务器的运行状态和性能指标,及时发现和解决潜在问题。

1. 功能概述

服务器监控模块提供以下核心功能:

  • 实时性能监控:监控CPU、内存、磁盘、网络等核心性能指标
  • 进程监控:监控服务器上运行的进程和服务
  • 日志分析:收集和分析服务器日志
  • 服务可用性检测:监控关键服务的可用性
  • 资源容量规划:基于历史数据进行资源使用趋势分析和容量规划
  • 异常检测:自动检测服务器性能异常

2. 监控指标

2.1 CPU指标

指标名称单位描述告警阈值建议
CPU使用率%CPU总体使用率>90%持续3分钟
用户态CPU使用率%用户进程占用的CPU比例-
系统态CPU使用率%系统内核占用的CPU比例-
空闲CPU使用率%CPU空闲时间比例<10%持续3分钟
CPU负载-系统平均负载(1/5/15分钟)>CPU核心数*0.8持续5分钟
上下文切换频率次/秒CPU上下文切换次数根据服务器规格调整
中断次数次/秒CPU中断请求次数根据服务器规格调整

2.2 内存指标

指标名称单位描述告警阈值建议
内存使用率%内存总体使用率>85%持续3分钟
可用内存MB/GB可用内存大小<10%总量持续3分钟
已用内存MB/GB已使用内存大小-
缓冲内存MB/GB用于文件缓冲的内存-
缓存内存MB/GB用于文件缓存的内存-
交换空间使用率%交换空间使用比例>50%持续5分钟
页面交换频率页/秒页面换入换出频率>1000持续5分钟

2.3 磁盘指标

指标名称单位描述告警阈值建议
磁盘使用率%磁盘空间使用比例>85%
已用空间GB/TB已使用的磁盘空间-
可用空间GB/TB剩余可用的磁盘空间<10%总量
磁盘读取IOPSIOPS每秒读取操作次数根据存储性能调整
磁盘写入IOPSIOPS每秒写入操作次数根据存储性能调整
磁盘读取吞吐量MB/s每秒读取数据量根据存储性能调整
磁盘写入吞吐量MB/s每秒写入数据量根据存储性能调整
磁盘读取响应时间ms磁盘读取操作的平均响应时间>100ms持续3分钟
磁盘写入响应时间ms磁盘写入操作的平均响应时间>100ms持续3分钟
磁盘队列长度-磁盘IO队列中的请求数>CPU核心数*2持续3分钟

2.4 网络指标

指标名称单位描述告警阈值建议
网络发送速率MB/s网络发送数据的速率根据带宽调整
网络接收速率MB/s网络接收数据的速率根据带宽调整
带宽使用率%网络带宽使用比例>80%持续5分钟
活跃连接数个当前活跃的TCP连接数根据服务器规格调整
新建连接速率个/秒每秒新建的TCP连接数根据服务器规格调整
TCP重传率%TCP数据包重传比例>5%持续3分钟
网络丢包率%网络数据包丢失比例>1%持续3分钟
网络错误率%网络接口错误比例>0.1%持续3分钟

3. 部署与配置

3.1 采集器安装

3.1.1 Linux服务器

# 下载采集器安装包
wget https://download.aiops.com/agent/aiops-agent-linux-amd64-v1.0.0.tar.gz

# 解压安装包
tar -zxvf aiops-agent-linux-amd64-v1.0.0.tar.gz
cd aiops-agent-linux-amd64

# 安装采集器
./install.sh --server=http://your-aiops-server:8080 --token=your-agent-token

# 启动服务
systemctl enable aiops-agent
systemctl start aiops-agent

3.1.2 Windows服务器

  1. 下载Windows版本的采集器安装包:aiops-agent-windows-amd64-v1.0.0.msi
  2. 双击运行安装包
  3. 在安装向导中输入AIOPS服务器地址和Agent令牌
  4. 完成安装后,采集器将自动注册为Windows服务并启动

3.2 采集器配置

采集器的主要配置文件位于安装目录下的config/agent.yaml,可以根据需要调整以下配置:

# 服务器连接配置
server:
  url: "http://your-aiops-server:8080"
  token: "your-agent-token"
  retryInterval: 60  # 连接失败重试间隔(秒)

# 采集配置
collect:
  cpu:
    enabled: true
    interval: 10  # 采集间隔(秒)
  memory:
    enabled: true
    interval: 10
  disk:
    enabled: true
    interval: 10
    includePaths: ["/"]  # 包含的磁盘路径
    excludePaths: ["/tmp"]  # 排除的磁盘路径
  network:
    enabled: true
    interval: 10
    includeInterfaces: ["eth0", "eth1"]  # 包含的网络接口
    excludeInterfaces: ["lo"]  # 排除的网络接口
  process:
    enabled: true
    interval: 30
    includeProcesses: ["nginx", "mysql"]  # 包含的进程
    excludeProcesses: []  # 排除的进程

# 日志采集配置
log:
  enabled: true
  paths:  # 日志文件路径
    - "/var/log/syslog"
    - "/var/log/messages"
    - "/var/log/nginx/*.log"
  excludePatterns: []  # 排除的日志模式
  multilinePattern: "^\\d{4}-\\d{2}-\\d{2}"  # 多行日志匹配模式

# 服务监控配置
service:
  enabled: true
  services:  # 监控的服务列表
    - name: "nginx"
      type: "process"
      pattern: "nginx"
    - name: "mysql"
      type: "tcp"
      host: "localhost"
      port: 3306

# 日志配置
logger:
  level: "info"
  file: "/var/log/aiops-agent.log"

4. 使用指南

4.1 服务器列表

在AIOPS平台界面中,点击左侧菜单栏的"监控中心" > "服务器监控",进入服务器列表页面:

  • 服务器列表:展示所有已监控的服务器
  • 搜索功能:支持按服务器名称、IP地址、标签等搜索
  • 筛选功能:支持按操作系统类型、监控状态等筛选
  • 批量操作:支持批量启用/禁用监控、批量删除等操作

4.2 服务器详情

点击服务器列表中的某个服务器,进入服务器详情页面:

4.2.1 概览

  • 基本信息:服务器名称、IP地址、操作系统、CPU核心数、内存大小等
  • 健康状态:服务器整体健康评分和状态
  • 关键指标:CPU、内存、磁盘、网络的实时使用率

4.2.2 CPU监控

  • CPU使用率趋势图:展示CPU总体使用率的历史趋势
  • CPU负载趋势图:展示系统平均负载的历史趋势
  • CPU详情:各核心CPU使用率、用户态/系统态/空闲态CPU使用率等详细指标

4.2.3 内存监控

  • 内存使用率趋势图:展示内存使用率的历史趋势
  • 内存详细指标:已用内存、可用内存、缓冲内存、缓存内存等
  • 交换空间监控:交换空间使用率和页面交换频率

4.2.4 磁盘监控

  • 磁盘使用率趋势图:展示各个磁盘分区的使用率趋势
  • 磁盘IO监控:IOPS、吞吐量、响应时间等IO指标的趋势图
  • 磁盘详情:各分区的详细信息,包括挂载点、文件系统类型、总容量等

4.2.5 网络监控

  • 网络流量趋势图:展示各个网络接口的发送和接收流量趋势
  • 网络连接监控:活跃连接数、新建连接速率等指标的趋势图
  • 网络详情:各接口的详细信息,包括MAC地址、MTU、错误率等

4.2.6 进程监控

  • 进程列表:展示服务器上运行的进程列表,包括进程ID、CPU使用率、内存使用率等
  • 进程详情:点击进程查看详细信息,包括打开的文件、网络连接、线程信息等
  • 进程历史:查看进程的CPU、内存使用历史

4.2.7 服务监控

  • 服务列表:展示配置的监控服务列表和当前状态
  • 服务详情:查看服务的详细信息和监控指标
  • 服务历史:查看服务状态的历史记录

5. 告警配置

5.1 CPU告警规则

- name: "CPU使用率过高"
  description: "CPU使用率持续超过90%"
  severity: "high"
  condition: "cpu.usage > 90"
  duration: 300  # 持续时间(秒)
  notifiers: ["email", "sms"]
  tags: ["server", "cpu"]

- name: "CPU负载过高"
  description: "CPU 5分钟平均负载超过CPU核心数的80%"
  severity: "medium"
  condition: "cpu.load5 > cpu.cores * 0.8"
  duration: 300
  notifiers: ["email"]
  tags: ["server", "cpu"]

5.2 内存告警规则

- name: "内存使用率过高"
  description: "内存使用率持续超过85%"
  severity: "high"
  condition: "memory.usage > 85"
  duration: 300
  notifiers: ["email", "sms"]
  tags: ["server", "memory"]

- name: "交换空间使用率过高"
  description: "交换空间使用率持续超过50%"
  severity: "medium"
  condition: "memory.swap.usage > 50"
  duration: 300
  notifiers: ["email"]
  tags: ["server", "memory"]

5.3 磁盘告警规则

- name: "磁盘空间不足"
  description: "磁盘使用率持续超过85%"
  severity: "high"
  condition: "disk.usage > 85"
  duration: 600
  notifiers: ["email", "sms"]
  tags: ["server", "disk"]

- name: "磁盘IO响应时间过长"
  description: "磁盘IO响应时间持续超过100ms"
  severity: "high"
  condition: "disk.io.readLatency > 100 or disk.io.writeLatency > 100"
  duration: 300
  notifiers: ["email", "sms"]
  tags: ["server", "disk"]

5.4 网络告警规则

- name: "网络丢包率过高"
  description: "网络丢包率持续超过1%"
  severity: "high"
  condition: "network.packets.dropped.rate > 1"
  duration: 300
  notifiers: ["email", "sms"]
  tags: ["server", "network"]

- name: "TCP连接数过多"
  description: "TCP连接数持续超过10000"
  severity: "medium"
  condition: "network.connections.tcp.active > 10000"
  duration: 300
  notifiers: ["email"]
  tags: ["server", "network"]

6. 性能优化建议

6.1 CPU优化

  • 识别高CPU消耗进程:使用进程监控功能识别消耗CPU较多的进程
  • 优化应用程序:检查并优化高CPU消耗的应用程序代码
  • 考虑增加CPU资源:如果CPU使用率长期超过80%,考虑升级CPU或增加服务器
  • 使用负载均衡:将工作负载分散到多个服务器

6.2 内存优化

  • 识别内存泄漏:监控内存使用趋势,识别可能存在内存泄漏的进程
  • 调整应用内存参数:优化应用程序的内存配置参数
  • 清理缓存和临时文件:定期清理系统缓存和临时文件
  • 考虑增加内存:如果内存使用率长期超过85%,考虑增加服务器内存

6.3 磁盘优化

  • 识别高IO进程:使用IO监控功能识别产生大量IO的进程
  • 优化数据库查询:优化数据库查询和索引
  • 使用SSD存储:考虑使用SSD存储提高IO性能
  • 定期清理磁盘空间:删除不必要的文件,清理日志文件
  • 考虑使用RAID:根据需要配置适当的RAID级别提高性能和可靠性

6.4 网络优化

  • 识别网络流量来源:分析网络流量的来源和目的地
  • 优化网络配置:调整操作系统和网络设备的参数
  • 使用CDN:对于Web应用,使用CDN分发静态内容
  • 考虑网络升级:如果带宽使用率长期超过80%,考虑升级网络带宽

7. 常见问题

7.1 采集器连接失败

  • 检查网络连接:确保服务器可以访问AIOPS平台
  • 检查防火墙设置:确保防火墙允许相关端口的通信
  • 检查Agent令牌:确保Agent令牌正确
  • 查看Agent日志:检查Agent日志获取详细错误信息

7.2 监控数据不完整

  • 检查采集器状态:确保采集器正常运行
  • 检查配置文件:确保相关指标的采集配置正确
  • 检查权限设置:确保采集器有足够的权限获取数据
  • 检查系统资源:确保服务器资源充足,没有影响采集器运行

7.3 告警误报

  • 调整告警阈值:根据服务器的正常运行状态调整告警阈值
  • 增加持续时间:增加告警触发的持续时间要求
  • 使用智能告警:启用基于机器学习的异常检测,减少误报
  • 分析历史数据:分析历史数据,了解指标的正常波动范围

7.4 性能问题

  • 调整采集频率:降低非关键指标的采集频率
  • 减少监控项:只监控真正需要的指标
  • 优化服务器资源:确保服务器有足够的资源运行采集器
  • 使用分布式部署:对于大规模环境,考虑使用分布式采集架构
Last Updated:: 11/28/25, 3:06 PM
Contributors: sunxiaokun