• 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 进行安装;

  • 相关阅读:
    【Node.js 自己封装的库 http_parse, libuv】
    select遍历list默认选中初始值
    mybatis入门基础----高级映射(一对一,一对多,多对多)
    工具类 | window批处理杀死指定端口进程
    eclipse 关闭控制台 自动弹出
    mybatis的jdbcType和javaType、oracle,MySQL的对应类型
    mysql 创建表格 AUTO_INCREMENT
    Linux shell脚本启动 停止 重启jar包
    Tomcat结合nginx使用小结
    集成maven和Spring boot的profile功能
  • 原文地址:https://www.cnblogs.com/pengrj/p/8781403.html
Copyright © 2020-2023  润新知