linux日常

dstat性能监控工具

image

usr:用户占用,sys系统占中,idl cpu空闲, wai等待,hiq中断,siq软件中断

显示的是中断(int)和上下文切换(csw)

 

EPEL源


# Centos 5.x
wget http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
rpm -ivh epel-release-5-4.noarch.rpm

# Centos 6.x
wget http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm

# Centos 7.x
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
rpm -ivh epel-release-7-9.noarch.rpm

yum clean all

nethogs-查看某个进程占用带宽

有时候我们会发现服务器网络慢,进一步发现大量的带宽被占用。有什么简单的办法找出哪个程序(进程)占用了带宽呢?Linux流量监控工具不少, nethogs 有点特别,可以监控每个进程的网络带宽占用情况。

比如我正在备份文件时使用的带宽

image

SENT:发送(上传)

RECEIVED:收到(下载)

1.默认镜像里没这个软件包,先安全epel源

wget http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm 

rpm -ivh epel-release-6-8.noarch.rpm

2.安装nethogs

yum install  –y  nethogs

yum install –y iftop

3.运行nethogs

nethogs

同时监视eth0和eth1接口,使用以下命令即可:

nethogs eth0 eth1

 

 

 

iftop-监控网卡的实时流量

iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等

image

界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。

中间的<= =>这两个左右箭头,表示的是流量的方向。

TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量

-i设定监测的网卡,如:# iftop -i eth1

 

 

 

 

 

 

sar –n DEV 1 2

image

参数说明:

  • IFACE:LAN接口
  • rxpck/s:每秒钟接收的数据包
  • txpck/s:每秒钟发送的数据包
  • rxbyt/s:每秒钟接收的字节数
  • txbyt/s:每秒钟发送的字节数
cat /proc/net/dev
tcpdump

普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包。

监视指定网络接口的数据包

tcpdump -i eth1

如果不指定网卡,默认tcpdump只会监视第一个网络接口,一般是eth0,下面的例子都没有指定网络接口。 

监视指定主机的数据包

打印所有进入或离开sundown的数据包.

tcpdump host sundown

也可以指定ip,例如截获所有210.27.48.1 的主机收到的和发出的所有的数据包

tcpdump host 210.27.48.1 

截获主机hostname发送的所有数据

tcpdump -i eth0 src host hostname

监视所有送到主机hostname的数据包

tcpdump -i eth0 dst host hostname

监视指定主机和端口的数据包

如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令

tcpdump tcp port 23 and host 210.27.48.1

对本机的udp 123 端口进行监视 123 为ntp的服务端口

tcpdump udp port 123 
 
netstat
linux netstat 用不了,安装net-tools即可: yum -y install net-tools
netstat -i                                       #网络错误检查是否有网络错误(drop fifo 

#查看网站并发连接数

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'  

#查看http的并发请求数与其TCP连接状态

netstat -n | awk '/^tcp/ {++b[$NF]} END {for(a in b) print a, b[a]}' 

#查看网站并发连接数

netstat -nat|grep ESTABLISHED|wc –l

netstat & tcpdump   #这两个命令是方便定位出现网络请求的问题。也是适合大致已经定位到这个方向的时候。

netstat -ap | grep ssh                  #找出程序运行的端口

netstat -n | grep tcp | grep 22 | wc -l #监控网络服务连接数

-a (all)显示所有选项,默认不显示LISTEN相关

-t (tcp)仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 拒绝显示别名,能显示数字的全部转化成数字。

-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名

-r 显示路由信息,路由表

-e 显示扩展信息,例如uid等

-s 按各个协议进行统计

-c 每隔一个固定时间,执行该netstat命令

查看连接某服务端口最多的的IP地址
netstat -nat | grep "192.168.199.22:22" |awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -20

netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn   #TCP各种状态统计排序

分析access.log获得访问前10位的ip地址
awk '{print $1}' access.log |sort|uniq -c|sort -nr|head –10 

linux直接下载数据包

wget  --no-check-certificat https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.11/zabbix-3.2.11.tar.gz

lnmp/lamp环境一键搭建

