存档

‘Linux监控管理’ 分类的存档

Default Problem with zabbix mysql install

2016年11月25日 评论已被关闭

Default Problem with zabbix mysql install

https://www.zabbix.com/forum/showthread.php?t=44965

I try to install ZABBIX with tut: https://www.zabbix.com/documentation…_from_packages
But in this step:

PHP Code:
# apt-get install zabbix-server-mysql zabbix-frontend-php

I get error:

PHP Code:
The following packages have unmet dependencies:
zabbix-server-mysql : Depends: libsnmp15 (>= 5.4.3~dfsg) but it is not installable
E: Unable to correct problems, you have held broken packages.

Then, i install libsnmp15, but it shows:

PHP Code:
Package libsnmp15 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
libsnmp30:i386 libsnmp30 libsnmp-base
E: Package ‘libsnmp15’ has no installation candidate

I use ubuntu 13.10, and already installed libsnmp30, Zabbix require libsnmp15.

Any solutions for me?

 

 

 

Try installing this:
Code:
sudo apt-get install libsnmp-dev
then run again
Code:
# apt-get install zabbix-server-mysql zabbix-frontend-php
and see if it helps.

I wonder what is causing this issue. I could successfully accomplish this task yesterday on my virtual Ubuntu 13.10 desktop.

Is your Ubuntu up to date?

Code:
sudo apt-get update && sudo apt-get upgrade

 

 

 

wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.0-1+xenial_all.deb

dpkg -i zabbix-release_3.0-1+xenial_all.deb

 

分类: Linux监控管理 标签:

NRDP要比NSCA更好使用 1

2016年6月1日 评论已被关闭

NRDP要比NSCA更好使用 1

http://blog.itpub.net/27043155/viewspace-733097/
NSCA,也就是Nagios Service Check Acceptor的缩写,即Nagios服务检测接收,这个插件历来是Nagios管理员在两个Nagios“设备”之间建立数据源或者是实现被动检测数据传输的选择,NRDP插件允许管理员很容易的将NSCA迁移至NRDP。与NSCA相比,NRDP的好处包括:

u       NRDP使用标准的端口和协议,需要对防火墙进行配置,而且客户端开发简单化;
u       NRDP使用了Apache Web服务器提供的SSL加密传输和认证;
u       NRDP支持host和service多行检测输出
u       NRDP写检测输出能够直接输出到Nagios 内核的spool目录——绕过外部命令文件,从而提高了性能。

工作原理
n         第一步、远程客户端向NRDP服务API提交一个请求,客户端提交包括:

u       有效的“令牌(token)”,在NRDP服务的配置文件中设置;
u       请求NRDP服务处理的命令;
u       与命令相关的数据;

n         第二步、NRDP校验“令牌(token)”并且将客户端需求传递到恰当的NRDP插件;

n         第三步、NRDP插件处理客户端需求,并且将数据提交到Nagios或者其它应用程序;

n         第四步、NRDP以XML的格式向客户端返回结果信息;

图    解:

下载安装NRDP
下载NRDP最新版本的地址为:
http://assets.nagios.com/downloads/nrdp/nrdp.zip

安装步骤:

首先要以root的用户身份登录到Nagios服务所在的系统,然后下载最新的NRDP:

[root@ff ~]# wget http://assets.nagios.com/downloads/nrdp/nrdp.zip
–10:24:23–  http://assets.nagios.com/downloads/nrdp/nrdp.zip
=> `nrdp.zip’
Resolving assets.nagios.com… 72.14.181.71
Connecting to assets.nagios.com[72.14.181.71]:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 16,664 [application/zip]

100%[===================>] 16,664        65.29K/s

10:24:25 (65.12 KB/s) – `nrdp.zip’ saved [16,664/16,664]

[root@ff ~]#

解压:

[root@ff ~]# unzip nrdp.zip
Archive:  nrdp.zip
creating: nrdp/
inflating: nrdp/CHANGES.TXT
creating: nrdp/clients/
inflating: nrdp/clients/send_nrdp.php
inflating: nrdp/install-html
inflating: nrdp/INSTALL.TXT
inflating: nrdp/LICENSE.TXT
inflating: nrdp/nrdp.conf
creating: nrdp/server/
inflating: nrdp/server/config.inc.php
creating: nrdp/server/includes/
inflating: nrdp/server/includes/constants.inc.php
inflating: nrdp/server/includes/utils.inc.php
inflating: nrdp/server/index.php
creating: nrdp/server/plugins/
creating: nrdp/server/plugins/nagioscorecmd/
inflating: nrdp/server/plugins/nagioscorecmd/nagioscorecmd.inc.php
creating: nrdp/server/plugins/nagioscorepassivecheck/
inflating: nrdp/server/plugins/nagioscorepassivecheck/nagioscorepassivecheck.inc.php
[root@ff ~]#

创建NRDP安装目录:

[root@ff ~]# mkdir /usr/local/nrdp

将解压出的文件拷贝到这个目录:

[root@ff ~]# cd nrdp
[root@ff nrdp]# cp -r * /usr/local/nrdp

修改NRDP的目录和文件权限:

[root@ff nrdp] chown -R nagios.nagios /usr/local/nrdp

修改NRDP的配置文件:

[root@ff nrdp] vi /usr/local/nrdp/server/config.inc.php

在$cfg[‘authorized_tokens’]变量中添加至少一个令牌字符串,例如:

$cfg[‘authorized_tokens’] = array(
“111111”,
“df23m7jadI34”,
);

最后一步,将NRDP的Apache配置文件拷贝到/etc/httpd/conf.d目录,并且根据实际的访问情况(例如使用SSL或者是基本认证)可以进行有选择的编辑:

[root@ff nrdp] cp nrdp.conf /etc/httpd/conf.d

然后重新启动Apache服务,到此NRDP安装就算完成了。

测试NRDP API
在安装完成NRPE之后,可以通过访问http:///nrdp来测试NRDP 服务API,这里的是安装Nagios服务的IP地址,例如:

分类: Linux监控管理 标签:

Linux系统部署安装Zabbix监控工具及Zabbix设置中文语言后台

2016年5月22日 评论已被关闭

Linux系统部署安装Zabbix监控工具及Zabbix设置中文语言后台

http://www.laozuo.org/8322.html

Zabbix,是一款基于Web界面提供分布式系统监控、网络监视功能的企业级开源软件,其功能相当完善且要能完全精通的掌握也需要有足够的学习能力以及研究精神。难怪老左经常也会看到很多大型的网络公司招聘Zabbix系统工程师专职从业系统和软件的监控运维服务。

老左也是第一次接触Zabbix监控工具,之前在很多运维博客中看到有介绍过而且功能也相当的丰富,所以今天就抽一点时间在Linux服务器中安装了看看。可能后面短期也可能用不到,但是好歹传说中很厉害的软件我们也可以看看,以后吹牛的时候我们也可以说这款软件也玩过,虽然玩的不怎么样。

目前,Zabbix已经升级至3.0版本,而且后台是支持简体中文的,其分为服务端和客户端部分,服务端就是我们部署后可以检测到其他多个客户端的服务器信息和软件运行状态的,说实话安装过程稍许有点麻烦。

第一、安装Zabbix监控工具准备工作

这里老左采用Linux CentOS6环境,Web环境用预先安装的军哥LNMP一键包,因为Zabbix工具是基于Web环境的,我们需要在Lamp或者Nginx Web环境中。

因为此文老左仅仅是用来演示和学习用途的,如果我们希望用到实战中建议还是用一台单独的机器用来安装服务端,不要与其他已有网站环境同机使用,万一编译时候导致系统问题,那多郁闷。

第二、安装Zabbix监控工具过程

1、部署需要的组件包

yum -y install net-snmp net-snmp-devel libcurl mysql-devel

我们在安装部署之前,需要安装需要的组件包环境。

2、下载Zabbix程序以及编译

官方源文件:http://www.zabbix.com/download.php

我们可以到官方下载/解压需要的版本。可以直接下载到当前服务器的某个临时目录,比如我们就直接到ROOT根目录安装和编译,后面完毕后再把源码删除。

./configure –prefix=/usr/local/zabbix –enable-server –enable-agent –with-net-snmp –with-mysql –with-libcurl

下载Zabbix程序以及编译

然后执行make && make install 进行安装。

zabbix-4

3、创建用户和导入数据库

因为考虑到系统的安全性,如果我们在ROOT用户中启动Zabbix是无法启动的,我们需要单独创建用户。

groupadd zabbix
useradd -g zabbix zabbix

其次,我们还需要导入安装包中的默认数据库(/database/mysql/中的3个sql文件),我们需要在LNMP环境中创建一个数据库用户,然后将3个数据库按照顺序(schema.sql、images.sql、data.sql)导入。

4、修改Zabbix数据库配置

/usr/local/zabbix/etc/zabbix_server.conf

编辑这个文件

DBName=数据库名
DBUser=数据库用户
DBPassword=数据库密码
DBPort=3306

这里到文件中根据实际数据库设置对应修改保存。

5、Zabbix端口配置以及启动项设置

a – /etc/services文件中添加下面脚本

zabbix-agent    10050/tcp               #Zabbix Agent
zabbix-agent    10050/udp               #Zabbix Agent
zabbix-trapper  10051/tcp               #Zabbix Trapper
zabbix-trapper  10051/udp               #Zabbix Trapper

b – 安装启动脚本

