linux查看服务器状态命令linux查看服务器状态
linux命令如何查看服务器名称?
需要准备的材料分别是:电脑、linux连接工具。
1、首先连接上linux主机,进入等待输入指令的linux命令行状态。
2、在命令行状态下,输入指令:hostname,按回车。
3、此时会打印出服务器名称,例如:bogon。
Linux中的查看服务器运行的日志的命令是什么呢?
只知道个/var/log/messages这个日志,关于mail的就不知道了,查看邮件队列用的是mailq命令,/var/spool/mqueue这个文件是暂存发送不出去的邮件
如何查看linux服务器io读写情况?
用iotop查看哪个进程的io占用最高,然后用top命令查看此io进程的状态是否_列,初步估计大部分是web服务器的写操作导致的,让程序员优化这部分。
Linux怎么检查web服务器状态?
通过查看进程是否存在,命令ps-efgreptomcat可以查看服务,如果服务已启动会显示有对应路径的信息,也可以通过status查看phpstatus
Monit是什么?
Monit是
一个跨平台的用来监控Unix/linux系统(比如Linux、BSD、OSX、Solaris)的工具。Monit特别易于安装,而且非常轻量级(只
有500KB大小),并且不依赖任何第三方程序、插件或者库。然而,Monit可以胜任全面监控、进程状态监控、文件系统变动监控、邮件通知和对核心服务
的自定义动作等场景。易于安装、轻量级的实现以及强大的功能,让Monit成为一个理想的后备监控工具。
我
已经在一些机器使用Monit几年了,而且我对它的可靠性非常满意。甚至作为全面的监控系统,对任何Linux系统管理员来说Monit也是非常有用和强
大的。在这篇教程中,我会展示如何在一个本地服务器部署Monit(作为后备监控系统)来监控常见的服务。在部署过程中,我只会展示我们用到的部分。
在Linux安装Monit
Monit已经被包含在多数Linux发行版的软件仓库中了。
Debian、Ubuntu或者Linux Mint:
$ sudo aptitude install monit
Fedora或者CentOS/RHEL:
在CentOS/RHEL中,你必须首先启用EPEL或者Repoforge软件仓库
# yum install monit
Monit
自带一个文档完善的配置文件,其中包含了很多例子。主配置文件在/etc/monitconf(Fedora/CentOS/RHEL
中),或者/etc/monit/monitrc(Debian/Ubuntu/Mint
中)。Monit配置文件有两部分:“Global”(全局)和“Services”(服务)。
Global Configuration: Web Status Page (全局配置:Web状态页面)
Monit可以使用邮件服务来发送通知,也可以使用HTTP/HTTPS页面来展示。我们先使用如下配置的web状态页面吧:
Monit监听1966端口。
对web状态页面的访问是通过SSL加密的。
使用monituser/romania作为用户名/口令登录。
只允许通过localhost、myhostmydomainro和在局域网内部(19216800/16)访问。
Monit使用pem格式的SSL证书。
之后的步骤,我会使用一个基于Red Hat的系统。在基于Debian的系统中的步骤也是类似的。
首先,在/var/cert生成一个自签名的证书(monitpem):
# mkdir /var/certs # cd /etc/pki/tls/certs # /make-dummy-cert monitpem # cp monitpem /var/certs # chmod 0400 /var/certs/monitpem
现在将下列代码片段放到Monit的主配置文件中。你可以创建一个空配置文件,或者基于自带的配置文件修改。
set httpd port 1966 and SSL ENABLE PEMFILE /var/certs/monitpem allow monituser:romania allow localhost allow 19216800/16 allow myhostmydomainro
Global Configuration: Email Notification (全局配置:邮件通知)
然后,我们来设置Monit的邮件通知。我们至少需要一个可用的SMTP服务器来让Monit发送邮件。这样就可以(按照你的实际情况修改):
邮件服务器的机器名:smtpmonitro
Monit使用的发件人:monit@monitro
邮件的收件人:guletz@monitro
邮件服务器使用的SMTP端口:587(默认是25)
有了以上信息,邮件通知就可以这样配置:
set mailserver smtpmonitro port 587 set mail-format { from: monit@monitro subject: $SERVICE $EVENT at $DATE on $HOST message: Monit $ACTION $SERVICE $EVENT at $DATE on $HOST : $DESCRIPTION Yours sincerely, Monit } set alert guletz@monitro
就像你看到的,Monit会提供几个内部变量($DATE、$EVENT、$HOST等),你可以按照你的需求自定义邮件内容。如果你想要从Monit所在机器发送邮件,就需要一个已经安装的与sendmail兼容的程序(如postfix或者ssmtp)。
Global Configuration: Monit Daemon (全局配置:Monit守护进程)
接下来就该配置Monit守护进程了。可以将其设置成这样:
在120秒后进行第一次检测。
每3分钟检测一次服务。
使用syslog来记录日志。
如下代码段可以满足上述需求。
set daemon 120 with start delay 240 set logfile syslog facility log_daemon
我们必须定义“idfile”,Monit守护进程的一个独一无二的ID文件;以及“eventqueue”,当monit的邮件因为SMTP或者网络故障发不出去,邮件会暂存在这里;以及确保/var/monit路径是存在的。然后使用下边的配置就可以了。
set idfile /var/monit/id set eventqueue basedir /var/monit
测试全局配置
现在“Global”部分就完成了。Monit配置文件看起来像这样:
# Global Section # status webpage and acl's set httpd port 1966 and SSL ENABLE PEMFILE /var/certs/monitpem allow monituser:romania allow localhost allow 19216800/16 allow myhostmydomainro # mail-server set mailserver smtpmonitro port 587 # email-format set mail-format { from: monit@monitro subject: $SERVICE $EVENT at $DATE on $HOST message: Monit $ACTION $SERVICE $EVENT at $DATE on $HOST : $DESCRIPTION Yours sincerely, Monit } set alert guletz@monitro # delay checks set daemon 120 with start delay 240 set logfile syslog facility log_daemon # idfile and mail queue path set idfile /var/monit/id set eventqueue basedir /var/monit
现在是时候验证我们的工作了,你可以通过运行如下命令来验证存在的配置文件(/etc/monitconf):
# monit -t Control file syntax OK
如果monit提示任何错误,请再检查下配置文件。幸运的是,错误/警告信息是可以帮助你发现问题的,比如:
monit: Cannot stat the SSL server PEM file '/var/certs/monitpem' -- No such file or directory /etc/monit/monitrc:10: Warning: hostname did not resolve 'smtpmonitro'
一旦你确认配置文件没问题了,可以启动monit守护进程,然后等2到3分钟:
# service monit start
如果你使用的是systemd,运行:
# systemctl start monit
现在打开一个浏览器窗口,然后访问https://<monit_host>:1966。将<monit_host>替换成Monit所在机器的机器名或者IP地址。
如果你使用的是自签名的SSL证书,你会在浏览器中看到一个警告信息。继续访问即可。
你完成登录后,就会看到这个页面。
在这个教程的其余部分,我们演示监控一个本地服务器和常见服务的方法。你会在官方wiki页面看到很多有用的例子。其中的多数是可以直接复制粘贴的!
Service Configuration: CPU/Memory Monitoring (服务配置:CPU、内存监控)
我们先来监控本地服务器的CPU、内存占用。复制如下代码段到配置文件中。
check system localhost if loadavg (1min) > 10 then alert if loadavg (5min) > 6 then alert if memory usage > 75% then alert if cpu usage (user) > 70% then alert if cpu usage (system) > 60% then alert if cpu usage (wait) > 75% then alert
你可以很容易理解上边的配置。最上边的check是指每个监控周期(全局配置里设置的120秒)都对本机进行下面的操作。如果满足了任何条件,monit守护进程就会使用邮件发送一条报警。
如果某个监控项不需要每个周期都检查,可以使用如下格式,它会每240秒检查一次平均负载。
if loadavg (1min) > 10 for 2 cycles then alert
Service Configuration: SSH Service Monitoring (服务配置:SSH服务监控)
先检查我们的sshd是否安装在/usr/sbin/sshd:
check file sshd_bin with path /usr/sbin/sshd
我们还想检查sshd的启动脚本是否存在:
check file sshd_init with path /etc/initd/sshd
最后,我们还想检查sshd守护进程是否存活,并且在监听22端口:
check process sshd with pidfile /var/run/sshdpid start program "/etc/initd/sshd start" stop program "/etc/initd/sshd stop" if failed port 22 protocol ssh then restart if 5 restarts within 5 cycles then timeout
我
们可以这样解释上述配置:我们检查是否存在名为sshd的进程,并且有一个保存其pid的文件存在(/var/run/sshdpid)。如果任何一个
不存在,我们就使用启动脚本重启sshd。我们检查是否有进程在监听22端口,并且使用的是SSH协议。如果没有,我们还是重启sshd。如果在最近的5
个监控周期(5x120秒)至少重启5次了,sshd就被认为是不能用的,我们就不再检查了。
Service Configuration: SMTP Service Monitoring (服务配置:SMTP服务监控)
现在我们来设置一个检查远程SMTP服务器(如192168111102)的监控。假定SMTP服务器运行着SMTP、IMAP、SSH服务。
check host MAIL with address 192168111102 if failed icmp type echo within 10 cycles then alert if failed port 25 protocol smtp then alert else if recovered then exec "/scripts/mail-script" if failed port 22 protocol ssh then alert if failed port 143 protocol imap then alert
我
们检查远程主机是否响应ICMP协议。如果我们在10个周期内没有收到ICMP回应,就发送一条报警。如果监测到25端口上的SMTP协议是异常的,就发
送一条报警。如果在一次监测失败后又监测成功了,就运行一个脚本(/scripts/mail-script)。如果检查22端口上的SSH或者143端
口上的IMAP协议不正常,同样发送报警。
1、首先是对于CPU的说明
服务器CPU性能参数主要信息可以通过查看 /proc/cpuinfo 获得。具体查看指令及效果如下:
显示这台服务器上有2个物理CPU
显示这台服务器的物理核数为16个
显示运行模式为64位
显示为Intel(R) Xeon(R) Gold 6226R CPU @ 290GHz
命令:
显示此服务器的线程数为64
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态如果在前台执行该命令,它将独占前台,直到用户终止该程序为止比较准确的说,top命令提供了实时的对系统处理器的状态监视它将显示系统中CPU最“敏感”的任务列表该命令可以按CPU使用内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定
1.命令格式:
top [参数]
2.命令功能:
显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等
3.命令参数:
-b 批处理
-c 显示完整的治命令
-I 忽略失效过程
-s 保密模式
-S 累积模式
-i<时间> 设置间隔时间
-u<用户名> 指定用户名
-p<进程号> 指定进程
-n<次数> 循环显示的次数
4.使用实例:
实例1:通过 Top 命令显示进程信息
命令:
统计信息区:
前五行是当前系统情况整体的统计信息区。下面我们看每一行信息的具体意义。
第一行,任务队列信息,同 uptime 命令的执行结果,具体参数说明情况如下:
10:38:58 — 当前系统时间
up 39 days, 19:47 — 系统已经运行了39天19小时47分钟(在这期间系统没有重启过的吆!)
1 users — 当前有1个用户登录系统
load average: 000, 000, 000 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
第二行,Tasks — 任务(进程),具体信息说明如下:
系统现在共有769个进程,其中处于运行中的有1个,463个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
第三行,cpu状态信息,具体属性说明如下:
00%us — 用户空间占用CPU的百分比。
00% sy — 内核空间占用CPU的百分比。
00% ni — 改变过优先级的进程占用CPU的百分比
1000% id — 空闲CPU百分比
00% wa — IO等待占用CPU的百分比
00% hi — 硬中断(Hardware IRQ)占用CPU的百分比
00% si — 软中断(Software Interrupts)占用CPU的百分比
备注:在这里CPU的使用比率和windows概念不同,需要理解linux系统用户空间和内核空间的相关知识!
第四行,内存状态,具体信息如下:
65600012k total — 物理内存总量
1785256k used — 使用中的内存总量
62385920k free — 空闲内存总量
1428836k buffers — 缓存的内存量
第五行,swap交换分区信息,具体信息说明如下:
2097148k total — 交换区总量
918340k used — 使用的交换区总量
1178808k free — 空闲交换区总量
备注:
第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。
对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。
第六行,空行。
第七行以下:各进程(任务)的状态监控,项目列信息说明如下:
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 — 进程名称(命令名/命令行)
或者通过 free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。
命令:
显示我当前的服务器的物理内存是62G,其中交换内存是2个G,一共剩余是60G的
三、查看Linux内核当前的系统版本号
命令:
显示的当前的服务器Linux内核是Ubuntu系统,版本号是18046
当服务器系统性能突然低于平均应有的情况,问题可能来自在执行的进程、内存的使用率、磁盘的性能和CPU 的压力。在预算有限的时代,理解如何优化系统性能比以往任何时候都重要。要实现它的前提是,你必须充分了解自己的服务器,从而找到真正的瓶颈所在。本文提供一些基础的工具来辨别和处理一些性能问题。工作过程是:首先查看整个系统的状态(服务器整体)后是检查特定的子系统(内存、处理器、IO等)。
一、系统负载监测
1使用uptime命令
2使用cron命令进行定时监测系统负载:
二、Unix进程运行的监测
1使用ps命令
Unix系统提供了ps等察看进程信息的系统调用,通过结合使用这些系统调用,我们可以清晰地了解进程的运行状态以及存活情况,从而采取相应的措施,来确保Unix系统的性能。它们是目前在Unix下最常见的进程状况查看工具,是随 Unix版本发行的,安装好系统之后,用户就可以使用。 这里以ps命令为例,ps命令是最基本同时也是非常强大的进程查看命令。利用它可以确定有哪些进程正在运行及运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等。ps命令可以监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的
2使用进程监控工具
如果安装了CDE环境,可以使用图形界面进程等系统信息,使用方法是单击“前面板”上“工具”子面板上的“查找进程”控件。 显示“进程管理器”主窗口。它立即对工作站进行采样,并显示所有当前进程的采样。
三、内存使用情况监测
内存是Unix内核所管理的最重要的资源之一。内存管理系统是操作系统中最为重要的部分,因为系统的物理内存总是少于系统所需要的内存数量。虚拟内存就是为了克服这个矛盾而采用的策略。系统的虚拟内存通过在各个进程之间共享内存而使系统看起来有多于实际内存的内存容量。Unix支持虚拟内存, 就是使用磁盘作为RAM的扩展,使可用内存相应地有效扩大。核心把当前不用的内存块存到硬盘,腾出内存给其他目的。当原来的内容又要使用时,再读回内存。
ubuntu查看网络连接的带宽?
ubuntu下用ethstatus可以监控实时的网卡带宽占用。这个软件能显示当前网卡的RX和TX速率,单位是Byte安装ethstatus软件sudoapt-getinstallethstatus查看ADSL的速度sudoethstatus-ippp0查看网卡的速度sudoethstatus-ieth0
linux查看网速?
linux测网速的方法有:
1在开始菜单中输入:ping2029922468-t一般time300ms说明网络就比较繁忙了。
2点开360安全卫士,再点高级工具,你就看流量监控器,点开它,点右上角有个设置,在显示悬浮窗前打勾就得了
除了这两种方法,还可以用其他测网速的工具测试!
linux常用的系统工具?
Linux用户常用的10个工具,其中包括网络监控、系统审计或其它有用命令,这10个Linux工具可以帮助大家提高工作和使用效率,非常实用。分别如下:
1w
对,你没看错,就是w命令。使用该命令我们可以查看到当前登录系统的用户是谁,以及执行了哪些命令。
2nmon
Nmon是一个可以监控当前系统性能的小工具,使用之前需要先用如下命令进行安装:
sudoapt-getinstallnmon
安装好后执行nmon命令即可打开:
nmon
nmon可以查看网络、CPU、内存和磁盘的使用情况。
打开之后按c查看CPU信息:
打开之后按n查看网络信息:
磁盘空间监控(磁盘使用率)是IT运维管理中十分重要的监控项目之一,主要监控计算机的逻辑磁盘空间使用率,在一些较大增长率的系统(比如Oracle表空间的分区、访问日志记录分区等)中对磁盘空间的监控显得十分重要。
哲涛SUM服务器监控软件可以对Windows的磁盘空间、Linux的磁盘空间、AIX的磁盘空间、Solaris的磁盘空间、HP-UNIX的磁盘空间、FreeBSD的磁盘空间以及任何GNULinux版本的磁盘空间进行监控。SUM服务器监控软件中磁盘空间监控主要包括磁盘空间使用率指标、磁盘已用空间、磁盘剩余空间以及磁盘总空间等的监控项目。
磁盘空间使用率监控-SUM服务器监控软件
3ncdu
ncdu命令可以用来查看和分析Linux中各目录对磁盘空间占用情况的工具,请使用如下命令进行安装:
apt-getinstallncdu
安装好后执行如下命令即可从根目录开始分析:
ncdu/
注意:执行上述命令会占用大量磁盘I/O
分析完成后,会生成类似如下截图的输出:
我们可以在结果界面按n按名称进行排序或按s按大小进行排序。
SUM服务器监控软件对Linux的监控是SUM最基本的功能之一。
哲涛SUM服务器监控软件作为集中监控平台类软件,它对各种Linux操作系统可以进行集中、统一的监控,它主要对Linux的CPU使用率、内存使用率、磁盘空间使用、进程等进行统一的监控。在SUM服务器监控软件中,不仅可以对Linux系统基本性能进行监控,同时还可以对Linux一定的集中管理,比如执行Linux的命令、重启Linux服务器、重启某些进程等。
Linux监控、Linux服务器监控、LinuxCPU监控、Linux内存监控、Linux磁盘监控
4slurm
slurm是一个网卡带宽监控命令行实用程序,它会自动生成ASCII图形输出。使用之前先用如下命令进行安装:
apt-getinstallslurm
使用如下命令进行输出:
slurm-i
slurm界面中可以执行如下选项:
◆I:显示lx/tx状态
◆c:切换到经典界面
◆r:手动刷新界面
◆q:退出工具
5findmnt
Findmnt是一个Linux内置的命令行工具,它主要用于查找挂载的文件系统状态。Findmnt可以查看到当前系统中已挂载的设备,在必要时还可进行mount或unmount操作。
执行findmnt命令后会看到如下输入:
当然,还有如下参数可用:
◆findmnt-l:以列表方式进行输出
◆findmnt-s:输出fstab中挂载的设备
◆findmnt-text4:按文件系统类型进行输出
6dstat
dstat是一个可以非常灵活使用和进行组合使用的工具,它可用于监控内存、进行、网络及磁盘性能,可用于替代ifstat、iostat、dmstat等工具。使用之前需先执行如下命令进行安装:
apt-getinstalldstat
执行如下命令可以看到所有监控数据:
dstat
其可选参数非常多,常用的有:
◆dstat-c:监控CPU
◆dstat-cdl-Dsda1:监控CPU详细信息
◆dstat-d:监控磁盘
7saidar
saidar是另一个CLI系统数据监控和统计工具,可提供有关磁盘、网络、存储和SWAP的监控信息。使用之前需先使用如下命令进行安装:
sudoapt-getinstallsaidar
安装完成后可直接执行saidar进行输出,但我们通常使用带参数的命令生成带颜色输出:
saidar-c
8ss
ss全称socketstatistics,是一个可以替代netstat的网络连接查看工具。
直接执行ss即可进行查看:
常用参数有:
ss-Atcp:指定查看协议
ss-ltp:显示进程名称和PID
9ccze
ccze非常有用,它可以用不同颜色高亮日志,协助管理员进行区分和查看分析。使用之前需先使用如下命令进行安装:
apt-getinstallccze
我们可以使用类似如下方式进行使用:
tailf/var/log/syslog|ccze
而使用ccze-l参数可以查看其支持的日志类型。
10ranwhenpy
我们最后介绍的ranwhenpy是一个python工具,它可以以图形方式显示系统活动。
要使用该工具需要先安装python语言支持:
sudo
apt-add-repositoryppa:fkrull/deadsnakes
sudoapt-getupdate
sudoapt-getinstallpython32
然后下载ranwhenpy
wget
https://githubcom/p-e-w/ranwhen/archive/masterzip
unzipmasterzipcdranwhen-master
使用如下命令即可执行ranwhenpy
python32ranwhenpy
vmstat 1,文本显示,1代表1s刷新一次
想要曲线的话,把vmstat的结果保存到文本里,然后切到excel下绘图
如果不需要那么短的周期,可用cacti,通过snmp调用,5分钟一个周期。
0条评论