Skip to content

Runner之系统信息采集配置

Sun Jianbo edited this page Nov 16, 2017 · 30 revisions

除了日志收集之外,logkit还提供系统信息采集的功能,方便安装了logkit的用户可以同时把logkit作为机器的agent,采集机器以及机器上部署的常见基础组件的各类指标。

配置说明

一份基本的系统信息采集的配置文件如下:

{
    "name":"metric",
    "metric":[
        {
            "type":"system",
            "attributes":{}
        },
        {
            "type":"processes"
            "attributes":{}
        },
        {
            "type":"netstat",
            "attributes":{}
        },
        {
            "type":"net",
            "attributes":{},
            "config":{}
        },
        {
            "type":"mem",
            "attributes":{}
        },
        {
            "type":"swap",
            "attributes":{}
        },
        {
            "type":"kernel_vmstat"
        },
        {
            "type":"kernel",
            "attributes":{}
        },
        {
            "type":"disk",
            "attributes":{},
            "config":{}
        },
        {
            "type":"diskio",
            "attributes":{},
            "config":{}
        },
        {
            "type":"cpu",
            "attributes":{},
            "config":{}
        }
     ],
    "senders":[{
        "name":"pandora_sender",
        "sender_type":"pandora",
        "pandora_ak":"<yourak>",
        "pandora_sk":"<yoursk>",
        "pandora_host":"https://pipeline.qiniu.com",
        "pandora_repo_name":"metrics",
        "pandora_region":"nb",
        "pandora_schema_free":"true"
    }]
}

可以看到配置文件的结构与用户日志数据采集的配置相似,只是去掉了原来的readerparser模块,增加了metric模块。

  • metric模块包含了支持的各项系统信息采集的指标类别,下文会详细描述支持的各类指标以及指标的字段名称和含义说明。
  • senders模块则与runner之数据收集的sender配置相同,由于metric的字段较多,建议使用pandora sender时开启 pandora_schema_free功能,字段增加检测到的字段。

注意,若同时写了metric模块以及readerparser模块,则只识别metric模块数据,readerparser会被忽略。

指标类别说明

系统--概览(system)

配置

{
    "type":"system",
    "attributes":{
        "system_load1": true,
        "system_load5": true,
        "system_load15": true,
        "system_n_users": true,
        "system_n_cpus": true,
        "system_uptime": true,
        "system_uptime_format": true
    }
}

### 字段说明

attributes 代表收集的字段,当显式配置某字段为 false 时,将不再收集该字段的值,不配置或者配置字段值为true时,收集该字段的值。各个字段的含义如下:

  • "system_load1": 1分钟平均
  • "system_load5": 5分钟平均load值
  • "system_load15": 15分钟的平均load值
  • "system_n_users": 用户数
  • "system_n_cpus": CPU核数
  • "system_uptime": 系统启动时间
  • "system_uptime_format": 格式化的系统运行时间

系统--进程信息(processes) windows暂不支持

配置

{
    "type":"processes",
    "attributes":{
        "processes_blocked": true,
        "processes_zombies": true,
        "processes_stopped": true,
        "processes_running": true,
        "processes_sleeping": true,
        "processes_total": true,
        "processes_unknown": true,
        "processes_idle": true,
        "processes_wait": true,
        "processes_dead": true,
        "processes_paging": true,
        "processes_total_threads": true
    }
}

字段说明

attributes 代表收集的字段,当显式配置某字段为 false 时,将不再收集该字段的值,不配置或者配置字段值为true时,收集该字段的值。各个字段的含义如下:

共有

  • "processes_blocked": 不可中断的睡眠状态下的进程数, 进程标志位为:'U', 'D', 'L'
  • "processes_zombies": 僵尸态进程数, 进程标志位为:'Z'
  • "processes_stopped": 暂停状态进程数,进程标志位为:'T'
  • "processes_running": 运行中的进程数,进程标志位为:'R'
  • "processes_sleeping": 可中断进程数,进程标志位为:'S'
  • "processes_total": 总进程数
  • "processes_unknown": 未知状态进程数

系统特定

freebsd相关
  • "processes_idle": 挂起的空闲进程数,进程标志位为:'I'
  • "processes_wait": 等待中的进程数,进程标志位为:'W'
