有什么监控Linux服务器的工具吗?

有什么监控Linux服务器的工具吗?,第1张

1、Ganglia
是一个集群监控软件,可以监视和显示集群中的节点的各种状态信息,比如:CPU、mem、硬盘利用率、I/O负载网络流量情况等,同时可以将历史数据以曲线方式通过php页面呈现,此软件主要是用来监控系统性能的软件,通过曲线可以很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。
它是分布式的监控系统,有两个Daemon,是一个Linux下图形化监控系统运行性能的软件,界面美观、丰富,功能强大。
RRDtool是系统存放和显示time-series (即网络带宽、温度、人数、服务器负载等) 。并且它提出有用的图表由处理数据强制执行有些数据密度。
2、Cacti
是一套基于PHP、MySQL、SNMP及RRDTool开发的网络流量监测图形分析工具,通过snmpget来获取数据,使用RRDTool绘画图形,提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结 构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。
cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。
3、Zenoss
是一款智能监控软件,允许IT管理员依靠单一的WEB控制台来监控网络架构的状态和健康度。Zenoss Core同时也是开源的网络与系统管理软件。
Zenoss提供功能丰富的产品,以监测整个IT基础设施:
网络 -路由器,交换机,防火墙,接入点;
服务器 -微软的Windows , Linux , Unix系统,惠普, NetApp,戴尔;
虚拟化 -完整虚拟机虚拟化基础架构( VI3 )管理, XenSource监测;
应用领域 -Process(程序),Port,网络应用服务, Web服务,数据库,中间件,商业企业应用方案 ;
4、Argus
是一个网络连接监控器,可以利用它来定制监控网络中符合某种条件的计算机,例如网络空闲、断开等。
5、Monit
是一款功能非常丰富的进程、文件、目录和设备的监测软件,用于UNIX平台,可以自动修复那些已经停止运行的程序,适合处理那些由于多种原因导致的软件错误。
6、Nagios
是一个监视系统运行状态和网络信息的监视系统,能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。
Nagios的主要功能特点:
监视网络服务(SMTP、POP3、>vmstat 和 pidstat。vmvmstat 可查看系统总体的指标,pidstat则详细到每一个进程服务的指标

Swap 其实就是把一块磁盘空间或者一个本地文件,当成内存来使用。swap 换出,把进程暂时不用的内存数据存储到磁盘中,并释放这些数据占用的内存。swap 换入,在进程再次访问这些内存的时候,把它们从磁盘读到内存中来

当一个网络帧到达网卡后,网卡会通过 DMA 方式,把这个网络包放到收包队列中;然后通过硬中断,告诉中断处理程序已经收到了网络包。接着,网卡中断处理程序会为网络帧分配内核数据结构(sk_buff),并将其拷贝到 sk_buff 缓冲区中;然后再通过软中断,通知内核收到了新的网络帧。内核协议栈从缓冲区中取出网络帧,并通过网络协议栈,从下到上逐层处理这个网络帧

jenkins 不能监控linux性能,jenkins是分布式调用的软件,可以定时执行任务,可以按要求顺序执行脚本,但是本身不带监控性能的功能,如果要监控linux的性能,应该用nagios。

nagios监控linux性能服务器搭建详解:

配置安装环境-----搭建apache+php环境

首先需要先创建一个名为nagios的帐号并给定登录口令,并创建一个用户组名为nagcmd用于从Web接口访问。将nagios用户和apache用户都加到这个组中

现在开始解压安装nagios源码包。注意的是安装一定要注意不要出先erro否则后面排错的时候会非常的头痛哦

配置WEB接口:在上一步中安装了一个配置文件nagiosconf到了/etc/>

对应的应该创建一个的用户用于Nagios的WEB接口登录。记住设置好的登录口令,一会儿会用到它。之后需要重启apache

简单的配置nagios,让它可以监控安装了nagios程序的SERVER,也就是本机。nagios被安装在了在/usr/local/nagios目录下,可以看到如下命令bin------ 有一个重要的nagios命令,用于检查nagios主配置文件nagioscfg是否有语法等错误,libexec 此目录下存放所有用于监控的命令(要安装nagios-plugins插件才会有这些命令)share 此目录就是上面WEB接口访问的站点目录,var 存放启动nagios后的相关文件

安装nagios 插件,解压后编译安装

安装插件完成后,会产生很多类似check_>

启动nagios 服务。把Nagios加入到服务列表中以使之在系统启动时自动启动# chkconfig --add nagios   #  chkconfig nagios on验证Nagios的样例配置文件(只有此步正常,你才去启动服务)/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagioscfg如果没有报错,可以启动Nagios服务# service nagios start

登录WEB接口,现在可以从WEB方式来接入Nagios的WEB接口了,需要在提示下输入用户名(nagiosadmin)和口令,刚刚设置的,这里用系统默认安装的浏览器,用下面这个超链接>

NRPE的安装配置:

NRPE是nagios的一个扩展,它被用于被监控的服务器上,向nagios监控平台提供该服务器的一些本地的情况。例如,cpu负载、内存使用、硬盘使用等等。

1)需要在nagios监控平台服务器上安装NRPE

