如何用Nagios远程执行插件来检测服务器内存使用率低

Nagios远程监控安装与配置详解_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Nagios远程监控安装与配置详解
上传于||文档简介
&&写​的​还​好​供​参​考
阅读已结束,如果下载本文需要使用5下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩22页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢如何用Nagios远程执行插件(NRPE)来检测服务器内存使用率
评论: &分享: &&&&
在,我们已经见到了如何在Nagios设置中设置Nagios远程执行插件(NRPE)。然而,监控内存使用率的脚本和插件并没有在原生的Nagios中。本篇中,我们会看到如何配置NRPE来监控远程服务器上的内存使用率。
我们要用的监控内存的脚本在上,在创建者的中也可以找到。
假设我们已经安装了NRPE,我们首先在我们想要监控的服务器上下载脚本。
准备远程服务器
在 Debain/Ubuntu 中:
# cd /usr/lib/nagios/plugins/
# wget /justintime/nagios-plugins/master/check_mem/check_mem.pl
# mv check_mem.pl check_mem
# chmod +x check_mem
在 RHEL/CentOS 中:
# cd /usr/lib64/nagios/plugins/ (or /usr/lib/nagios/plugins/ for 32-bit)
# wget /justintime/nagios-plugins/master/check_mem/check_mem.pl
# mv check_mem.pl check_mem
# chmod +x check_mem
你可以通过手工在本地运行下面的命令来检查脚本的输出是否正常。当使用NRPE时,这条命令应该会检测空闲的内存,当可用内存小于20%时会发出警告,并且在可用内存小于10%时会生成一个严重警告。
# ./check_mem -f -w 20 -c 10
OK - 34.0% (2735744 kB) free.|TOTAL=8035340KB;;;; USED=5299596KB;1806;; FREE=2735744KB;;;; CACHES=2703504KB;;;;
如果你看到像上面那样的输出,那就意味这命令正常工作着。
现在脚本已经准备好了,我们要定义NRPE检查内存使用率的命令了。如上所述,命令会检查可用内存,在可用率小于20%时发出警报,小于10%时发出严重警告。
# vim /etc/nagios/nrpe.cfg
对于 Debian/Ubuntu:
command[check_mem]=/usr/lib/nagios/plugins/check_mem
-f -w 20 -c 10
对于 RHEL/CentOS 32 bit:
command[check_mem]=/usr/lib/nagios/plugins/check_mem
-f -w 20 -c 10
对于 RHEL/CentOS 64 bit:
command[check_mem]=/usr/lib64/nagios/plugins/check_mem
-f -w 20 -c 10
准备 Nagios 服务器
在Nagios服务器中,我们为NRPE定义了一条自定义命令。该命令可存储在Nagios内的任何目录中。为了让本教程简单,我们会将命令定义放在/etc/nagios目录中。
对于 Debian/Ubuntu:
# vim /etc/nagios3/conf.d/nrpe_command.cfg
define command{
command_name check_nrpe
command_line /usr/lib/nagios/plugins/check_nrpe -H '$HOSTADDRESS$'
-c '$ARG1$'
对于 RHEL/CentOS 32 bit:
# vim /etc/nagios/objects/nrpe_command.cfg
define command{
command_name check_nrpe
command_line /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
对于 RHEL/CentOS 64 bit:
# vim /etc/nagios/objects/nrpe_command.cfg
define command{
command_name check_nrpe
command_line /usr/lib64/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
现在我们定义Nagios的服务检查
在 Debian/Ubuntu 上:
# vim /etc/nagios3/conf.d/nrpe_service_check.cfg
define service{
local-service
remote-server
service_description
check_command
check_nrpe!check_mem
在 RHEL/CentOS 上:
# vim /etc/nagios/objects/nrpe_service_check.cfg
define service{
local-service
remote-server
service_description
check_command
check_nrpe!check_mem
最后我们重启Nagios服务
在 Debian/Ubuntu 上:
# service nagios3 restart
在 RHEL/CentOS 6 上:
# service nagios restart
在 RHEL/CentOS 7 上:
# systemctl restart nagios.service
Nagios应该开始在使用NRPE的远程服务器上检查内存使用率了。如果你有任何问题,你可以检查下面这些情况。
确保NRPE的端口在远程主机上是总是允许的。默认NRPE的端口是TCP 5666。
你可以尝试通过执行check_nrpe 命令: /usr/lib/nagios/plugins/check_nrpe -H remote-server 手工检查NRPE操作。
你同样可以尝试运行check_mem 命令:/usr/lib/nagios/plugins/check_nrpe -H remote-server &c check_mem
在远程服务器上,在/etc/nagios/nrpe.cfg中设置debug=1。重启NRPE服务并检查这些日志文件,/var/log/messages (RHEL/CentOS)或者/var/log/syslog (Debain/Ubuntu)。如果有任何的配置或者权限错误,日志中应该包含了相关的信息。如果日志中没有反映出什么,很有可能是由于请求在某些端口上有过滤而没有到达远程服务器上。
总结一下,这边教程描述了我们该如何调试NRPE来监控远程服务器的内存使用率。过程只需要下载脚本、定义命令和重启服务就行了。希望这对你们有帮助。
作者: 译者: 校对:
原创翻译, 荣誉推出
上一篇:下一篇:
linux 监控Nagios借鉴下
--------------
分享到微信朋友圈
打开微信,点击底部的“发现”,
使用“扫一扫”将网页分享至朋友圈。
请将我们加入您的广告过滤器的白名单,请支持开源站点。谢谢您。Nginx日志增长过快详细分析_服务器应用_Linux公社-Linux系统门户网站
你好,游客
Nginx日志增长过快详细分析
来源:Linux社区&
作者:黄杉
Nginx日志里面Mobileweb_access.log增长特别大,一天上百兆,将近100W的访问记录,按照我们目前的规模,热点用户才500个左右,就算人人用手机app访问,怎么可能会有这么大的url访问量?以前只是安装使用nginx,还没有抽出时间仔细研究,这回需要彻底的去分析nginx日志了。
1,日志分类 主要2种,一种是错误日志,一种是访问日志,这些配置都在/usr/local/nginx/conf/nginx.conf里面,默认都是打开的,自己也可以选择关闭。
1.1,访问日志 访问日志主要记录每一个访问nginx的请求,格式可以自己定义,在nginx.conf文件里面,通过访问日志,你可以看到每一个请求的详细信息,对于访问日志的格式,主要是配置文件中的log_format来限制的。
1.1.1 log_format日志格式
$request_time:整个请求的总时间。
$time_iso8601:访问的时间与时区,比如18/Jul/:01 +0800,时间信息最后的"+0800"表示服务器所处时区位于UTC之后的8小时。
$upstream_response_time:请求过程中,upstream的响应时间。
$request_method:客户端请求的动作,通常为GET或POST。
$request_uri:是浏览器发过来的值。该值是rewrite后的值。例如做了internal redirects后。&
$args:这个变量等于请求行中(GET请求)的参数,例如foo=123&bar=
$query_string:与$args相同。
$proxy_add_x_forwarded_for:变量包含客户端请求头中的"X-Forwarded-For",与$remote_addr用逗号分开,如果没有"X-Forwarded-For" 请求头,则$proxy_add_x_forwarded_for等于$remote_addr。
$upstream_addr:upstream的地址,即真正提供服务的主机地址。&
$status:记录请求返回的http状态码,比如成功是200。
$http_user_agent:客户端浏览器信息
$http_range
$sent_http_content_length:发送内容的长度
$body_bytes_sent:发送给客户端的文件主体内容的大小,比如899,可以将日志每条记录中的这个值累加起来以粗略估计服务器吞吐量。&
$http_referer:记录从哪个页面链接访问过来的。
$host:请求主机头字段,否则为服务器名称。
$http_x_forwarded_for:客户端的真实ip,通常web服务器放在反向代理的后面,这样就不能获取到客户的IP地址了,通过$remote_add拿到的IP地址是反向代理服务器的iP地址。反向代理服务器在转发请求的http头信息中,可以增加x_forwarded_for信息,用以记录原有客户端的IP地址和原来客户端的请求的服务器地址。
$http_user_agent:客户端浏览器信息
$body_bytes_sent:发送给客户端的文件主体内容的大小,比如899,可以将日志每条记录中的这个值累加起来以粗略估计服务器吞吐量。&
$ssl_protocol:SSL协议版本,比如TLSv1。
$ssl_cipher:交换数据中的算法,比如RC4-SHA。&
生产环境上的范例:
log_format& main& '$proxy_add_x_forwarded_for& $remote_user [$time_local] "$request" '
& & & & & & & & & & & '$status $body_bytes_sent "$http_referer" '
& & & & & & & & & & & '"$http_user_agent" "$http_x_forwarded_for" '
& & & & & & & & & & & 'upsteam: $upstream_addr';
& & access_log& logs/access.log&
& & log_not_&
1.1.2,访问日志路径
access_log& logs/access.log&
Nginx支持为每个location指定强大的日志记录。同样的连接可以在同一时间输出到不止一个的日志中。如果想关闭日志,可以如下:
能够使用access_log指令的字段包括:http、server、location。
PS:Nginx进程设置的用户和组必须对日志路径有创建文件的权限,否则,会报错。
&1.2,错误日志 错误日志主要记录客户端访问Nginx出错时的日志,格式不支持自定义。通过错误日志,你可以得到系统某个服务或server的性能瓶颈等。因此,将日志好好利用,你可以得到很多有价值的信息。错误日志由指令error_log来指定,具体格式如下:
error_log path(存放路径) level(日志等级)
& & & & path含义同access_log,level表示日志等级,具体如下:
& & & & [ debug | info | notice | warn | error | crit ]
& & 从左至右,日志详细程度逐级递减,即debug最详细,crit最少,举例说明如下:
& & & & error_log& logs/mobileweb_error.
& & 需要注意的是:error_log off并不能关闭错误日志,而是会将错误日志记录到一个文件名为off的文件中。正确的关闭错误日志记录功能的方法如下:
& & & & error_log /dev/
& & 上面表示将存储日志的路径设置为&垃圾桶&。
--------------------------------------分割线 --------------------------------------
6.2实战部署Nginx+MySQL+PHP
使用Nginx搭建WEB服务器
搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程
CentOS 6.3下Nginx性能调优
CentOS 6.3下配置Nginx加载ngx_pagespeed模块
CentOS 6.4安装配置Nginx+Pcre+php-fpm
Nginx安装配置使用详细笔记
Nginx日志过滤 使用ngx_log_if不记录特定日志
--------------------------------------分割线 --------------------------------------
2,为每一个工程定义特定的日志 location ~* ^/mobileWeb/.*$ {
& & & & & client_max_body_size 5m;
& & & & & include deny.
& & & & & proxy_pass http://
& & & & & include proxy.
& & & & & error_log& logs/mobileweb_error.
& & & & & access_log& logs/mobileweb_access.log&
& & & & & include gzip.
这样,就会在日志路径/usr/local/nginx/logs/下面生成mobileWeb工程的专门日志mobileweb_error.log 以及mobileweb_access.log 日志,如果想查询mobileWeb工程的访问记录,就可以单独去查看这2个日志。
更多详情见请继续阅读下一页的精彩内容:
相关资讯 & & &
& (07月27日)
& (11/11/:42)
& (05月19日)
& (10/15/:41)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款}

我要回帖

更多关于 服务器内存使用率过低 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信