linux怎么监控网络运行情况

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux怎么监控网络运行情况相关的知识,希望对你有一定的参考价值。

介绍Linux环境下网络工具的使用,netstat从内部查看网络的状况,显示网络连接、路由表、接口等信息,我们使用netstat –lntup,l是监听,n是用数字格式显示,如用ip地址、端口号都用数字表示,t是tcp信息,u是udp信息,p是端口。
端口扫描工具nmap,是一款黑客使用的工具,建议大家不要用来扫描公网ip,以避免有法律纠纷争议,我们用nmap常用参数nmap –sT 172.1.1.1来扫描内网一台服务器,该台服务器开放的端口有22、23、443.

我们还可以对操作系统信息进行扫描,用命令nmap –sS -O 172.1.1.1来扫描该台设备的版本信息进行扫描,通过扫描不仅知道端口开放的情况,也知道扫描的设备是什么型号。

我们介绍tcpdump的使用,从管理的网络里面获取流量,对获取的包进行分析,我们通过命令tcpdump -i eth0 对网卡eth0的流量进行抓取,参数-i是接口的意思。当前我们获取了信息包括CDP的一些信息,可以通过cdp信息查看到核心交换机的信息,还可以看到一些生成树的信息。

下面我们介绍一款在Linux环境下更为直观的抓包软件wireshark,首先需要对该软件进行安装,我们通过yum install wireshark安装软件,按照系统提示一步步安装,直至安装全部完成。

