首页 > 其他分享 >操作系统需要重点关注指标

操作系统需要重点关注指标

时间:2023-08-04 22:32:28浏览次数:299  
标签:插件 操作系统 配置文件 指标 采集 监控 input 重点

机器层面的监控分为两部分,带内监控和带外监控。带内监控就是通过带内网络来监控,主要是以在 OS 里部署 Agent 的方式,来获取 OS 的 CPU、内存、磁盘、IO、网络、进程等相关监控指标。

外监控走的是带外网络,通常和业务网络不互通,通过 IPMI、SNMP 等协议获取硬件健康状况。

IPMI 可用于监控硬件的物理参数,如系统温度、风扇速度、电源电压等,可以有效地利用 IPMI 监控硬件温度、功耗、启动或关闭服务器和系统,以及进行日志记录。IPMI 的一个主要亮点是,它的功能独立于服务器的 CPU 和操作系统。因为固件是直接在服务器主板上运行的,所以不管安装的操作系统是什么,它都可以用于管理各种远程位置的服务器。BMC(服务器基板管理控制器)也可以开启 SNMP 的支持,通过 SNMP Trap 做硬件监控是一个很好的思路。

带内监控,常见的 Agent 有 Categraf、Telegraf、Grafana-agent、Datadog-agent、Node-exporter 等。

Categraf 作为一款 Agent 需要部署到所有目标机器上,因为采集 CPU、内存、进程等指标,是需要读取 OS 里的一些信息的,远程读取不了。采集到数据之后,转换格式,传输给监控服务端。

Categraf 推送监控数据到服务端,走的是 Prometheus 的 RemoteWrite 协议,是基于 Protobuf 的 HTTP 协议,所以所有支持 RemoteWrite 的后端,都可以和 Categraf 对接,比如 Prometheus、Nightingale、TDEngine 等。

Categraf 是插件架构,采集 CPU 指标的是 cpu 插件,采集内存指标的是 mem 插件,采集进程指标的是 procstat 插件,每个插件都有一个配置目录,在 conf 目录下,以 input. 打头。OS 的各类指标采集,大都是读取的 /proc 目录。

1、cpu

cpu 插件的配置文件在 input.cpu 目录,只有两个配置项,interval 和 collect_per_cpu,其中 interval 表示采集频率,所有的插件都有这个配置。而和 CPU 采集相关的配置实际只有一个,就是 collect_per_cpu,它用于控制是否采集每个单核的指标。默认值是 false,表示不采集单核的指标,只采集整机的指标。

CPU 相关的指标,最核心的就是使用率。大型互联网公司,为了应对突发流量,CPU 的平均利用率一般就是 30% 左右。如果平时 CPU 利用率总是超过 60%,就比较危险了。

2、mem

mem 插件的配置文件在 input.mem 目录,核心配置只有一个 collect_platform_fields,它表示是否采集各个平台特有的指标。内存相关的指标,Linux、Windows、BSD、Darwin 都不是完全一样的,内存总量、使用量这类指标所有平台都有,但是其余很多指标都是和平台相关的,比如 Linux 下特有的 swap、huge_page 相关的指标,其他平台就是没有的。

内存相关的指标,最核心的是可用率,即 mem_available_percent。这个值如果小于 30% 就可以发个低级别告警出来了,然后着手扩容。

3、disk

disk 插件的配置文件在 input.disk 目录,默认不用调整,如果某个挂载点不想采集,可以配置到 ignore_mount_points 中,这样就会自动忽略掉对应的挂载点。

硬盘相关的指标,主要关注空间使用率和 inode 使用率。对于空间使用率,85% 一刀切的告警规则不合适,建议考虑大空间的盘和小空间的盘分别对应不同的告警规则。

4、diskio

diskio 插件的配置文件在 input.diskio 目录,默认不用调整,如果只想采集某几个盘的 IO 数据,可以使用 devices 配置进行限制。硬盘 IO 相关的指标,主要关注读写延迟,所谓的 IO.UTIL 这种指标基本不用太关注。

5、net

net 插件的配置文件在 input.net 目录,默认不用调整,如果只想采集某个特定网卡的数据,可以修改 interfaces 配置。不过网卡丢包是需要关注的,比如长期每秒几十个丢包,就有理由怀疑是硬件的问题了。

6、netstat

netstat 插件的配置文件在 input.netstat 目录,默认不用调整,tcp_time_wait 指标就是靠这个插件采集的。

7、processes

processes 插件的配置文件在 input.processes 目录,默认不用调整。最常见的指标是进程总量,如果某个机器进程总量超过 600,大概率是有问题的,常见的原因比如某个 cron 写“挫”了,每分钟 fork 一个进程,但就是不退出,时间长了就把机器压垮了。

8、conntrack

这个插件就是用来监控 conntrack 的情况的。我们可以配置一条这样的告警规则及时发现问题:conntrack_ip_conntrack_count / ip_conntrack_max > 0.8 就可以告警。

9、kernel_vmstat

kernel_vmstat 插件的配置文件在 input.kernel_vmstat,采集的是 /proc/vmstat 的指标数据。这个文件内容比较多,所以配置文件中给了一个白名单,你可以按需启用,默认启用了 oom_kill。

10、ntp