cp /root/zabbix*/misc/init.d/fedora/core/* /etc/init.d -p

c – 编辑启动脚本

# 到/etc/init.d/zabbix_server文件中修改BASEDIR=/usr/local为BASEDIR=/usr/local/zabbix

#到/etc/init.d/zabbix_agentd文件中修改BASEDIR=/usr/local为BASEDIR=/usr/local/zabbix

d – 添加服务和启动

chkconfig –add zabbix_server
chkconfig –add zabbix_agentd

然后我们执行下面启动服务端和客户端。

service zabbix_server start
service zabbix_agentd start

第三、Zabbix Web客户端安装向导

我们在一切都部署完毕之后,就要开始安装客户端WEB端了。将我们从官方下载的文件中的/frontends/php/所有文件,拷贝到当前需要用来安装Zabbix客户端域名站点根目录中。

Zabbix Web客户端安装向导

我们可以看到安装向导了,这个与搭建网站很相似,后面填写数据库信息就可以。

zabbix修改PHP.INI

这里我们可以看到有点问题了,这个不要紧因为PHP.INI文件限制导致的,我们去系统中修改对应的PHP.INI参数重启服务器后就可以生效继续。

zabbix安装填写数据库

这里填写数据库信息就可以。

zabbix写入配置文件

看到这里应该要差不多了,写入配置文件,如果我们不可写则需要将对应目录设置可写权限。

zabbix-8

安装完毕之后我们可以用默认的用户名Admin,密码zabbix登入后台。

第四、Zabbix设置简体中文语言

从上面的过程中老左有安装过两个版本,3.0和2.4版本,所以在上面的截图时候有分两个版本截图,因为开始在安装3.0的时候有出现数据库导入不完整问题,然后我再重新安装2.4的时候是可以进行的,在安装2.4版本后在后台profile中设置语言时候看不到简体中文选项。其实,我们可以修改的。

include/locales.inc.php

修改57行将简体中文zh-CN中display修改成true然后替换刷新后台就可以看到有简体中文选项。

Zabbix设置简体中文语言

设置保存之后,我们可以看到Zabbix后台是简体中文。

zabbix简体中文设置完毕

第五、安装Zabbix监控工具总结

1、以上这篇文章仅仅是老左简单的体验Zabbix监控工具的安装过程,对于普通用户来说还算是比较复杂的,难怪说是企业级需求使用的,我们一般个人还是使用点第三方免费监控比较简单。

2、Zabbix的功能是很强大的,我们也可以从网上看到各种丰富的文档,甚至还有比较多的Zabbix相关的书籍使用手册,如果这个工具能玩的很精通还是很有前途的,以后老左在抽空玩耍玩耍。

分类: Linux监控管理 标签:

Tcpdump命令的使用与示例——linux下的网络分析

2016年5月19日 评论已被关闭

Tcpdump命令的使用与示例——linux下的网络分析

http://anheng.com.cn/news/24/586.html

网络数据采集分析工具TcpDump的简介

顾名思义,TcpDump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。tcpdump就是一种免费的网络分析工具,尤其其提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的FreeBSD系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。

我们用尽量简单的话来定义tcpdump,就是:dump the traffice on a network.,根据使用者的定义对网络上的数据包进行截获的包分析工具。作为互联网上经典的的系统管理员必备工具,tcpdump以其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络,排查问题等所必备的东西之一。tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的FreeBSD系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。

网络数据采集分析工具TcpDump的安装

 

linuxtcpdump的安装十分简单,一般由两种安装方式。一种是以rpm包的形式来进行安装。另外一种是以源程序的形式安装。

 

rpm包的形式安装:这种形式的安装是最简单的安装方法,rpm包是将软件编译后打包成二进制的格式,通过rpm命令可以直接安装,不需要修改任何东西。以超级用户登录,使用命令如下:
#rpm -ivh tcpdump-3_4a5.rpm

 

这样tcpdump就顺利地安装到你的linux系统中。怎么样,很简单吧。

源程序的安装:既然rpm包的安装很简单,为什么还要采用比较复杂的源程序安装呢?其实,linux一个最大的诱人之处就是在她上面有很多软件是提供源程序的,人们可以修改源程序来满足自己的特殊的需要。所以我特别建议朋友们都采取这种源程序的安装方法。

  • 第一步 取得源程序 在源程序的安装方式中,我们首先要取得tcpdump的源程序分发包,这种分发包有两种形式,一种是tar压缩包(tcpdump-3_4a5.tar.Z),另一种是rpm的分发包(tcpdump-3_4a5.src.rpm)。这两种形式的内容都是一样的,不同的仅仅是压缩的方式.tar的压缩包可以使用如下命令解开:
    #tar xvfz tcpdump-3_4a5.tar.Z
    rpm的包可以使用如下命令安装:
    #rpm -ivh tcpdump-3_4a5.src.rpm
    这样就把tcpdump的源代码解压到/usr/src/redhat/SOURCES目录下.
  • 第二步 做好编译源程序前的准备活动
    在编译源程序之前,最好已经确定库文件libpcap已经安装完毕,这个库文件是tcpdump软件所需的库文件。同样,你同时还要有一个标准的c语言编译器。在linux下标准的c 语言编译器一般是gcc。 在tcpdump的源程序目录中。有一个文件是Makefile.in,configure命令就是从Makefile.in文件中自动产生Makefile文件。在Makefile.in文件中,可以根据系统的配置来修改BINDEST 和 MANDEST 这两个宏定义,缺省值是
    BINDEST = @sbindir@
    MANDEST = @mandir@
    第一个宏值表明安装tcpdump的二进制文件的路径名,第二个表明tcpdump的man 帮助页的路径名,你可以修改它们来满足系统的需求。
  • 第三步 编译源程序
    使用源程序目录中的configure脚本,它从系统中读出各种所需的属性。并且根据Makefile.in文件自动生成Makefile文件,以便编译使用.make 命令则根据Makefile文件中的规则编译tcpdump的源程序。使用make install命令安装编译好的tcpdump的二进制文件。
    总结一下就是:
    # tar xvfz tcpdump-3_4a5.tar.Z
    # vi Makefile.in
    # . /configure
    # make
    # make install

3 网络数据采集分析工具TcpDump的使用

 

普通情况下,直接启动tcpdump将监视第一个网络界面上所有流过的数据包。
# tcpdump
tcpdump: listening on fxp0
11:58:47.873028 202.102.245.40.netbios-ns > 202.102.245.127.netbios-ns: udp 50
11:58:47.974331 0:10:7b:8:3a:56 > 1:80:c2:0:0:0 802.1d ui/C len=43
0000 0000 0080 0000 1007 cf08 0900 0000
0e80 0000 902b 4695 0980 8701 0014 0002
000f 0000 902b 4695 0008 00
11:58:48.373134 0:0:e8:5b:6d:85 > Broadcast sap e0 ui/C len=97
ffff 0060 0004 ffff ffff ffff ffff ffff
0452 ffff ffff 0000 e85b 6d85 4008 0002
0640 4d41 5354 4552 5f57 4542 0000 0000
0000 00
^C

tcpdump支持相当多的不同参数,如使用-i参数指定tcpdump监听的网络界面,这在计算机具有多个网络界面时非常有用,使用-c参数指定要监听的数据包数量,使用-w参数指定将监听到的数据包写入文件中保存,等等。

然而更复杂的tcpdump参数是用于过滤目的,这是因为网络中流量很大,如果不加分辨将所有的数据包都截留下来,数据量太大,反而不容易发现需要的数据包。使用这些参数定义的过滤规则可以截留特定的数据包,以缩小目标,才能更好的分析网络中存在的问题。tcpdump使用参数指定要监视数据包的类型、地址、端口等,根据具体的网络问题,充分利用这些过滤规则就能达到迅速定位故障的目的。请使用mantcpdump查看这些过滤规则的具体用法。

显然为了安全起见,不用作网络管理用途的计算机上不应该运行这一类的网络分析软件,为了屏蔽它们,可以屏蔽内核中的bpfilter伪设备。一般情况下网络硬件和TCP/IP堆栈不支持接收或发送与本计算机无关的数据包,为了接收这些数据包,就必须使用网卡的混杂模式,并绕过标准的TCP/IP堆栈才行。在FreeBSD下,这就需要内核支持伪设备bpfilter。因此,在内核中取消bpfilter支持,就能屏蔽tcpdump之类的网络分析工具。

并且当网卡被设置为混杂模式时,系统会在控制台和日志文件中留下记录,提醒管理员留意这台系统是否被用作攻击同网络的其他计算机的跳板。

May 15 16:27:20 host1 /kernel: fxp0: promiscuous mode enabled

虽然网络分析工具能将网络中传送的数据记录下来,但是网络中的数据流量相当大,如何对这些数据进行分析、分类统计、发现并报告错误却是更关键的问题。网络中的数据包属于不同的协议,而不同协议数据包的格式也不同。因此对捕获的数据进行解码,将包中的信息尽可能的展示出来,对于协议分析工具来讲更为重要。昂贵的商业分析工具的优势就在于它们能支持很多种类的应用层协议,而不仅仅只支持tcp、udp等低层协议。

从上面tcpdump的输出可以看出,tcpdump对截获的数据并没有进行彻底解码,数据包内的大部分内容是使用十六进制的形式直接打印输出的。显然这不利于分析网络故障,通常的解决办法是先使用带-w参数的tcpdump 截获数据并保存到文件中,然后再使用其他程序进行解码分析。当然也应该定义过滤规则,以避免捕获的数据包填满整个硬盘。FreeBSD提供的一个有效的解码程序为tcpshow,它可以通过Packages Collection来安装。

# pkg_add /cdrom/packages/security/tcpshow*
# tcpdump -c 3 -w tcpdump.out
tcpdump: listening on fxp0
# tcpshow < tcpdump.out
—————————————————————————
Packet 1
TIME:12:00:59.984829
LINK:00:10:7B:08:3A:56 -> 01:80:C2:00:00:00 type=0026
<*** No decode support for encapsulated protocol ***>
—————————————————————————
Packet 2
TIME:12:01:01.074513 (1.089684)
LINK:00:A0:C9:AB:3C:DF -> FF:FF:FF:FF:FF:FF type=ARP
ARP:htype=Ethernet ptype=IP hlen=6 plen=4 op=request
sender-MAC-addr=00:A0:C9:AB:3C:DF sender-IP-address=202.102.245.3
target-MAC-addr=00:00:00:00:00:00 target-IP-address=202.102.245.3
—————————————————————————
Packet 3
TIME:12:01:01.985023 (0.910510)
LINK:00:10:7B:08:3A:56 -> 01:80:C2:00:00:00 type=0026
<*** No decode support for encapsulated protocol ***>

tcpshow能以不同方式对数据包进行解码,并以不同的方式显示解码数据,使用者可以根据其手册来选择最合适的参数对截获的数据包进行分析。从上面的例子中可以看出,tcpshow支持的协议也并不丰富,对于它不支持的协议就无法进行解码。

除了tcpdump之外,FreeBSD的Packages Collecion中还提供了Ethereal和Sniffit两个网络分析工具,以及其他一些基于网络分析方式的安全工具。其中Ethereal运行在X Window 下,具有不错的图形界面,Sniffit使用字符窗口形式,同样也易于操作。然而由于tcpdump对过滤规则的支持能力更强大,因此系统管理员仍然更喜欢使用它。对于有经验的网络管理员,使用这些网络分析工具不但能用来了解网络到底是如何运行的,故障出现在何处,还能进行有效的统计工作,如那种协议产生的通信量占主要地位,那个主机最繁忙,网络瓶颈位于何处等等问题。因此网络分析工具是用于网络管理的宝贵系统工具。为了防止数据被滥用的网络分析工具截获,关键还是要在网络的物理结构上解决。常用的方法是使用交换机或网桥将信任网络和不信任网络分隔开,可以防止外部网段窃听内部数据传输,但仍然不能解决内部网络与外部网络相互通信时的数据安全问题。如果没有足够的经费将网络上的共享集线器升级为以太网交换机,可以使用FreeBSD系统执行网桥任务。这需要使用option BRIDGE编译选项重新定制内核,此后使用bridge命令启动网桥功能。

tcpdump采用命令行方式,它的命令格式为:
tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ]
[ -i 网络接口 ] [ -r 文件名] [ -s snaplen ]
[ -T 类型 ] [ -w 文件名 ] [表达式 ]

 

(1). tcpdump的选项介绍

 

   -a    将网络地址和广播地址转变成名字;
-d    将匹配信息包的代码以人们能够理解的汇编格式给出;
-dd    将匹配信息包的代码以c语言程序段的格式给出;
-ddd   将匹配信息包的代码以十进制的形式给出;
-e    在输出行打印出数据链路层的头部信息;
-f    将外部的Internet地址以数字的形式打印出来;
-l    使标准输出变为缓冲行形式;
-n    不把网络地址转换成名字;
-t    在输出的每一行不打印时间戳;
-v    输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息;
-vv    输出详细的报文信息;
-c    在收到指定的包的数目后,tcpdump就会停止;
-F    从指定的文件中读取表达式,忽略其它的表达式;
-i    指定监听的网络接口;
-r    从指定的文件中读取包(这些包一般通过-w选项产生);
-w    直接将包写入文件中,并不分析和打印出来;
-T    将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程调用)和snmp(简单网络管理协议;)

(2). tcpdump的表达式介绍

 

表达式是一个正则表达式,tcpdump利用它作为过滤报文的条件,如果一个报文满足表达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会被截获。在表达式中一般如下几种类型的关键字。

 

第一种是关于类型的关键字,主要包括host,net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明 202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是host.

 

第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src ,这些关键字指明了传输的方向。举例说明,src 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.0 指明目的网络地址是202.0.0.0 。如果没有指明方向关键字,则缺省是src or dst关键字。

 

第三种是协议的关键字,主要包括fddi,ip,arp,rarp,tcp,udp等类型。Fddi指明是在FDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它是”ether”的别名,fddi和ether具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。

除了这三种类型的关键字之外,其他重要的关键字如下:gateway, broadcast,less,greater,还有三种逻辑运算,取非运算是 ‘not ‘ ‘! ‘, 与运算是’and’,’&&’;或运算 是’or’ ,’││’;这些关键字可以组合起来构成强大的组合条件来满足人们的需要,下面举几个例子来说明。

 

A想要截获所有210.27.48.1 的主机收到的和发出的所有的数据包:
#tcpdump host 210.27.48.1
B想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令:(在命令行中适用   括号时,一定要
#tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \)
C如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:
#tcpdump ip host 210.27.48.1 and ! 210.27.48.2
D如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:
#tcpdump tcp port 23 host 210.27.48.1

(3). tcpdump的输出结果介绍

 

下面我们介绍几种典型的tcpdump命令的输出信息

 

A,数据链路层头信息

 

使用命令
#tcpdump –e host ice
ice 是一台装有linux的主机,她的MAC地址是0:90:27:58:AF:1A
H219是一台装有SOLARIC的SUN工作站,它的MAC地址是8:0:20:79:5B:46;上一条命令的输出结果如下所示:
21:50:12.847509 eth0 < 8:0:20:79:5b:46 0:90:27:58:af:1a ip 60: h219.33357 > ice.telne
t 0:0(0) ack 22535 win 8760 (DF)

分析:21:50:12是显示的时间, 847509是ID号,eth0 <表示从网络接口eth0 接受该数据包,eth0 >表示从网络接口设备发送数据包, 8:0:20:79:5b:46是主机H219的MAC地址,它表明是从源地址H219发来的数据包. 0:90:27:58:af:1a是主机ICE的MAC地址,表示该数据包的目的地址是ICE . ip 是表明该数据包是IP数据包,60 是数据包的长度, h219.33357 > ice.telnet 表明该数据包是从主机H219的33357端口发往主机ICE的TELNET(23)端口. ack 22535 表明对序列号是222535的包进行响应. win 8760表明发送窗口的大小是8760.

B,ARP包的TCPDUMP输出信息

 

使用命令
#tcpdump arp
得到的输出结果是:
22:32:42.802509 eth0 > arp who-has route tell ice (0:90:27:58:af:1a)
22:32:42.802902 eth0 < arp reply route is-at 0:90:27:12:10:66 (0:90:27:58:af:1a)
分析: 22:32:42是时间戳, 802509是ID号, eth0 >表明从主机发出该数据包, arp表明是ARP请求包, who-has route tell ice表明是主机ICE请求主机ROUTE的MAC地址。 0:90:27:58:af:1a是主机ICE的MAC地址。

C,TCP包的输出信息

 

用TCPDUMP捕获的TCP包的一般输出信息是:
src > dst: flags data-seqno ack window urgent options
src > dst:表明从源地址到目的地址, flags是TCP包中的标志信息,S 是SYN标志, F (FIN), P (PUSH) , R (RST) “.” (没有标记); data-seqno是数据包中的数据的顺序号, ack是下次期望的顺序号, window是接收缓存的窗口大小, urgent表明数据包中是否有紧急指针. Options是选项.

D,UDP包的输出信息

 

用TCPDUMP捕获的UDP包的一般输出信息是:
route.port1 > ice.port2: udp lenth
UDP十分简单,上面的输出行表明从主机ROUTE的port1端口发出的一个UDP数据包到主机ICE的port2端口,类型是UDP, 包的长度是lenth

分类: Linux监控管理 标签:

Monit – Linux系统进程、文件、目录和设备的监测软件

2016年5月18日 评论已被关闭

Monit – Linux系统进程、文件、目录和设备的监测软件

http://www.vpser.net/manage/monit.html

Monit是一款功能非常丰富的进程、文件、目录和设备的监测软件,适用于Linux/Unix平台。 它可以自动修复那些已经停止运作的程序,特使适合处理那些由于多种原因导致的软件错误,同时Monit包含一个内嵌的 HTTP(S) Web 界面,你可以使用浏览器方便地查看 Monit 所监视的服务器。

Monit官网:http://mmonit.com/monit/

1、安装Monit

CentOS可以到:http://pkgs.repoforge.org/monit/ 下载对应位数rpm包安装。

32位:wget -c http://pkgs.repoforge.org/monit/monit-5.2.5-1.el5.rf.i386.rpm;rpm -ivh monit-5.2.5-1.el5.rf.i386.rpm
64位:wget -c http://pkgs.repoforge.org/monit/monit-5.2.5-1.el5.rf.x86_64.rpm;rpm -ivh monit-5.2.5-1.el5.rf.x86_64.rpm

Debian可以直接:apt-get install monit 安装。

2、修改配置文件

CentOS用RPM包安装的话配置文件在: /etc/monit.conf;Debian apt-get安装的话配置文件在:/etc/monit/monitrc;

下面是一个简单的例子,配置文件中已经包含了大量的例子,可以看配置文件参考。

set daemon  120        #设置检测时间
set logfile /var/log/monit.log        #monit日志
set alert www@vpser.net with reminder on 1 cycle  #出现1次错误的时候发报警邮件到指定的邮箱
set mailserver mail.vpser.net     #设置邮件服务器
set httpd port 2812 and            # 设置http监控页面的端口
     use address 74.207.246.99   # http监控页面的IP
     allow localhost               # 允许本地访问
     allow 123.23.45.0/24           # 允许此IP段访问
     #allow 0.0.0.0/0.0.0.0       # 允许所有IP访问
     allow username:password     #设置访问用户名密码

#检测sshd服务
check process sshd with pidfile /var/run/sshd.pid
   start program  "/etc/init.d/sshd start"
   stop program  "/etc/init.d/sshd stop"
   if failed port 22 protocol ssh then restart
   if 5 restarts within 5 cycles then timeout

#检测mysql服务
check process mysql with pidfile /usr/local/mysql/var/vpser.pid
   group database
   start program = "/etc/init.d/mysql start"
   stop program = "/etc/init.d/mysql stop"
   if failed host 127.0.0.1 port 3306 then restart
   if 5 restarts within 5 cycles then timeout

#检测nginx服务
 check process nginx with pidfile /usr/local/nginx/logs/nginx.pid
    start program = "/etc/init.d/nginx start"
    stop program  = "/etc/init.d/nginx stop"
    if failed host www.vpser.net port 80 protocol http
       then restart

配置中的pid及启动、关闭脚本的路径一定要是全路径,且参数一定要正确否则会造成无法正常检测或正常启动。

看了一下php-fpm貌似用Monit还不是很好监控。

如果添加了http可以直接使用http://ip:2812 进行管理。

3、启动/停止Monit

CentOS:

chkconfig monit on //加入开机启动
/etc/init.d/monit {start|stop|restart|force-reload|syntax}

Debian:

编辑:/etc/default/monit 文件,查找 startup=0 ,将0改为1,保存。
update-rc.d -f monit defaults
/etc/init.d/monit {start|stop|restart|force-reload|syntax}

当然如果使用监控宝服务也不错,只不过免费版的检测间隔长些、对检测的数量有限制。

rsync 文件同步/传输,增量备份传输利器使用教程

2016年5月18日 评论已被关闭

rsync 文件同步/传输,增量备份传输利器使用教程

http://www.vpser.net/manage/rsync.html

刚刚看到一个老牌的ECVPS跑路了,在这里再说一下再可靠的服务商也要做好留一手的准备,谁还没可能有个小灾小难,做好备份,多处备份,你手里有备份才是王道。作为站长或者运维,在服务器上从这台同步到另外一台是很频繁的操作,之前我们介绍过用scp传输文件或目录,但是不能判断文件是否更改,是否有文件增删,每次都是覆盖,会浪费掉很多时间。今天VPS侦探推荐的是另外一个利器rsync,全称remote synchronize。它的特性如下:安装方便、可以镜像保存整个目录树和文件系统、可以容易的保持原来文件的权限、时间、软硬链接等等、文件传输效率高、可以使用ssh等方式来传输文件也可以通过直接的socket连接等。

安装rsync

CentOS/Fedora/RHEL: yum install rsync
Debian/Ubuntu: apt-get install rsync

rsync使用教程

rsync有两种工作方式:SSH和daemon。

  • SSH方式是使用系统上的用户通过SSH进行同步操作。
  • daemon方式是rsync服务器会开一个873端口,等待客户端去连接,连接是进行验证,通过后进行同步。

一、SSH模式下进行同步操作

rsync -options SRC DEST
SRC代表源目录,DEST代表目标目录,当通过ssh链接时, 有时需要指定ssh端口, 请使用这个方式:rsync -options -e “ssh -p 10000” SRC DEST

下面举例说明一下常用到的场景:

1.1:本地拷贝目录,将/home/wwwroot/vpser/拷贝到/data/wwwroot/vpser/

rsync -avu /home/wwwroot/vpser/ /data/wwwroot/vpser/

1.2:将本地目录拷贝到远程服务器

rsync -avu –progress –delete /home/wwwroot/vpser.net/ root@1.2.3.4:/home/wwwroot/vpser.net/

如果改了SSH端口,需要加-e “ssh -p 你的SSH端口”,如果不想显示具体传输过程可以去掉P参数,如果需要压缩传输可以加z参数。

–delete 参数,这样当本地删除的文件,远程端也会删除,保持完整的一致。

1.3:将远程服务器目录拷贝到本地

rsync -avu –progress –delete root@1.2.3.4:/home/wwwroot/vpser.net/ /home/wwwroot/vpser.net/

二、daemon模式的配置

rsync daemon模式是以rsync服务器形式运行,首先我们需要创建rsync服务器的配置文件,配置文件:/etc/rsyncd.conf 默认此文件可能不存在,需要自己创建,配置信息如下:

port = 873
uid = root
gid = root
use chroot = no //使用chroot到文件系统中的目录中
max connections = 100 //最大并发连接数

#motd file = /etc/rsyncd.motd //定义服务器信息的,自己写 rsyncd.motd 文件内容
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log

timeout = 300

[vpser] //自定义模块
path = /home/wwwroot/vpser.net/   //用来指定要备份的目录
ignore errors    //可以忽略一些IO错误
read only = no      //设置no,客户端可以上传文件,yes是只读
write only = no   //no为客户端可以下载,yes 不能下载
hosts allow = 192.168.2.0/24    //允许连接的IP,强烈建议加上你允许的IP,多个IP逗号隔开
list = yes   //客户请求时,使用模块列表
auth users = vpser   //连接用户名,是虚拟用户与linux系统用户无关,多个用户名逗号隔开
secrets file = /etc/rsyncd.secrets   //验证密码文件,文件格式为:用户名:密码

写入配置时请将上面的注释信息去掉,并调整里面的相关参数。我们也提供了一个模板文件http://soft.vpser.net/sync/rsync/rsyncd.conf 可自己下载放到/etc/下并修改相关参数。

/etc/rsyncd.secrets 文件权限必须是600,创建好该文件后可以执行: chmod 600 /etc/rsyncd.secrets

注意:默认rsync服务器并不是自动启动的!

Debian/Ubuntu上是带自启动脚本的,修改 /etc/default/rsync ,将里面的RSYNC_ENABLE=false 改成 RSYNC_ENABLE=true 保存就设成开机自启动了。

CentOS上启动脚本都是不带的,执行:wget http://soft.vpser.net/sync/rsync/init.d.rsync -O /etc/init.d/rsync && chmod +x /etc/init.d/rsync && chkconfig rsync on 如果不报错的话就会开机自启动了。

完成上面设置后,执行:/etc/init.d/rsync start 即可启动。

测试rsync服务器:rsync -avuP vpser@192.227.165.35::vpser /home/wwwroot/vpser.net/   进行连接测试,注:@前的vpser为自定义模块里设置的用户名,::后面的vpser为你自定义模块的名称。

rsync使用小技巧:

1、可以用rsync快速删除大量文件:
建立一个空的文件夹: mkdir /root/blank
用rsync删除目标目录:rsync –delete-before -a -H -v –progress –stats /root/blank/ /home/wwwroot/cache/
这样我们要删除的 cache目录就会被清空了,删除的速 度会非常快。

2、如果开启了iptables防火墙,请将873端口加入防火墙允许规则。
iptables -I INPUT -p tcp –dport 873 -j ACCEPT
iptables -I OUTPUT -p tcp –sport 873 -j ACCEPT

3、用户可以自己根据自己的需求选择SSH或daemon模式
配合crontab定时执行任务 自动完成同步、备份等工作。

rsync 常用参数的具体解释如下:

-v, –verbose 详细模式输出
-q, –quiet 精简输出模式
-c, –checksum 打开校验开关,强制对文件传输进行校验
-a, –archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-r, –recursive 对子目录以递归模式处理
-b, –backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用–suffix选项来指定不同的备份文件前缀。
-suffix=SUFFIX 定义备份文件前缀
-u, –update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)
-l, –links 保留软链结
-p, –perms 保持文件权限
-o, –owner 保持文件属主信息
-g, –group 保持文件属组信息
-t, –times 保持文件时间信息
-e, –rsh=COMMAND 指定使用rsh、ssh方式进行数据同步
–delete 删除那些DST中SRC没有的文件
–delete-excluded 同样删除接收端那些被该选项指定排除的文件
–delete-after 传输结束以后再删除
–ignore-errors 及时出现IO错误也进行删除
–force 强制删除目录,即使不为空
–timeout=TIME IP超时时间,单位为秒
–progress 显示备份过程
-z, –compress 对备份的文件在传输时进行压缩处理
–exclude=PATTERN 指定排除不需要传输的文件模式
–include=PATTERN 指定不排除而需要传输的文件模式
–exclude-from=FILE 排除FILE中指定模式的文件
–include-from=FILE 不排除FILE指定模式匹配的文件

Linux流量监控工具 – iftop (最全面的iftop教程)

2016年5月18日 评论已被关闭

Linux流量监控工具 – iftop (最全面的iftop教程)

http://www.vpser.net/manage/iftop.html

在类Unix系统中可以使用top查看系统资源、进程、内存占用等信息。查看网络状态可以使用netstat、nmap等工具。若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop

一、iftop是什么?

iftop是类似于top的实时流量监控工具。

官方网站:http://www.ex-parrot.com/~pdw/iftop/

二、iftop有什么用?

iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等,详细的将会在后面的使用参数中说明。

三、安装iftop

安装方法1、编译安装

如果采用编译安装可以到iftop官网下载最新的源码包。

安装前需要已经安装好基本的编译所需的环境,比如make、gcc、autoconf等。安装iftop还需要安装libpcap和libcurses。

CentOS上安装所需依赖包:

yum install flex byacc  libpcap ncurses ncurses-devel libpcap-devel

Debian上安装所需依赖包:

apt-get install flex byacc  libpcap0.8 libncurses5

下载iftop

wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz

tar zxvf iftop-0.17.tar.gz

cd iftop-0.17

./configure

make && make install

安装方法2:(懒人办法,最简单)

直接省略上面的步骤

http://www.vpser.net/manage/centos-rhel-linux-third-party-source-epel.html 这个教程安装好EPEL,直接yum install iftop

Debian系统 运行:apt-get install iftop

四、运行iftop

直接运行: iftop

效果如下图:

五、相关参数及说明

1、iftop界面相关说明

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

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

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

2、iftop相关参数

常用的参数

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

-B 以bytes为单位显示流量(默认是bits),如:# iftop -B

-n使host信息默认直接都显示IP,如:# iftop -n

-N使端口信息默认直接都显示端口号,如: # iftop -N

-F显示特定网段的进出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0

-h(display this message),帮助,显示参数信息

-p使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;

-b使流量图形条默认就显示;

-f这个暂时还不太会用,过滤计算包用的;

-P使host信息及端口信息默认就都显示;

-m设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M

进入iftop画面后的一些操作命令(注意大小写)

按h切换是否显示帮助;

按n切换显示本机的IP或主机名;

按s切换是否显示本机的host信息;

按d切换是否显示远端目标主机的host信息;

按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量;

按N切换显示端口号或端口服务名称;

按S切换是否显示本机的端口信息;

按D切换是否显示远端目标主机的端口信息;

按p切换是否显示端口信息;

按P切换暂停/继续显示;

按b切换是否显示平均流量图形条;

按B切换计算2秒或10秒或40秒内的平均流量;

按T切换是否显示每个连接的总流量;

按l打开屏幕过滤功能,输入要过滤的字符,比如ip,按回车后,屏幕就只显示这个IP相关的流量信息;

按L切换显示画面上边的刻度;刻度不同,流量图形条会有变化;

按j或按k可以向上或向下滚动屏幕显示的连接记录;

按1或2或3可以根据右侧显示的三列流量数据进行排序;

按<根据左边的本机名或IP排序;

按>根据远端目标主机的主机名或IP排序;

按o切换是否固定只显示当前的连接;

按f可以编辑过滤代码,这是翻译过来的说法,我还没用过这个!

按!可以使用shell命令,这个没用过!没搞明白啥命令在这好用呢!

按q退出监控。

六、常见问题

1、make: yacc: Command not found
make: *** [grammar.c] Error 127

解决方法:apt-get install byacc   /   yum install byacc

2、configure: error: Curses! Foiled again!
(Can’t find a curses library supporting mvchgat.)
Consider installing ncurses.

解决方法:apt-get install libncurses5-dev  /    yum  install ncurses-devel

分类: Linux监控管理 标签:

运用Ntop监控网络流量

2016年5月16日 评论已被关闭

运用Ntop监控网络流量

http://www.ttlsa.com/linux/linux-ntop-network/

_网络流量反映了网络的运行状态,是判别网络运行是否正常的关键数据, 在实际的网络中,如果对网络流量控制得不好或发生网络拥塞,将会导致网络吞吐量下降、网络性能降低。通过流量测量不仅能反映网络设备(如路由器、交换机 等)的工作是否正常,而且能反映出整个网络运行的资源瓶颈,这样管理人员就可以根据网络的运行状态及时采取故障补救措施和进行相关的业务部署来提高网络的 性能。对网络进行流量监测分析,可以建立网络流量基准,通过连接会话数的跟踪、源/目的地址对分析、TCP流的分析等,能够及时发现网络中的异常流量,进 行实时告警,从而保障网络安全。本节将介绍的Ntop便可以提供详细的网络流量明细表。

1.Ntop简介

____Ntop是一种监控网络流量的工具,用NTOP显示网络的使用情况比其他一些网管软件更加直观、详细。NTOP甚至可以列出每个节点计算机的网络带宽利用率。

2.Ntop主要功能

Ntop主要提供以下一些功能:

①.自动从网络中识别有用的信息;

②.将截获的数据包转换成易于识别的格式;

③.对网络环境中通信失败的情况进行分析;

④.探测网络环境中的通信瓶颈,记录网络通信的时间和过程。

____Ntop可以通过分析网络流量来确定网络上存在的各种问题;也可以用来判断是否有黑客正在攻击网络系统;还可以很方便地显示出特定的网络协议、占用大量带宽的主机、各次通信的目标主机、数据包的发送时间、传递数据包的延时等详细信息。

3. Ntop支持的协议

____Ntop比MRTG更容易安装,如果用手机话费来比喻流 量,MRTG便如同提供总费用的电话账单,而Ntop则是列出每一笔费用的明细一样。目前市场上可网管型的交换机、路由器都支持SNMP协议,Ntop支 持简单网络管理协议,所以可以进行网络流量监控。Ntop几乎可以监测网络上的所有协议: TCP/UDP/ICMP、(R)ARP、IPX、Telnet、DLC、Decnet、DHCP-BOOTP、AppleTalk、Netbios、 TCP/UDP、FTP、HTTP、DNS、Telnet、SMTP/POP/IMAP、SNMP、NNTP、NFS、X11、SSH和基于P2P技术的 协议eDonkey。

4.Ntop支持插件

①.ICMPWATCH:

____用于端口检测很多人都已经知道了可以借助NETSTAT -AN来查看当前的连接与开放的端口,但NETSTAT并不万能,比如Win2000遭到OOB攻击的时候,不等NETSTAT就已经死机了。为此,出现 了一种特殊的小工具——端口监听程序。端口监听并不是一项复杂的技术,但却能解决一些局部问题。

②.NetFlow:

____近年来,很多服务提供商一直使用NetFlow。因为NetFlow在大型广域网环境里具有伸缩能力,可以帮助支持对等点上的最佳传输流,同时可以用来进行建立在单项服务基础之上的基础设施最优化评估,解决服务和安全问题方面所表现出来的价值,为服务计费提供基础。

③.rrdPlugin:

____用于生成流量图。RRD的作者,也是MRTG的作者,RRD可以简单的说是MRTG的升级版,它比MRTG更灵活,更适合用shellperl等程序来调用,成生所要的图片。

④.sFlow:

____sFlow(RFC 3176)是基于标准的最新网络导出协议,能够解决当前网络管理人员面临的很多问题。sFlow已经成为一项线速运行的“永远在线”技术,可以将 sFlow技术嵌入到网络路由器和交换机 ASIC芯片中。与使用镜像端口、探针和旁路监测技术的传统网络监视解决方案相比,sFlow能够明显地降低实施费用,同时可以使面向每一个端口的全企业 网络监视解决方案成为可能。与数据包采样技术(如RMON)不同,sFlow是一种导出格式,它增加了关于被监视数据包的更多信息,并使用嵌入到网络设备 中的sFlow代理转发被采样数据包,因此在功能和性能上都超越了当前使用的RMON、RMON II和NetFlow技术。sFlow技术独特之处在于它能够在整个网络中,以连续实时的方式监视每一个端口,但不需要镜像监视端口,对整个网络性能的影 响也非常小。

____另外,Ntop还允许用户安装插件用,以提供对于特定协议下具体统计数据的报告,如NFS和NetBIOS插件。当然,Ntop也可以生成运行它的主机的统计数据,列出开放套接字、接收和发送的数据以及每个过程的相关主机对。

二、Ntop系统的部署

对于共享网络,只须将连接到共享网络中的流量采集点的网络接口置为混杂工作模式,就可实现采集网络流量数据的功能。与交换网络相比,网络发生拥塞时,集线 器网络的可靠性很低,SNMP问询命令和回应数据包可能发生延迟或丢失,这时候Ntop检测数据也就不准确了,对于交换网络的情况,需要交换设备的支持 (如具有SPAN端口的交换机)。流量采集主机连接到交换设备的一个端口后,通过交换机的SPAN至(Switched PortAnalyzer)端口把要分析的所有流量镜像到该采集点上。SPAN在使用中非常灵活,可以监视交换机的单个端口,也可以监视多个端口,还可以 对VLAN进行监视。这就使流量异常监测系统具有了很大的灵活性。在一些流量比较大的企业,我们一般选用两个网卡,一块网卡作为Ntop专用嗅探网卡,连 到核心交换机的镜像端口,另一块配上IP地址并开放相应端口(默认是3000,也可以修改),连接交换机的作用是用来登录Web界面进行管理,Ntop的 部署如图所示。

Ntop没有自己的捕包工具,它需要一个外部的捕包程序库:libpcap。Ntop利用libpcap独立地从物理链路上进行捕包,它可以借助 libpcap的平台成为一个真正的与平台无关的应用程序。它直接从网卡捕包的任务由libpcap承担,所以我们必须确保Linux系统下正确安装了 libpcap。

三.Ntop安装配置

____Ntop工作时需要使用zlib、gd、libpcap及libpng的函数,安装前须检查服务器中是否已经含有下列的软件:zlib(zlib-1.1.3-xx以上)、gd(gd-1.3.xx以上)、libpng。可以使用RPM来确认:

rpm -qa | grep libpcap

rpm -qa | grep zlib

rpm -qa | grep gd

rpm -qa | grep libpng

如果发现缺少任何一个就需要自行安装,举例如下。

1.安装libpcap

# tar zxvf libpcap-0.9.8.tar.gz

# cd libpcap-0.9.8

#./configure

# make&&make install

2.安装RRDtool

____RRDtool是指Round Robin Database 工具(环状数据库)。Round Robin是一种处理定量数据以及当前元素指针的技术。想象一个周边标有点的圆环,这些点就是时间存储的位置。从圆心画一条到圆周的某个点的箭头,这就是 指针。一个圆环上没有起点和终点,可以一直存储下去。经过一段时间后,所有可用的位置都会被用过,该循环过程会自动重用原来的位置。这样,数据集不会增 大,并且不需要维护。

#tar -zxvf rrdtool-1.3.1.tar.gz

#export PKG_CONFIG_PATH=/usr/lib/pkgconfig/

#./configure

#make

#make install

3.安装Ntop

下载ntop安装包:http://www.nmon.net/packages/rpm/x86_64/ntop/

#rpm -ivh ntop-3.3.10-.x86.rpm

#yum install ntop \\CentOS系统

#apt-get install ntop \\Debian系统

____注意:在Ossim 系统中已经为我们安装好Ntop软件,可以直接使用。如果您选择单独安装可以继续参考以下内容。另外如果您使用Red Hat Linux 、Fedora或CentOS请首先关闭 SELinux功能。

4.建立Ntop用户并配置权限

#useradd ntop

5.建立Ntop存放数据的目录

#mkdir -p /var/ntop

#chown -R ntop.ntop /var/ntop

6.复制ntop.conf配置文件

#cp /ntop-3.3.10/ntop.conf.sample /etc/ntop.conf

7.设置管理密码

在执行ntop之前必须先建立管理员密码,长度至少5位。使用参数-A建立管理员密码

#ntop -A

8.Ntop的管理员密码重置方法

Ntop的用户密码文件是经过加密存储在ntop_pw.db文件中,Ntop用户密码存储位置:

64位版本:/var/lib/ntop_db_64/ntop_pw.db

64位版本需先删除其密码文件ntop_pw.db,然后用notp -A 重置管理员密码后,最后重启ntop服务就能生效。

#/etc/init.d/ntop restart

另外,注意一个细节,ntop的访问日志位置在/var/log/ntop/目录下,它的pcap log在/var/lib/ntop目录下。

四、应用Ntop

1.启动Ntop

#/usr/local/bin/ntop -i eth0 -d -L -u ntop -P /var/ntop –use-syslog=daemon

命令行中各项简要介绍如下。

l -i “eth0″:指定监听网卡。

l -d:后台执行。

l -L:输出日志写入系统日志(/var/log/messages)。

l -u ntop:指定使用Ntop身份执行。

l -P /var/ntop:指定Ntop数据库的文件位置。

l -use-syslog=daemon:使用系统日志进程。

l -w:使用其他端口,指定ntop使用其他端口,例如执行ntop –w 1900以后,便可以使用http://ip:1900来连接ntop

2.利用Web浏览器查看Ntop状况

Ntop的通讯端口为3000,所以在浏览器使用IP:3000进入ntop便可看到ntop欢迎界面
除此之外,Ntop另一个重要功能是探测DDoS类型攻击,主要是它可以通过分析网路流量来确定网路上存在的各种问题,也可以用来判断是否有骇客正在攻击 网路系统,还可以很方便地显示出特定的网路协议、佔用大量频宽的 主机、各次通信的目标主机、资料包的发送时间、传递资料包的延时等详细讯息。

上面介绍了一些ntop工具的特点,不过还有很多由于篇幅限 制没有给大家介绍,要知道Ntop这个工具只是Ossim平台的一个很小的模块,Ossim系统中集成的ntop可以将netflow数据存入mysql 数据库,并可以再下次系统启动后继续从数据库中读取,不会影响新生成的数据分析图。要了解Ossim是什么,请参考我的其他有关博文或视频。

转自:http://blog.chinaunix.net/uid-59434-id-4008171.html

运用Ntop监控网络流量

2016年5月16日 评论已被关闭

运用Ntop监控网络流量

http://my.oschina.net/zijingshanke/blog/388864#OSC_h3_6

NTopng主要特性

多协议网络流量;IPv4/IPv6活跃主机

网络流量监控(RRD存储格式);基于nDPI实现应用协议发现

作为 NetFlow/sFlow  采集器 (Cisco/ Juniper 路由器)  ;交换机配合 nProbe.

效果图

What ntopng can do for me?


  • http://www.ntop.org/products/ntop
  • Sort network traffic according to many protocols
  • Show network traffic and IPv4/v6 active hosts
  • Store on disk persistent traffic statistics in RRD format
  • Geolocate hosts
  • Discover application protocols by leveraging on nDPI, ntop’s DPI framework.
  • Characterise HTTP traffic by leveraging on characterisation services provided by block.si. ntopng comes with a demo characterisation key, but if you need a permanent one, please mail info@block.si.
  • Show IP traffic distribution among the various protocols
  • Analyse IP traffic and sort it according to the source/destination
  • Display IP Traffic Subnet matrix (who’s talking to who?)
  • Report IP protocol usage sorted by protocol type
  • Act as a NetFlow/sFlow collector for flows generated by routers (e.g. Cisco and Juniper) or switches (e.g. Foundry Networks) when used together with nProbe.
  • Produce HTML5/AJAX network traffic statistics

Ntopng 架构

Libpcap

网络数据包捕获函数包

Sqlite

轻型数据库,多语言支持(ntopng中应该是和python结合),很多嵌入式系统也用到它

Gdbm:DBM的GNU版本,使用hash存储非结构化数据

 Python

autoconf、automake、pkg-config、libtool(提供通用的库编译支持)

Gettext、icu4c:国际化(I18N)和本地化(L10N),多语言支持

libffi:“FFI” 的全名是 Foreign Function Interface,通常指的是允许以一种语言编写的代码调用另一种语言的代码。而 “Libffi” 库只提供了最底层的、与架构相关的、完整的”FFI”,因此在它之上必须有一层来负责管理两种语言之间参数的格式转换

Gobject-introspection:(简称 GI)用于产生与解析 C 程序库 API 元信息,以便于动态语言(或托管语言)绑定基于 C + GObject 的程序库

json-glib、json-c、openssl、glib

ZeroMQ

号称最快的消息库,协议级,目标是成为Linux的一部分。

《ZeroMQ社区》:《ZeroMQ社区生态白皮书》、《ZMQ架构哲学》

libtasn1:用于开发 ASN.1 (Abstract Syntax Notation One) 结构管理的 C 库

gmp

Nettle:a low-level cryptographic library (加密)

Gnutls:(加密)

libpng:the official PNG reference library (图形)

pixman:像素管理(图形)

Cairo:a2Dgraphicslibrarywithsupportformultipleoutputdevices.

Freetype:FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括TrueType,OpenType, Type1, CID,CFF, Windows FON/FNT, X11 PCF等

fontconfig:字体库管理

Pango

Pango(Παν语)是一个开放源代码的自由函数库,用于高质量地渲染国际化的文字。Pango可以使用不同的后端字体,并提供了跨平台支持。依赖Harfbuzz :一个开源的text opentype layout 引擎。

RRDtool

源自MRTG(多路由器流量绘图器)。MRTG是有一个大学连接到互联网链路的使用率的小脚本开始的。MRTG后来被当作绘制其他数据源的工具使用,包括温度、速度、电压、输出量等等。

参考:http://blog.sina.com.cn/s/blog_4e424e2101000b5s.html

luajit

C语言写的Lua的解释器

Geoip:IP GIS图形

 Redis

Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Ntopng的Redis数据结构如下:

Brew快速安装

yanruideMacBook-Pro:~ yanrui$ ruby -v

ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]

yanruideMacBook-Pro:~ yanrui$ ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

==> This script will install:

/usr/local/bin/brew

/usr/local/Library/…

/usr/local/share/man/man1/brew.1

Press RETURN to continue or any other key to abort

==> Downloading and installing Homebrew…

remote: Counting objects: 237423, done.

remote: Compressing objects: 100% (1040/1040), done.

remote: Total 237423 (delta 711), reused 0 (delta 0), pack-reused 236381

Receiving objects: 100% (237423/237423), 32.52 MiB | 1.01 MiB/s, done.

Resolving deltas: 100% (176649/176649), done.

From https://github.com/Homebrew/homebrew

* [new branch]      master     -> origin/master

HEAD is now at 0faf905 Return early for the == case in Version#<=>

==> Installation successful!

==> Next steps

Run `brew doctor` before you install anything

Run `brew help` to get started

yanruideMacBook-Pro:~ yanrui$brew install ntopng

cairo: XQuartz is required to install this formula.

You can install with Homebrew Cask:

brew install Caskroom/cask/xquartz

You can download from:

https://xquartz.macosforge.org

pango: XQuartz is required to install this formula.

You can install with Homebrew Cask:

brew install Caskroom/cask/xquartz

You can download from:

https://xquartz.macosforge.org

Error: Unsatisified requirements failed this build.

yanruideMacBook-Pro:~ yanrui$ brew install Caskroom/cask/xquartz

Cloning into ‘/usr/local/Library/Taps/caskroom/homebrew-cask’…

remote: Counting objects: 128670, done.

remote: Compressing objects: 100% (12/12), done.

remote: Total 128670 (delta 4), reused 0 (delta 0), pack-reused 128658

Receiving objects: 100% (128670/128670), 37.17 MiB | 6.00 KiB/s, done.

Resolving deltas: 100% (85113/85113), done.

Checking connectivity… done.

Ntopng 服务启动

yanruideMacBook-Pro:~ yanrui$ sudo ntopng

19/Mar/2015 11:51:40 [Ntop.cpp:586] Setting local networks to 192.168.1.0/24,0.0.0.0/32,224.0.0.0/8,239.0.0.0/8,255.255.255.255/32,127.0.0.0/8

19/Mar/2015 11:51:40 [Redis.cpp:74] Successfully connected to Redis 127.0.0.1:6379

19/Mar/2015 11:51:40 [PcapInterface.cpp:81] Reading packets from interface en0…

19/Mar/2015 11:51:40 [Ntop.cpp:710] Registered interface en0 [id: 0]

19/Mar/2015 11:51:40 [PcapInterface.cpp:81] Reading packets from interface awdl0…

19/Mar/2015 11:51:40 [Ntop.cpp:710] Registered interface awdl0 [id: 1]

19/Mar/2015 11:51:40 [PcapInterface.cpp:81] Reading packets from interface en1…

19/Mar/2015 11:51:40 [Ntop.cpp:710] Registered interface en1 [id: 2]

19/Mar/2015 11:51:40 [PcapInterface.cpp:81] Reading packets from interface en2…

19/Mar/2015 11:51:40 [Ntop.cpp:710] Registered interface en2 [id: 3]

19/Mar/2015 11:51:40 [PcapInterface.cpp:81] Reading packets from interface p2p0…

19/Mar/2015 11:51:40 [Ntop.cpp:710] Registered interface p2p0 [id: 4]

19/Mar/2015 11:51:40 [PcapInterface.cpp:81] Reading packets from interface lo0…

19/Mar/2015 11:51:40 [Ntop.cpp:710] Registered interface lo0 [id: 5]

19/Mar/2015 11:51:40 [Utils.cpp:251] User changed to nobody

19/Mar/2015 11:51:40 [main.cpp:184] PID stored in file /var/tmp/ntopng.pid

19/Mar/2015 11:51:40 [HTTPserver.cpp:392] HTTP server listening on port 3000

P2P演示案例

演示案例:

A->B通过QQ传递一个文件,在B端开启监测服务。

在NTopng WEB 控制台可以实时观测到B端主机的当前流量变化、目标IP地址、协议等。

欢迎交流指正!

预备话题

以下话题构思准备中,请关注

1.NTop在服务器集群中的多点探测部署

2.插件:支持NetFlow

Contact  https://riboseyim.github.io

使用ntopng在Linux上搭建基于Web的网络流量监控系统

2016年5月16日 评论已被关闭

使用ntopng在Linux上搭建基于Web的网络流量监控系统

http://os.51cto.com/art/201401/427574.htm

【2014年1月16日 51CTO外电头条】如果你负责监控本地网络上的网络流量,可能会考虑许多不同的方法来进行监控,这取决于本地网络的规模/流量、监控平台/界面以及后端数据库类型等因素。

ntopng是一款采用开源技术(GPLv3)的网络流量分析工具,它为实时监控网络流量提供了一个Web界面。它可以在多个平台上运行,包括Linux和Mac OS X。ntopng本身随带一个简单的类似RMON的代理软件,内置Web服务器功能,并使用支持Redis的键值服务器来存储时间序列统计数字。你可以将ntopng网络流量分析工具安装到与你网络连接的任何指定的监控服务器上,可以使用Web浏览器,访问服务器上现有的实时流量报告。

我在本教程中将介绍如何使用ntopng,在Linux上搭建基于Web的网络流量监控系统。

ntopng的功能特性

  • 对本地网络流量进行流量层、协议层的实时分析。
  • 域、自主系统(AS)和虚拟局域网(VLAN)等层面的统计数字。
  • IP地址的地理位置。
  • 基于深层数据包检查(DPI)的服务发现(比如谷歌和Facebook)。
  • 历史流量分析(比如分析每小时、每天、每周、每月、每年的流量)。
  • 通过nProbe,支持sFlow、NetFlow(v5/v9)和IPFIX。
  • 网络流量矩阵(谁跟谁通信?)。
  • 支持IPv6。

将ntopng安装在Linux上

官方网站为UbuntuCentOS提供了二进制程序包。

如果你想从其源处构建最新的ntopng,请遵照下面的指示操作(最新信息:这些指示适用于ntopng 1.0。如果是ntopng 1.1或更高版本,请参阅最新指示。)。

想在Debian、Ubuntu或Linux Mint上构建ntopng:

  1. $ sudo apt-get install libpcap-dev libglib2.0-dev libgeoip-dev redis-server wget libxml2-dev
  2. $ tar xzf ntopng-1.0.tar.gz -C ~
  3. $ cd ~/ntopng-1.0/
  4. $ ./configure
  5. $ make geoip
  6. $ make

在上述步骤中,”make geoip”会使用wget命令,从maxmind.com自动下载免费版的GeoIP数据库。所以,要确保你的系统已连接至网络。

想在Fedora上构建ntopng:

  1. $ sudo yum install libpcap-devel glib2-devel GeoIP-devel libxml2-devel libxml2-devel redis wget
  2. $ tar xzf ntopng-1.0.tar.gz -C ~
  3. $ cd ~/ntopng-1.0/
  4. $ ./configure
  5. $ make geoip
  6. $ make

想把ntopng安装到CentOS或RHEL上,先建立EPEL软件库(http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html),然后遵照与上面Fedora中同样的指示操作即可。

在Linux上配置ntopng

构建了ntopng后,为ntopng创建一个配置目录,并且准备好默认配置文件,如下所示。我假设,”192.168.1.0/24″是你本地网络的CIDR地址前缀。

  1. $ sudo mkir /etc/ntopng -p
  2. $ sudo -e /etc/ntopng/ntopng.start –local-networks “192.168.1.0/24”
  3. –interface 1
  4. $ sudo -e /etc/ntopng/ntopng.conf
  5. -G=/var/run/ntopng.pid

在运行ntopng之前,确保先启动redis,这是ntopng的键值存储区。

想在Debian、Ubuntu或Linux Mint上启动ntopng:

  1. $ sudo /etc/init.d/redis-server restart
  2. $ cd ~/ntopng-1.0/
  3. $ sudo ./ntopng

想在Fedora、CentOS或RHEL上启动ntopng:

  1. $ sudo service redis restart
  2. $ cd ~/ntopng-1.0/
  3. $ sudo ./ntopng

默认情况下,ntopng在TCP/3000端口侦听。使用下面这个命令,证实确实如此。

  1. $ sudo netstat -nap|grep ntopng
  2. tcp        0      0 0.0.0.0:3000            0.0.0.0
  3. :*      LISTEN     29566/ntopng

在基于Web的界面中监控网络流量

一旦ntopng成功运行,使用你的Web浏览器,进入到http://<ip-address-of-host>:3000,即可访问ntopng的Web界面。

你会看到ntopng的登录屏幕。使用默认的用户名和密码:”admin/admin”,即可登录。

下面是实际使用的ntopng的几个屏幕截图。

顶峰流量的实时图示。

顶峰主机、顶峰协议和顶峰AS号的实时统计数字。

活动流量的实时报告,使用了基于DPI的应用程序/服务自动发现。

历史流量分析。

原文链接:http://xmodulo.com/2013/10/set-web-based-network-traffic-monitoring-linux.html

【编辑推荐】

分类: Linux监控管理 标签:

使用ssh、scp时不再输入密码

2016年5月13日 评论已被关闭

使用ssh、scp时不再输入密码

1 目的:

   在 A机器:192.168.1.2 上使用ssh、scp对 B机器:192.168.1.11 操作时不再输入密码。

2 方法:

    使用 ssh-keygen 生成当前用户公钥和私钥,公钥内容追加到目的主机的对应用户的home目录下的 ~/.ssh/authorized_keys;这样使用私钥就可以不输入密码ssh或者scp目的主机

3 具体:

3.1 ssh-keygen 常用选项

-f 指定密钥文件名
-N 提供一个密钥对密码
-t 指定要创建的密钥类型。可以使用:”rsa1″(SSH-1) “rsa”(SSH-2) “dsa”(SSH-2)

3.2 实例1 无密钥对密码

    使用无密钥对密码产生的密钥对时,无需输入如密码,使用有密钥对密码产生的密钥对时,需要输入密钥对密码(是ssh-keygen的-N参数值或者Enter passphrase (empty for no passphrase):时的输入)
红色字体是在 192.168.1.2 上的操作,紫色字体是在192.168.1.11上的操作
[root@test2 ~]# ssh-keygen -f /root/.ssh/op_center_rsa -t rsa
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):  #直接回车,无密钥对密码
Enter same passphrase again: #直接回车,无密钥对密码
Your identification has been saved in /root/.ssh/op_center_rsa.
Your public key has been saved in /root/.ssh/op_center_rsa.pub.
The key fingerprint is:
f5:16:65:d0:7e:08:da:df:89:4c:86:4c:c9:6d:2e:a3 root@test2
[root@test2 ~]# scp -P20009 /root/.ssh/op_center_rsa.pub 192.168.1.11:/root/.ssh/
Address 192.168.1.11 maps to test2, but this does not map back to the address – POSSIBLE BREAK-IN ATTEMPT!
root@192.168.1.11’s password:
op_center_rsa.pub 100% 396 0.4KB/s 00:00
[root@test11 ~]# cd .ssh/
[root@test11 .ssh]# ls
known_hosts op_center_rsa.pub
[root@test11 .ssh]# mv op_center_rsa.pub
[root@test11 .ssh]# cat op_center_rsa.pub >> authorized_keys; chmod 0600 authorized_keys;rm -f op_center_rsa.pub#这里的 authorized_keys 的权限必须是 0600
[root@test11 .ssh]# ls -l authorized_keys
-rw——- 1 root root 396 Feb 6 12:14 authorized_keys
[root@test11 .ssh]# ifconfig |grep “192.168.1.11”
          inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0
[root@test11 .ssh]#
[root@test2 ~]# ssh -p20009 -i /root/.ssh/op_center_rsa 192.168.1.11 ifconfig |grep “192.168.1.11” #验证密钥对是否生效

Address 192.168.1.11 maps to test2, but this does not map back to the address – POSSIBLE BREAK-IN ATTEMPT!
          inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0

[root@test2 ~]#

3.3 实例2 有密钥密码

红色字体是在 192.168.1.2 上的操作,紫色字体是在192.168.1.11上的操作
[root@test2 ~]# ssh-keygen -f /root/.ssh/pass_op_center_rsa -t rsa -N”123456″

Generating public/private rsa key pair.
Your identification has been saved in /root/.ssh/pass_op_center_rsa.
Your public key has been saved in /root/.ssh/pass_op_center_rsa.pub.
The key fingerprint is:
a5:b7:7e:a2:30:70:f0:25:f6:fd:6b:f1:c0:a7:f3:9a root@test2
[root@test2 ~]# scp -P20009 /root/.ssh/pass_op_center_rsa.pub 192.168.1.11:/root/.ssh/
Address 192.168.1.11 maps to test2, but this does not map back to the address – POSSIBLE BREAK-IN ATTEMPT!
root@192.168.1.11’s password:
pass_op_center_rsa.pub 100% 396 0.4KB/s 00:00
[root@test11 ~]# cd /root/.ssh/
[root@test11 .ssh]# ls
authorized_keys known_hosts pass_op_center_rsa.pub
[root@test11 .ssh]# cat pass_op_center_rsa.pub >> authorized_keys; chmod 0600 authorized_keys; rm -f pass_op_center_rsa.pub #这里的 authorized_keys 的权限必须是 0600
[root@test11 .ssh]# ifconfig |grep “192.168.1.11”
          inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0
[root@test11 .ssh]#
[root@test2 ~]# ssh -p20009 -i /root/.ssh/pass_op_center_rsa 192.168.1.11 ifconfig |grep “192.168.1.11”#验证密钥对是否生效
Address 192.168.1.11 maps to test2, but this does not map back to the address – POSSIBLE BREAK-IN ATTEMPT!
Enter passphrase for key ‘/root/.ssh/pass_op_center_rsa’: #这时这里要输入 ssh-keygen -N参数的内容
          inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0

[root@test2 ~]#

这里的私钥文件也可以下载到windows使用Xshell登录.
————- end ————-
From: GS
——————————-
分类: Linux监控管理 标签:

Redis监控方案

2016年5月12日 评论已被关闭

Redis监控方案

http://blog.csdn.net/babydavic/article/details/8554893

Redis 监控最直接的方法当然就是使用系统提供的 info 命令来做了,你只需要执行下面一条命令,就能获得 Redis 系统的状态报告。

redis-cli info

内存使用

如果 Redis 使用的内存超出了可用的物理内存大小,那么 Redis 很可能系统会被 OOM Killer杀掉。针对这一点,你可以通过 info 命令对 used_memory 和 used_memory_peak 进行监控,为使用内存量设定阀值,并设定相应的报警机制。当然,报警只是手段,重要的是你得预先计划好,当内存使用量过大后,你应该做些什么,是清除一些没用的冷数据,还是把 Redis 迁移到更强大的机器上去。

持久化

如果因为你的机器或 Redis 本身的问题导致 Redis 崩溃了,那么你唯一的救命稻草可能就是 dump 出来的 rdb文件了,所以,对 Redis dump 文件进行监控也是很重要的。你可以通过对rdb_last_save_time 进行监控,了解你最近一次 dump 数据操作的时间,还可以通过对rdb_changes_since_last_save 进行监控来知识如果这时候出现故障,你会丢失多少数据。

主从复制

如果你设置了主从复制模式,那么你最好对复制的情况是否正常做一些监控,主要是对 info 输出中的 master_link_status 进行监控,如果这个值是 up,那么说明同步正常,如果是 down,那么你就要注意一下输出的其它一些诊断信息了。比如下面这些:

role:slave
master_host:192.168.1.128
master_port:6379
master_link_status:down
master_last_io_seconds_ago:-1
master_sync_in_progress:0
master_link_down_since_seconds:1356900595

Fork 性能

当 Redis 持久化数据到磁盘上时,它会进行一次 fork 操作,通过 fork 对内存的 copy on write 机制最廉价的实现内存镜像。但是虽然内存是 copy on write 的,但是虚拟内存表是在 fork 的瞬间就需要分配,所以 fork 会造成主线程短时间的卡顿(停止所有读写操作),这个卡顿时间和当前 Redis 的内存使用量有关。通常 GB 量级的 Redis 进行 fork 操作的时间在毫秒级。你可以通过对 info 输出的 latest_fork_usec 进行监控来了解最近一次 fork 操作导致了多少时间的卡顿。

配置一致

Redis 支持使用 CONFIG SET 操作来实现运行实的配置修改,这很方便,但同时也会导致一个问题。就是通过这个命令动态修改的配置,是不会同步到你的配置文件中去的。所以当你因为某些原因重启 Redis 时,你使用 CONFIG SET 做的配置修改就会丢失掉,所以我们最好保证在每次使用 CONFIG SET 修改配置时,也把配置文件一起相应地改掉。为了防止人为的失误,所以我们最好对配置进行监控,使用 CONFIG GET 命令来获取当前运行时的配置,并与 redis.conf 中的配置值进行对比,如果发现两边对不上,就启动报警。

慢日志

Redis 提供了 SLOWLOG 指令来获取最近的慢日志,Redis 的慢日志是直接存在内存中的,所以它的慢日志开销并不大,在实际应用中,我们通过 crontab 任务执行 SLOWLOG 命令来获取慢日志,然后将慢日志存到文件中,并用 Kibana 生成实时的性能图表来实现性能监控。

值得一提的是,Redis 的慢日志记录的时间,仅仅包括 Redis 自身对一条命令的执行时间,不包括 IO 的时间,比如接收客户端数据和发送客户端数据这些时间。另外,Redis 的慢日志和其它数据库的慢日志有一点不同,其它数据库偶尔出现 100ms 的慢日志可能都比较正常,因为一般数据库都是多线程并发执行,某个线程执行某个命令的性能可能并不能代表整体性能,但是对 Redis 来说,它是单线程的,一旦出现慢日志,可能就需要马上得到重视,最好去查一下具体是什么原因了。

监控服务

-Sentinel

Sentinel 是 Redis 自带的工具,它可以对 Redis 主从复制进行监控,并实现主挂掉之后的自动故障转移。在转移的过程中,它还可以被配置去执行一个用户自定义的脚本,在脚本中我们就能够实现报警通知等功能。

-Redis Live

Redis Live 是一个更通用的 Redis 监控方案,它的原理是定时在 Redis 上执行 MONITOR 命令,来获取当前 Redis 当前正在执行的命令,并通过统计分析,生成web页面的可视化分析报表。

-Redis Faina

Redis Faina 是由著名的图片分享应用 instagram 开发的 Redis 监控服务,其原理和 Redis Live 类似,都是对通过 MONITOR 来做的。

数据分布

弄清 Redis 中数据存储分布是一件很难的是,比如你想知道哪类型的 key 值占用内存最多。下面是一些工具,可以帮助你对 Redis 的数据集进行分析。

-Redis-sampler

Redis-sampler 是 Redis 作者开发的工具,它通过采用的方法,能够让你了解到当前 Redis 中的数据的大致类型,数据及分布状况。

-Redis-audit

Redis-audit 是一个脚本,通过它,我们可以知道每一类 key 对内存的使用量。它可以提供的数据有:某一类 key 值的访问频率如何,有多少值设置了过期时间,某一类 key 值使用内存的大小,这很方便让我们能排查哪些 key 不常用或者压根不用。

-Redis-rdb-tools

Redis-rdb-tools 跟 Redis-audit 功能类似,不同的是它是通过对 rdb 文件进行分析来取得统计数据的。

翻译:http://snmaynard.com/2013/01/22/redis-masterclass-part-two-monitoring-redis/

 

Ganglia 权威指南-安装Ganglia过程

2016年5月12日 评论已被关闭

Ganglia 权威指南-安装Ganglia过程

http://blog.csdn.net/xxd851116/article/details/21527055

Ganglia由gmond、gmetad和gweb三部分组成

gmond(Ganglia Monitoring Daemon)是一种轻量级服务,安装在每台需要收集指标数据的节点主机上。gmond在每台主机上完成实际意义上的指标数据收集工作,并通过侦听/通告协议和集群内其他节点共享数据。使用gmond,你可以很容易收集很多系统指标数据,如CPU、内存、磁盘、网络和活跃进程的数据等。

gmetad(Ganglia Meta Daemon)是一种从其他gmetad或gmond源收集指标数据,并将其以RRD格式存储至磁盘的服务。gmetad为从主机组收集的特定指标信息提供了简单的查询机制,并支持分级授权,使得创建联合监测域成为可能。

gweb(Ganglia Web)gweb是一种利用浏览器显示gmetad所存储数据的PHP前端。在Web界面中以图表方式展现集群的运行状态下收集的多种不同指标数据。

准备环境

# lsb_release -a
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 6.5 (Final)
Release: 6.5
Codename: Final

S1、安装gmond

在本地软件库中搜索gmond安装包
[root@stonex ~]# yum search ganglia-gmond
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.ustc.edu.cn
* extras: centos.ustc.edu.cn
* updates: centos.ustc.edu.cn
Warning: No matches found for: ganglia-gmond
No Matches found

显示搜索失败,可能是当前RPM发行版中没有Ganglia安装包。

[root@stonex ~]# rpm -Uvh \
> http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Retrieving http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
warning: /var/tmp/rpm-tmp.L2dC50: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing…                ########################################### [100%]
1:epel-release           ########################################### [100%]
[root@stonex ~]#

再搜索(首次执行会下载epel/primary_db)
[root@stonex ~]# yum search ganglia-gmond
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
省略了一些行……
ganglia-gmond.x86_64 : Ganglia Monitoring daemon
ganglia-gmond-python.x86_64 : Ganglia Monitor daemon python DSO and metric modules
省略了一些行……
[root@stonex ~]#

安装
[root@stonex ~]# yum install ganglia-gmond -y
yum安装会自动解决头疼的依赖包问题

S2、安装gmetad

和gmond安装中介绍的相同,如果本地软件库不提供gmetad,那么需要安装EPEL。
[root@stonex ~]# yum install ganglia-gmetad -y
会发现安装了以下依赖包:
Dependency Installed:
dejavu-fonts-common.noarch 0:2.30-2.el6 dejavu-lgc-sans-mono-fonts.noarch 0:2.30-2.el6 dejavu-sans-mono-fonts.noarch 0:2.30-2.el6 fontpackages-filesystem.noarch 0:1.41-1.1.el6   rrdtool.x86_64 0:1.3.8-6.el6

S3、安装gweb

Wiki:http://sourceforge.net/apps/trac/ganglia/wiki/ganglia-web-2#Installation

在进行gweb的安装和配置前,请先检查是否已经
满足下面需求:
Apache Web Server
PHP 5.2及更新版本
PHP JSON 扩展的安装和启用

首先安装Apache和PHP 5
[root@stonex ~]# yum install httpd php
会发现安装了以下依赖包:
Dependency Installed:
apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1   httpd-tools.x86_64 0:2.2.15-29.el6.centos   mailcap.noarch 0:2.1.31-2.el6   php-cli.x86_64 0:5.3.3-27.el6_5   php-common.x86_64 0:5.3.3-27.el6_5

需要启用PHP的JSON扩展,JSON已经包含在PHP 5.2及更新版本中。
通过检查/etc/php.d/json.ini文件来检查JSON扩展的状态,如果已经启用JSON扩展,在该文件中应该包含类似下面语句的内容:
extension=json.ini

下载最新版本的gweb(https://sourceforge.net/projects/ganglia/files/gweb/)
本示例当前最新版本为3.5.12
[root@stonex ~]# wget http://ncu.dl.sourceforge.net/project/ganglia/ganglia-web/3.5.12/ganglia-web-3.5.12.tar.gz
[root@stonex down]# tar -zxvf ganglia-web-3.5.12.tar.gz
[root@stonex down]# cd ganglia-web-3.5.12

编译Makefile
[root@stonex ganglia-web-3.5.12]# vim Makefile
可以查看一些用户默认配置:
##########################################################
# User configurables:
##########################################################
# Location where gweb should be installed to (excluding conf, dwoo dirs).
GDESTDIR = /usr/share/ganglia-webfrontend

# Location where default apache configuration should be installed to.
GCONFDIR = /etc/ganglia-web

# Gweb statedir (where conf dir and Dwoo templates dir are stored)
GWEB_STATEDIR = /var/lib/ganglia-web

# Gmetad rootdir (parent location of rrd folder)
GMETAD_ROOTDIR = /var/lib/ganglia

APACHE_USER = www-data
##########################################################

修改默认配置:
GDESTDIR = /var/www/html/ganglia2
APACHE_USER = apache

注意:GDESTDIR 和 APACHE_USER 要与APACHE的配置文件(/etc/httpd/conf/httpd.conf)中的  DocumentRoot 、 apache保持一致

make install

 

S4、状态检查

检查httpd是否启动:
[root@stonex ~]# service httpd status
启动httpd:
[root@stonex ~]# service httpd start

检查gmetad是否启动:
[root@stonex ~]# service gmetad status
启动gmetad:
[root@stonex ~]# service gmetad start

检查本地gmond是否启动:
[root@stonex ~]# service gmond status
启动gmond:
[root@stonex ~]# service gmond start

S5、关闭SELinux

如果你跳过这一步,打开http://<server ip address>/ganglia2会出现以下异常:
There was an error collecting ganglia data (127.0.0.1:8652): fsockopen error: Permission denied

SELinux是什么?
http://wiki.centos.org/zh/HowTos/SELinux

查看SELinux状态:
[root@stonex ~]# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   permissive
Mode from config file:          enforcing
Policy version:                 24
Policy from config file:        targeted

关闭SELinux:
[root@stonex ~]# setenforce 0
setenforce 这个指令可以即时切换 Enforcing 及 Permissive 这两个模式,但这些改动在系统重新开机时不会被保留。
要想在下次开机后生效,需要在 /etc/selinux/config 内修改 SELINUX= 这一行为 enforcing。

S6、访问Ganglia监控平台

http://<server ip address>/ganglia2/

目录“/ganglia2”可以在 ganglia-web的Makefile文件中GDESTDIR被修改,修改后需要重新编译

(完)

分类: Linux监控管理 标签:

分布式监控报警平台Centreon之:Centreon简介

2016年5月12日 评论已被关闭

分布式监控报警平台Centreon之:Centreon简介

http://blog.chinaunix.net/uid-20671208-id-4655767.html

一、Centreon概述
Centreon是一款功能强大的分布式IT监控系统,它通过第三方组件可以实现对网络、操作系统和应用程序的监控:首先,它是开源的,我们可以免费使用它;其次,它的底层采用nagios作为监控软件,同时nagios通过ndoutil模块将监控到的数据定时写入数据库中,而Centreon实时从数据库读取该数据并通过Web界面展现监控数据;,最后,我们可以通过Centreon管理和配置nagios,或者说Centreon就是nagios的一个管理配置工具,通过Centreon提供的Web配置界面,可以轻松完成nagios的各种繁琐配置。
此外,Centreon还支持NRPE、SNMP、NSClient等插件,可以通过这些插件构建分布式的监控报警系统。
二、 Centreon的特点
Centreon作为一款优秀的IT监控软件,具有如下显著特点和优点:
采用web方式配置nagios,通过web界面即可完全控制nagios,可以轻松添加和管理上千台主机和服务。
支持主机模板和服务模板,并且自动建立关联服务。
支持多节点的分布式监控,对于远程节点可采用NRPE、SNMP、NSClient等方式监控私有服务。
支持ACL权限管理,可以给不同用户设置不同的管理权限,多个用户可以管理不同主机和服务,互不影响。
详细的报表统计功能和日志管理功能,可以查看某个时间段某个服务或主机的运行状态、故障率等。
模块化管理,可根据需要定制自己的模块,同时支持第三方监控数据接入。
三、 Centreon的结构
一个典型的Centreon监控系统一般有四大部分组成,分别是nagios、centstorage、centcore和ndoutils,简单介绍如下:
nagios是Centreon的底层监控引擎,主要完成监控报警系统所需的各项功能,是Centreon监控系统的核心。另外,Centreon还支持Centreon Engine、Icinga等监控引擎。本章采用nagios监控引擎进行介绍。
centstorage是一个数据存储模块,它主要用于将日志数据及RRDtool生成的数据存储到数据库中,以供用户查询日志数据并快速生成曲线图,更主要的是nagios可以随时通过查看数据库中的记录更新监控状态。
centcore主要用于cnetreon的分布式监控系统中,在系统中centcore是一个基于perl的守护进程,主要负责中心服务器(central server)和扩展节点(pollers)间的通信和数据同步等操作,例如centcore可以在中心服务器上执行对远程扩展节点上nagios服务的启动、关闭和重启操作,还可以运行、更新扩展节点上nagios的配置文件。
ndoutils是将nagios与数据库进行连接的工具,它可以将nagios的实时状态写入数据库,以供其他程序去调用,最终可以实现在一个控制台上完成所有扩展节点的数据入库操作。

在介绍了Centreon监控系统的基本组成以后,下面重点看看每个组成部分是如何协调工作的,如下图1所示。

图1主要展示了Centreon每个组成部分是如何工作的,在组织结构上,一般情况下,Centreon Web、Centrstorage、Centcore和Ndo2DB位于中心服务器上,而Nagios和Ndomod可以位于一台独立的扩展节点(pollers)上,也可以位于中心服务器上。在分布式监控环境中,Nagios和Ndomod都位于远程的一个扩展节点上,此图没有展示Centreon的分布式监控构架,这个将后面详细介绍。

为了能使大家快速了解Centreon的内部工作原理,我们将图1分为三条线来介绍,第一条线:Centreon Web—>Centcore—> Centstorage—>db—> Centreon Web,Centreon Web就是Centreon的Web配置管理界面,在Web配置管理界面中配置好主机和服务后,会生成相应的配置文件,然后Centcore会去读取这些配置文件并结合相关Nagios插件将数据发送到Nagios监控引擎,并生成相关日志文件和rrds文件,而Centstorage模块会及时收集这些日志信息及rrds数据并最终将这些数据存入数据库中,以供Centreon Web展示调用。

接着是第二条线:Nagios—> Centstorage—>db—> Centreon Web,在本地或远程的扩展节点中Nagios监控引擎会产生日志文件和rrds文件,这些文件定期被Centstorage读取并最终存储在数据库中,以供Centreon Web读取。

最后一条线:Nagios(Ndomod)—> Ndo2DB—>db—> Centreon Web,这一条线将Nagios实时监控状态写入数据库,首先由在本地或远程扩展节点上的Ndomod进程将Nagios监控状态通过Ndo2DB模块写入数据库,最后Centreon Web会定期调用此db库,这样监控系统中各个主机或服务的监控状态就被实时展示出来了。

通过对这三条线的描述,Centreon内部工作过程就变得非常清晰了!

Centreon+nagios安装配置相关问题汇总

2016年5月12日 评论已被关闭

Centreon+nagios安装配置相关问题汇总

http://88fly.blog.163.com/blog/static/1226803902012111810212612/

nagios与错误log:
[1354969720] ndomod: NDOMOD 1.5.2 (06-08-2012) Copyright (c) 2009 Nagios Core Development Team and Community Contributors
[1354969720] ndomod: Could not open data sink!  I’ll keep trying, but some output may get lost…
[1354969720] Event broker module ‘/usr/local/nagios/bin//ndomod.o’ initialized successfully.
[1354969720] Finished daemonizing… (New PID=31660)
[1354969720] INITIAL HOST STATE: Centreon-Server;DOWN;HARD;5;Warning: This plugin must be either run as root or setuid root.
[1354969720] INITIAL SERVICE STATE: Centreon-Server;Disk-/;UNKNOWN;HARD;3;ERROR:  No response from remote host ‘127.0.0.1’.
[1354969720] INITIAL SERVICE STATE: Centreon-Server;Load;UNKNOWN;HARD;3;UNKNOWN: No response from remote host ‘127.0.0.1’.
[1354969720] INITIAL SERVICE STATE: Centreon-Server;Memory;UNKNOWN;HARD;3;ERROR: Description Table hrStorageType : No response from remote host ‘127.0.0.1’.
[1354969720] INITIAL SERVICE STATE: Centreon-Server;Ping;UNKNOWN;HARD;3;Warning: This plugin must be either run as root or setuid root.
[1354969736] ndomod: Still unable to connect to data sink.  0 items lost, 654 queued items to flush.
[1354969752] ndomod: Still unable to connect to data sink.  0 items lost, 715 queued items to flush.
[1354969768] ndomod: Still unable to connect to data sink.  0 items lost, 782 queued items to flush.
[1354969784] ndomod: Still unable to connect to data sink.  0 items lost, 850 queued items to flush.
[1354969800] ndomod: Still unable to connect to data sink.  0 items lost, 919 queued items to flush.
[1354969816] ndomod: Still unable to connect to data sink.  0 items lost, 980 queued items to flush.
[1354969832] ndomod: Still unable to connect to data sink.  0 items lost, 1045 queued items to flush.

检查NDOutils配置问题(vi /usr/local/nagios/etc/ndomod.cfg  vi /etc/nagios/ndo2db.cfg )
若配置成功启动nagios日志会出现如下提示
[1354970056] ndomod: Successfully connected to data sink.  1939 queued items to flush.
[1354970056] ndomod: Successfully flushed 1939 queued items to data sink.
[1354970062] ndomod: Error writing to data sink!  Some output may get lost…
[1354970062] ndomod: Please check remote ndo2db log, database connection or SSL Parameters
[1354970078] ndomod: Successfully reconnected to data sink!  0 items lost, 59 queued items to flush.
[1354970078] ndomod: Successfully flushed 59 queued items to data sink.

 

“Warning: This plugin must be either run as root or setuid root”

随即发现所有的host状态都变为down,系统的提示信息为“Warning: This plugin must be either run as root or setuid root”
原来check_icmp需要root的权限执行,于是修改setuid bit的设置

/usr/local/nagios/libexec # chown root:nagios check_icmp
/usr/local/nagios/libexec # chmod 4711 check_icmp
/usr/local/nagios/libexec # ls -alt check_icmp
-rws–x–x 1 root nagios 107328 Apr 28 12:55 check_icmp

[root@localhost ~]# pear install SOAP-0.13.0
Did not download optional dependencies: pear/Mail, pear/Mail_Mime, use –alldeps to download automatically
pear/SOAP requires PEAR Installer (version >= 1.5.4), installed version is 1.4.9
pear/SOAP can optionally use package “pear/Mail”
pear/SOAP can optionally use package “pear/Mail_Mime”
No valid packages found
install failed

解决方法就是: pear upgrade –force PEAR,升级PEAR!

Centreon+nagios安装配置二(详细图解)

2016年5月12日 评论已被关闭

Centreon+nagios安装配置二(详细图解)

http://88fly.blog.163.com/blog/static/122680390201211189565699/

web浏览配置

http://192.168.3.172/centreon/main.php

Centreon+nagios安装配置(详细图解)二 - herb - herb

 2. 设定centreon控制nagios

其实如果按照上面的步骤操作,默认都是设定好的,这里只是提示要注意的地方。
1) 在Nagios中启用NDO模块

Centreon+nagios安装配置(详细图解)二 - herb - herb

 broker_module=/usr/local/nagios/bin//ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg

Centreon+nagios安装配置(详细图解)二 - herb - herb

 2) 配置ndo2db,端口、socket type 要和前面的一样:

Centreon+nagios安装配置(详细图解)二 - herb - herb

 

vi /usr/local/nagios/etc/ndomod.cfg   (修改如下所示)

output_type=tcpsocket
#output_type=unixsocket
#output=/usr/local/nagios/var/ndo.dat
output=127.0.0.1
#output=/usr/local/nagios/var/ndo.sock

# vi /etc/nagios/ndo2db.cfg  (修改如下所示)
#socket_type=unix
socket_type=tcp
#socket_name=/usr/local/nagios/var/ndo.sock
db_servertype=mysql
db_host=localhost
db_port=3306
db_name=centstatus
db_user=centreon
db_pass=root

(此处为安装时自动创建的用于存储nagios信息的NDO database)

Centreon+nagios安装配置(详细图解)二 - herb - herb

 [root@centreon ~]# /etc/init.d/ndo2db start
[root@localhost etc]# netstat -tlupn|grep ndo2db
tcp        0      0 0.0.0.0:5668                0.0.0.0:*                   LISTEN      5083/ndo2db 

3) 激活配置
这里是测试配置有没有问题:

Centreon+nagios安装配置(详细图解)二 - herb - herb

 

Centreon+nagios安装配置(详细图解)二 - herb - herb
第一次激活时,在/usr/local/nagios/etc 目录中会生成相应监控模板、主机、服务的配置文件:

Centreon+nagios安装配置(详细图解)二 - herb - herb

 8)、启动相关服务

[root@centreon ~]# /etc/init.d/nagios start
[root@centreon ~]# /etc/init.d/ndo2db restart
[root@centreon ~]# /etc/init.d/centcore start
[root@centreon ~]# /etc/init.d/centstorage start
[root@centreon ~]#/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d

 centreon汉化

[root@centreon ~]#wget http://cacti-nagios.googlecode.com/files/messages.mo

[root@centreon ~]#mkdir -p /usr/local/centreon/www/locale/zh_CN/LC_MESSAGES/

[root@centreon ~]#cp messages.mo /usr/local/centreon/www/locale/zh_CN/LC_MESSAGES/

[root@centreon ~]#chown apache:apache -R /usr/local/centreon/www/locale

Centreon+nagios安装配置(详细图解)二 - herb - herb

 

Centreon+nagios安装配置一(详细图解)

2016年5月12日 评论已被关闭

Centreon+nagios安装配置一(详细图解)

http://88fly.blog.163.com/blog/static/1226803902012111855429591/

[简介]

    centreon是开源的IT监控软件,由法国人于2003年开发,最初名为Oreon,并于2005年正式更名为centreon。

  centreon作为nagios的分布式监控管理平台,其功能之强大,打造了centreon在IT监控方面强势地位,它的底层使用nagios监控软件,nagios通过ndoutil模块将监控数据写入数据库,centreon读取该数据并即时的展现监控信息,通过centreon可以简单地管理和配置所有nagios,因此,完全可以使用centreon轻易的搭建企业级分布式IT基础运维监控系统。

  在功能方面,将它与nagios+cacti方式对比,说一下优点:

  1、gui方式添加host,支持hosttemplate与servicestemplate,自动建立关联服务,与nagios+cacti相比配置方便简单。

  2、支持graphtemplate,添加servcie时自动添加graph,不必象nagios+cacti监控与流量图设置2步走。

  3、host监控可以全部采用nrpe方式,不必象nagios+cacti生成流量图必须使用snmp。

  4、支持多节点分布式监控,nagios+cacti的分布式监控现在想起来都头痛。

  5、支持acl权限管理方式,对用户权限限制到菜单项,nagios+cacti一个帐号大家用过时啦。

  6、详细的日志管理功能,日志搜索过滤都支持 7、功能模块化管理,想要新功能官方没有怎么办,自己写去。

一.环境安装
首先安装软件库列表,一些用yum安装的软件包都依赖于这个库。

# rpm –import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm

# rpm -ivh rpmforge-release-0.5.1-1.el5.rf.i386.rpm

更新:
# yum update
安装apache:
# yum install httpd 

安装GD库
# yum install ad fontconfig-devel libjpeg-devel libpng-devel gd-devel perl-GD

安装mysql
# yum install openssl-devel  mysql-server mysql-devel

安装php
# yum install php php-mysql php-gd

安装php扩展
# yum install php-ldap php-xml php-mbstring

安装DBI
# yum install perl-DBI perl-DBD-MySQL
安装perl模块
# yum install perl-Config-IniFiles
安装rrdtools
# yum install rrdtools perl-rrdtool
安装SNMP
#yum install perl-Crypt-DES perl-Digest-SHA1 perl-Digest-HMAC net-snmp-utils
#yum install perl-Socket6 perl-IO-Socket-INET6 net-snmp net-snmp-libs php-snmp dmidecode lm_sensors perl-Net-SNMP net-snmp-perl

安装fping和一些开发库
# yum install fping cpp gcc gcc-c++ libstdc++ glib2-devel

安装pear
# yum install php-pear php-pear-DB
# pear channel-update pear.php.net
# pear upgrade-all

2. 安装nagios
创建一个naiogs用户

# useradd -m nagios
# passwd nagios

创建一个使用扩展命令的组:
# groupadd nagcmd
# usermod –G nagios,nagcmd apache

下载并安装:
# wgethttp://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz
# tar –zxvf nagios-3.2.3.tar.gz
# cd nagios-3.2.1
# ./configure  –prefix=/usr/local/nagios  –with-command-group=nagcmd –enable-nanosleep –enable-broker
# make all
# make install
# make install-init
# make install-commandmode
# make install-config
# make install-web

 ——————————————————————————————————————————–
3.安装nagios插件

# wgethttp://ovh.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz
# tar -xvf  nagios-plugins-1.4.15.tar.gz
# cd nagios-plugins-1.4.15
# ./configure –with-nagios-user=nagios –with-nagios-group=nagios –with-openssl=/usr/bin/openssl –enable-perl-modules
# make
# make install

4. 安装NDOutils

官方的一些简介:

NDOUtils allows you to export current and historical data from one or more Nagios instances to a MySQL database. Several community addons use this as one of their data sources. NDOUtils consists of a standalone daemon, a Nagios event broker, and several helper utilities

Centreon gets all its status and performace data directly from the database. To get the data into the DB, ndoutilsareused as an additional layer between nagios and centreon. NDOutils consist of 2 parts: ndomod and ndo2db – the first one is thesender, the second thereceiver. As you can read in DistributedArchitecture and see in the image, each nagios instance sends data through the ndomod module to the ndo2db daemon, which writes the data into the database. To enable such a setup some manual configuration steps are needed.

NDOutils软件主要是用于将数据存数据库,然后又可读取出来,它在nagios与centerton之间接收和发送数据。

wget http://nchc.dl.sourceforge.net/project/nagios/ndoutils-1.x/ndoutils-1.5.2/ndoutils-1.5.2.tar.gz
tar -xvf ndoutils-1.5.2.tar.gz
./configure -prefix=/usr/local/nagios -with-mysql-lib=/usr/lib64/mysql -with-mysql-inc=/var/include/mysql
make
手动将一些二进制文件和库文件copy到nagios目录

# cp ./src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o

# cp ./src/ndo2db-3x /usr/local/nagios/bin/ndo2db

# cp ./config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg

# cp ./config/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg

# chmod 774 /usr/local/nagios/bin/ndo*

# chown nagios:nagios /usr/local/nagios/bin/ndo*

(稍后配置ndo2db )
安装centreon
wget
http://download.centreon.com/centreon/centreon-2.3.8.tar.gz
tar -xvf centreon-2.3.8.tar.gz
cd centreon-2.3.8
export PATH=”$PATH:/usr/local/nagios/bin/”
./install.sh  -i

 

Do you accept GPL license ?
[y/n], default to [n]:
> y
————————————————————————
Please choose what you want to install
————————————————————————

Do you want to install : Centreon Web Front
[y/n], default to [n]:
> y

Do you want to install : Centreon CentCore
[y/n], default to [n]:
> y

Do you want to install : Centreon Nagios Plugins
[y/n], default to [n]:
> y

Do you want to install : Centreon Snmp Traps process
[y/n], default to [n]:
> y

————————————————————————
Start CentWeb Installation
————————————————————————

Where is your Centreon directory?
default to [/usr/local/centreon]
> y
You select slash…

Where is your Centreon directory?
default to [/usr/local/centreon]
>

Do you want me to create this directory ? [/usr/local/centreon]
[y/n], default to [n]:
> y
Path /usr/local/centreon                                   OK

Where is your Centreon log directory
default to [/usr/local/centreon/log]
> y
You select slash…

Where is your Centreon log directory
default to [/usr/local/centreon/log]
>

Do you want me to create this directory ? [/usr/local/centreon/log]
[y/n], default to [n]:
> y
Path /usr/local/centreon/log                               OK

Where is your Centreon etc directory
default to [/etc/centreon]
>

Do you want me to create this directory ? [/etc/centreon]
[y/n], default to [n]:
> y
Path /etc/centreon                                         OK

Where is your Centreon generation_files directory?
default to [/usr/local/centreon]
>
Path /usr/local/centreon                                   OK

Where is your Centreon variable library directory?
default to [/var/lib/centreon]
>

Do you want me to create this directory ? [/var/lib/centreon]
[y/n], default to [n]:
> y
Path /var/lib/centreon                                     OK

Where is your CentPlugins Traps binary
default to [/usr/local/centreon/bin]
>

Do you want me to create this directory ? [/usr/local/centreon/bin]
[y/n], default to [n]:
> y
Path /usr/local/centreon/bin                               OK

Where is the RRD perl module installed [RRDs.pm]
default to [/usr/lib/perl5/RRDs.pm]
>
/usr/lib/perl5/RRDs.pm is not a valid file.                CRITICAL

Where is the RRD perl module installed [RRDs.pm]
default to [/usr/lib/perl5/RRDs.pm]
> /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/RRDs.pm
Path /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-threadOKulti
/usr/bin/rrdtool                                           OK
/bin/mail                                                  OK
上面的默认位置未能加载通过,需要手动输入具体路径,如下为查找RRDs.pm的位置

centreon+nagios安装配置1 - herb - herb
Where is PEAR [PEAR.php]
default to [/usr/share/php/PEAR.php]
>
/usr/share/php/PEAR.php is not a valid file.               CRITICAL
Where is PEAR [PEAR.php]
default to [/usr/share/php/PEAR.php]
> /usr/share/pear/PEAR.php
Path /usr/share/pear                                       OK
手动输入路径,查找方式如下

centreon+nagios安装配置1 - herb - herb

Where is installed Nagios ?
default to [/usr/local/nagios]
>
Path /usr/local/nagios                                     OK

Where is your nagios config directory
default to [/usr/local/nagios/etc]
>
Path /usr/local/nagios/etc                                 OK
Where is your Nagios var directory ?
default to [/usr/local/nagios/var]
>
Path /usr/local/nagios/var                                 OK
Where is your Nagios plugins (libexec) directory ?
default to [/usr/local/nagios/libexec]
>
Path /usr/local/nagios/libexec                             OK
/usr/local/nagios/bin//nagios                              OK
Where is your Nagios image directory ?
default to [/usr/local/nagios/share/images/logos]
>
Path /usr/local/nagios/share/images/logos                  OK
/usr/local/nagios/bin//nagiostats                          OK
p1_file : /usr/local/nagios/bin/p1.pl                      OK
/usr/bin/php                                               OK
/usr/bin/perl                                              OK
Finding Apache group :                                     apache
Finding Apache user :                                      apache
Finding Nagios user :                                      nagios
Finding Nagios group :                                     nagios
/usr/local/nagios/bin//ndomod.o                            OK
————————————————————————
Configure Sudo
————————————————————————
Where is sudo configuration file
default to [/etc/sudoers]
>
/etc/sudoers                                               OK
Nagios init script                                         OK
Your sudo is not configured
Do you want me to configure your sudo ? (WARNING)
[y/n], default to [n]:
> Y
Do you want me to configure your sudo ? (WARNING)
[y/n], default to [n]:
> Y^H
Do you want me to configure your sudo ? (WARNING)
[y/n], default to [n]:
> y
Configuring Sudo                                           OK
————————————————————————
Configure Apache server
————————————————————————
Do you want to add Centreon Apache sub configuration file ?
[y/n], default to [n]:
> y
Create ‘/etc/httpd/conf.d/centreon.conf’                   OK
Configuring Apache                                         OK
Do you want to reload your Apache ?
[y/n], default to [n]:
> y
Reloading Apache service                                   OK
Preparing Centreon temporary files
Change right on /usr/local/centreon/log                    OK
Change right on /etc/centreon                              OK
Change right on /usr/local/nagios/share/images/logos       OK
Install nagios documentation                               OK
Change macros for insertBaseConf.sql                       OK
Change macros for php files
Change macros for php files                                OK
Change right on /usr/local/nagios/etc                      OK
Copy CentWeb in system directory
Install CentWeb (web front of centreon)                    OK
Install libraries                                          OK
Copying libinstall                                         OK
Change macros for centreon.cron                            OK
Install Centreon cron.d file                               OK
Change macros for archiveDayLog                            OK
Change macros for centAcl.php                              OK
Install cron directory                                     OK
————————————————————————
Pear Modules
————————————————————————
Check PEAR modules
PEAR                            1.4.9       1.4.9          OK
DB                              1.7.6       1.7.14         OK
DB_DataObject                   1.8.4                      NOK
DB_DataObject_FormBuilder       1.0.0RC4                   NOK
MDB2                            2.0.0                      NOK
Date                            1.4.6                      NOK
HTML_Common                     1.2.2                      NOK
HTML_QuickForm                  3.2.5                      NOK
HTML_QuickForm_advmultiselect   1.1.0                      NOK
HTML_Table                      1.6.1                      NOK
Archive_Tar                     1.1         1.3.1          OK
Auth_SASL                       1.0.1                      NOK
Console_Getopt                  1.2         1.2            OK
Net_SMTP                        1.2.8                      NOK
Net_Socket                      1.0.1                      NOK
Net_Traceroute                  0.21                       NOK
Net_Ping                        2.4.1                      NOK
Validate                        0.6.2                      NOK
XML_RPC                         1.4.5       1.5.5          OK
SOAP                            0.10.1                     NOK
Log                             1.9.11                     NOK
提示安装或更新PEAR模块。这一步选择“y”后,它会自动安装或更新,有的显示“OK”就表示安装成功,对于“NOK”表示没有成功,它会一直循环下去,直到“OK”,所以我们需要另外开启一终端 手动安装所有未通过的PEAR模块,如下命令将对所有PAAR模块进行批量安装
pear install Archive_Tar-1.3.7.tgz Auth_SASL-1.0.4.tgz Console_Getopt-1.2.3.tgz Date-1.5.0a1.tgz DB-1.7.14RC1.tgz DB_DataObject-1.9.3.tgz  DB_DataObject_FormBuilder-1.0.0.tgz HTML_Common-1.2.5.tgz HTML_QuickForm-3.2.11.tgz  HTML_QuickForm_advmultiselect-1.5.1.tgz HTML_Table-1.8.3.tgz HTTP_Request-1.4.4.tgz Log-1.12.0.tgz Mail-1.2.0.tgz Mail_Mime-1.7.0.tgz MDB2-2.5.0b2.tgz Net_DIME-1.0.1.tgz Net_Ping-2.4.5.tgz Net_SMTP-1.4.2.tgz Net_Socket-1.0.9.tgz Net_Traceroute-0.21.2.tgz Net_URL-1.0.15.tgz SOAP-0.12.0.tgz Validate-0.8.3.tgz XML_RPC-1.5.3.tgz
Do you want me to install/upgrade your PEAR modules
[y/n], default to [y]:

centreon+nagios安装配置1 - herb - herb

 pear install HTML_QuickForm_advmultiselect-1.2.0.tgz
pear install HTML_Table-1.7.5.tgz

[root@localhost ~]# pear install SOAP-0.13.0
Did not download optional dependencies: pear/Mail, pear/Mail_Mime, use –alldeps to download automatically
pear/SOAP requires PEAR Installer (version >= 1.5.4), installed version is 1.4.9
pear/SOAP can optionally use package “pear/Mail”
pear/SOAP can optionally use package “pear/Mail_Mime”
No valid packages found
install failed
提示pear版本必须>= 1.5.4, 升级perl版本即可
pear upgrade –force PEAR
注意如上的perl包可以在如下地址下载并且一一安装,如下图所示
http://pear.php.net/packages.php
如图

centreon+nagios安装配置1 - herb - herb
centreon+nagios安装配置1 - herb - herb
centreon+nagios安装配置1 - herb - herb

Installing PEAR modules
SOAP                            0.10.1      0.13.0         OK
Check PEAR modules
PEAR                            1.4.9       1.9.4          OK
DB                              1.7.6       1.7.14         OK
DB_DataObject                   1.8.4       1.9.3          OK
DB_DataObject_FormBuilder       1.0.0RC4    1.0.0          OK
MDB2                            2.0.0       2.5.0b2        OK
Date                            1.4.6       1.5.0a1        OK
HTML_Common                     1.2.2       1.2.5          OK
HTML_QuickForm                  3.2.5       3.2.11         OK
HTML_QuickForm_advmultiselect   1.1.0       1.2.0          OK
HTML_Table                      1.6.1       1.7.5          OK
Archive_Tar                     1.1         1.3.10         OK
Auth_SASL                       1.0.1       1.0.4          OK
Console_Getopt                  1.2         1.3.1          OK
Net_SMTP                        1.2.8       1.4.2          OK
Net_Socket                      1.0.1       1.0.9          OK
Net_Traceroute                  0.21        0.21.2         OK
Net_Ping                        2.4.1       2.4.5          OK
Validate                        0.6.2       0.8.3          OK
XML_RPC                         1.4.5       1.5.5          OK
SOAP                            0.10.1      0.13.0         OK
Log                             1.9.11      1.12.0         OK
All PEAR modules                                           OK
————————————————————————
Centreon Post Install
————————————————————————
Create /usr/local/centreon/www/install/install.conf.php    OK
Create /etc/centreon/instCentWeb.conf                      OK

————————————————————————
Start CentStorage Installation
————————————————————————

Where is your Centreon Run Dir directory?
default to [/var/run/centreon]
>

Do you want me to create this directory ? [/var/run/centreon]
[y/n], default to [n]:
> y
Path /var/run/centreon                                     OK

Where is your CentStorage binary directory
default to [/usr/local/centreon/bin]
>
Path /usr/local/centreon/bin                               OK

Where is your CentStorage RRD directory
default to [/var/lib/centreon]
>
Path /var/lib/centreon                                     OK
Finding Nagios group :                                     nagios
Finding Nagios user :                                      nagios
Preparing Centreon temporary files
/tmp/centreon-setup exists, it will be moved…
install www/install/createTablesCentstorage.sql            OK
Creating Centreon Directory ‘/var/lib/centreon/status’     OK
Creating Centreon Directory ‘/var/lib/centreon/metrics’    OK
Change macros for centstorage binary                       OK
Install CentStorage binary                                 OK
Install library for centstorage                            OK
Change right : /var/run/centreon                           OK
Change macros for centstorage init script                  OK

Do you want me to install CentStorage init script ?
[y/n], default to [n]:
> y
CentStorage init script installed                          OK

Do you want me to install CentStorage run level ?
[y/n], default to [n]:
> y
Change macros for logAnalyser                              OK
Install logAnalyser                                        OK
Change macros for nagiosPerfTrace                          OK
Install nagiosPerfTrace                                    OK
Change macros for purgeLogs                                OK
Install purgeLogs                                          OK
Change macros for purgeCentstorage                         OK
Install purgeCentstorage                                   OK
Change macros for centreonPurge.sh                         OK
Install centreonPurge.sh                                   OK
Change macros for centstorage.cron                         OK
Install CentStorage cron                                   OK
Create /etc/centreon/instCentStorage.conf                  OK

————————————————————————
Start CentCore Installation
————————————————————————

Where is your CentCore binary directory
default to [/usr/local/centreon/bin]
>
Path /usr/local/centreon/bin                               OK
/usr/bin/ssh                                               OK
/usr/bin/scp                                               OK
Finding Nagios group :                                     nagios
Finding Nagios user :                                      nagios
Preparing Centreon temporary files
/tmp/centreon-setup exists, it will be moved…
Change CentCore Macro                                      OK
Copy CentCore in binary directory                          OK
Change right : /var/run/centreon                           OK
Change right : /var/lib/centreon                           OK
Replace CentCore init script Macro                         OK

Do you want me to install CentCore init script ?
[y/n], default to [n]:
> y
CentCore init script installed                             OK

Do you want me to install CentCore run level ?
[y/n], default to [n]:
> y
Create /etc/centreon/instCentCore.conf                     OK

————————————————————————
Start CentPlugins Installation
————————————————————————

Where is your CentPlugins lib directory
default to [/var/lib/centreon/centplugins]
>

Do you want me to create this directory ? [/var/lib/centreon/centplugins]
[y/n], default to [n]:
> y
Path /var/lib/centreon/centplugins                         OK
Finding Nagios user :                                      nagios
Finding Nagios group :                                     nagios
Preparing Centreon temporary files
/tmp/centreon-setup exists, it will be moved…
Change macros for CentPlugins                              OK
Installing the plugins                                     OK
Change right on centreon.conf                              OK
CentPlugins is installed

————————————————————————
Start CentPlugins Traps Installation
————————————————————————

Where is your SNMP configuration directory
default to [/etc/snmp]
>
/etc/snmp                                                  OK

Where is your SNMPTT binaries directory
default to [/usr/local/centreon/bin/]
>
/usr/local/centreon/bin/                                   OK
Finding Nagios group :                                     nagios
Finding Apache user :                                      apache
Preparing Centreon temporary files
/tmp/centreon-setup exists, it will be moved…
Change macros for CentPluginsTraps                         OK
Installing the plugins Trap binaries                       OK
Backup all your snmp files                                 OK
Change macros for snmptrapd.conf                           OK
Change macros for snmptt.ini                               OK
Install : snmptrapd.conf                                   OK
Install : snmp.conf                                        OK
Install : snmptt.ini                                       OK
Install : snmptt                                           OK
Install : snmpttconvertmib                                 OK
Generate SNMPTT configuration                              FAIL
Create /etc/centreon/instCentPlugins.conf                  OK
###############################################################################
#                                                                                                                                                                              #
#                 Go to the URL : http://your-server/centreon/                                                                                              #
#                         to finish the setup                                                                                                                         #
#                                                                                                                                                                             #
#                  Report bugs at http://forge.centreon.com                                                                                                 #
#                                                                                                                                                                             #
#                         Thanks for using Centreon.                                                                                                               #
#                          ———————–                                                                                                                            #
#                        Contact : infos@centreon.com                                                                                                           #
#                          http://www.centreon.com                                                                                                              #
#                                                                                                                                                                             #
###############################################################################

http://192.168.3.172/centreon/install/setup.php 访问安装

centreon+nagios安装配置一 - herb - herb

 

centreon+nagios安装配置一 - herb - herb

 

centreon+nagios安装配置一 - herb - herb

 

centreon+nagios安装配置一 - herb - herb

 

centreon+nagios安装配置一 - herb - herb

 

centreon+nagios安装配置一 - herb - herb

 

centreon+nagios安装配置一 - herb - herb

 

centreon+nagios安装配置一 - herb - herb

 

centreon+nagios安装配置一 - herb - herb

至此,安装完成,具体配置见:centreon+nagios安装配置二

 

开源监控软件ganglia安装手册

2016年5月11日 评论已被关闭

开源监控软件ganglia安装手册

http://blog.chinaunix.net/uid-11121450-id-3147002.html

Ganglia是一个监控服务器,集群的开源软件,能够用曲线图表现最近一个小时,最近一天,最近一周,最近一月,最近一年的服务器或者集群的cpu负载,内存,网络,硬盘等指标。

Ganglia的强大在于:ganglia服务端能够通过一台客户端收集到同一个网段的所有客户端的数据,ganglia集群服务端能够通过一台服务端收集到它下属的所有客户端数据。这个体系设计表示一台服务器能够通过不同的分层能够管理上万台机器。这个功能是其他mrtg,nagios,cacti所不能比拟。

Ganglia的扩展插件非常好写,无论用何种语言(shell,php,pyton)都可以写,只要把最终结果传给gmetric就可以,这样在web上就可以看到对应的数据。

11121450_13325957016E40

http://blog.chinaunix.net/uid-11121450-id-3147002.html

最新的ganglia版本为3.2.0,但是我推荐安装ganglia3.0.3,因为这个版本安装比较简单,依赖包只有rrdtool。而新版本依赖包太多。

官方网站:http://ganglia.info

ganglia的下载地址 http://sourceforge.net/projects/ganglia

windows版windows客户端版和ganglia 源包:

:http://www.sajinet.com.pe/ganglia/

 

http://sourceforge.net/project/showfiles.php?group_id=43021&package_id=35280
ganglia的安装分为服务端和客户端和web端安装

文档帮助: http://ganglia.sourceforge.net/docs/

1)     服务端依赖包

Ganglia里的gmetad

Rrdtool(这个依赖很多包,ganglia对于rrdtool的版本不敏感,最好选择比较好安装的版本安装)

2)     客户端
ganglia里的gmond

3)     Web端:

Apache,php,rrdtool,php-gd(可不用装,不装的话只是看不到一张饼图,不影响使用)

1.服务端安装 (gmetad)

服务端的服务为gmetad,安装前需要先安装RRDTool(数据库和绘图工具,服务端收集的客户端信息由其来保存),因为要绘制曲线图,所以安装RRDTool前,还必须安装好libpng,freetype,zlib这些库(也是php的gd库需要的),下载地址http://www.rrdtool.org/ 。

安装完了RRDTool,就可以安装gmetad了

点击(此处)折叠或打开

  1. tar –zxvf ganglia3.0.3.tar.gz
  2. cd ganglia3.0.3
  3. ./configure CFLAGS=”-I/usr/local/rrdtool-1.0.50/include” CPPFLAGS=”-I/usr/local/rrdtool-1.0.50/include” LDFLAGS=”-L/usr/local/rrdtool-1.0.50/lib” –with-gmetad –enable-gexec
  4. make
  5. make install

http://blog.chinaunix.net/uid-11121450-id-3147002.html

点击(此处)折叠或打开

  1. cd ganglia-3.0.3/gmetad
  2. cp gmetad.init /etc/init.d/gmetad #若是ganglia安装在别的目录,则修改gmetad.init里的gmetad路径
  3. cp gmetad.conf /etc/gmetad.conf
  4. chkconfig gmetad on
  5. chkconfig –list gmetad
  6. GMETAD 0:off 1:off 2:on 3:on 4:on 5:on 6:off

http://blog.chinaunix.net/uid-11121450-id-3147002.html

点击(此处)折叠或打开

  1. mkdir /var/lib/ganglia/rrds
  2. chown nobody:nobody /var/lib/ganglia/rrds

http://blog.chinaunix.net/uid-11121450-id-3147002.html

点击(此处)折叠或打开

  1. service gmetad start
  2. Starting GANGLIA gmetad: [ OK ]

http://blog.chinaunix.net/uid-11121450-id-3147002.html

点击(此处)折叠或打开

  1. data_source “taskcenter” 1.2.3.4 #所要监控的客户端 可以写多个
  2. setuid_username “root” #可改为其他安全用户
  3. # default: “/var/lib/ganglia/rrds” #定义该客户端的数据保存的路径
  4. # rrd_rootdir “/some/other/place”
  5. rrd_rootdir “/var/lib/ganglia/rrds”

http://blog.chinaunix.net/uid-11121450-id-3147002.html

点击(此处)折叠或打开

  1. service gmetad start
  2. Starting GANGLIA gmetad: [ OK ]

http://blog.chinaunix.net/uid-11121450-id-3147002.html

点击(此处)折叠或打开

  1. telnet localhost 8651

就可以得到监控的各个主机的状态。

 

http://blog.chinaunix.net/uid-11121450-id-3147002.html

在每台需要监控的机器上,安装gmond

安装ganglia:

点击(此处)折叠或打开

  1. tar zxvf ganglia-3.0.3.tar.gz
  2. cd ganglia-3.0.3
  3. ./configure –prefix=/usr/local/ganglia
  4. make;
  5. make install
  6. cd gmond
  7. ./gmond –t > /etc/gmond.conf

http://blog.chinaunix.net/uid-11121450-id-3147002.html

点击(此处)折叠或打开

  1. vi gmond.init
  2. 修改里面的GMOND 改为GMOND=/usr/local/ganglia/sbin/gmond
  3. # cp gmond.init /etc/init.d/gmond
  4. # chkconfig –add gmond
  5. # chkconfig –list gmond
  6. gmond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
  7. # service gmond start
  8. Starting GANGLIA gmond: [ OK ] #若不成功的话,就用/usr/local/ganglia/sbin/gmond手动启动

http://blog.chinaunix.net/uid-11121450-id-3147002.html

点击(此处)折叠或打开

  1. route add -host 239.2.11.71 dev eth0

http://blog.chinaunix.net/uid-11121450-id-3147002.html

点击(此处)折叠或打开

  1. telnet localhost 8649

就可以获取机群内运行gmond的主机的信息

vi /etc/gmond.conf
配置gmond.conf:

点击(此处)折叠或打开

  1. /etc/gmond.conf:
  2. globals
  3. {
  4. setuid = no
  5. user = nobody
  6. cleanup_threshold = 300 /*secs */
  7. }
  8. #修改监控组名称
  9. cluster
  10. {
  11. name = “taskcenter”
  12. …….}

