阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

如何用 Nagios 监控通用服务

476次阅读
没有评论

共计 5508 个字符,预计需要花费 14 分钟才能阅读完成。

Nagios 内置了很多脚本来监控服务。本篇会使用其中一些来检查通用服务如 MySql、Apache、DNS 等等。

为了保证本篇集中在系统监控,我们不会在这里配置主机组或者模板,它们已经在 前面的教程中覆盖了,它们可以满足需要了。

如何用 Nagios 监控通用服务

 

在命令行中运行 Nagios

通常建议在添加到 Nagios 前,先在命令行中运行 Nagios 服务检测脚本。它会给出执行是否成功以及脚本的输出将会看上去的样子。

这些脚本存储在 /etc/nagios-plugins/config/,可执行文件在 /usr/lib/nagios/plugins/。

下面就是该怎么做

  1. root@nagios:~# cd /etc/nagios-plugins/config/

提供的脚本包含了语法帮助。示例包含了部分输出。

  1. root@nagios:~# cat /etc/nagios-plugins/config/tcp_udp.cfg

  1. # 'check_tcp' command definition
  2. define command{
  3. command_name check_tcp
  4. command_line /usr/lib/nagios/plugins/check_tcp -H '$HOSTADDRESS$'-p '$ARG1$'

了解了语法,TCP 80 端口可以用下面的方法检查。

  1. root@nagios:~#/usr/lib/nagios/plugins/check_tcp -H 10.10.10.1-p 80

  1. TCP OK -0.000 second response time on port 80|time=0.000222s;;;0.000000;10.000000

 

示例拓扑

本片中使用下面三台服务器。每台服务器运行多个通用服务。Nagios 服务器现在运行的是 Ubuntu。

  • Server 1 (10.10.10.1) : MySQL, Apache2
  • Server 2 (10.10.10.2) : Postfix, Apache2
  • Server 3 (10.10.10.3) : DNS

首先,这些服务器被定义在了 Nagios 中。

  1. root@nagios:~# vim /etc/nagios3/conf.d/example.cfg

  1. define host{
  2. usegeneric-host
  3. host_name test-server-1
  4. alias test-server-1
  5. address 10.10.10.1
  6. }
  7. define host{
  8. usegeneric-host
  9. host_name test-server-2
  10. alias test-server-2
  11. address 10.10.10.2
  12. }
  13. define host{
  14. usegeneric-host
  15. host_name test-server-3
  16. alias test-server-3
  17. address 10.10.10.3
  18. }

 

监控 MySQL 服务

 

MySQL 监控需要

  • 通过检查 3306 端口来检测 MySQL 是否运行中。
  • 检测特定的数据库 ’testDB’ 是否可用。

 

MySQL 服务器设置

开始检测 MySQL 时,需要记住 MySQL 默认只监听回环接口 127.0.0.1。这增加了数据库的安全。手动调节需要告诉 MySQL 该监听什么其他接口。下面是该怎么做。

这个设置要在所有的 MySQL 服务器上完成。

  1. root@nagios:~# vim /etc/mysql/my.cnf

下面这行被注释掉以监听所有网络接口。

  1. #bind-address = 127.0.0.1

同样,MySQL 也不会让任意主机来连接它。需要为 localhost 和“任意”主机创建 MySQL 用户‘nagios’,接着在所有的数据库中为这个用户授予 ALL 权限,会这将在会用在监控中。

下面的设置对所有的 MySQL 服务器都已经设置。

  1. root@nagios:~# mysql -u root p
  2. ## MySQL root 密码 ##

在 MySQL 服务器中创建 ’nagios@localhost’ 用户。

  1. mysql> CREATE USER 'nagios'@'localhost' IDENTIFIED BY 'nagios-pass';
  2. mysql> GRANT ALL PRIVILEGES ON *.* TO 'nagios'@'localhost';

创建 ’nagios@任意主机 ’ 用户。(LCTT 译注:实际上这两个是同一个用户,只是分别授权给 localhost 和任意主机的访问;因为它们所用的密码的同一个,修改任何一个,另外一个也相应变化。)

  1. mysql> CREATE USER 'nagios'@'%' IDENTIFIED BY 'nagios-pass';
  2. mysql> GRANT ALL PRIVILEGES ON *.* TO 'nagios'@'%';
  3. mysql> FLUSH PRIVILEGES;

这使 MySQL 监听所有的网络接口,同样接受来自用户 ’nagios’ 的进入连接。

请注意,这种修改可能有安全隐患,所以需要提示几点:

  • 这个设置将会暴露 MySQL 给所有的接口,包括外网。确保只有合法的网络访问是非常重要的。应该使用防火墙和 TCP wrapper 等过滤器。
  • MySQL 用户‘nagios’的密码应该非常强。如果只有几台 Nagios 服务器,那么应该创建 ’nagios@服务器名 ’ 用户而不是任意用户的 ’nagios@%’。

 

对 MySQL 的 Nagios 配置

按如下配置来做一些调整。

  1. root@nagios:~# vim /etc/nagios3/conf.d/services_nagios2.cfg

  1. define service{
  2. usegeneric-service
  3. host_name test-server-1
  4. ;hostgroup can be used instead as well
  5. service_description Check MYSQL via TCP port
  6. check_command check_tcp!3306
  7. }
  8. define service{
  9. usegeneric-service
  10. host_name test-server-1
  11. ;hostgroup can be used instead as well
  12. service_description Check availability of database 'testDB'
  13. check_command check_mysql_database!nagios!nagios-pass!testDB
  14. ;check_mysql!userName!userPassword!databaseName
  15. }

这样,Nagios 就可以同时监控 MySQL 服务器及其数据库的可用性。

 

监控 Apache 服务器

Nagios 同样也可以监控 Apache 服务。

 

Apache 监控需要

  • 监控 apache 服务是否可用

这个任务非常简单因为 Nagios 有一个内置命令。

  1. root@nagios:~# vim /etc/nagios3/conf.d/services_nagios2.cfg

  1. define service{
  2. usegeneric-service
  3. host_name test-server-1, test-server-2
  4. service_description CheckApacheWebServer
  5. check_command check_http
  6. }

现在就非常简单了。

 

监控 DNS 服务

Nagios 通过向 DNS 服务器查询一个完全限定域名(FQDN),或者使用 dig 工具来查询。默认用于查询的 FQDN 的是 www.google.com,但是这个可以按需改变。按照下面的文件修改来完成这个任务。

  1. root@nagios:~# vim /etc/nagios-plugins/config/dns.cfg

  1. ## The -H portion can be modified to replace Google ##
  2. define command{
  3. command_name check_dns
  4. command_line /usr/lib/nagios/plugins/check_dns -H www.google.com -s '$HOSTADDRESS$'
  5. }

编辑下面的行。

  1. root@nagios:~# vim /etc/nagios3/conf.d/services_nagios2.cfg

  1. ## Nagios asks server-3 to resolve the IP for google.com ##
  2. define service{
  3. usegeneric-service
  4. host_name test-server-3
  5. service_description Check DNS
  6. check_command check_dns
  7. }
  8. ## Nagios asks server-3 to dig google.com ##
  9. define service{
  10. usegeneric-service
  11. host_name test-server-3
  12. service_description Check DNS via dig
  13. check_command check_dig!www.google.com
  14. }

 

监控邮件服务器

Nagios 可以监控不同的邮件服务组件如 SMTP、POP、IMAP 和 mailq。之前提过,server- 2 设置了 Postfix 邮件服务。Nagios 将被配置来监控 SMTP 和邮件队列。

  1. root@nagios:~# vim /etc/nagios3/conf.d/services_nagios2.cfg

  1. define service{
  2. usegeneric-service
  3. host_name test-server-2
  4. service_description Check SMTP
  5. check_command check_smtp
  6. }
  7. define service{
  8. usegeneric-service
  9. host_name test-server-2
  10. service_description CheckMailQueue
  11. check_command check_mailq_postfix!50!100
  12. ;warning at 50, critical at 100
  13. }

下面的截屏显示了目前配置监控服务的概览。

如何用 Nagios 监控通用服务

 

基于端口自定义监控程序

让我们假设如下定制程序同样运行在网络中,监听着一个特定的端口。

  • 测试 1 号服务器:定制程序(TCP 端口 12345)

做一些小的调整,Nagios 也可以帮助我们监控这个程序。

  1. root@nagios:~# vim /etc/nagios3/conf.d/services_nagios2.cfg

  1. define service{
  2. usegeneric-service
  3. host_name test-server-1
  4. service_description Check server 1 custom application
  5. check_command check_tcp!12345
  6. }

在结束之前的提示,Nagios 可以监控网络很多其他的方面。存储在 /etc/nagios-plugins/config/ 中的脚本为 Nagios 提供了很棒的能力。

一些 Nagios 提供的脚本被仅限于本地服务器,比如,服务器负载、进程并发数量、登录用户数量等。这些检查可以提供 Nagios 服务器内有用的信息。

希望这篇文章对你有用。

————————————– 分割线 ————————————–

在 Ubuntu 下配置 Mrtg 监控 Nginx 和服务器系统资源 http://www.linuxidc.com/Linux/2013-08/88417.htm

使用 snmp+Mrtg 监控 Linux 系统 http://www.linuxidc.com/Linux/2012-11/73561.htm

Mrtg 服务器搭建(监控网络流量)http://www.linuxidc.com/Linux/2012-07/64315.htm

网络监控器 Nagios 全攻略 http://www.linuxidc.com/Linux/2013-07/87067.htm

Nagios 搭建与配置详解 http://www.linuxidc.com/Linux/2013-05/84848.htm

Nginx 环境下构建 Nagios 监控平台 http://www.linuxidc.com/Linux/2011-07/38112.htm

在 RHEL5.3 上配置基本的 Nagios 系统 (使用 Nagios-3.1.2) http://www.linuxidc.com/Linux/2011-07/38129.htm

CentOS 5.5+Nginx+Nagios 监控端和被控端安装配置指南 http://www.linuxidc.com/Linux/2011-09/44018.htm

Ubuntu 13.10 Server 安装 Nagios Core 网络监控运用 http://www.linuxidc.com/Linux/2013-11/93047.htm

————————————– 分割线 ————————————–

Nagios 的详细介绍 :请点这里
Nagios 的下载地址 :请点这里


via: http://xmodulo.com/monitor-common-services-nagios.html

作者:Sarmed Rahman 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译��Linux 中国 荣誉推出

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-07/119457.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计5508字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7977298
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的 3D 玩偶了 前些日子参加某网站活动,获得一次实物 3D 打印的机会,于是从众多...
星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛 NAS-7:手把手教你免费内网穿透 -Cloudflare tunnel 前言 大家好,我是星...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...