darwin相关
  • "processes_idle": 挂起的空闲进程数,进程标志位为:'I'
openbsd相关
  • "processes_idle": 挂起的空闲进程数,进程标志位为:'I'
linux相关
  • "processes_dead": 回收中的进程数,进程标志位为:'X'
  • "processes_paging": 等待中的进程数,进程标志位为:'W'
  • "processes_total_threads": 总线程数

系统--网络连接情况(netstat)

配置

{
    "type":"netstat",
    "attributes":{
        "netstat_tcp_established": true,
        "netstat_tcp_syn_sent": true,
        "netstat_tcp_syn_recv": true,
        "netstat_tcp_fin_wait1": true,
        "netstat_tcp_fin_wait2": true,
        "netstat_tcp_time_wait": true,
        "netstat_tcp_close": true,
        "netstat_tcp_close_wait": true,
        "netstat_tcp_last_ack": true,
        "netstat_tcp_listen": true,
        "netstat_tcp_closing": true,
        "netstat_tcp_none": true,
        "netstat_udp_socket": true
    }
}

### 字段说明

attributes 代表收集的字段,当显式配置某字段为 false 时,将不再收集该字段的值,不配置或者配置字段值为true时,收集该字段的值。各个字段的含义如下:

  • "netstat_tcp_established": ESTABLISHED状态的网络链接数
  • "netstat_tcp_syn_sent": SYN_SENT状态的网络链接数
  • "netstat_tcp_syn_recv": SYN_RECV状态的网络链接数
  • "netstat_tcp_fin_wait1": FIN_WAIT1状态的网络链接数
  • "netstat_tcp_fin_wait2": FIN_WAIT2状态的网络链接数
  • "netstat_tcp_time_wait": TIME_WAIT状态的网络链接数
  • "netstat_tcp_close": CLOSE状态的网络链接数
  • "netstat_tcp_close_wait": CLOSE_WAIT状态的网络链接数
  • "netstat_tcp_last_ack": LAST_ACK状态的网络链接数
  • "netstat_tcp_listen": LISTEN状态的网络链接数
  • "netstat_tcp_closing": CLOSING状态的网络链接数
  • "netstat_tcp_none": NONE状态的网络链接数
  • "netstat_udp_socket": UDP状态的网络链接数

系统--网络设备状态(net)

配置

{
    "type":"net",
    "attributes":{
        "net_bytes_sent": true,
        "net_bytes_recv": true,
        "net_packets_sent": true,
        "net_packets_recv": true,
        "net_err_in": true,
        "net_err_out": true,
        "net_drop_in": true,
        "net_drop_out": true,
        "net_interface": true,
    },
    "config": {
        "interfaces": []
    }
}

### 字段说明 attributes 代表收集的字段,当显式配置某字段为 false 时,将不再收集该字段的值,不配置或者配置字段值为true时,收集该字段的值。各个字段的含义如下:

  • "net_bytes_sent": 网卡发包总数(bytes)
  • "net_bytes_recv": 网卡收包总数(bytes)
  • "net_packets_sent": 网卡发包数量
  • "net_packets_recv": 网卡收包数量
  • "net_err_in": 网卡收包错误数量
  • "net_err_out": 网卡发包错误数量
  • "net_drop_in": 网卡收 丢包数量
  • "net_drop_out": 网卡发 丢包数量
  • "net_interface": 网卡设备名称

config 代表该系统指标需要配置的参数,各参数说明如下:

  • "interfaces": 配置后可以收集特定网卡的信息,为空时收集所有网卡的信息

系统--内存(mem)

配置

{
    "type":"mem",
    "attributes":{
        "mem_total": true,
        "mem_available": true,
        "mem_used": true,
        "mem_free": true,
        "mem_cached": true,
        "mem_buffered": true,
        "mem_active": true,
        "mem_inactive": true,
        "mem_used_percent": true,
        "mem_available_percent": true
    }
}