# tar xzf nrpe-281targz

# cd nrpe-281

# /configure && make all && make install-plugin

如果安装成功,就可以在//nagios/libexec 目录中找到 "check_nrpe"这个插件。之后需要定义一个可以在监控平台使用的命令,这个定义一般在//nagios/etc/commandscfg中,其内容如下:在commandscfg加入:

define command{

command_name check_nrpe

command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$

}

这样就可以在定义服务的时候使用这个命令了,举个例子:

define service{

host_name remotehost

service_description CPU Load

check_command check_nrpe!check_load }

这个例子就定义了对remotehost服务器cpu负载情况的监控。

2)如何在被监控服务器上安装NRPE。

首先,需要准备的包有两个:NRPE和nagios-plugin。首先安装插件:

# /usr/sbin/useradd nagios

# passwd nagios

# tar xzf nagios-plugins-149targz

# cd nagios-plugins-149

# /configure --prefix=/usr/local/nagios && make && make install

# chown nagiosnagios /usr/local/nagios/

# chown -R nagiosnagios /usr/local/nagios/libexec/

然后安装NRPE:

tar xzf nrpe-281targz

cd nrpe-281

/configure && make all && make install-plugin && make install-daemon

&& make install-daemon-config

安装好了,可以到/usr/local/nagios/下面检查一下,应该生成了4个目录:bin、etc、libexec、share。之后我们要配置 一下,目的是让NRPE可以以守护进程的形式监听5666端口,为特定地址的nagios平台提供服务。

首先,需要修改/usr/local/nagios/etc/nrpecof。

找到“allowed_hosts=127001”将其改为:allowed_hosts=127001,$Nagios监控平台的地址或域名

3)启动NRPE守护进程:(可以将此命令加入/etc/rclocal,以便开机自动启动)

# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpecfg -d

此命令生成的日志会在系统的日志(/var/log/message)中。如果没有出错,就基本搞定了。验收一下,在本机上:# /usr/local/nagios/libexec/check_nrpe -H 127001  或者在nagios监控平台服务器上:

# /usr/local/nagios/libexec/check_nrpe -H $目标主机地址

正常的返回值为被监控服务器上安装的NRPE的版本信息:

NRPE v281

如果看到这些,NRPE安装成功了。

那么,通过NRPE,可以监控到哪些信息呢? 只要在被监控服务器上有的插件(/usr/local/nagios/libexec中的所有插件),都可以使用。也就是说,你想监控什么,只要有对应的插件,就可以实现。

在被监控端的 nrpecfg 文件中,可以看到这样的配置:

command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20

这是用来检查 CPU 负载的。

方法一:
通过top命令来查看服务器负载
再对此Linux服务器性能分析之前,先了解下Linux系统Load average负载的知识,负载均值在 uptime 或者top 命令中可以看到
方法二:输入 iostat -x -k -t
说明:%util: 一秒中有百分之多少的时间用于 I/O *** 作,或者说一秒中有多少时间 I/O 队列是非空的。
即 delta(use)/s/1000 (因为use的单位为毫秒)
如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
方法三:
如果玩游戏很卡,可以用hdparm –t /dev/磁盘名称来测试磁盘性能是否达标
说明:sd表示硬盘是SATA,SCSI或者SAS,a表示串口的第一块硬盘

首先 、用top命令查看
top - 16:15:05 up 6 days, 6:25, 2 users, load average: 145, 177, 214
Tasks: 147 total, 1 running, 146 sleeping, 0 stopped, 0 zombie
Cpu(s): 02% us, 02% sy, 00% ni, 869% id, 126% wa, 00% hi, 00% si
Mem: 4037872k total, 4003648k used, 34224k free, 5512k buffers
Swap: 7164948k total, 629192k used, 6535756k free, 3511184k cached
查看126% wa
IO等待所占用的CPU时间的百分比,高过30%时IO压力高
其次、 用iostat -x 1 10
avg-cpu: %user %nice %sys %iowait %idle
000 000 025 3346 6629
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
sda 000 000 000 000 000 000 000 000 000 000 000 000 000
sdb 000 1122 1700 900 19200 921600 9600 460800 12379 13723 103343 1317 10010
sdc 000 000 000 000 000 000 000 000 000 000 000 000 000
查看%util 10010 %idle 6629
如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
idle小于70% IO压力就较大了,一般读取速度有较多的wait
同时可以结合vmstat 查看查看b参数(等待资源的进程数)
vmstat -1
如果你想对硬盘做一个IO负荷的压力测试可以用如下命令
time dd if=/dev/zero bs=1M count=2048 of=direct_2G
此命令为在当前目录下新建一个2G的文件
我们在新建文件夹的同时来测试IO的负荷情况


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/12640975.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存