iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >CentOS中怎么利用Munin监控服务器
  • 718
分享到

CentOS中怎么利用Munin监控服务器

2023-06-10 08:06:02 718人浏览 独家记忆
摘要

这期内容当中小编将会给大家带来有关Centos中怎么利用Munin监控服务器,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Munin的介绍和原理Munin 是一个服务器监控工具,基于perl写的,能通过网

这期内容当中小编将会给大家带来有关Centos中怎么利用Munin监控服务器,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

Munin的介绍和原理

Munin 是一个服务器监控工具,基于perl写的,能通过网络,定期收集所有节点服务器的信息,将服务器的数据信息保存为 RRD 文件格式,并通过 RRDTool (也是perl写的) 绘制成图形和曲线,在WEB页面显示出来。可以监控计算机,服务,网络,SANS ,应用等。Munin(代表记忆,是奥丁神的一只乌鸦的名字)
工作方式:

Munin分为master和node

master只需安装在一台服务器上即可,它每5分钟去各个node采集信息,并使用RRD格式记录数据,绘制成图表
node安装在各个被监控的服务器上,node上可以配置许多plugin,每个plugin有不同的职责,负责获取服务器各种不同的信息。

Munin服务端,在节点超过20台左右的时候,资源占用会非常大,所以,如果服务器较多的话还是用NagiOS之类的比较好(这个倒是没试过件监控那么多服务器)。
如何在CentOs ,RHEL ,Fedora上安装 munin

我最近刚从centos6.4 升级到centos 6.5版本。在CentOS,RHEL,Scientific linux 6.5/6.4/6.3/6.X ,其中x代表小版本更新。只要属于 6.x的都可以使用epel源进行在线安装。

    前提一:我这安装munin的前提是已经安装了 lnmp环境。所以,你可以先安装军哥lnmp,然后再按照我的教程安装mumin。

    前提二:因为我手头只有一台vps,所以既是作为监控服务器(master),又作为被监控的客户端(node节点)。当然,我也会在教程里插入监控多个服务器节点的方法。

    前提三:确认你的Nginx加载了Http_stub_status_module模块。
   

代码如下:

#/usr/local/nginx/sbin/nginx -v //查看nginx版本

   

代码如下:

#/usr/local/nginx/sbin/nginx -V //


    这里-V是大写。查看nginx的编译参数,看看里面有哪些模块。如果输出的结果中有 --with-http_stub_status_module 文字,则说明含http_stub_status_module模块。满足前提三了。如果没有http_stub_status_module,则重新编 译安装下nginx即可。(军哥的lnmp是已经默认安装了),也可以组合grep命令来查看。

为CentOs,RHEL,Fedora安装
执行下面的命令:

    RHEL/CentOS 6.x 的32位系统
   

代码如下:

# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

    RHEL/CentOS 5.x 的32位系统
   

代码如下:

# rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

还有64位的系统等,见《centos安装EPEL第三方源的方法 》
因为epel源中的epel-release-6-8.noarch.rpm只保留最新的版本。所以,很可能你看到这篇文章的时候,epel- release-6-8.noarch.rpm 已经不存在了。这时候,你就要自己的系统版本及系统是否32位来自己去http://dl.fedoraproject.org/pub/epel/目录 下找到最新的epel-release-x-x.noarch.rpm 。只要你的系统是6.x的就可以安装 epel-release-6-x.noarch.rpm 。同理,对于 centos5.x也可以安装 的epel-release-5-x.noarch.rpm 。

对于Fedora用户来说,就不需要手动安装epel源了,因为 munin 已经包括在fedora的软件库中,可以直接yum安装。

安装mumin
munin的安装分为三个部分分别是:

    master 服务器
    node 被监控节点
    plugins 插件(nginx的插件貌似munin的安装包中就有,不需要再下载了,反正我是没下载,直接安装好munin就可以得到监控图像了。)