配置完成后重新启动gmond

 

http://blog.chinaunix.net/uid-11121450-id-3147002.html

下载:http://www.sajinet.com.pe/ganglia/ganglia-3.1.0-bin.zip

解压后,运行gmond.bat

测试:telnet 127.0.0.1 8649

安装自启动:把gmond.bat加到启动项中

http://blog.chinaunix.net/uid-11121450-id-3147002.html

web端用于通过web来查看监控状态。
因为web端程序是php写的,所以需要安装apache。同时需要编译php的gd库。web端需要和服务器端在一块。

 

# cp -a ganglia-3.0.3/web /var/www/html/ganglia

确定web server支持PHP4

对apache来说,php模块mod_php的状态应该是enabled,貌似默认就是的^_^

配制文件是/var/www/html/ganglia/conf.php

点击(此处)折叠或打开

  1. # Where gmetad stores the rrd archives.
  2. $gmetad_root = “/var/lib/ganglia”;
  3. $rrds = “/usr/local/rrdtool-1.0.50/”; #数据源路径
  4. # Leave this alone if rrdtool is installed in $gmetad_root,
  5. # otherwise, change it if it is installed elsewhere (like /usr/bin)
  6. define(“RRDTOOL”, “/usr/local/rrdtool-1.0.50/bin/rrdtool”); # rrdtool执行路径
  7. #
  8. # If you want to grab data from a different ganglia source specify it here.
  9. # Although, it would be strange to alter the IP since the Round-Robin
  10. # databases need to be local to be read.
  11. #
  12. $ganglia_ip = “localhost”;
  13. $ganglia_port = 8652;
  14. #$ganglia_port = 8649;