### 字段说明 attributes 代表收集的字段,当显式配置某字段为 false 时,将不再收集该字段的值,不配置或者配置字段值为true时,收集该字段的值。各个字段的含义如下:

  • "mem_total": 内存总数
  • "mem_available": 可用内存数
  • "mem_used": 已用内存数
  • "mem_free": 空闲内存
  • "mem_cached": 用于缓存的内存
  • "mem_buffered": 文件buffer内存
  • "mem_active": 活跃使用的内存总数,包括cache和buffer内存
  • "mem_inactive": 空闲的内存数,包括free和avalible的内存
  • "mem_used_percent": 内存已用百分比(0~100)
  • "mem_available_percent": 内存剩余百分比(0~100)

系统--CPU(swap)

配置

{
    "type":"swap",
    "attributes":{
        "swap_total": true,
        "swap_used": true,
        "swap_free": true,
        "swap_in": true,
        "swap_out": true,
        "swap_used_percent": true
    }
}

### 字段说明 attributes 代表收集的字段,当显式配置某字段为 false 时,将不再收集该字段的值,不配置或者配置字段值为true时,收集该字段的值。各个字段的含义如下:

  • "swap_total": Swap空间总量
  • "swap_used": Swap已使用空间
  • "swap_free": Swap空闲空间
  • "swap_in": Swap换入(页面从交换分区转换到内存中)
  • "swap_out": Swap换出(页面从内存换出到交换分区),
  • "swap_used_percent": Swap使用率

系统--CPU(cpu)

配置

{
    "type":"cpu",
    "attributes":{
        "cpu_time_user": true,
        "cpu_time_system": true,
        "cpu_time_idle": true,
        "cpu_time_nice": true,
        "cpu_time_iowait": true,
        "cpu_time_irq": true,
        "cpu_time_softirq": true,
        "cpu_time_steal": true,
        "cpu_time_guest": true,
        "cpu_time_guest_nice": true,
        "cpu_time_cpu": true,
        "cpu_usage_user": true,
        "cpu_usage_system": true,
        "cpu_usage_idle": true,
        "cpu_usage_nice": true,
        "cpu_usage_iowait": true,
        "cpu_usage_irq": true,
        "cpu_usage_softirq": true,
        "cpu_usage_steal": true,
        "cpu_usage_guest": true,
        "cpu_usage_guest_nice": true,
        "cpu_usage_cpu": true
    },
    "config": {
        "per_cpu": true,
        "total_cpu": true,
        "collect_cpu_time": true
    }
}

### 字段说明

attributes 代表收集的字段,当显式配置某字段为 false 时,将不再收集该字段的值,不配置或者配置字段值为true时,收集该字段的值。各个字段的含义如下:

CPU 时间统计

  • "cpu_time_user": 用户进程用时
  • "cpu_time_system": 系统内核用时
  • "cpu_time_idle": 空闲CPU用时
  • "cpu_time_nice": 优先级调度用时
  • "cpu_time_iowait": iowait用时
  • "cpu_time_irq": 中断用时
  • "cpu_time_softirq": 软中断用时
  • "cpu_time_steal": Steal用时
  • "cpu_time_guest": Guest用时
  • "cpu_time_guest_nice": GuestNice用时
  • "cpu_time_cpu": CPU序号名称

CPU 用量统计

  • "cpu_usage_user": 用户用量百分比(0~100)
  • "cpu_usage_system": 系统用量百分比(0~100)
  • "cpu_usage_idle": 空闲百分比(0~100)
  • "cpu_usage_nice": 优先级调度程序用量百分比(0~100)
  • "cpu_usage_iowait": IOwait时间占比(0~100)
  • "cpu_usage_irq": 中断时间占比(0~100)
  • "cpu_usage_softirq": 软中断时间占比(0~100)
  • "cpu_usage_steal": 虚拟CPU的竞争等待时间占比(0~100)
  • "cpu_usage_guest": 虚拟进程的CPU用时占比(0~100)
  • "cpu_usage_guest_nice": 虚拟进程CPU调度用时占比(0~100)
  • "cpu_usage_cpu": CPU序号名称

config 代表该系统指标需要配置的参数,各参数说明如下:

  • "per_cpu": 是否收集每一个 cpu 的统计信息, 默认开启
  • "total_cpu": 是否收集 cpu 总体情况统计信息, 默认开启
  • "collect_cpu_time": 是否收集 cpu 时间统计信息, 默认关闭