而我这唯一一台vps既是作为监控服务器(master),又作为被监控的客户端(node节点)。
执行下面的命令:
在服务器端(master)安装:

   

代码如下:

# yum --enablerepo=epel -y install munin munin-node


    注:如果只是作为服务端,可以不安装munin-node

安装完成后,默认会创建以下文件:

    /etc/munin/munin.conf : Munin master(服务器端) 配置文件.
    /etc/cron.d/munin : Munin 设置crontab计划任务文件.
    /etc/httpd/conf.d/munin.conf : Munin Apache 配置文件.
    /var/log/munin : Munin log日志目录.
    /var/www/munin : Munin 网站目录.
    /etc/munin/munin-node.conf : Munin Node节点配置文件(指定监控哪些节点).
    /etc/munin/plugins.conf : Munin plugins插件配置文件.
    /etc/rc.d/init.d/munin-node : Munin启动脚本
    /etc/munin/plugin-conf.d/munin-node

服务端master不会添加任何service,但是会自动添加一个cron任务,每5分钟采集一次node的信息,如果没有添加可以手动加入:

   

代码如下:

# crontab -e
   */5 * * * * /usr/bin/munin-cron

注意:这个默认安装就已经设置了定时任务。可以在配置好后,通过munin的绘图统计曲线来判断是否在不间断的采集信息。

在客户端(node)安装:

   

代码如下:

# yum --enablerepo=epel -y install munin-node

注意:如果要监控N台服务器,那么这N台服务器都只要装munin-node

配置munin和nginx
我给munin设置个vhost,直接用个指定的二级域名访问munin的监控页面,比如我的munin网站: http://test.dabu.info/munin
服务器端(master)配置web:

Nginx:
这里使用 test.dabu.info 访问 munin网站
新建个nginx的虚拟主机(Virtual Host ) ,将它的vhost配置文件中server{}段改成

  

代码如下:

server {
   listen 80 ;
   access_log logs/server-access_log;</p><p>    #设置访问munin的二级域名,当然也可以使用vps外网ip访问
   #但是我vps上设置了禁止ip访问网站
   server_name test.dabu.info;</p><p>    server_name_in_redirect off;
   root /var/www/html;</p><p>    # 设置密码来限制对munin网站的访问
   location /munin {</p><p>    auth_basic "Administrator Login";
   auth_basic_user_file /var/www/.htpasswd;
   }</p><p>    #下面是给vhost开启了http_stub_status_module模块
   #这段location其实放哪个server{}都可以,有的直接放到munin的虚拟机server{}一起 中</p><p>    location /nginx_status {</p><p>    stub_status on;
   access_log off;
   #只准本机访问/nginx_status中的request统计信息
   #如果没有下面两行,那么,别人就可以使用
   #http://test.dabu.info/nginx_status 看到nginx的request的信息了
   #175.0.137.58是你的vps外网ip
   allow 175.0.137.58;
   deny all;</p><p>    }</p><p>    }

注 意:如果你将 location /nginx_status{}段与munin虚拟主机配置文件分开,放入单独的server{}段中时,那么就要先新建一个虚拟主机来开启了 http_stub_status_module模块,将其server{} 改成下面的样子:

  

代码如下:

server
   {
   listen 127.0.0.1;
   server_name localhost;</p><p>    location /nginx_status {</p><p>    stub_status on;
   access_log off;
   allow 127.0.0.1;
   deny all;
   }</p><p>    }

同时将munin虚拟机的server段改成:

   

代码如下:

server {
   listen 80 ;
   access_log logs/server-access_log;</p><p>    server_name test.dabu.info;</p><p>    server_name_in_redirect off;
   root /var/www/html;</p><p>    location /munin {
   auth_basic "Administrator Login";
   auth_basic_user_file /var/www/.htpasswd;
   }</p><p>    }

此时,就只能本机访问 http://localhost/nginx_status 来得到nginx的request信息。

修改好后保存。接着重启nginx

  

代码如下:

#service nginx restart