::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::0

11121450_1332596063n5W6

在浏览器地址栏输入http://localhost/ganglia/应该可以看到有页面显示了。

 

演示地址 伯克利大学的集群监控(1000多台服务器):

http://monitor.millennium.berkeley.edu/

访问web出现图片画不出来的原因:

1)     rrdtool没有安装,或者conf.php里没有配置

2)     gemtad没有启动

3)     没有客户端数据

4)     Selinux限制apache执行rrdtool

另外ganglia还有很多插件可以监控更多的指标

其中有一个插件,安装后可以查看任意时间的曲线图

http://blog.chinaunix.net/uid-11121450-id-3147002.html

 

分类: Linux监控管理 标签:

nagios安装报错解决方法—qqhao

2015年10月18日 评论已被关闭

nagios安装报错解决方法—qqhao
http://blog.sina.com.cn/s/blog_5227549b010168h6.html
4.配置PHP

(一)

1.Apache2的httpd.conf文件位置:

/usr/share/doc/packages/appache2/original/httpd.conf 文件路径

2.httpd.conf文件中Addtype项为

AddType application/x-compress .Z 有

AddType application/x-gzip .gz .tgz 有

AddType application/x-httpd-php .php .phtml .php3 .php4 无 需添加

AddType application/x-httpd-php-source .phps 无 需添加