系统--内核(kernel_vmstat) 仅Linux系统适用

配置

{
    "type": "kernel_vmstat"
}

系统--内核(kernel) 仅Linux系统适用

配置

{
    "type": "kernel",
    "attributes": {
        "kernel_interrupts": true,
        "kernel_context_switches": true,
        "kernel_processes_forked": true,
        "kernel_boot_time": true,
        "kernel_disk_pages_in": true,
        "kernel_disk_pages_out": true
    }
}

### 字段说明 attributes 代表收集的字段,当显式配置某字段为 false 时,将不再收集该字段的值,不配置或者配置字段值为true时,收集该字段的值。各个字段的含义如下:

  • "kernel_interrupts": 内核中断次数
  • "kernel_context_switches": 内核上下文切换次数
  • "kernel_processes_forked": fork的进程数
  • "kernel_boot_time": 内核启动时间
  • "kernel_disk_pages_in": 磁盘换入数量
  • "kernel_disk_pages_out": 磁盘换出数量

系统--磁盘(disk)

配置

{
    "type": "disk",
    "attributes": {
        "disk_path": true,
        "disk_device": true,
        "disk_fstype": true,
        "disk_total": true,
        "disk_free": true,
        "disk_used": true,
        "disk_used_percent": true,
        "disk_inodes_total": true,
        "disk_inodes_free":  true,
        "disk_inodes_used": true
    },
    "config": {
        "ignore_fs": [],
        "mount_points": []
    }
}

### 字段说明 attributes 代表收集的字段,当显式配置某字段为 false 时,将不再收集该字段的值,不配置或者配置字段值为true时,收集该字段的值。各个字段的含义如下:

  • "disk_path": 磁盘路径
  • "disk_device": 磁盘设备名
  • "disk_fstype": 文件系统类型
  • "disk_total": 磁盘总大小
  • "disk_free": 磁盘剩余大小
  • "disk_used": 磁盘用量
  • "disk_used_percent": 磁盘已用百分比
  • "disk_inodes_total": 总inode数量
  • "disk_inodes_free": 空闲的inode数量
  • "disk_inodes_used": 适用的inode数量

config 代表该系统指标需要配置的参数,各参数说明如下:

  • "ignore_fs": 选填,忽略的挂载点
  • "mount_points": 选填,收集特定的挂载点, 为空时默认收集除 "ignore_fs" 字段设置外的所有挂载点的信息

系统--磁盘IO(diskio)

配置

{
    "type": "diskio",
    "attributes": {
        "diskio_reads": true,
        "diskio_writes": true,
        "diskio_read_bytes": true,
        "diskio_write_bytes": true,
        "diskio_read_time": true,
        "diskio_write_time": true,
        "diskio_io_time": true,
        "diskio_iops_in_progress": true,
        "diskio_name": true
    },
    "config": {
        "devices": [],
        "device_tag": [],
        "name_templates": [],
        "skip_serial_number": false
    }
}

### 字段说明 attributes 代表收集的字段,当显式配置某字段为 false 时,将不再收集该字段的值,不配置或者配置字段值为true时,收集该字段的值。各个字段的含义如下:

  • "diskio_reads": 磁盘被读的总次数
  • "diskio_writes": 磁盘被写的总次数
  • "diskio_read_bytes": 读取的总数据量
  • "diskio_write_bytes": 写入的总数据量
  • "diskio_read_time": 磁盘读取总用时
  • "diskio_write_time": 磁盘写入总用时
  • "diskio_io_time": io总时间
  • "diskio_iops_in_progress": 运行中的每秒IO数据量
  • "diskio_name": 磁盘名称

config 代表该系统指标需要配置的参数,各参数说明如下:

  • "devices": 选填,获取特定设备的信息, 为空时默认获取所有设备的信息
  • "device_tags": 选填,采集磁盘特定 tag 的信息, 为空时默认获取所有 tag 信息
  • "name_templates": 选填, 一些尝试加入设备的模板列表
  • skip_serial_number": 是否忽略磁盘序列号, 默认为 true
Clone this wiki locally