2、下载并安装LNMP一键安装包:
您可以选择使用下载版(推荐美国及海外VPS或空间较小用户使用)或者完整版(推荐国内VPS使用,国内用户可用在下载中找国内下载地址替换),两者没什么区别,只是完整版把一些需要的源码文件预先放到安装包里。
安装LNMP稳定版
wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp
默认安装lnmp可不写,如需要安装LNMPA或LAMP,将./install.sh 后面的参数替换为lnmpa或lamp即可。如需更改网站和数据库目录先修改安装包目录下的 lnmp.conf 文件。
如提示wget: command not found ,使用yum install wget 或 apt-get install wget 命令安装。
如下载速度慢或无法下载请更换其他下载节点,详情请看下载页面LNMP下载节点具体替换方法
运行上述LNMP安装命令后,会出现如下提示:

目前提供了较多的MySQL、MariaDB版本和不安装数据库的选项,需要注意的是MySQL 5.6,5.7及MariaDB 10必须在1G以上内存的更高配置上才能选择
输入对应MySQL或MariaDB版本前面的序号,回车进入下一步.

需要设置MySQL的root密码(不输入直接回车将会设置为root)如果输入有错误需要删除时,可以按住Ctrl再按Backspace键进行删除(个别情况下是只需要Backspace键)。输入后回车进入下一步,如下图所示:

询问是否需要启用MySQL InnoDB,InnoDB引擎默认为开启,一般建议开启,直接回车或输入 y ,如果确定确实不需要该引擎可以输入 n,输入完成,回车进入下一步。
注意:选择PHP7等高版本时需要自行确认是否与自己的程序兼容。

输入要选择的PHP版本的序号,回车进入下一步,选择是否安装内存优化:

可以选择不安装、Jemalloc或TCmalloc,输入对应序号回车,直接回车为默认为不安装。
如果是LNMPA或LAMP的话还会提示“Please enter Administrator Email Address:”,需要设置管理员邮箱,该邮箱会在报错时显示在错误页面上。
再选择Apache版本

按提示输入对应版本前面的数字序号,回车。
提示"Press any key to install...or Press Ctrl+c to cancel"后,按回车键确认开始安装。
LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer这几个软件。
安装时间可能会几十分钟到几个小时不等,主要是机器的配置网速等原因会造成影响。
3、安装完成
如果显示Nginx: OK,MySQL: OK,PHP: OK

并且Nginx、MySQL、PHP都是running,80和3306端口都存在,并提示安装使用的时间及Install lnmp V1.4 completed! enjoy it.的话,说明已经安装成功。
某些系统可能会一直卡在Install lnmp V1.4 completed! enjoy it.不自动退出,可以Ctrl+c退出。
安装完成接下来开始使用就可以了,按添加虚拟主机教程,添加虚拟主机后可以使用sftpftp服务器上传网站代码,将域名解析到VPS或服务器的IP上,解析生效即可使用。
4、安装失败

如果出现类似上图的提示,有一个没安装成功表明安装失败!!需要用winscp或其他类似工具,将/root目录下面的lnmp-install.log下载下来,到LNMP支持论坛发帖注明你的系统发行版名称及版本号、32位还是64位等信息,并将lnmp-install.log压缩以附件形式上传到论坛,我们会通过日志查找错误,并给予相应的解决方法。

默认LNMP是不安装FTP服务器的,如需要FTP服务器:https://lnmp.org/faq/ftpserver.html
5、添加、删除虚拟主机及伪静态管理
https://lnmp.org/faq/lnmp-vhost-add-howto.html
6、eAccelerator、xcache、memcached、imageMagick、ionCube、redis、opcache的安装
https://lnmp.org/faq/addons.html
7、LNMP相关软件目录及文件位置
https://lnmp.org/faq/lnmp-software-list.html
8、LNMP状态管理命令
https://lnmp.org/faq/lnmp-status-manager.html
9、仅安装数据库、Nginx
lnmp 1.4开始支持只安装MySQL/MariaDB数据库或Nginx
增加单独nginx安装,安装包目录下运行:./install.sh nginx 进行安装;
增加单独数据库安装,安装包目录下运行:./install.sh db 进行安装;

原文地址:https://www.cnblogs.com/pengrj/p/8781403.html