AddType image/x-icon .ico 无 需添加

(二)

在/srv/www/htdocs 目录下执行

#vi phpinfo.php 编辑内容:

保存: Esc :wq

或 vi index.php 查看结果:浏览器 http://ip/index.php

It works!

查看http://127.0.0.1/index.php 显示PHP版本信息,即代表安装PHP成功

5.安装nagios

nagios-3.2.2.tar解压后为nagios

配置web接口

必须在解压后的nagios目录下执行命令

#make install-webconf

6.安装nagios插件

#make出错
解决办法:安装openssl

openssl-1.0.0e.tar 两次解压进入目录

#unzip openssl-1.0.0e.tar.zip

#tar -xvf openssl-1.0.0e.tar.gz

然后#make #make test #make install

再次编译make即可

7.启动nagios

#chkconfig –add nagios 报错如下:

insserv: warning: script ‘nagios’ missing LSB tags and overrides

insserv: Default-Start undefined, assuming default start runlevel(s) for script `nagios’

nagios 0:off 1:off 2:off 3:on 4:off 5:on 6:off

解决

# vi /etc/init.d/nagios

添加如下几行语句在最上面add the following lines at the beginning 保存即可

### BEGIN INIT INFO

# Provides: nagios

# Required-Start:

# Should-Start:

# Required-Stop:

# Default-Start: 3 5

# Default-Stop: 0 1 2 6

# Short-Description: nagios

# Description: Start Nagios

### END INIT INFO

登陆Web接口 http://localhost/nagios/

注意:重启机器后,每次登陆nagios前需要重新启动apache2,重启后PHP才可用。

#rcapache2 restart

#service nagios start

Linux看门狗 watchdog

2015年9月12日 评论已被关闭

Linux看门狗 watchdog
http://www.oschina.net/p/watchdog/
Linux 自带了一个 watchdog 的实现,用于监视系统的运行,包括一个内核 watchdog module 和一个用户空间的 watchdog 程序

内核 watchdog 模块通过 /dev/watchdog 这个字符设备与用户空间通信。用户空间程序一旦打开 /dev/watchdog 设备,就会导致在内核中启动一个 1分钟的定时器,此后,用户空间程序需要保证在 1分钟之内向这个设备写入数据,每次写操作会导致重新设定定时器。如果用户空间程序在 1分钟之内没有写操作,定时器到期会导致一次系统 reboot 操作。

用户空间程序可通过关闭 /dev/watchdog 来停止内核中的定时器。

用户空间的 watchdog 守护进程:

在用户空间,还有一个叫做 watchdog 的守护进程,它可以定期对系统进行检测,包括:

Is the process table full?
Is there enough free memory?
Are some files accessible?
Have some files changed within a given interval?
Is the average work load too high?
Has a file table overflow occurred?
Is a process still running? The process is specified by a pid file.
Do some IP addresses answer to ping?
Do network interfaces receive traffic?
Is the temperature too high? (Temperature data not always available.)
Execute a user defined command to do arbitrary tests.
如果某项检测失败,则可能导致一次 soft reboot (模拟一次 shutdown 命令的执行)

它还可以通过 /dev/watchdog 来触发内核 watchdog 的运行。

分类: Linux监控管理 标签: