nagios自定义监控API插件

简介:


  监控思路:通过url访问某一接口文件的具体返回内容,正则匹配某一接口存活必定含有的字符,若有则证明接口存活,若无则接口有问题。

  废话不多说,上插件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
import  re
import  urllib
import  sys
import  getopt
 
def usage():
     print  "" "Usage: check_api [-h|--help] [-u|--url url] [-S|--Str String]
"
Url: the url that you want to check;
String: the string that you want to match;
"
For example, #/usr/local/nagios/libexec/check_api -u 'http://xxx.com/ch1.ashx?jsoncallback=jQuery111104933076921983046_1479864376576&classid=12&systemtype=2&dataType=json&cityid=129&videoid=36065812&pageid=1&_=1479864376577' -S AdList
"" "
     sys. exit (3)
 
def getHtml(url):
     page = urllib.urlopen(url)
     html = page. read ()
     return  html
 
def getString(Str, html):
     matchObj = re.search(Str, html, re.M)
     if  matchObj:
         print( "GET API OK:get %s successfully!"  % Str)
         sys. exit (0)
     elif  not matchObj:
         print( "GET API CRITICAL:the API was error!" )
         sys. exit (2)
     else :
         print( "GET API UNKNOWN:the API was unknow!" )
         sys. exit (3)
 
try:
     options, args = getopt.getopt(sys.argv[1:],
         "hu:S:" ,
         "--help --url= --Str=" ,
         )
except getopt.GetoptError:
     usage()
     sys. exit (3)
 
for  name, value  in  options:
     if  name  in  ( "-h" "--help" ):
         usage()
     if  name  in  ( "-u" "--url" ):
         url = value
     if  name  in  ( "-S" "--Str" ):
         Str = value
 
html = getHtml(url)
getString(Str, html)

返回结果:

1
2
[root@M-WEB-065 ~] # /usr/local/nagios/libexec/check_api -u 'http://xxx.com/ch1.ashx?jsoncallback=jQuery111104933076921983046_1479864376576&classid=12&systemtype=2&dataType=json&cityid=129&videoid=36065812&pageid=1&_=1479864376577' -S AdList 
GET API OK:get AdList successfully!

一、上述插件在客户机上部署,将此插件放入/usr/local/nagios/libexec/  赋予可执行权限和属主组,修改/usr/local/nagios/etc/nrpe.cfg配置文件,添加

1
command [check_api]= /usr/local/nagios/libexec/check_api  -u  'http://xxx.com/ch1.ashx?jsoncallback=jQuery111104933076921983046_1479864376576&classid=12&systemtype=2&dataType=json&cityid=129&videoid=36065812&pageid=1&_=1479864376577'  -S AdList

重启nagios客户端。

二、修改监控主机/usr/local/nagios/etc/objects/commands.cfg文件,添加

1
2
3
4
define  command {
         command_name check_api
         command_line $USER1$ /check_api  -u $ARG1$ -S $ARG2$
         }

修改监控主机/usr/local/nagios/etc/objects/services.cfg文件,添加

1
2
3
4
5
6
7
8
9
10
11
12
13
14
##############################M-WEB-065 check_api#####################################
define service{
         host_name               M-WEB-065
         service_description     check_api
         check_command           check_nrpe!check_api
         max_check_attempts      5
         normal_check_interval   5
         retry_check_interval    2
         check_period            24x7
         notification_interval   10
         notification_period     24x7
         notification_options    u,c,r
         contact_groups          yunwei
}

最后重启nagios,查看监控结果

wKiom1g1YHHQfSKQAAAngyVqCUQ707.png





      本文转自YU文武貝 51CTO博客,原文链接:http://blog.51cto.com/linuxerxy/1875893,如需转载请自行联系原作者




相关文章
|
2月前
|
人工智能 自然语言处理 前端开发
【2025.3.08更新】wordpress AI智能插件|自动生成SEO文章/图片/视频+长尾词优化 内置DeepSeek多模型支持与API扩展
Linkreate WordPress AI插件提供强大的自动化文章生成、SEO优化、关键词管理和内容采集功能。它能根据关键词自动生成高质量文章,支持多语言和批量生成,内置长尾关键词生成工具,并可定时自动发布文章。插件还集成了多种AI服务,支持前端AI客服窗口及媒体生成,帮助用户高效管理网站内容,提升SEO效果。
【2025.3.08更新】wordpress AI智能插件|自动生成SEO文章/图片/视频+长尾词优化 内置DeepSeek多模型支持与API扩展
|
1月前
|
人工智能 自然语言处理 搜索推荐
WordPress AI 原创文章自动生成插件,新增自定义生成图片API功能,支持自定义99%的生图API,拓展性超强
这是一款功能强大的WordPress AI原创文章自动生成插件,支持两种智能生成模式:传统自动方式和懒人智能方式。通过AI生成长尾关键词、多语言文章、动态化标题与内容结构,优化SEO效果,去AI特征,吸引更多点击。插件可自动生成配图、TAG标签及摘要,支持24小时无人值守自动化生成文章,并提交至各大搜索引擎。同时提供关键词管理、定时任务、API集成等功能,兼容主流AI模型,助力网站内容创作与SEO优化。适合个人站长及企业用户提升内容生产力。
|
3月前
|
机器人 API
自定义飞书Webhook机器人api接口
自定义飞书Webhook机器人api接口
235 25
|
6月前
|
人工智能 关系型数据库 MySQL
数据魔力,一触即发 —— Dataphin数据服务API,百炼插件新星降临!
本文通过一个利用百炼大模型平台和Dataphin数据服务API构建一个客户360智能应用的案例,介绍如何使用Dataphin数据服务API在百炼平台创建一个自定义插件,用于智能应用的开发,提升企业智能化应用水平。
452 4
数据魔力,一触即发 —— Dataphin数据服务API,百炼插件新星降临!
|
6月前
|
Web App开发 人工智能 自然语言处理
WebChat:开源的网页内容增强问答 AI 助手,基于 Chrome 扩展的最佳实践开发,支持自定义 API 和本地大模型
WebChat 是一个基于 Chrome 扩展开发的 AI 助手,能够帮助用户理解和分析当前网页的内容,支持自定义 API 和本地大模型。
575 1
|
6月前
|
Prometheus 监控 Java
深入探索:自制Agent监控API接口耗时实践
在微服务架构中,监控API接口的调用耗时对于性能优化至关重要。通过监控接口耗时,我们可以识别性能瓶颈,优化服务响应速度。本文将分享如何自己动手实现一个Agent来统计API接口的调用耗时,提供一种实用的技术解决方案。
208 3
|
6月前
|
监控 数据可视化 Java
深入探索:自制Agent监控API接口耗时
在微服务架构中,监控API接口的调用耗时对于性能优化至关重要。通过监控这些指标,我们可以识别瓶颈,优化系统性能。本文将分享如何自己动手实现一个Agent来统计API接口的调用耗时,提供一种有效的监控解决方案。
137 2
|
9月前
|
JavaScript 前端开发 测试技术
[译] 用 Vue.js 3 Composition API 创建 i18n 插件
[译] 用 Vue.js 3 Composition API 创建 i18n 插件
|
9月前
|
SQL Shell API
python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API
python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API
|
9月前
|
中间件 API 网络架构
Django后端架构开发:从匿名用户API节流到REST自定义认证
Django后端架构开发:从匿名用户API节流到REST自定义认证
146 0