Linux服务器监控软件有哪些
Cacti:是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具,严格意思是说它只能是监控网络设备。
-
Zabbix:是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
-
Nagios:是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设备,打印机等.
4.Ganglia:是一款为HPC(高性能计算)集群而设计的可扩展的分布式监控系统,简单一点来说就是监控大规模服务器才需要使用到。
优点
-
Cacti出图比较好,比较适合作交换机和路由器监控。
-
Zabbix适合中小企业日常部署,监控Linux服务器、Windows服务器、路由器、交换机,报警机制也很友好,可以邮件,微信,短信报警。
-
Nagios适合中小企业部署使用,监控Linux服务器、路由器、交换机,报警机制有邮件、短信。
- Ganglia适合大型企业部署使用,分布式存储,以集群方式来监控,每个区域的Node来监控数据。
缺点
- Catic对服务器监控不好用。
-
Zabbix对超大型、数据量并发很高的应用监控不好,监控会有延时,精度不够,有些监控参数需要会写监控脚本完成。
-
Nagios部署比较复杂,没有经验的用户会被折磨。出图效果不佳需要借助于RRDTool工具出图。
-
Ganglia部署成本较高,需要多台主机,部署相对复杂。
部署Zabbix最为便捷
使用Centos7系统安装LAMP环境搭建一个环境,安装zabbix软件,具体操作如下:
1,安装zabbix源
2,安装Zabbix server,Web前端
3,安装MySQL源
4,查看可用的Mysql安装源:yum repolist enabled | grep "mysql.*-community.*"
5,安装MySQL服务:yum -y install mysql-community-server
5,启动MySQL服务,并且开机自启动。
6,查看MySQL服务启动正常:
7,查看登陆MySQL密码:yG&t<kt*.3Qt
9,登陆MySQL
8,更改MySQL密码:
9,创建数据库和zabbix用户并授权:
10,导入初始架构和数据
11,检查数据库导入情况
12,先备份配置文档
13,修改配置文件
[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf
14,给主目录文档授权
15,启动Zabbix Server服务
16,修改Zabbix默认时区为shanghai
[root@localhost ~]# vim /etc/httpd/conf.d/zabbix.conf +20
17,启动Apache 服务
18,登陆浏览器操作
最后一步下载php
19,把下载下来的文件上传到/etc/zabbix/,你可以使用rz工具上传这个文件。
20,最后打开登陆页面
总结
以上是我工作中用到感觉最为方便的一款监控软件,希望能够对你有所帮助,也希望能和网络上朋友一起多交流。
linux服务器监控工具,可以重启吗?
一般系统的linux服务器的监控没有那么高的要求,所以从启监控工具软件是没有问题的,要求特别高的系统的监控可以设置双机热备。如果监控工具软件有license限制,是绑定机器码的,那么装监控软件的服务器特别是云服务器(云服务器经常从启,更换机器码)不能换,如果换了就会提醒你从新授权license如下图,被云服务器坑过,经常要从新授权,很烦人的。
分享给大家4种监控工具
htop - interactive process viewer交互式进程监控
你大概知道如何查看本机的实时进程状况。如果不知道请使用top命令,如需查看命令说明请使用man top.
htop是top的扩展版本,能更全面的监控进程(比如,全命令展示,可视化、gui和ui)通过点击鼠标进行交互,更有很丰富的指导说明如何管理进程。
安装一下看看:
$ sudo apt-get install htop
Screenshot:
- From my OS X terminal in my Debian 7 box
iotop - simple top-like I/O monitor I/O监控
Iotop可以实时监控IO的情况。它将显示出被监控进程的详细的写入读出(IO) 情况。
它也可以和tcpdump一起使用来监控网络的状况。如果知道80端口上正在进行某些动作那么可以使用该命令查看更多端口详细的信息。
列出信息中最有用的就是DISK WRITE列了,从这就能看到每个进程的IO到底是多少K/秒
安装一下看看:
$ sudo apt-get install iotop
Screenshot:
apachetop - display real-time web server statistics服务器端实时数据
Apachetop显示的是Apache 服务器端收到的http请求的实时状态表
它会显示状态,点击数,请求。请求详情、更可以看到正在进行的动作。
如果你在使用Nginx ,它也有款类似的工具,但是还是不如apachetop给的那么详细
安装下看看:
$ sudo apt-get install apachetop
Screenshot:
Glances - CLI curses based monitoring tool
Glances会分栏显示一些很有用的实时动态数据。 其目标就是利用最小的空间显示尽可能多的有用信息,事实上确实如此。
Glances 监控了PerCPU,负载,内存,数据交换,网络,磁盘I/O,加载数据和进程情况,虽然没有提供交互功能也没有很详尽的信息展示,但对于获取一份信息概览确实足够了。
安装一下看看吧:
$ sudo apt-get install glances
Screenshot:
希望能够帮到你。
如何使用top命令监控Linux系统性能?
top命令是linux系统中比较常用的一个命令了,通常用来监控服务器整体的运行性能,我们可以通过top命令动态输出的数据来判断当前系统的健康状况,包括系统负载、CPU占比、内存使用率等数据。
那么要想搞清楚top命令如何监控Linux系统性能的前提是我们需要知道top命令输出的各项数据的意思,根据这些数据来做下一步的判断。
我们先来看top命令的正常结果输出,如下图所示:
我们可以把top命令输出分为图中红色线框中的两大部分。下面我们挨个讲解这两部分都是什么意思,以便我们可以了解每一个参数以及他对应的数据值是否健康。
大家可以把Linux系统想象成一个去医院体检的人,而top输出的就是这份体检报告,我们需要根据这份体检报告来判断这个人的各项参数指标是否属于正常范围值,也就是这个人是否健康。
load average
这个参数代表的是Linux系统的平均负载,后面三个参数的值代表的是系统一分钟、五分钟、十五分钟三个时间段的平均负载,数字越大说明服务器的压力越大。
那么到底多少是属于健康范围值之内的呢?根据你的CPU核数来定,比如你是2核的,那么健康值就是0~2,四核的就是0~4。因此大家可以根据这个来判断Linux系统的当前负载。
Tasks
可以看到总共80个参数,其中正在运行的有1个,休眠中的有79个,0个停止的进程,0个僵尸进程。
这块的数据基本上没什么太大的异常,基本上同时运行的任务数肯定很少,其他的都在等待,没有停止的进程和僵尸进程就好。
CPU
这块就是CPU的详细信息了,各个字段解释如下:
-
0.5 us:用户空间占用CPU百分比
-
0.2 sy:内核空间占用CPU百分比
-
0.0 ni:用户进程空间内改变过优先级的进程占用CPU百分比
-
99.3 id:空闲CPU百分比
-
0.0 wa:等待输入输出的CPU时间百分比
-
0.0%hi:硬件CPU中断占用百分比
-
0.0%si:软中断占用百分比
-
0.0%st:虚拟机占用百分比
这块数据还是比较明显的,空闲CPU占比99.3%,所以系统压力还是很小的,当然你的系统也是浪费不少资源了。
内存
KiB内存:总共3881688 kb,空闲20032 kb,已使用1536684 kb,缓冲区2144772,那么大家知道可用内存是多少吗?可用内存=空闲内存+缓冲区内存。
KiB交换区:交换区总量0,空闲0,已使用0,缓冲区2076008,大家要注意的一点就是缓冲区不要有被使用,否则系统内存属于不够用的状态。
进程区
进程区代表的是当前系统正在运行的进程的列表,看这个列表的前提是你需要搞清楚表头的每一列代表的意思。
-
PID:进程ID
-
USER:运行该进程的用户
-
PR:优先级
-
NI:nice值,负值表示高优先级,正值表示低优先级
-
VIRT:进程使用的虚拟内存总量,单位kb,VIRT=SWAP+RES
-
RES:进程使用的、未被换出的物理内存大小,单位kb,RES=CODE+DATA
-
SHR:共享内存大小,单位kb
-
S:进程状态,D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程
-
%CPU:当前进程CPU占比
-
%MEM:当前进程内存占比
-
TIME+:进程使用的CPU时间总计,单位1/100秒
-
COMMAND:执行该进程的命令
知道这些字段的意思后,大家就可以查看这个列表里各个进程的情况了,重点关注的参数就是当前进程的CPU占比以及吃了多少内存。
以上就是我对“如何根据Top命令查看Linux系统性能”问题的回答了,实际工作过程中我们还需要结合其他命令和Top命令一起更深一步诊断Linux系统的运行情况。