Apache:

   

代码如下:

# vi /etc/httpd/conf.d/munin.conf

在文件末尾添加下面的内容:

   

代码如下:

<Directory /var/www/html/munin/>
   Order Deny,Allow
   Deny from all
   Allow from 127.0.0.1 192.168.1.0/24
   </Directory>

同样要重启apache:

   

代码如下:

#service httpd restart

现在,你可以使用 http://test.dabu.info/munin 访问 munin的网页了。但是因为使用账号密码限制访问,所以,我们还要去设置访问密码。
设置访问网站的账户和密码:

yum安装munin默认的munin网站文件目录是在/var/www/html/munin中。为munin目录创建一个用户密码,执行命令:

   

代码如下:

#htpasswd -c /var/www/.htpasswd dabu //新建一个叫dabu的用户

然后就会显示下面的,让你设置密码,输入两次密码(密码不会显示的):

   

代码如下:

New passWord:
   Re-type new password:
   Adding password for user dabu

添加密码完成后,接着去设置munin的配置文件。http://test.dabu.info/munin是我安装的munin,账号:dabu ,密码:dabu1

为munin设置环境参数:
编辑 /etc/munin/plugin-conf.d/munin-node 文件,这个配置文件的作用:
1.告诉munin去哪里获得参数
如监控nginx的时候,则需要将下面的内容添加到 /etc/munin/plugin-conf.d/munin-node 文件的后面。以此让munin从http_stub_status_module模块获取request等信息

    a. location /nginx_status{}段在munin虚拟机的server{}中时,则增加下面的内容
   

代码如下:

[nginx*]
   env.url http://test.dabu.info/nginx_status

    b. location /nginx_status{}段单独放在一个server{}中时,则增加下面的内容
   

代码如下:

[nginx*]
   env.url http://localhost/nginx_status

    或者直接执行下面的命令:
    #if [[ $(cat /etc/munin/plugin-conf.d/munin-node | grep "nginx") = "" ]]; then echo -e "\n[nginx*]\nenv.url http://test.dabu.info/nginx_status" >> /etc/munin/plugin-conf.d/munin-node; fi
    注:将 http://test.dabu.info/nginx_status 替换为你设定的访问request的网址

munin登陆软件的账号密码参数
如监控mysql等,就是需要告诉munin登陆Mysql的账号密码,甚至mysql路径等

将munin的两个插件:nginx_request 和 nginx_status 软链到 /etc/munin中。当然官方给了快速配置插件的脚本,运行命令:

   

代码如下:

#munin-node-configure --shell --families=contrib,auto | sh -x

如果软连接没创建成功,自己手动执行下面两个命令:

   

代码如下:

#ln -s /usr/share/munin/plugins/nginx_request /etc/munin/plugins/ -v
   #ln -s /usr/share/munin/plugins/nginx_status /etc/munin/plugins/ -v

远程监控多台服务器客户端(node):
假设我要采集192.168.1.10 、192.168.1.11 、192.168.1.12三台服务器的运行状况,则;

   

代码如下:

#vi /etc/munin/munin.conf

#增加需采集的node:

  

代码如下:

[luxiang2f;mysqlsrv]
   address 192.168.1.10
   use_node_name yes</p><p>    [luxiang3f;websrv]
   address 192.168.1.11
   use_node_name yes</p><p>    [nanyuan2f;websrv]
   address 192.168.1.1
   use_node_name yes</p><p>    # 分号前是分组组名,分号后是节点名
   # use_node_name yes表示使用上面定义的组名和节点名,否则会执行一次DNS查询,反查节点的DNS名称
   # address表示节点的ip地址
   # 在1.4.5版本,分组或产生错误,部分图表生成不了,懒得琢磨了,直接改为[websrvxxx]就可以成功了
   #貌似,现在改成了 “. ” 来分隔组,而不是分号了。具体我也懒得试了。


    见官方文档:http://munin-monitoring.org/wiki/munin-node.conf

客户端(node)配置操作:

允许服务端采集,假设服务端IP为192.168.1.10。同时,客户端node上要开放4949的tcp端口,这个端口可以在/etc/munin/munin-node.conf里指定。

    a. 当一台vps既作为服务端,又作为客户端。则改操作还是要在服务端操作,执行下面的命令:
   

代码如下:

#vi /etc/munin/munin-node.conf


    可以看到默认有了 allow ^127\.0\.0\.1$ 这一行。说明当vps即作为服务端,又作为客户端。允许本机自己采集自己。所以,如果仅仅是自己监控自己,则不需要修改该配置文件了。

    b. 当这台vps仅作为服务端,那么,就需要在客户端执行下面的命令:
   

代码如下:

#vi /etc/munin/munin-node.conf


    在最下面的一行添加服务端ip,允许服务端来采集;
   

代码如下:

allow ^192\.168\.1\.10$


    记住都要以这个形式来写,更多写法介绍, /etc/munin/munin-node.conf 中都有介绍

然后再服务端和客户端都重启服务:

  

代码如下:

#service munin-node restart


    或
   

代码如下:

#/etc/init.d/munin-node restart

加入服务并开机自启动:

   

代码如下:

#chkconfig --levels 235 munin-node onn

测试munin配置是否好了的方法:

  

代码如下:

[root@ksharpdabu ~]# munin-run nginx_request

显示:request.value 3

    注意:
    a. 3表示我nginx瞬时收到的请求数。所以,你那可能不是3,是其他的数字。这个数字还可能时刻在变,毕竟不同时刻访问你 网站的人肯定不同。
    b. 如果你得到的结果是 request.value U 。那么表示munin并没有采集到nginx的信息。你的munin的配置有问题。
    c. 还有可能报其他错误,自己根据报错信息去Google吧。

测试成功后,就可以直接访问 http://test.dabu.info/munin,查看服务器状况了。默认情况下,cpu,内存,硬盘,网络等都不需要再单独配置了,直接可以查看。

上述就是小编为大家分享的CentOS中怎么利用Munin监控服务器了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网服务器频道。

--结束END--

本文标题: CentOS中怎么利用Munin监控服务器