我们同时还可以安装图形化的wireshark软件,通过命令yum list wire*看可以显示可以安装的首字母是wire所有软件,这里的*是通配符,匹配任意字符,这里的wireshark-gnome.x86_64是图形化的软件,我们通过yum install wireshark-gnome.x86_64,安装成功后的使用在windows下面使用是相同的,可以选择一块网卡进行抓包并对抓的包进行过滤分析。
参考技术A cat /var/log/*.log 如果日志在更新,如何实时查看 tail -f /var/log/messages 还可以使用 watch -d -n 1 cat /var/log/messages -d表示高亮不同的地方,-n表示多少秒刷新一次。 该指令,不会直接返回命令行,而是实时打印日志文件中新增加的内... 参考技术B nmap,netcat都可以。 参考技术C 装个cacti 两天吧 监控网络比较清晰 有图

linux6下网络环境监控工具smokeping部署

smokeping简介

smokeping是一款监控网络状态和稳定性的开源软件(它是rrdtool的作者开发的),通过它可以监控到公司IDC的网络状况,如延时,丢包率,是否BGP多线等;

smokeping会向目标设备和系统发送各种类型的测试数据包,测量、记录,并通过rrdtool制图方式,图形化地展示网络的时延情况,进而能够清楚的判断出网络的即时通信情况;

通过smokeping来监控IDC机房网络质量情况,可以从监控图上的延时与丢包情况分辨出机房的网络是否稳定,是否为多线,是否为BGP机房以及到各城市的三个运行商网络各是什么情况。如果出现问题,可以有针对性的去处理;如果选择新机房的时候,还可以根据smokeping的监控结果来判断这个机房是否适合。

需要注意的是:smokeping监控的是网络稳定性,而cacti或zabbix监控的是带宽使用情况(即进出口流量)、

smokeping部署过程

 安装smokeping的依赖包

[[email protected] ~]# yum -y install perl perl-Net-Telnet perl-Net-DNS perl-LDAP perl-libwww-perl perl-RadiusPerl perl-IO-Socket-SSL perl-Socket6 perl-CGI-SpeedyCGI perl-FCGI perl-CGI-SpeedCGI perl-Time-HiRes perl-ExtUtils-MakeMaker perl-RRD-Simple rrdtool rrdtool-perl curl fping echoping  httpd httpd-devel gcc make  wget libxml2-devel libpng-devel glib pango pango-devel freetype freetype-devel fontconfig cairo cairo-devel libart_lgpl libart_lgpl-devel mod_fastcgi screen

 部署smokeping

[[email protected] ~]# cd /usr/local/src/   #进入默认源码包存放路径

[[email protected] ~]# wget http://oss.oetiker.ch/smokeping/pub/smokeping-2.6.9.tar.gz #下载smokeping包

[[email protected] src]# tar xf smokeping-2.6.9.tar.gz   #解压smokeping

[[email protected] src]# cd smokeping-2.6.9 

[[email protected] smokeping-2.6.9]# ./setup/build-perl-modules.sh /usr/local/smokeping/thirdparty

[[email protected] smokeping-2.6.9]# ./configure --prefix=/usr/local/smokeping   #编译smokeping到/usr/local

[[email protected] smokeping-2.6.9]# /usr/bin/gmake install

[[email protected] smokeping-2.6.9]# cd /usr/local/smokeping/    #进入smokeping目录

[[email protected] smokeping]# mkdir cache data var   #创建三个目录

[[email protected] smokeping]# touch /var/log/smokeping.log    #创建smokeping日志文件

[[email protected] smokeping]# chown apache.apache cache/ data/ var/ /var/log/smokeping.log   #授权属主属组为apache

[[email protected] smokeping]# cd /usr/local/smokeping/htdocs/   #进入smokeping下htdocs目录

[[email protected] htdocs]# mv smokeping.fcgi.dist smokeping.fcgi   #修改smokeping文件名

[[email protected] smokeping]# mv /usr/local/smokeping/etc/config.dist /usr/local/smokeping/etc/config   #修改smokeping配置文件名称

 修改smokeping配置文件如下:

[[email protected] smokeping]# vim  /usr/local/smokeping/etc/config 

cgiurl   = http://192.168.1.120/smokeping.cgi  #配置smokeping主机地址
*** Database ***

step     = 60      #默认检测时间300秒修改60秒
pings    = 60      #默认ping20次,修改为60秒ping60次
*** Presentation ***

charset = utf-8    #在presentation添加utf-8中文字符集

 修改smokeping密码文件的权限为root

[[email protected] smokeping]# chmod 600 /usr/local/smokeping/etc/smokeping_secrets.dist

 设置smokeping登录密码认证

[[email protected] htdocs]# htpasswd -c /usr/local/smokeping/htdocs/htpasswd darker
New password:
Re-type new password:
Adding password for user darker

 修改apache的配置文件,配置smokeping的站点

[[email protected] ~]# vim /etc/httpd/conf/httpd.conf

#ServerName www.example.com:80  # 在此行下面添加如下一行,不然启动会报错
ServerName localhost:80


DocumentRoot "/var/www/html"   #在这行下面添加如下---标红的代表密码验证

Alias /cache "/usr/local/smokeping/cache/"
Alias /cropper "/usr/local/smokeping/htdocs/cropper/"
Alias /smokeping "/usr/local/smokeping/htdocs/smokeping.fcgi"
<Directory "/usr/local/smokeping">
AllowOverride None
Options All
AddHandler cgi-script .fcgi .cgi
Order allow,deny
Allow from all
AuthName "Smokeping"
AuthType Basic
AuthUserFile /usr/local/smokeping/htdocs/htpasswd
Require valid-user
DirectoryIndex smokeping.fcgi
</Directory>

 创建smokeping的启动脚本,让smokeping可以启动、停止、重启、开机自启动等

[[email protected] ~]# cat /etc/init.d/smokeping 
#!/bin/bash
#
# chkconfig: 2345 80 05
# Description: Smokeping init.d script
# Write by : goser
# Get function from functions library
. /etc/init.d/functions

# Start the service Smokeping

function start() {
echo -n "Starting Smokeping: "
/usr/local/smokeping/bin/smokeping >/dev/null 2>&1
### Create the lock file ###

touch /var/lock/subsys/smokeping

success $"Smokeping startup"
echo
}

# Restart the service Smokeping

function stop() {
echo -n "Stopping Smokeping: "
kill -9 `ps ax |grep "/usr/local/smokeping/bin/smokeping" |
grep -v grep | awk ‘{ print $1 }‘` >/dev/null 2>&1

### Now, delete the lock file ###

rm -f /var/lock/subsys/smokeping
success $"Smokeping shutdown"
echo
}

#Show status about Smokeping

function status() {

NUM="`ps -ef|grep smokeping|grep -v grep|wc -l`"

if [ "$NUM" == "0" ];then
    echo "Smokeping is not run"
else
    echo "Smokeping is running"
fi

}

### main logic ###

case "$1" in

start)
    start
    ;;
stop)
    stop
    ;;
status)
    status
    ;;

restart|reload)
    stop
    start
    ;;
*)
    echo $"Usage: $0 {start|stop|restart|reload|status}"
    exit 1
    ;;
esac

exit 0

 启动httpd、smokeping服务并设置其开机自启动

[[email protected] ~]# chmod 755 /etc/init.d/smokeping   #添加脚本755权限

[[email protected] ~]# chkconfig --add smokeping    #将smokeping加入开机启动

[[email protected] ~]# chkconfig smokeping on   #设置smokeping为开机启动

[[email protected] ~]# chkconfig httpd on    #设置apache为开机启动

[[email protected] ~]# /etc/init.d/httpd start    #启动apache服务

[[email protected] ~]# /etc/init.d/smokeping start   #启动smokeping服务

 添加需要监控网络状态的站点或服务主机

  要添加站点或主机ip地址的话,只能再smokeping的配置文件中添加,无法通过smokeping的web界面添加,在添加完站点后重启smokeping,会在在/usr/local/smokeping/data 之下添加moniter文件夹,其下包含website子文件夹

  注意添加监控节点方式为:+是第一层,++是第二层,+++ 是第三层

技术分享图片
+ Other

menu = 三大网络监控
title = 监控统计

++ dianxin

menu = 电信网络监控
title = 电信网络监控列表
host = /Other/dianxin/dianxin-bj /Other/dianxin/dianxin-hlj /Other/dianxin/dianxin-tj /Other/dianxin/dianxin-sc /Other/dianxin/dianxin-sh /Other/dianxin/dianxin-gz

+++ dianxin-bj

menu = 北京电信
title = 北京电信
alerts = someloss
host = 202.96.199.133

 

+++ dianxin-hlj

menu = 黑龙江电信
title = 黑龙江电信
alerts = someloss
host = 219.147.198.242

 

+++ dianxin-tj

menu = 天津电信
title = 天津电信
alerts = someloss
host = 219.150.32.132

 

+++ dianxin-sc

menu = 四川电信
title = 四川电信
alerts = someloss
host = 61.139.2.69

 

+++ dianxin-sh

menu = 上海电信
title = 上海电信
alerts = someloss
host = 116.228.111.118

 

+++ dianxin-gz

menu = 广东电信
title = 广东电信
alerts = someloss
host = 113.111.211.22

 

++ liantong

menu = 联通网络监控
title = 联通网络监控列表
host = /Other/liantong/liantong-bj /Other/liantong/liantong-hlj /Other/liantong/liantong-tj /Other/liantong/liantong-sc /Other/liantong/liantong-sh /Other/liantong/liantong-gz

 

+++ liantong-bj

menu = 北京联通
title = 北京联通
alerts = someloss
host = 61.135.169.121

 

+++ liantong-hlj

menu = 黑龙江联通
title = 黑龙江联通
alerts = someloss
host = 202.97.224.69

 

+++ liantong-tj

menu = 天津联通
title = 天津联通
alerts = someloss
host = 202.99.96.68

 

+++ liantong-sc

menu = 四川联通
title = 四川联通
alerts = someloss
host = 119.6.6.6

 

+++ liantong-sh

menu = 上海联通
title = 上海联通
alerts = someloss
host = 210.22.84.3

 

+++ liantong-gz

menu = 广东联通
title = 广东联通
alerts = someloss
host = 221.5.88.88

 

++ yidong

menu = 移动网络监控
title = 移动网络监控列表
host = /Other/yidong/yidong-bj /Other/yidong/yidong-hlj /Other/yidong/yidong-tj /Other/yidong/yidong-sc /Other/yidong/yidong-sh /Other/yidong/yidong-gz

 

+++ yidong-bj

menu = 北京移动
title = 北京移动
alerts = someloss
host = 221.130.33.52

 

+++ yidong-hlj

menu = 黑龙江移动
title = 黑龙江移动
alerts = someloss
host = 211.137.241.35

 

+++ yidong-tj

menu = 天津移动
title = 天津移动
alerts = someloss
host = 211.137.160.5

 

+++ yidong-sc

menu = 四川移动
title = 四川移动
alerts = someloss
host = 218.201.4.3

 

+++ yidong-sh

menu = 上海移动
title = 上海移动
alerts = someloss
host = 117.131.19.23

 

+++ yidong-gz

menu = 广东移动
title = 广东移动
alerts = someloss
host = 211.136.192.6
添加三大运营商的站点

 要是添加的站点生效,必须重启smokeping服务(因为修改了smokeping的配置文件)

[[email protected] smokeping]# /etc/init.d/smokeping restart  

 最后通过浏览器访问smokeping监控页面:http://192.168.1.120/smokeping  这时候页面可能会显示乱码,这是因为没有加载中文字体,接下来为smokeping添加一个字体

  安装字体:yum -y install wqy-zenhei-fonts.noarch

  编辑Graphs.pm:

vim /usr/local/smokeping/lib/Smokeping/Graphs.pm
#第147行下边插入下边一行

‘--font TITLE:20:"WenQuanYi Zen Hei Mono"‘,

  这样再刷新页面后,中文便显示正常,显示的smokeping页面如下:

技术分享图片 

以上是关于linux怎么监控网络运行情况的主要内容,如果未能解决你的问题,请参考以下文章

监控io性能free命令ps命令查看网络状态linux下抓包

Linux系统性能监控

Linux 实用指令 -- 服务管理服务运行级别动态监控进程监控网络状态

linux 性能监控工具-nmon

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

实战Nagios网络监控——监控本机运行状态和Mysq主机