NRPE监控linux本地信息(一)_v1.0_20130628
- 格式:docx
- 大小:150.75 KB
- 文档页数:5
Nagios系列文章:Nagios监控平台之一:在Centos上安装Nagios服务Nagios监控平台之二:nrpe监控远程Linux主机Nagios监控平台之三:MRTG监控交换机流量Nagios监控平台之四:监控Linux服务器CPU温度Nagios监控平台之五:监控Windows服务器Nagios监控平台之六:安装NDOUtils保存Nagios数据到mysql数据库Nagios监控平台之七:Nagios监控HP-UX监控监控linux本地主机时,我们可以直接更改配置文件进行监控,如果需要监控的主机与nagios不在同一机器上,即监控远程linux主机时,我们需要借助NRPE 插件实现。
nrpe工作原理图:远程主机的操作安装支持:#yum-yinstallopensslopenssl-devel下载NagiosPlugins和NRPE#cd/tmp#wget/project/nagios/nrpe-2.x/nrpe-2.13/nrpe-2.13.tar.gz#wget/project/nagiosplug/nagiosplug/1.4.16/nagios-plugins-1.4.16.tar.gz创建nagios帐号#useraddnagios#passwdnagios安装nagios-plugin#cd/tmp#tarxvfznagios-plugins-1.4.16.tar.gz#cdnagios-plugins-1.4.16#exportLDFLAGS=-ldl#./configure--with-nagios-user=nagios--with-nagios-group=nagios--enable-redhat-pthread-workaround #make#makeinstall#chownnagios.nagios/usr/local/nagios#chown-Rnagios.nagios/usr/local/nagios/libexec/安装NRPE#cd/tmp#tarxvfznrpe-2.13.tar.gz#cdnrpe-2.13#./configure#makeall#makeinstall-plugin#makeinstall-daemon#makeinstall-daemon-config#yuminstallxinetd#makeinstall-xinetd配置NRPE以守护进程运行1、更改/etc/xinetd.d/nrpe文件,设置允许nagios服务器连接,如nagios服务器的ip为192.168.1.2:only_from=127.0.0.1192.168.1.22、在/etc/services结尾增加:nrpe5666/tcp#NRPE3、启动xinetd#servicexinetdrestart4、验证nrpe是否监听#netstat-at|grepnrpe5、测试nrpe是否正常运行#/usr/local/nagios/libexec/check_nrpe-HlocalhostNRPEv2.136、更改/usr/local/nagios/etc/nrpe.cfgnrpe.cfg文件里包含需要监控远程主机的命令,如下面是我的配置:#用户登录数command[check_users]=/usr/local/nagios/libexec/check_users-w5-c10#CPU负载command[check_load]=/usr/local/nagios/libexec/check_load-w15,10,5-c30,25,20 #磁盘空间command[check_disk]=/usr/local/nagios/libexec/check_disk-w20-c10-p/dev/sda #僵尸进程数command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs-w5-c10-sZ #进程总数command[check_total_procs]=/usr/local/nagios/libexec/check_procs-w150-c200 #物理内存command[check_mem]=/usr/local/nagios/libexec/check_mem-H$HOSTADDRESS$ #脚本内容见下文物理内存检查脚本/usr/local/nagios/libexec/check_mem:#!/bin/bash#checkmemoryscript#Totalmemory#byBarlow#2014-06-13help(){echo"Usage:`basename$0`-w<%>-c<%>"echo"-wisWARNING%ofusedmem;-cisCRITICAL%ofusedmem!"exit3}TOTAL=`free-m|head-2|tail-1|gawk'{print$2}'`#checkmemoryFREE=`free-m|head-3|tail-1|gawk'{print$4}'`USED=`free-m|head-3|tail-1|gawk'{print$3}'`#tocalculatefreepercent#usetheexpressionfree*100/totalFREETMP=`expr$FREE\*100`USEDTMP=`expr$USED\*100`FREE_PERCENT=`expr$FREETMP/$TOTAL`USED_PERCENT=`expr$USEDTMP/$TOTAL`if[$#-le3];thenhelpelif![$1=="-w"]&>/dev/null;thenhelpelif![$3=="-c"]&>/dev/null;thenhelpfiWARNIFNUM(){if!["$WARN"=="$OPTARG"];thenhelpfi}CRITIFNUM(){if!["$CRIT"=="$OPTARG"];thenhelpfi}whilegetopts"w:c:h"OPT;docase$OPTin"w")WARNTMP=$OPTARGWARN=$(echo$WARNTMP|bc2>/dev/null)if!["$WARN"=="$WARNTMP"];thenhelpfi;;"c")CRITTMP=$OPTARGCRIT=$(echo$CRITTMP|bc2>/dev/null)if!["$CRIT"=="$CRITTMP"];thenhelpfi;;"h")help;;esacdoneCRIT_LEVEL=`expr$TOTAL\*$CRIT\/100`WARN_LEVEL=`expr$TOTAL\*$WARN\/100`if[$USED_PERCENT-gt$CRIT];thenecho"CRITICAL!UsedMemory$USEDMB($USED_PERCENT%,Total=$TOTALMB)|'USEDMEM'=${USED}MB;$ WARN_LEVEL;$CRIT_LEVEL;0;$TOTAL"exit2fiif[$USED_PERCENT-gt$WARN];thenecho"WARNING!UsedMemory$USEDMB($USED_PERCENT%,Total=$TOTALMB)|'USEDMEM'=${USED}MB; $WARN_LEVEL;$CRIT_LEVEL;0;$TOTAL"exit1elseecho"OK!UsedMemory$USEDMB($USED_PERCENT%,Total=$TOTALMB)|'USEDMEM'=${USED}MB;$WARN _LEVEL;$CRIT_LEVEL;0;$TOTAL"exit0finagios服务器的操作首先安装nagios,参考:/server/management/186.html下载安装NRPE#cd/tmp#wget/project/nagios/nrpe-2.x/nrpe-2.13/nrpe-2.13.tar.gz#tarxvfznrpe-2.13.tar.gz#cdnrpe-2.13#./configure#makeall#makeinstall-plugin测试是否正常:#/usr/local/nagios/libexec/check_nrpe-H192.168.1.3NRPEv2.13为监控远程主机定义host和service1、定义check_nrpe命令在文件/usr/local/nagios/etc/objects/commands.cfg后面增加:#'check_nrpe'commanddefinitiondefinecommand{command_namecheck_nrpecommand_line$USER1$/check_nrpe-H$HOSTADDRESS$-t30-c$ARG1$}2、创建/usr/local/nagios/etc/objects/host.cfg(需提前在nagios.cfg中定义)host定义示例:definehost{uselinux-serverhost_nameremotehostaddress192.168.1.3}3、创建服务:vi/usr/local/nagios/etc/objects/services.cfg(需提前在nagios.cfg 中定义)如定义监控远程主机磁盘空间示例(其他服务语法相同):defineservice{usegeneric-servicehost_nameremotehostservice_descriptionsda磁盘空间check_commandcheck_nrpe!check_disk}之后重载nagios配置文件使其生效#servicenagiosreload。
Linux命令行中的硬件监控和故障预警技巧与实用工具在Linux命令行中,硬件监控和故障预警是确保系统正常运行和提高系统可靠性的重要方面。
本文将介绍一些硬件监控和故障预警的技巧和实用工具,帮助您更好地管理和维护Linux系统。
1. 系统状态查看Linux命令行提供了一些命令,用于查看系统的状态信息,例如:- uptime:显示系统的运行时间和当前登录用户数量。
- top:实时监控系统的资源使用情况,包括CPU、内存、磁盘等。
- free:显示系统内存的使用情况。
- df:显示文件系统的磁盘空间使用情况。
- iostat:显示系统的I/O性能。
通过使用这些命令,您可以及时了解系统的整体状态,发现异常情况并采取相应的措施。
2. 温度监控在Linux命令行中,可以通过lm_sensors工具来监控硬件的温度。
lm_sensors可以读取传感器数据,包括CPU、主板、硬盘等温度信息。
要使用lm_sensors,您需要先安装并配置它。
安装过程因Linux发行版而异,您可以参考相应文档或使用包管理工具进行安装。
安装完成后,运行sensors命令即可查看传感器的温度信息。
3. 硬盘监控硬盘是系统中最脆弱的组件之一,磁盘故障可能导致数据丢失和系统崩溃。
为了监控硬盘的健康状态,可以使用smartmontools工具。
smartmontools可以通过S.M.A.R.T(自监测、分析和报告技术)来监控硬盘的各种指标,包括温度、传输错误、磁盘寿命等。
您可以使用smartctl命令来查看硬盘的S.M.A.R.T信息,例如:```smartctl -a /dev/sda```通过定期运行smartctl命令,您可以及时检测到潜在的硬盘问题,并采取相应的措施,例如备份数据或更换硬盘。
4. 内存监控内存是系统性能的重要因素,过高的内存使用可能导致系统变慢甚至崩溃。
在Linux命令行中,可以使用free命令来查看内存的使用情况。
Linux系统信息监控脚本(Python版)随着Linux操作系统在各个领域中的广泛应用,对系统信息监控的需求也越来越迫切。
为了方便管理员实时掌握系统的运行状况以及对系统进行优化和调试,本文介绍了一种基于Python的Linux系统信息监控脚本。
通过该脚本,管理员可以方便地获取系统的CPU、内存、磁盘、网络等关键信息,并进行监控和统计分析。
一、脚本功能概述及需求本脚本的主要功能包括以下几个方面:1. 实时监控系统的CPU利用率及各个核心的使用情况。
2. 实时监控系统的内存占用情况,包括总内存、可用内存、已使用内存等。
3. 实时监控系统磁盘的占用情况,包括各个挂载点的磁盘总空间、已用空间、可用空间等。
4. 实时监控系统的网络流量,包括网卡的入口流量和出口流量。
5. 统计分析系统的平均负载情况,以便管理员了解系统的压力状态。
二、脚本实现技术及原理本脚本基于Python语言实现,通过调用Linux系统提供的相关命令和接口,获取系统信息并进行分析处理。
1. CPU监控:通过读取/proc/stat文件,获取当前系统CPU的状态信息,包括用户态、系统态、空闲态等时间片的占用情况。
根据这些信息,可以计算出CPU利用率以及各个核心的使用情况。
2. 内存监控:通过读取/proc/meminfo文件,获取系统内存的使用情况,包括总内存、可用内存、已使用内存等信息。
3. 磁盘监控:通过调用df命令,获取系统各个挂载点的磁盘空间使用情况,包括总空间、已用空间、可用空间等。
4. 网络监控:通过调用ifconfig命令和/proc/net/dev文件,获取系统网卡的入口流量和出口流量信息。
5. 平均负载统计:通过读取/proc/loadavg文件,获取系统的平均负载情况。
三、脚本代码及运行演示下面是脚本的核心代码:```python# 导入相关模块import osimport subprocessimport re# CPU监控函数def cpu_monitor():cmd = "cat /proc/stat | grep -w cpu"output = subprocess.check_output(cmd, shell=True).decode().strip() cpu_info = re.split(r"\s+", output)total = sum([int(time) for time in cpu_info[1:]])idle = int(cpu_info[4])cpu_usage = (total - idle) / total * 100print("CPU利用率:{:.2f}%".format(cpu_usage))# 内存监控函数def memory_monitor():cmd = "cat /proc/meminfo | grep -w MemTotal | awk '{print $2}'"total_mem = int(subprocess.check_output(cmd,shell=True).decode().strip())cmd = "cat /proc/meminfo | grep -w MemAvailable | awk '{print $2}'"available_mem = int(subprocess.check_output(cmd,shell=True).decode().strip())used_mem = total_mem - available_memprint("总内存:{} KB".format(total_mem))print("已使用内存:{} KB".format(used_mem))print("可用内存:{} KB".format(available_mem))# 磁盘监控函数def disk_monitor():cmd = "df -h --output=size,used,avail,mountpoint | grep -v Filesystem"output = subprocess.check_output(cmd, shell=True).decode().strip()lines = output.split("\n")for line in lines:size, used, avail, mount_point = line.split()print("挂载点:{}".format(mount_point))print("总空间:{}".format(size))print("已用空间:{}".format(used))print("可用空间:{}".format(avail))# 网络监控函数def network_monitor():cmd = "ifconfig eth0 | grep RX\ bytes"output = subprocess.check_output(cmd, shell=True).decode().strip() rx_bytes = int(re.findall(r"RX\ bytes:(\d+)", output)[0])cmd = "ifconfig eth0 | grep TX\ bytes"output = subprocess.check_output(cmd, shell=True).decode().strip() tx_bytes = int(re.findall(r"TX\ bytes:(\d+)", output)[0])print("入口流量:{} bytes".format(rx_bytes))print("出口流量:{} bytes".format(tx_bytes))# 平均负载统计函数def loadavg_monitor():cmd = "cat /proc/loadavg"output = subprocess.check_output(cmd, shell=True).decode().strip() loadavg_info = re.split(r"\s+", output)print("1分钟平均负载:{}".format(loadavg_info[0]))print("5分钟平均负载:{}".format(loadavg_info[1]))print("15分钟平均负载:{}".format(loadavg_info[2]))# 主函数,调用其他监控函数def main():cpu_monitor()memory_monitor()disk_monitor()network_monitor()loadavg_monitor()# 程序入口if __name__ == "__main__":main()```将以上代码保存为`monitor.py`文件,运行该脚本即可实现Linux系统信息的实时监控。
Linux终端中的硬件信息查询和监控命令Linux系统作为一种开源操作系统,具有广泛的应用和高度的可定制性。
在Linux系统中,通过使用一些命令,我们可以方便地查询和监控硬件信息。
本文将介绍一些常用的Linux终端中的硬件信息查询和监控命令,帮助读者更好地了解和管理自己的硬件。
1. uname命令uname命令可以用来查询当前系统的基本信息,包括内核版本、主机名、操作系统等。
在终端中输入以下命令即可查询相关信息:```bashuname -a```2. lscpu命令lscpu命令可以查询当前系统的CPU信息,包括CPU架构、核心数、线程数等。
在终端中输入以下命令即可查询相关信息:```bashlscpu```3. lspci命令lspci命令可以查询当前系统的PCI设备信息,包括显卡、网卡等。
在终端中输入以下命令即可查询相关信息:```bashlspci```4. lsusb命令lsusb命令可以查询当前系统的USB设备信息,包括USB接口、设备厂商等。
在终端中输入以下命令即可查询相关信息:```bashlsusb```5. df命令df命令可以查询当前系统的磁盘空间使用情况,包括总容量、已用空间、可用空间等。
在终端中输入以下命令即可查询相关信息:```bashdf -h```6. free命令free命令可以查询当前系统的内存使用情况,包括总内存、已用内存、可用内存等。
在终端中输入以下命令即可查询相关信息:```bashfree -h```7. sensors命令sensors命令可以查询当前系统的硬件传感器信息,包括CPU温度、风扇转速等。
在终端中输入以下命令即可查询相关信息:```bashsensors```8. ethtool命令ethtool命令可以查询当前系统的网络接口信息,包括网卡速度、双工模式等。
在终端中输入以下命令即可查询相关信息:```bashethtool eth0```以上是一些常用的Linux终端中的硬件信息查询和监控命令,通过使用这些命令,我们可以方便地了解和管理自己的硬件。
Linux终端硬件信息查看命令行获取系统硬件信息在Linux系统中,我们经常需要查看硬件信息以了解电脑的配置和性能。
本文将介绍一些常用的命令行工具,帮助您快速获取系统的硬件信息。
1. 查看CPU信息首先,让我们来查看CPU的相关信息。
在终端中执行以下命令:```$ cat /proc/cpuinfo```这个命令会显示出CPU的详细信息,包括型号、频率、核心数等。
2. 查看内存信息接下来,我们来获取系统内存的信息。
在终端中执行以下命令:```$ cat /proc/meminfo```这个命令会显示出内存的详细信息,包括总内存、可用内存、使用中的内存等。
3. 查看硬盘信息Linux系统中,我们可以使用`df`命令来查看硬盘的使用情况。
在终端中执行以下命令:```$ df -h```这个命令会列出系统中所有硬盘的使用情况,包括挂载点、文件系统类型、可用空间等。
4. 查看网络接口信息要查看网络接口的信息,可以使用`ifconfig`命令。
在终端中执行以下命令:```$ ifconfig```这个命令会显示出系统中所有的网络接口,包括IP地址、MAC地址等。
5. 查看显卡信息如果您想获取显卡的信息,可以使用`lspci`命令。
在终端中执行以下命令:```$ lspci -v | grep VGA```这个命令会显示出系统中的显卡信息,包括厂商、型号等。
6. 查看USB设备信息要查看已连接的USB设备信息,可以使用`lsusb`命令。
在终端中执行以下命令:```$ lsusb```这个命令会列出系统中所有的USB设备,包括厂商、型号等。
7. 查看BIOS信息最后,我们来获取系统的BIOS信息。
在终端中执行以下命令:```$ sudo dmidecode -t bios```这个命令会显示出系统的BIOS信息,包括厂商、版本等。
以上就是获取Linux系统硬件信息的常用命令行工具。
通过这些命令,您可以快速查看系统的配置和性能情况,帮助您更好地了解和管理自己的电脑。
Linux服务器上监控网络带宽的18个常用命令本文介绍了一些可以用来监控网络使用情况的Linux命令行工具。
这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度。
入站流量和出站流量分开来显示。
一些命令可以显示单个进程所使用的带宽。
这样一来,用户很容易发现过度使用网络带宽的某个进程。
这些工具使用不同的机制来制作流量报告。
nload等一些工具可以读取"proc/net/dev"文件,以获得流量统计信息;而一些工具使用pcap库来捕获所有数据包,然后计算总数据量,从而估计流量负载。
下面是按功能划分的命令名称。
•监控总体带宽使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload•监控总体带宽使用(批量式输出)――vnstat、ifstat、dstat和collectl•每个套接字连接的带宽使用――iftop、iptraf、tcptrack、pktstat、netwatch和trafshow•每个进程的带宽使用――nethogs1. nloadnload是一个命令行工具,让用户可以分开来监控入站流量和出站流量。
它还可以绘制图表以显示入站流量和出站流量,视图比例可以调整。
用起来很简单,不支持许多选项。
所以,如果你只需要快速查看总带宽使用情况,无需每个进程的详细情况,那么nload用起来很方便。
1. $ nload安装nload:Fedora和Ubuntu在默认软件库里面就有nload。
CentOS用户则需要从Epel软件库获得nload。
1. # fedora或centos2. $ yum install nload -y3. # ubuntu/debian4. $ sudo apt-get install nload2. iftopiftop可测量通过每一个套接字连接传输的数据;它采用的工作方式有别于nload。
iftop使用pcap库来捕获进出网络适配器的数据包,然后汇总数据包大小和数量,搞清楚总的带宽使用情况。
Nagios监控Linux主机(NRPE安装与应用)一、NRPE简介及工作原理NRPE是nagios的一个扩展,它被用于被监控的服务器上,向nagios监控平台提供该服务器的一些本地的情况。
例如,cpu负载、内存使用、硬盘使用等等。
NRPE可以称为nagios 的for linux 客户端。
NRPE 由两个部分组成:工作在监控机一侧的check_nrpe 插件、工作在被监控机一侧的NRPE 守护进程。
Nagios 服务器执行check_nrpe 插件并告诉他检查哪个服务,check_nrpe 插件通过SSL 连接方式联系远程服务器上的NRPE 守护进程,NRPE 守护进程执行相应的插件完成指定的检查,并返回结果。
工作原理是:插件nrpe在被监控机上开启一个daemon,通过这个daemon来和监控主机建立一条ssl加密通道,通过这条通道来传送被监控机的本地信息,达到监控的目的。
装在被监控机上的daemon就相当于一个nagios的传递员,命令行从nagios监控主机发出,然后daemon接受到信息,就会执行这条命令行,执行的方式,其实是和nagios主机是一样的,所以被监控机上也需要装一套nagios-plugins插件。
例如:nagios主机需要监控被监控机的硬盘信息,就会对被监控机发出一条命令说:“我要看你的硬盘信息。
”被监控机nrpe的daemon接到这个命令之后,就会运行一个插件,来检查被监控机本地硬盘的信息,然后插件把信息反馈到nrpe,nrpe通过ssl通道再把这些信息反馈到nagios主机。
如下图所示二、NRPE安装1、所需安装包nrpe、nagios-plugins,这两个包都可以从上得到,本例为nrpe-2.12.tar.gz2、安装openssl、openssl-devel;yum install -y opensslyum install -y openssl-devel3、安装nrpe和nagios-plugins插件1)安装nagios-plugins,在安装时首先在被监控机上新建nagios用户及组。
Linux终端中如何监控网络流量Linux终端是一种强大的工具,可以用来进行各种系统操作和网络管理。
在网络管理中,监控网络流量是非常重要的,它可以帮助我们了解网络的使用情况,排查问题和优化网络性能。
本文将介绍如何在Linux终端中监控网络流量的方法。
一、使用ifconfig命令查看网络接口信息ifconfig是Linux系统中常用的一个命令,可以用来查看和配置网络接口的信息。
通过执行ifconfig命令,可以列出当前系统中的网络接口,并且可以查看每个接口的IP地址、MAC地址等信息。
在终端中输入以下命令:```ifconfig```将会显示出当前系统中所有的网络接口信息。
我们可以根据接口的名称找到需要监控的网络接口,例如eth0、wlan0等。
二、使用iftop命令实时监控网络流量iftop是一个可以实时查看网络流量的工具,它可以显示出每个网络连接的流量情况,包括发送和接收的数据量,以及带宽的使用情况。
通过监控网络流量,我们可以观察到当前网络上的实时数据传输情况。
首先,我们需要安装iftop工具。
在终端中输入以下命令:sudo apt-get install iftop```安装完成后,我们可以通过以下命令来使用iftop工具:```sudo iftop -i <接口名称>```其中,<接口名称>是需要监控的网络接口名称,例如eth0、wlan0等。
执行命令后,将会出现一个类似终端的界面,显示出当前网络连接的信息和流量情况。
按下Ctrl + C即可退出iftop。
三、使用nethogs命令监控网络流量nethogs是一个可以监控网络流量的命令行工具,它可以显示出每个进程使用的网络带宽和流量情况。
通过监控进程的网络流量,我们可以了解到每个进程对网络的使用情况,帮助我们发现异常的网络活动。
首先,我们需要安装nethogs工具。
在终端中输入以下命令:```sudo apt-get install nethogs```安装完成后,我们可以通过以下命令来使用nethogs工具:sudo nethogs <接口名称>```其中,<接口名称>是需要监控的网络接口名称,例如eth0、wlan0等。
Linux下系统如何监控服务器硬件、操作系统、应⽤服务和业务1.Linux监控概述Linux服务器要保证系统的⾼可⽤性,需要实时了解到服务器的硬件、操作系统、应⽤服务等的运⾏状况,各项性能指标是否正常,需要使⽤各种LINUX命令。
做到⾃动化运维就需要,将上述各项监控指标在同⼀个软件中展显出来,图形化监控,消息报警机制,⽇志检看,资产管理等等2.Linux监控的对象2.1 硬件监控(1)服务器:如电源,风扇,磁盘,CPU等,可以使⽤IPMI监控,在LINUX下安装IPMITOOL不同的服务器⼚商都在服务器上配有远程控制卡BMC: 如DELL(iDRAC) ,IBM (IMM) ,HP(ILO)LINUX下只需安装:#yum install -y OpenIPMI ipmitool 这⼆个⼯具就可以IPMI命令可以在服务器本地运⾏,也可以通过⽹络远程调⽤,IPMI在服务器上可以配置单独的IP地址和访问密码(2)⽹络设备:交换机,防⽕墙,路由器等,使⽤SNMP进⾏监控在被监控的设备上开启SNMP代理,到时可以通过⼯具进⾏获取数据,如ZABBIX1.LINUX上安装#yum list |grep snmp#yum install -y net-snmp net-snmp-utils安装好后要配置snmpd.conf⽂件rocommunity snmptest 172.16.20.89 #172.16.20.89表⽰仅这IP地址才可以来访问snmp信息#systemctl start snmpd 启动SNMP ,netstat -nulp ,netstat -ntlp 查看snmp启来的端⼝udp=161 ,TCP=199通过SNMP命令可以获取监控信息:#snmpget -v2c -c snmptest 172.16.20.89 1.3.6.1.2.1.1.3.0 #1.3.6.1.2.1.1.3.0为OID2.交换机上开启snmp-server community public ro(3)定期机房巡检,查看设备运⾏情况2.2 操作系统监控安装sysstat⼯具,包括了iostat、vmstat、sar、mpstat、nfsiostat、pidstat (yum install -y sysstat #rpm -ql sysstat)(1)CPU (CPU调度上下⽂切换,运⾏队列负载,CPU使⽤率)确定服务类型:IO密集型(如:数据库),CPU密集型(如:WEB)1.cpu利⽤率内核态: 30%和⽤户态:70%2.cpu运⾏队列:1~3线程 1CPU=4核队列不超过12个3.上下⽂切换:尽量少,结合cpu利⽤率4.#top命令(显⽰CPU和内存信息,M按内存使⽤率排序,P按CPU使⽤率排序,Q退出)CPU百分⽐各项指标: us:⽤户态 sy:内核态 ni:进程间优先级更换 id:空闲 wa:IO等待 hi:硬中断 si:软件中 st:虚拟5.CPU监控的各种命令:top ,vmstat , mpstat, uptime ,ps cpu进程情况,pstree 以树形结构显⽰进程之间的关系(2)内存1. free -m :显⽰内存信息2.vmstat :来监控虚拟内存 #vmstat 1 10 每隔1秒共10次获取监控信息(3)磁盘1.iostat:命令⽤来显⽰存储⼦系统的详细信息,通常⽤它来监控磁盘 I/O 的情况。
Linux终端中的系统监控命令Linux操作系统作为一种强大而稳定的操作系统,被广泛应用于服务器管理和嵌入式设备等领域。
在Linux终端中,系统管理员可以使用一系列的系统监控命令来实时监控系统的运行状态和性能指标。
本文将介绍几个常用的系统监控命令,包括top、df、free、vmstat和iotop 等,以帮助读者全面了解系统状态并及时处理问题。
1、top命令top命令是一个实时性能监控工具,在终端中可以显示当前系统的进程信息、CPU使用率、内存使用情况和系统负载等。
通过top命令,系统管理员可以快速了解系统上的资源占用情况,并及时发现可能存在的性能瓶颈。
2、df命令df命令用于显示文件系统的磁盘使用情况,可以查看各个分区的剩余空间和使用率等信息。
该命令对于管理服务器的系统管理员来说尤为重要,可以帮助其判断磁盘空间是否充足,并及时采取措施进行磁盘清理或者扩容。
3、free命令free命令用于显示系统的内存使用情况,可以查看已使用内存和可用内存的大小。
通过该命令,系统管理员可以了解当前内存的使用情况,并根据实际需求进行内存优化和管理。
4、vmstat命令vmstat命令用于实时监控系统的虚拟内存、进程、系统各种资源等。
通过该命令,系统管理员可以查看系统的运行状态和性能指标,包括内存使用情况、CPU使用率、进程数量等。
同时,vmstat命令还可以提供每隔一段时间的统计数据,帮助管理员进行长期性能分析和优化。
5、iotop命令iotop命令用于监控系统中的磁盘IO情况,可以查看磁盘读写速度和占用率等信息。
这对于需要高吞吐量的应用程序和数据库服务器来说尤为重要,可以帮助系统管理员及时发现磁盘IO瓶颈,并进行优化。
综上所述,Linux终端中的系统监控命令是系统管理员必备的工具。
通过这些命令,管理员可以实时监控系统的运行状态和性能指标,及时发现和解决问题,确保系统的稳定性和高性能运行。
因此,学会正确使用这些命令,对于系统管理员来说是非常重要的。
Nagios+Cacti监控之
NRPE监控linux本地信息(一)
描述:监控远程主机的磁盘容量,cpu负载这样的本地信息。
nagios利用NRPE实验对远程主机的“本地信息”进行监控。
NRPE工作原理
NRPE 由两部分组成:
check_nrpe 插件,位于监控主机上
NRPE daemon,运行在远程的Linux主机上(通常是被监控机)
当Nagios需要监控某个远程Linux主机的服务或者资源时:
1. nagios 会运行check_nrpe这个插件,告诉它要检查什么;
2. check_nrpe 插件会连接到远程的NRPE daemon,所用的方式是SSL;
3. NRPE daemon 会运行相应的Nagios插件来执行检查;
4. NRPE daemon 将检查的结果返回给check_nrpe插件,插件将其递交给nagios做处理。
需求:监控机监控远程主机的cpu、磁盘、内存等信息。
目的:实现监控远程主机的各项基本信息。
在监控主机上:
1.安装check_nrpe插件
tar zxvf nrpe-2.13.tar.gz
cd nrpe-2.13
./configure-prefix=/var/www/html/nagios
make all
make install-plugin
在被监控机上:
yum -y install xinetd
1.增加用户设定密码
useradd nagios -p Per@f0ect*(写入你准备设置的密码)
2.安装nagios插件
cd /soft
tar zvxf nagios-plugins-1.4.16.tar.gz
cd nagios-plugins-1.4.16
./configure --prefix=/var/www/html/nagios/
make &&make install
3.这一步完成后,会在/var/www/html/nagios下生成3个目录include、libexec、share
4.修改目录权限
chown nagios.nagios /var/www/html/nagios
chown -R nagios.nagios /var/www/html/nagios/libexec
5.安装NRPE
cd /soft
tar zxvf nrpe-2.13.tar.gz
cd nrpe-2.13
./configure-prefix=/var/www/html/nagios
make all
make install-daemon
make install-daemon-config
6.现在在查看nagios目录,有5个文件
7.是将NRPE daemon 作为xinetd下的一个服务运行的。
在nrpe目录下执行
make install-xinetd
8.编辑这个脚本
vim /etc/xinetd.d/nrpe
only_from 后增加监控主机的IP地址
9.编辑/etc/services 文件,在末尾增加NRPE服务
vi /etc/services
10.启动xinetd服务
service xinetd start
11.查看NRPE是否已经启动
netstat -an | grep 5666
可以看到5666端口已经在监听了。
12.被监控端iptables给权限
vi /etc/sysconfig/iptables 添加下面2行,
-A INPUT -s 140.206.75.42/32 -p udp -m udp --dport 161 -j ACCEPT
-A INPUT -s 140.206.75.42/32 -p tcp -m tcp --dport 5666 -j ACCEPT 重启防火墙:
service iptables restart
到此,便完成了linux监控被监控机的本地信息的准备工作。