Chinaunix首页 | 论坛 | 博客
  • 博客访问: 862713
  • 博文数量: 156
  • 博客积分: 6553
  • 博客等级: 准将
  • 技术积分: 3965
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-22 18:36
文章存档

2012年(3)

2011年(43)

2010年(110)

分类: LINUX

2011-09-09 14:19:31

Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Calibri","sans-serif";}

工具传统的基于源码的安装方式相对要解决的软件包的依赖关系比较的多,这个也是很多Linux的管理员选择监控工具相对比较单一的安装因素。很多人都是习惯于使用redhat的发行版本,尽管yum是在软件包安装方面比较的强大不过默认的redhat的官方的yum源和Centos的社区源是没有munin, monit,ntop这三个软件包源提供的,而在Ubuntu/Debianapt的源中默认都是有支持的。本文将告诉大家如何使用第三方的RPMforge Repository yum源来快速安装munin工具并简单的配置,实现Linux主机网络的监控的应用。

 

munin 3个部分组成  master ,node, plugins
master
: 是拿到节点信息后画图与报警的主要服务。
node
   就是被监控的节点。
plugins
:就是插件,数据就是由插件查询后产生出来的.插件可以自己写,只要按照规则输出数字就好了。

master只需安装在一台服务器上即可,它每5分钟去各个node采集信息,并使用RRD格式记录数据,绘制成图表

node安装在各个被监控的服务器上,node上可以配置许多plugin,每个plugin有不同的职责,负责获取服务器各种不同的信息。
RPMforge Repository
源分为i386 X86_64位版本
 i386 版本在中的安装方式

wget
rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rm -f rpmforge-release-0.3.6-1.el5.rf.i386.rpm

 x86_64 版本中的安装方式

wget
rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
rm -f rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

(https:#rpmrepo.org/RPMforge/Using 最新版本信息). 
  安装后在/etc/yum.repos.d文件夹中生成mirrors-rpmforge rpmforge.repo 配置信息。
有了这个RPMforge Repository的源就可以轻松的开始munin的监控之旅。
  安装和配置 munin
  执行yum 完成安装

httpd

如果没有安装apahce 需要添加上httpd参数

 

编辑munin主配置文件
$sudo vim /etc/munin/munin.conf
添加如下内容:

dbdir   /var/lib/munin ##获取到数据的目录
htmldir /var/www/munin
 ##生成的html的目录
logdir  /var/log/munin
 ##日志
rundir  /var/run/munin
  ##锁和pid就在这里了

[localhost]
address 127.0.0.1
   ##node的IP
use_node_name yes
   ##官方也解释不清
基本不要修改就可以使用,需要监控其他机器可以添加

[192_168_0_1]          ##
第二个node的信息
address 192.168.0.1
   
use_node_name yes
 

括号中是每个节点的名字,后面是它的IP地址,use_node_name命令控制munin命名节点的方式,如果后面跟的参数为yes就是用括号 中的值来命名,如果是no则将执行一个DNS查询。另外,你可以用includedir选项来命名一个单独的目录,munin将在这里加载所有的文件,例 如:

includedir /etc/munin/munin-conf.d/

 

munin-node包安装在每个节点并且配置/etc/munin目录下的munin-node.conf文件。大多数配置信息都不需要改变,但是你需要更改allow选项,它控制哪一个主机能访问munin和检索统计。我们用IP地址来配置munin服务器,例如:

allow ^10\.0\.0\.100$  ##这个是重点,写masterIP,也可以添加多个,如回环地址172.0.0.1正如你看到的,IP地址必须用perl常用格式来输入。如果你的munin服务器不只一台,那么你可以用多行允许命令来定义它们。

每个munin节点都用tcp端口4949来和munin服务器通讯,所以你必须确保这个端口在主机防火墙上是打开的,并且在节点和服务器中间环节的任何一个防火墙上都允许数据通过。你可以在munin-node.conf文件中的port选项来定义这个端口号。

除了基本设置外,我们还需要指示节点哪些数据是需要收集的。Munin采用插件程序的架构方式来定义监控内容。例如,有专门监控CPU的插件,还有 监控负载、内存和其它内容的各种插件。Munin的所有插件清单可以在/etc/munin/plugins目录下找到,它们以链接到插件的sym- links形式显示。添加一个插件到munin的过程就是将插件文件的链接写入到/etc/munin/plugins目录下。如果插件需要某个配置,例 如定义运行插件要求的用户,你都可以在目录/etc/munin/plugins.conf.d下找到该配置文件。

munin默认包含很丰富的内容,你可能不需要改变初始的基本设置,因为它们已经提供了足够的采集数据。Munin还提供大量有用的插件,你还能在社区中找到许多别人交流的插件。你可以用你熟悉的语言很容易开发出新的插件来。

最后,我们通过运行munin-node init脚本来启动munin服务器和节点。

$ sudo /etc/init.d/munin-node start以上那些选项的解释:


好了,监控自己的话就可以启动了 services munin-node start

访问你webserver里设定的documentroot 为上面htmldir里的域名或者目录就可以看到图了(等几分钟)
不愿意等就
几乎马上就看得到图.

 

修改监控时间,5分钟执行监控一次。
$crontab -e
内容如下:
#BEGIN_MUNIN_MAIN
*/5 * * * * /usr/bin/munin-cron --force-root
#END_MUNIN_MAIN

 

 

添加mysql 监控插件

mysql plugin

这里有mysql的增强插件

,下载方法 git clone git://github.com/kjellm/munin-mysql.git

要使默认的mysql插件工作,需要做如下设置:

yum install perl-Cache-Cache -y

  1. mysql_munin.tar.gz 解压缩到 /usr/share/munin/plugins
  2. /etc/munin/plugins 建立link
ln -s /usr/share/munin/plugins/mysql_* /etc/munin/plugins
rm -f /etc/munin/plugins/mysql_isam_space_
  1. 修改 /etc/munin/plugin-conf.d/munin-node,增加
[mysql*]
user root #
使用此插件的系统用户
env.mysqladmin /usr/local/mysql/bin/mysqladmin   # mysqladmin
命令的完整路径
env.mysqlopts -uroot -pfnm_2008_fnm  # mysql
的用户名密码
  1. service munin-node restart
  2. 验证安装,telnet localhost 4499 之后,执行 fetch mysql_queries

 

配好了看不到图怎么办?

先看看 htmldir munin有没有权限 ,插件有没有(插件目录是/usr/share/munin/,但是要连接到/etc/munin/plugins/),默认4949 有没有被防火墙ban
selinux
那东西你最好关掉

[root@fy ~]# telnet 127.0.0.1 4949
Trying 127.0.0.1...
Connected to fy.com (127.0.0.1).
Escape character is '^]'.
# munin node at fy.com
fetch df
_dev_cciss_c0d0p1.value 83
_dev_cciss_c0d0p5.value 43
_dev_cciss_c0d0p3.value 54
tmpfs_dev_shm.value 0
这样能抓到信息的话,说明整个munin是没问题的,看看权限或者目录。

阅读(6221) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~