ntp 插件的配置文件在 input.ntp 目录,需要在配置文件中给出 ntp server 的地址。每个公司都应该有对时机制,很多分布式程序都是重度依赖时间的。监控指标是 ntp_offset_ms,顾名思义,单位是毫秒,一般这个值不能超过 1000,也不能小于 -1000,需要配置告警规则。

11、procstat

rocstat 插件的配置文件在 input.procstat 目录,用于监控进程。进程监控主要是两个方面,一个是进程存活性,一个是进程占用的 CPU、内存、文件句柄等数据。

12、exec

exec 插件的配置文件在 input.exec 目录,用于自定义监控脚本。因为 Agent 虽然内置了很多插件,但有些长尾需求仍然是解决不了的,此时就需要通过自定义监控脚本来扩展监控采集能力。

监控脚本可以是 Shell 的,也可以是 Python、Perl、Ruby 的,只要机器上有对应的执行环境就可以。Agent 会 fork 一个进程来执行,截获进程的 stdout(标准输出),解析成监控数据然后上报。所以脚本采集到数据之后,要格式化成某个特定的格式,打印到 stdout。Categraf 支持三种格式:Prometheus、Influx、Falcon,默认是 Influx 格式。

操作系统需要重点关注指标_指标


标签:插件,操作系统,配置文件,指标,采集,监控,input,重点
From: https://blog.51cto.com/key3feng/6969590

相关文章

  • 漏洞发现-操作系统之漏洞探针利用修复
    一.探针1.goby忍者系统测试2.nmap扫描---如果加上参数,就会调用script目录下的nse插件进行扫描Nmap--script=vuln默认nse插件Nmapvulscanvulners调用第三方库探针加入拓展扫描模块https://cnblogs.com/shwang/p/12623669.html#输入指令nmap--script=vulnip地址,想......
  • 操作系统概述
    分散概念组成操作系统的主要部分通常是进程线程管理、内存管理、设备管理和文件管理从软件设计和开发角度来看,操作系统的主要作用提供软件开发基础平台从计算机系统发展角度来看,操作系统主要作用是提供虚拟机和扩展机操作系统为用户提供了高效使用计算机的接口,操作系统提供人机交互......
  • 【总结】百家稷学!重点汇总有三AI(教育)服务过的那些企业与学校
    近一年多来我们开始服务B端用户,已经陆续和许多企业和学校进行了长短期的合作,2021年年关将至,下面来简单做一个汇总。阿里云阿里云是我们的第一个客户,合作次数最多,历经时间也最长。自从2019年开始以深度学习模型设计为主题在阿里云开启了3次直播之后,我们后面又与阿里云进行了多次合作......
  • 学习记录 麒麟操作系统桌面工程师
    麒麟的证书 工信部的专项技术证书 学习感想我比较关注国产化软件基础设施,当知道麒麟操作系统有相应的认证之后,就开始咨询培训事宜、攒学费,自费报名了培训课程。认证考试的内容是系统的、基础的,适合作为新人上手学习的第一站。培训备考阶段有视频课程和模拟考试,对新人较......
  • 学习记录 麒麟操作系统运维工程师
    麒麟的证书 工信部的专项技术证书 学习感想自从考过麒麟操作系统桌面工程师的认证后,我就开始计划再上一个台阶,想着把麒麟操作系统运维工程师认证给考过了。于是乎,又开始新的一轮,咨询培训事宜,攒学费,自费报名培训。运维工程师的培训内容就有一些难度了,要懂一些操作系统、网......
  • 显示锁,隐式锁 (管程、monitor 、操作系统)
    无锁时并发出问题importjava.util.*;/***无锁*@authorwitas**/publicclassBank{publicstaticvoidmain(String[]args){finalintNACCOUNTS=100;finaldoubleINITIAL_BALANCE=1000;finaldouble......
  • 高并发性能指标:QPS、TPS、RT、吞吐量
    QPS,每秒查询QPS:QueriesPerSecond意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。互联网中,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。TPS,每秒事务TPS:是TransactionsPerSecond的缩写......
  • kali渗透测试之三操作系统识别-nmap
    识别操作系统:    在确定目标主机在线后,应当识别他们使用的操作系统,这个阶段的工作称为识别操作系统(也称为操作系统指纹识别),识别操作系统的的方式分为两种:主动式和被动式。主动式识别工具向目标机器发送数据包,并根据目标的响应确定其使用的操作系统,这种方式的优点在于探测......
  • 操作系统概述
    2.1.1操作系统的概念操作系统 是一组控制盒管理计算机系统的硬件和软件资源、控制程序执行、改善人机界面、合理地组织计算机工作流程并未用户使用计算机提供良好运行环境的一种系统软件。 目的:提高计算机系统的效率,增强系统的处理能力,提高系统资源的利用率,方便用户使用计算机。2......
  • 什么是 GNU操作系统
    GNU操作系统是一种自由和开源的操作系统,由RichardStallman在1983年发起并由自由软件基金会(FreeSoftwareFoundation,FSF)领导开发。GNU是"GNU'sNotUnix"(GNU不是Unix)的递归缩写,这意味着GNU是一个类Unix操作系统的自由替代品。传统的Unix操作系统是由贝尔实验室开发的,并在许多计......