Module: check_mk
Branch: master
Commit: 271a7e91b1f7d3f8dc51181bea7df25e9ee3fdb3
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=271a7e91b1f7d3…
Author: Simon Betz <si(a)mathias-kettner.de>
Date: Mon Aug 17 10:17:24 2015 +0200
added two helper functions in check_mk/doc/helpers to create automatically a check and a
manpage
---
doc/helpers/mkcheck | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++
doc/helpers/mkman | 45 +++++++++++++++++++++++++++
2 files changed, 131 insertions(+)
diff --git a/doc/helpers/mkcheck b/doc/helpers/mkcheck
new file mode 100755
index 0000000..8343a47
--- /dev/null
+++ b/doc/helpers/mkcheck
@@ -0,0 +1,86 @@
+#!/bin/bash
+# usage:
+# 'mkcheck NAME' for a standard check
+# 'mkcheck NAME snmp' for a snmp check
+content_std="#!/usr/bin/python
+# -*- encoding: utf-8; py-indent-offset: 4 -*-
+# +------------------------------------------------------------------+
+# | ____ _ _ __ __ _ __ |
+# | / ___| |__ ___ ___| | __ | \\/ | |/ / |
+# | | | | '_ \\ / _ \\/ __| |/ / | |\\/| | ' / |
+# | | |___| | | | __/ (__| < | | | | . \\ |
+# | \\____|_| |_|\\___|\\___|_|\\_\\___|_| |_|_|\\_\\ |
+# | |
+# | Copyright Mathias Kettner YEAR mk(a)mathias-kettner.de |
+# +------------------------------------------------------------------+
+#
+# This file is part of Check_MK.
+# The official homepage is at
http://mathias-kettner.de/check_mk.
+#
+# check_mk is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation in version 2. check_mk is distributed
+# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with-
+# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE. See the GNU General Public License for more de-
+# ails. You should have received a copy of the GNU General Public
+# License along with GNU Make; see the file COPYING. If not, write
+# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+# Boston, MA 02110-1301 USA.
+
+
+# example output:
+#
+
+
+factory_settings['CHECKNAME_default_variables' = {
+ 'LEVELS' : None,
+}
+
+
+def inventory_CHECKNAME(info):
+ print info
+ return []
+
+
+def check_CHECKNAME(item, params, info):
+ return (3, 'Not yet implemented')
+
+
+check_info['CHECKNAME'] = {
+ 'inventory_function' : inventory_CHECKNAME,
+ 'check_function' : check_CHECKNAME,
+ 'service_description' : 'DESCRIPTION %s',
+ 'has_perfdata' : True,
+ 'default_level_variable' : 'CHECKNAME_default_variables',
+ 'includes' : [],"
+content_snmp="
+ 'snmp_info' : INFO,
+ 'snmp_scan_function' : lambda oid: FUNCTION,
+}"
+path=`pwd`
+filename=$1
+snmp=$2
+path2file=$path"/"$filename
+no_name=$path"/no_name"
+year=`date +"%Y"`
+if [ -z "$filename" ]; then
+ echo "No name or argument given. Please determine one."
+else
+ content_std=${content_std//CHECKNAME/$filename}
+ content_std=${content_std//YEAR/$year}
+ if [ ! -f "$path2file" ]; then
+ if [ -z $snmp ]; then
+ content_std=$content_std"\n#\n}"
+ elif [ $snmp = "snmp" ]; then
+ content_std=$content_std$content_snmp:
+ else
+ echo "Wrong arguments."
+ exit 0
+ fi
+ echo "New check '$filename' is created and stored in
'$path2file'."
+ echo -e "${content_std}" > $path2file
+ else
+ echo "File already exists."
+ fi
+fi
diff --git a/doc/helpers/mkman b/doc/helpers/mkman
new file mode 100755
index 0000000..acfaa66
--- /dev/null
+++ b/doc/helpers/mkman
@@ -0,0 +1,45 @@
+#!/bin/bash
+# useage:
+# 'mkcheck' for a standard check
+# 'mkchecksnmp' for a snmp check
+content_std="title:
+agents: TYPE
+catalog:
+license: GPL
+distribution: check_mk
+description:
+
+item:
+
+examples:
+
+perfdata:
+
+inventory:
+
+[parameters]
+
+[configuration]"
+path=`pwd`
+filename=$1
+snmp=$2
+path2file=$path"/"$filename
+if [ -z "$filename" ]; then
+ echo "No name given. Please determine one."
+ exit 0
+else
+ if [ ! -f "$path2file" ]; then
+ if [ -z $snmp ]; then
+ content_std=${content_std//" TYPE"/}
+ elif [ $snmp = "snmp" ]; then
+ content_std=${content_std//" TYPE"/" snmp"}
+ else
+ echo "Wrong arguments."
+ exit 0
+ fi
+ echo "New check '$filename' created and stored in
'$path2file'."
+ echo -e "${content_std}" > $path2file
+ else
+ echo "File already exists."
+ fi
+fi