本文链接: https://www.lsjlt.com/news/259848.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • CentOS中怎么利用Munin监控服务器
    这期内容当中小编将会给大家带来有关CentOS中怎么利用Munin监控服务器,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Munin的介绍和原理Munin 是一个服务器监控工具,基于perl写的,能通过网...
    99+
    2023-06-10
  • shell中怎么利用sendmail实现服务器监控报警
    shell中怎么利用sendmail实现服务器监控报警,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。代码如下:wget <a href="http://casp...
    99+
    2023-06-09
  • Python监控服务器利器--psuti
    服务器的监控通过安装一些常用的监控软件之外,有时也需要运行一些shell或Python脚本;shell下可以使用系统自带的ps/free/top/df等shell命令,Python可以调用subprocess等模块来运行shell命令,不过...
    99+
    2023-01-31
    利器 服务器 Python
  • 怎么在CentOS中设置dstat监控
    今天就跟大家聊聊有关怎么在CentOS中设置dstat监控,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。dstat[root@aaa]# dstat----total-cpu-usa...
    99+
    2023-06-10
  • 怎么在JAVA中利用WatchService监控文件
    今天就跟大家聊聊有关怎么在JAVA中利用WatchService监控文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。使用场景场景一:比如系统中的配置文件,一般都是系统启动的时候只加...
    99+
    2023-05-30
    watchservice java
  • Spring boot admin 服务监控利器详解
    目录一、简介二、搭建1、服务端2、客户端3、启动项目4、客户端配置3、微服务3.1、服务端3.2、客户端4、我的微服务预警发送其他服务状态信息思路一、简介 用于对 Spring Bo...
    99+
    2022-11-13
    Spring boot admin 服务监控利器 Spring 服务监控利器
  • 怎么使用RedisLive监控Redis服务器
    这篇文章主要介绍“怎么使用RedisLive监控Redis服务器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用RedisLive监控Redis服务器”文章能帮助大家解决问题。RedisLiv...
    99+
    2023-06-27
  • Shell中怎么利用memcache监控缓存命中率
    这篇文章给大家介绍Shell中怎么利用memcache监控缓存命中率,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。#!/bin/bash################################检查memcach...
    99+
    2023-06-09
  • Shell中怎么利用memcached实现进程监控
    这期内容当中小编将会给大家带来有关Shell中怎么利用memcached实现进程监控,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。WEB服务器使用memcached,但是不知道为什么memcached老是...
    99+
    2023-06-09
  • 阿里云服务器监控怎么用
    阿里云服务器监控有很多使用方式,以下是其中一种: Web应用程序监控工具:使用阿里云的Web应用程序监控工具(WAF)和API(应用程序配置工具)可以监控应用程序在阿里云平台上运行的状态,包括应用程序运行的时间、资源使用量、性能等指标。...
    99+
    2023-10-27
    阿里 服务器
  • CentOS中怎么安装Monitorix系统监控工具
    今天就跟大家聊聊有关CentOS中怎么安装Monitorix系统监控工具,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。安装:  1、在CentOS下设置一个安装源,便于yum命令的使...
    99+
    2023-06-10
  • Zabbix中怎么监控数据库服务器
    在Zabbix中监控数据库服务器需要安装Zabbix的数据库模块,并配置相应的监控项。以下是一些常见的监控项和配置方法: 数据库...
    99+
    2024-04-02
  • 如何在Cacti系统中监控服务器资源利用率
    在Cacti系统中监控服务器资源利用率,通常需要安装Cacti插件或者使用Cacti自带的模板进行监控配置。以下是一个基本的步骤: ...
    99+
    2024-04-09
    Cacti
  • mongodb中怎么利用profiling慢请求监控日志
    mongodb中怎么利用profiling慢请求监控日志,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。0:关闭,不收集任何数据...
    99+
    2024-04-02
  • 阿里云服务器监控怎么用的
    一、阿里云服务器监控的简介 阿里云服务器监控是一款功能强大的服务器性能监控工具,它可以监控多种云服务的性能和安全状态。该工具可以帮助用户了解服务器的运行状态、CPU使用率、内存使用情况、磁盘空间使用情况等。同时,该工具还可以设置警报和自动...
    99+
    2023-10-28
    阿里 服务器
  • SQL Server中怎么利用Trigger监控存储过程
    这篇文章将为大家详细讲解有关SQL Server中怎么利用Trigger监控存储过程,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。创建监控表:CREATE&...
    99+
    2024-04-02
  • 云服务器怎么用摄像头监控
    使用云服务器来监控摄像头可能有很多好处,包括: 节省成本:由于大多数云服务器都提供了视频编辑功能,可以将视频直接传输到远程的监控终端,这可以节省大量的带宽费用和维护成本。 隐私保护:将监控视频传输到远程监控系统可能会泄露用户的隐私,并可...
    99+
    2023-10-26
    摄像头 服务器
  • 怎么使用Icinga监控服务器状态
    Icinga是一款开源的服务器监控工具,可帮助用户监控服务器的状态、性能和可用性。以下是使用Icinga监控服务器状态的一般步骤: ...
    99+
    2024-04-15
    Icinga
  • 怎么使用jmeter监控服务器性能
    要使用JMeter监控服务器性能,可以按照以下步骤操作: 下载和安装JMeter软件,并打开JMeter界面。 添加一个线程...
    99+
    2024-05-08
    jmeter
  • 怎么监控 Linux 服务器状态
    本篇文章给大家分享的是有关怎么监控 Linux 服务器状态,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。导读Linux 服务器我们天天打交道,特别是 Linux 工程...
    99+
    2023-06-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作