使用监控宝监控你的Linux服务器(附图)


在http://www.unixbar.net/中看到使用监控宝监控服务器,感觉不错,就安装配置了一个,下面介绍一下具体的安装方法!

监控宝使用标准的SNMP协议来为用户提供服务器监控功能,这意味着被监控的服务器上必须运行SNMP代理程序(snmpd),接下来我们将详细介绍如何在 Linux服务器上安装、开启Snmp代理,并且进行必要的安全配置,开启了nginx监控和服务器i/o,cpu负载,内存负载等相关的功能。

以下的示例采用centos环境,但它同样适用于其它Linux发行版。

1、编译和安装

# wget http://cdnetworks-kr-2.dl.sourceforge.net/project/net-snmp/net-snmp/5.5/net-snmp-5.5.tar.gz

# tar -zxvf net-snmp-5.5.tar.gz

然后通过configure来生成编译规则,如下:

# cd net-snmp-5.5

# ./configure --prefix=/usr/local/snmp --with-openssl --with-mib-modules

然后一直回车

# make

# make install

2、设置安全的验证方式

将SNMP代理程序暴露给网络上的所有主机是很危险的,为了防止其它主机访问你的SNMP代理程序,我们需要在SNMP代理程序上加入身份验证机制。

SNMP支持不同的验证机制,这取决于不同的SNMP协议版本,监控宝目前支持v2c和v3两个版本,其中v2c版本的验证机制比较简单,它基于明文密码和授权IP来进行身份验证,而v3版本则通过用户名和密码的加密传输来实现身份验证,我们建议使用v3。

注意一点,SNMP协议版本和SNMP代理程序版本是两回事,刚才说的v2c和v3是指SNMP协议的版本,而Net-SNMP是用来实现SNMP协议的程序套件,目前它的最新版本是刚才提到的5.5。

我们建议您使用v3版本来进行身份验证。对于一些早期版本的Linux分发版,其内置的SNMP代理程序可能并不支持v3,所以我们建议您按照前边介绍的方法,编译和安装最新的Net-Snmp。

v3支持另一种验证方式,需要创建一个v3的帐号,我们同样修改以下配置文件:

# vi /usr/local/snmp/share/snmp/snmpd.conf

然后添加一个只读帐号,如下:

rouser jiankongbao auth

可以看到,在v3中,"rouser"用于表示只读帐号类型,随后的"jiankongbao"是指定的用户名,后边的"auth"指明需要验证。

接下来,我们还要添加“jiankongbao”这个用户,这就是v3中的特殊机制,我们打开以下配置文件:

# vi /var/net-snmp/snmpd.conf

这个文件会在snmpd启动的时候被自动调用,我们需要在它里边添加创建用户的指令,如下:

createUser jiankongbao MD5 mypassword

这行配置的意思是创建一个名为“jiankongbao”的用户,密码为“mypassword”,并且用MD5进行加密传输。这里要提醒的是:

密码至少要有8个字节

这是SNMP协议的规定,如果小于8个字节,通信将无法进行。

值得注意的是,一旦snmpd启动后,出于安全考虑,以上这行配置会被snmpd自动删除,当然,snmpd会将这些配置以密文的形式记录在其它文件中,重新启动snmpd是不需要再次添加这些配置的,除非你希望创建新的用户。

以上配置中的用户名、密码和加密方式,在监控宝添加服务器的时候需要添加。

启动SNMP代理程序

经过配置后,现在可以启动snmpd,如下:

# /usr/local/snmp/sbin/snmpd

如果要关闭,则可以直接kill这个进程,如下:

# killall -9 snmpd

3、MySQL 监控

创建MySQL权限

您需要在被监控的MySQL服务器上为监控宝创建一个专用的MySQL用户,这样做的好处是:

(1)与您的其它MySQL用户进行有效隔离,独立管理。

(2)对该用户进行受限管理,不需要给予任何MySQL权限。

(3)指定监控宝的访问IP地址,阻止其它非法访问。

操作非常简单,在MySQL中操作如下:

CREATE USER ’jiankongbao’@’125.76.229.113’ IDENTIFIED BY’your_password’;

CREATE USER ’jiankongbao’@’125.76.229.215’ IDENTIFIED BY’your_password’;

在以上操作中,我们创建的MySQL用户名为“jiankongbao”,密码为“your_password”,建议您对其进行修改。除此之外,目前我们不需要对该MySQL账户授予任何权限。

同时,监控宝目前指定的授权IP地址为:125.76.229.113、125.76.229.215,两个必须同时添加,随后如有变更,我们会及时通知用户。

注意:在MySQL或者防火墙中指定授权IP地址的时候,请只开放我们指定的IP地址,而不要直接开放整个C类网段,比如 125.76.229.0/24,因为该网段中其它服务器不在我们的可控范围内。

4、nginx 监控

编译nginx的时候需要开启nginx监控

安装 pcre

#tar zxvf pcre-8.0.tar.gz

#cd pcre-8.0

#./configure

#make && make install

安装nginx

# tar zxvf nginx-0.7.64.tar.gz

# cd nginx-0.7.64

# ./configure --with-http_stub_status_module --prefix=/usr/local/nginx --user=www --group=www

# make && make install

配置文件里面需要添加

location /nginx {

stub_status on;

auth_basic"NginxStatus";

# auth_basic_user_fileconf/htpasswd;

#密码由apache的htpasswd工具来产生

access_log off;

}

到此snmp就配置完事了,接下来配置监控宝

现在我们来看看如何在监控宝中添加服务器监控,通过新增的导航,你会很容易进入添加服务器的页面,这里分为两部分,首先是填写服务器信息,包括服务器名称和IP地址,以及操作系统类型。

这些都非常简单,之所以要选择操作系统类型,是因为Linux和Windows的机制存在一些差异,所以它们的SNMP信息库会有一些不同,我们需要根据不同的系统来提供相应的监控项目。

接下来是SNMP设置,主要是选择不同的SNMP协议,以及填写身份验证信息,前边已经有过详细的介绍,这里你只需要将前边配置的信息如实填写即可。

填写完后,点击提交按钮,这时候监控宝会使用这些信息来尝试连接你的SNMP监控代理,需要一些时间,这一步非常重要

找到问题后再次提交,如果连接成功,则会看到成功页面,如下

然后点击“添加监控项目”,便可以为这台服务器选择监控项目,对于Linux服务器,监控宝目前提供了以下的监控项目,你可以全部勾选,然后提交。

添加nginx监控

然后等待一会,就可以看到监控状态了!



相关阅读:
10个 DIV+CSS常见错误 看看你犯了几个
linux系统安全要素之一:日志
php2html php生成静态页函数
Prototype框架是怎样扩展DOM的
对联广告 可关闭
SQL Server移动系统数据库开发详细解析
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
SQL Server中的临时表和表变量
Javascript的getYear、getFullYear、getUTCFullYear异同分享
用ASP读取XML文件的具体方法与示例
初探PHP5
css中的行间距的代码
Linux安全攻略:修复系统Root密码
利用Adodb.Stream制作彩色验证码
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4