Compare commits

..

No commits in common. "master" and "1.20131115" have entirely different histories.

665 changed files with 124 additions and 116416 deletions

View file

@ -1,12 +0,0 @@
version: 2
updates:
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: daily
time: "04:00"
reviewers:
- "waja"
pull-request-branch-name:
separator: "-"
open-pull-requests-limit: 10

View file

@ -1,20 +0,0 @@
mode: auto
branchName: '${issue.number}-${issue.title[0,40]}'
gitSafeReplacementChar: '-'
branches:
- label: question
skip: true
- label: feature
prefix: feature/
- label: bug
prefix: bugfix/
- label: security
prefix: security/
- label: automation
prefix: automation/
openDraftPR: true
copyIssueDescriptionToPR: false
copyIssueLabelsToPR: true
copyIssueAssigneeToPR: true
copyIssueProjectsToPR: false
copyIssueMilestoneToPR: true

View file

@ -1,25 +0,0 @@
name: Tools - Automate Issue Branch
on:
issues:
types: [ assigned ]
issue_comment:
types: [ created ]
jobs:
create_issue_branch_job:
runs-on: ubuntu-latest
permissions:
actions: read
checks: write
contents: write
deployments: none
issues: write
packages: none
pull-requests: write
repository-projects: none
security-events: none
steps:
- name: Create Issue Branch
uses: robvanderleek/create-issue-branch@main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View file

@ -1,35 +0,0 @@
name: Packaging Test
on:
push:
branches:
- $default-branch
- development
- master
# Run tests for any PRs
pull_request:
env:
SOURCE_DIR: ./
ARTIFACTS_DIR: debian/build/release/
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
env:
DEBIAN_FRONTEND: "noninteractive"
- name: Remove github artefacts
run: |
rm -rf .git*
- name: Adjust distibution in changelog file
run: |
sed -i '0,/restricted/s//stable/' debian/changelog
- name: Build Debian package
uses: dawidd6/action-debian-package@v1.4.0
with:
artifacts_directory: debian/build/release/
- name: Debug
run: |
ls -la

View file

@ -1,70 +0,0 @@
on:
push:
# Sequence of patterns matched against refs/tags
tags:
- 'debian/*' # Push events to matching debian/*, i.e. debian/1.0-2, debian/20.15.10, debian/23.20020326
name: Release Process
env:
SOURCE_DIR: ./
ARTIFACTS_DIR: debian/build/release/
jobs:
create-release:
name: Create Release
runs-on: ubuntu-latest
outputs:
release-id: ${{ steps.create_release.outputs.id }}
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install needed packages
run: |
if [ $(dpkg -l | grep -c dpkg-dev) -ne 1 ]; then sudo apt-get update && sudo apt-get install -y dpkg-dev; fi
- name: Gather changelog
run: |
ls -la
dpkg-parsechangelog | tail -n +9 > debian.changelog
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
body_path: debian.changelog
draft: false
prerelease: false
build:
name: Build and upload packages
needs: create-release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
env:
DEBIAN_FRONTEND: "noninteractive"
- name: Remove github artefacts
run: |
rm -rf .git*
- name: Adjust distibution in changelog file
run: |
sed -i '0,/restricted/s//stable/' debian/changelog
- name: Build Debian package
uses: dawidd6/action-debian-package@v1.4.0
with:
artifacts_directory: debian/build/release/
# - name: Build Debian package
# uses: pi-top/action-debian-package@v0.2.0
# with:
# artifacts_directory: debian/build/release/
# target_architectures: "amd64,i386"
- name: Upload the artifacts
uses: skx/github-action-publish-binaries@release-2.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
releaseId: ${{ needs.create-release.outputs.release-id }}
args: debian/build/release/*

View file

@ -1,40 +1,16 @@
dist: xenial language: c
sudo: required
env: before_install:
global: # update package list
# travis encrypt -r waja/monitoring-plugins-cyconet GITHUBTOKEN=XXXXXX (https://help.github.com/articles/creating-an-access-token-for-command-line-use / http://docs.travis-ci.com/user/encryption-keys/) - sudo apt-get update -qq
- secure: "G/f08BKWorfnej6309TiTzESH/HPQlA8AJwpPTWcDkf5X0/9UcpouuajrXBayu0Km3pN0jMzJXOU3S5mQvuebNHCWY1ehVkL4h+z0bDXxFG0SZBLuy0dJ+NPyd7iTp/tlRUfencxymAmaRQQa4zFkLndT0W0MH88NNsYgh/eCBw="
matrix:
- TRAVIS_DEBIAN_DISTRIBUTION=unstable TRAVIS_DEBIAN_MIRROR="http://httpredir.debian.org/debian/" TRAVIS_DEBIAN_SECURITY_UPDATES=false
- TRAVIS_DEBIAN_DISTRIBUTION=testing TRAVIS_DEBIAN_MIRROR="http://httpredir.debian.org/debian/"
- TRAVIS_DEBIAN_DISTRIBUTION=stable TRAVIS_DEBIAN_MIRROR="http://httpredir.debian.org/debian/"
services: install:
- docker # install build dependencies
- sudo apt-get install -qq --no-install-recommends debhelper devscripts python python-debian quilt autotools-dev
before_script:
# fetch all tags (not done due travis cloning with depth=50)
- git fetch --tags
script: script:
# build the debian package # build the debian package
- wget -O- http://travis.debian.net/script.sh | sh - - debuild -uc -us
after_script:
# run lintian after build
- sudo add-apt-repository -y ppa:waja/trusty-backports
- sudo apt-get update -qq
- sudo apt-get install -qq --no-install-recommends lintian
- lintian --info --display-info --display-experimental --pedantic --show-overrides ../*.deb && lintian --info --display-info --display-experimental --pedantic --show-overrides ../*.dsc
after_success:
- '[ "$TRAVIS_DEBIAN_DISTRIBUTION" = "stable" ] && sudo apt-get install -qq --no-install-recommends devscripts && mkdir -p debian/build/release/ && for FILE in $(dcmd ../*.changes); do cp ../$(basename $FILE) debian/build/release/; done'
- '[ "$TRAVIS_DEBIAN_DISTRIBUTION" = "stable" ] && debian/bin/github-release.sh "$TRAVIS_REPO_SLUG" "debian/`head -1 debian/changelog | awk -F"[()]" "{print $2}" | awk -F"+" "{print $1}"`" debian/build/release/*'
#notifications: #notifications:
# email: false # email: false
#branches:
# except:
# - /^debian\/\d/

View file

@ -1,4 +0,0 @@
#/usr/bin/make -f
include ../common.mk

View file

@ -1,59 +0,0 @@
#!/usr/bin/perl
use strict;
use warnings;
use LWP::Simple;
use Data::Dump qw(dump); #libdata-dump-perl
use Web::Scraper; #libweb-scraper-perl
use Monitoring::Plugin; #libmonitoring-plugin-perl
my $np = Monitoring::Plugin->new(
usage => '',
plugin => $0,
shortname => "Balancer Members",
blurb => 'Apache 2 Load Balancer Manager Members',
timeout => 10
);
$np->add_arg(
spec => 'hostname|h=s',
help => 'hostname of the apache server',
required => 1
);
$np->add_arg(
spec => 'path|p=s',
help => 'path to the balancer url',
required => 1
);
$np->getopts;
my $response = get("http://".$np->opts->hostname."/".$np->opts->path);
my $s = scraper {
process 'table:nth-of-type(2) tr', 'members[]' => scraper {
process 'td:nth-of-type(1)', 'worker' => 'TEXT';
process 'td:nth-of-type(6)', 'status' => 'TEXT';
process 'td:nth-of-type(7)', 'elected' => 'TEXT';
process 'td:nth-of-type(8)', 'busy' => 'TEXT';
process 'td:nth-of-type(9)', 'load' => 'TEXT';
process 'td:nth-of-type(10)', 'to' => 'TEXT';
process 'td:nth-of-type(11)', 'from' => 'TEXT';
}
};
my $results = $s->scrape($response);
my @problemMembers = ();
my $at_least_one_is_ok = 0;
foreach my $member (@{$results->{'members'}})
{
next unless $member->{'worker'};
push @problemMembers, $member->{'worker'} if $member->{'status'} =~ /Err/i;
$at_least_one_is_ok = 1 if $member->{'status'} =~ /Ok\s?$/;
$np->add_perfdata(label => "elected-$member->{'worker'}", value => $member->{'elected'}, uom => 'c');
$np->add_perfdata(label => "busy-$member->{'worker'}", value => $member->{'busy'}, uom => 'rqts');
}
$np->nagios_exit('CRITICAL', "No members are Ok; there is a problem") unless $at_least_one_is_ok;
$np->nagios_exit('CRITICAL', "Members have errors: " . join (", ", @problemMembers)) if (@problemMembers > 0);
$np->nagios_exit('OK', "All members functioning correctly");

View file

@ -1,6 +0,0 @@
Homepage: https://raw.github.com/mintsoft/check_apache_balancer_members/master/check_apache_balancer_members.pl
Watch: https://github.com/mintsoft/check_apache_balancer_members <a class="commit-tease-sha"[^>]*>\s+([0-9a-f]+)\s+</a>
Recommends: libdata-dump-perl, libweb-scraper-perl, libmonitoring-plugin-perl | libnagios-plugin-perl
Version: 8e1ad17
Uploaders: Jan Wagner <waja@cyconet.org>
Description: plugin to monitor Apache2 balancer_manager

View file

@ -1,15 +0,0 @@
Copyright Copyright 2015 Robert Emery/Codeweavers Ltd
License: Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View file

@ -1,6 +1,6 @@
Homepage: https://exchange.icinga.org/exchange/check_bgp Homepage: https://www.monitoringexchange.org/inventory/Check-Plugins/Software/SNMP/check_bgp
Watch: https://exchange.icinga.org/exchange/check_bgp/files/657/check_bgp.0.4.pl Revision: ([0-9.]+) Watch: https://www.monitoringexchange.org/attachment/preview/Check-Plugins/Software/SNMP/check_bgp/check_bgp.0.4.pl Revision: ([0-9.]+)
Uploaders: Jan Wagner <waja@cyconet.org> Uploaders: Jan Wagner <waja@cyconet.org>
Description: plugin to check BGP peer status via SNMP. Description: plugin to check BGP peer status via SNMP.
Recommends: libnet-snmp-perl, monitoring-plugins-common | nagios-plugins-common Recommends: libnet-snmp-perl, nagios-plugins-common
Version: 0.4 Version: 0.4

View file

@ -1,10 +0,0 @@
#/usr/bin/make -f
PLUGIN = src/check_es_system
CLEANEXTRAFILES = $(PLUGIN)
DOCFILES = src/README.md
include ../common.mk
src/$(PLUGIN): src/$(PLUGIN).sh
cp $< $@

View file

@ -1,22 +0,0 @@
---
sudo: required
dist: focal
language: generic
services:
- elasticsearch
before_install:
- sudo apt-get update -q
- sudo apt-get install curl jq
before_script:
#- sleep 10
script:
- ./check_es_system.sh --help || true
- |
test/test_status.sh
test/test_readonly.sh

View file

@ -1,339 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc., <http://fsf.org/>
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
{description}
Copyright (C) {year} {fullname}
This program 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; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
{signature of Ty Coon}, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

View file

@ -1,15 +0,0 @@
# check_es_system
This is a monitoring plugin to check the status of an ElasticSearch cluster node. Besides the classical status check (green, yellow, red) this plugin also allows to monitor disk or memory usage of Elasticsearch. This is especially helpful when running Elasticsearch in the cloud (e.g. Elasticsearch as a service) because, as ES does not run on your own server, you cannot monitor the disk or memory usage. This is where this plugin comes in. Just tell the plugin how much resources (diskspace, memory capacity) you have available (-d) and it will alarm you when you reach a threshold.
Besides that, the plugin offers additional (advanced) checks of a Elasticsearch node/cluster (Java Threads, Thread Pool Statistics, Master Verification, Read-Only Indexes, ...).
Please refer to https://www.claudiokuenzler.com/monitoring-plugins/check_es_system.php for full documentation and usage examples.
Requirements
------
- The following commands must be available: `curl`, `expr`
- One of the following json parsers must be available: `jshon` or `jq` (defaults to jq)
Usage
------
./check_es_system.sh -H ESNode [-P port] [-S] [-u user] [-p pass] [-d available] -t check [-o unit] [-i indexes] [-w warn] [-c crit] [-m max_time] [-e node] [-X jq|jshon]

View file

@ -1,761 +0,0 @@
#!/bin/bash
################################################################################
# Script: check_es_system.sh #
# Author: Claudio Kuenzler www.claudiokuenzler.com #
# Purpose: Monitor ElasticSearch Store (Disk) Usage #
# Official doc: www.claudiokuenzler.com/monitoring-plugins/check_es_system.php #
# License: GPLv2 #
# GNU General Public Licence (GPL) http://www.gnu.org/ #
# This program 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; either version 2 #
# of the License, or (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program; if not, see <https://www.gnu.org/licenses/>. #
# #
# Copyright 2016,2018-2021 Claudio Kuenzler #
# Copyright 2018 Tomas Barton #
# Copyright 2020 NotAProfessionalDeveloper #
# Copyright 2020 tatref #
# Copyright 2020 fbomj #
# Copyright 2021 chicco27 #
# #
# History: #
# 20160429: Started programming plugin #
# 20160601: Continued programming. Working now as it should =) #
# 20160906: Added memory usage check, check types option (-t) #
# 20160906: Renamed plugin from check_es_store to check_es_system #
# 20160907: Change internal referenced variable name for available size #
# 20160907: Output now contains both used and available sizes #
# 20161017: Add missing -t in usage output #
# 20180105: Fix if statement for authentication (@deric) #
# 20180105: Fix authentication when wrong credentials were used #
# 20180313: Configure max_time for Elastic to respond (@deric) #
# 20190219: Fix alternative subject name in ssl (issue 4), direct to auth #
# 20190220: Added status check type #
# 20190403: Check for mandatory parameter checktype, adjust help #
# 20190403: Catch connection refused error #
# 20190426: Catch unauthorized (403) error #
# 20190626: Added readonly check type #
# 20190905: Catch empty cluster health status (issue #13) #
# 20190909: Added jthreads and tps (thread pool stats) check types #
# 20190909: Handle correct curl return codes #
# 20190924: Missing 'than' in tps output #
# 20191104: Added master check type #
# 20200401: Fix/handle 503 errors with curl exit code 0 (issue #20) #
# 20200409: Fix 503 error lookup (issue #22) #
# 20200430: Support both jshon and jq as json parsers (issue #18) #
# 20200609: Fix readonly check on ALL indices (issue #26) #
# 20200723: Add cluster name to status output #
# 20200824: Fix typo in readonly check output #
# 20200916: Internal renaming of -i parameter, use for tps check (issue #28) #
# 20201110: Fix thresholds in jthreads check #
# 20201125: Show names of read_only indexes with jq, set jq as default parser #
# 20210616: Fix authentication bug (#38) and non ES URL responding (#39) #
# 20211202: Added local node (-L), SSL settings (-K, -E), cpu check #
################################################################################
#Variables and defaults
STATE_OK=0 # define the exit code if status is OK
STATE_WARNING=1 # define the exit code if status is Warning
STATE_CRITICAL=2 # define the exit code if status is Critical
STATE_UNKNOWN=3 # define the exit code if status is Unknown
export PATH=$PATH:/usr/local/bin:/usr/bin:/bin # Set path
version=1.12.0
port=9200
httpscheme=http
unit=G
include='_all'
max_time=30
parsers=(jq jshon)
################################################################################
#Functions
help () {
echo -e "$0 $version (c) 2016-$(date +%Y) Claudio Kuenzler and contributors (open source rulez!)
Usage: ./check_es_system.sh -H ESNode [-P port] [-S] [-u user -p pass|-E cert -K key] -t checktype [-o unit] [-w int] [-c int] [-m int] [-e string] [-X parser]
Options:
* -H Hostname or ip address of ElasticSearch Node
-L Run check on local node instead of cluster
-P Port (defaults to 9200)
-S Use https
-E Certs for Authentication
-K Key for Authentication
-u Username if authentication is required
-p Password if authentication is required
* -t Type of check (disk, mem, cpu, status, readonly, jthreads, tps, master)
-o Disk space unit (K|M|G) (defaults to G)
-i Space separated list of included object names to be checked (index names on readonly check, pool names on tps check)
-w Warning threshold (see usage notes below)
-c Critical threshold (see usage notes below)
-m Maximum time in seconds to wait for response (default: 30)
-e Expect master node (used with 'master' check)
-X The json parser to be used jshon or jq (default: jq)
-h Help!
*mandatory options
Threshold format for 'disk', 'mem' and 'cpu': int (for percent), defaults to 80 (warn) and 95 (crit)
Threshold format for 'tps': int,int,int (active, queued, rejected), no defaults
Threshold format for all other check types': int, no defaults
Requirements: curl, expr and one of $(IFS=,; echo "${parsers[*]}")"
exit $STATE_UNKNOWN;
}
authlogic () {
if [[ -z $user ]] && [[ -z $pass ]]; then echo "ES SYSTEM UNKNOWN - Authentication required but missing username and password"; exit $STATE_UNKNOWN
elif [[ -n $user ]] && [[ -z $pass ]]; then echo "ES SYSTEM UNKNOWN - Authentication required but missing password"; exit $STATE_UNKNOWN
elif [[ -n $pass ]] && [[ -z $user ]]; then echo "ES SYSTEM UNKNOWN - Missing username"; exit $STATE_UNKNOWN
fi
}
authlogic_cert () {
if [[ -z $cert ]] && [[ -z $key ]]; then echo "ES SYSTEM UNKNOWN - Authentication required but missing cert and key"; exit $STATE_UNKNOWN
elif [[ -n $cert ]] && [[ -z $key ]]; then echo "ES SYSTEM UNKNOWN - Authentication required but missing key"; exit $STATE_UNKNOWN
elif [[ -n $key ]] && [[ -z $cert ]]; then echo "ES SYSTEM UNKNOWN - Missing cert"; exit $STATE_UNKNOWN
fi
}
unitcalc() {
# ES presents the currently used disk space in Bytes
if [[ -n $unit ]]; then
case $unit in
K) availsize=$(expr $available / 1024); outputsize=$(expr ${size} / 1024);;
M) availsize=$(expr $available / 1024 / 1024); outputsize=$(expr ${size} / 1024 / 1024);;
G) availsize=$(expr $available / 1024 / 1024 / 1024); outputsize=$(expr ${size} / 1024 / 1024 / 1024);;
esac
if [[ -n $warning ]] ; then
warningsize=$(expr $warning \* ${available} / 100)
fi
if [[ -n $critical ]] ; then
criticalsize=$(expr $critical \* ${available} / 100)
fi
usedpercent=$(expr $size \* 100 / $available)
else echo "UNKNOWN - Shouldnt exit here. No units given"; exit $STATE_UNKNOWN
fi
}
thresholdlogic () {
if [ -n $warning ] && [ -z $critical ]; then echo "UNKNOWN - Define both warning and critical thresholds"; exit $STATE_UNKNOWN; fi
if [ -n $critical ] && [ -z $warning ]; then echo "UNKNOWN - Define both warning and critical thresholds"; exit $STATE_UNKNOWN; fi
}
default_percentage_thresholds() {
if [ -z $warning ] || [ "${warning}" = "" ]; then warning=80; fi
if [ -z $critical ] || [ "${critical}" = "" ]; then critical=95; fi
}
json_parse() {
json_parse_usage() { echo "$0: [-r] [-q] [-c] [-a] -x arg1 -x arg2 ..." 1>&2; exit; }
local OPTIND opt r q c a x
while getopts ":rqcax:" opt
do
case "${opt}" in
r) raw=1;;
q) quiet=1;; # only required for jshon
c) continue=1;; # only required for jshon
a) across=1;;
x) args+=("$OPTARG");;
*) json_parse_usage;;
esac
done
case ${parser} in
jshon)
cmd=()
for arg in "${args[@]}"; do
cmd+=(-e $arg)
done
jshon ${quiet:+-Q} ${continue:+-C} ${across:+-a} "${cmd[@]}" ${raw:+-u}
;;
jq)
cmd=()
for arg in "${args[@]}"; do
cmd+=(.$arg)
done
jq ${raw:+-r} $(IFS=; echo ${across:+.[]}"${cmd[*]}")
;;
esac
}
################################################################################
# Check for people who need help - aren't we all nice ;-)
if [ "${1}" = "--help" -o "${#}" = "0" ]; then help; exit $STATE_UNKNOWN; fi
################################################################################
# Get user-given variables
while getopts "H:LP:SE:K:u:p:d:o:i:w:c:t:m:e:X:" Input
do
case ${Input} in
H) host=${OPTARG};;
L) local=true;;
P) port=${OPTARG};;
S) httpscheme=https;;
E) cert=${OPTARG};;
K) key=${OPTARG};;
u) user=${OPTARG};;
p) pass=${OPTARG};;
d) oldavailable=${OPTARG};;
o) unit=${OPTARG};;
i) include=${OPTARG};;
w) warning=${OPTARG};;
c) critical=${OPTARG};;
t) checktype=${OPTARG};;
m) max_time=${OPTARG};;
e) expect_master=${OPTARG};;
X) parser=${OPTARG:=jq};;
*) help;;
esac
done
# Check for mandatory opts
if [[ -z ${host} ]]; then help; exit $STATE_UNKNOWN; fi
if [[ -z ${checktype} ]]; then help; exit $STATE_UNKNOWN; fi
# Check for deprecated opts
if [[ -n ${oldavailable} ]]; then
echo "ES SYSTEM UNKNOWN: -d parameter is now invalid. Capacities are now discovered directly from Elasticsearch."
exit ${STATE_UNKNOWN}
fi
# Local checks are only useful for certain check types
if [[ -n ${local} ]] && ( ! [[ ${checktype} =~ ^(cpu|mem|disk|jthreads)$ ]] ); then
echo "ES SYSTEM UNKNOWN: Node local checks (-L) only work with the following check types: cpu, mem, disk, jthreads"
exit ${STATE_UNKNOWN}
fi
################################################################################
# Check requirements
for cmd in curl expr ${parser}; do
if ! `which ${cmd} >/dev/null 2>&1`; then
echo "UNKNOWN: ${cmd} does not exist, please check if command exists and PATH is correct"
exit ${STATE_UNKNOWN}
fi
done
# Find parser
if [ -z ${parser} ]; then
for cmd in ${parsers[@]}; do
if `which ${cmd} >/dev/null 2>&1`; then
parser=${cmd}
break
fi
done
if [ -z "${parser}" ]; then
echo "UNKNOWN: No JSON parser found. Either one of the following is required: $(IFS=,; echo "${parsers[*]}")"
exit ${STATE_UNKNOWN}
fi
fi
################################################################################
# Retrieve information from Elasticsearch cluster
getstatus() {
if [[ ${local} ]]; then
esurl="${httpscheme}://${host}:${port}/_nodes/_local/stats"
else
esurl="${httpscheme}://${host}:${port}/_cluster/stats"
fi
eshealthurl="${httpscheme}://${host}:${port}/_cluster/health"
if [[ -z $user ]] && [[ -z $cert ]]; then
# Without authentication
esstatus=$(curl -k -s --max-time ${max_time} $esurl)
esstatusrc=$?
if [[ $esstatusrc -eq 7 ]]; then
echo "ES SYSTEM CRITICAL - Failed to connect to ${host} port ${port}: Connection refused"
exit $STATE_CRITICAL
elif [[ $esstatusrc -eq 28 ]]; then
echo "ES SYSTEM CRITICAL - server did not respond within ${max_time} seconds"
exit $STATE_CRITICAL
elif [[ "$esstatus" =~ "503 Service Unavailable" ]]; then
echo "ES SYSTEM CRITICAL - Elasticsearch not available: ${host}:${port} return error 503"
exit $STATE_CRITICAL
elif [[ "$esstatus" =~ "Unknown resource" ]]; then
echo "ES SYSTEM CRITICAL - Elasticsearch not available: ${esstatus}"
exit $STATE_CRITICAL
elif ! [[ "$esstatus" =~ "cluster_name" ]]; then
echo "ES SYSTEM CRITICAL - Elasticsearch not available at this address ${host}:${port}"
exit $STATE_CRITICAL
fi
# Additionally get cluster health infos
if [ $checktype = status ]; then
eshealth=$(curl -k -s --max-time ${max_time} $eshealthurl)
if [[ -z $eshealth ]]; then
echo "ES SYSTEM CRITICAL - unable to get cluster health information"
exit $STATE_CRITICAL
fi
fi
fi
if [[ -n $user ]] || [[ -n $(echo $esstatus | grep -i authentication) ]] ; then
# Authentication required
authlogic
esstatus=$(curl -k -s --max-time ${max_time} --basic -u ${user}:${pass} $esurl)
esstatusrc=$?
if [[ $esstatusrc -eq 7 ]]; then
echo "ES SYSTEM CRITICAL - Failed to connect to ${host} port ${port}: Connection refused"
exit $STATE_CRITICAL
elif [[ $esstatusrc -eq 28 ]]; then
echo "ES SYSTEM CRITICAL - server did not respond within ${max_time} seconds"
exit $STATE_CRITICAL
elif [[ "$esstatus" =~ "503 Service Unavailable" ]]; then
echo "ES SYSTEM CRITICAL - Elasticsearch not available: ${host}:${port} return error 503"
exit $STATE_CRITICAL
elif [[ "$esstatus" =~ "Unknown resource" ]]; then
echo "ES SYSTEM CRITICAL - Elasticsearch not available: ${esstatus}"
exit $STATE_CRITICAL
elif [[ -n $(echo "$esstatus" | grep -i "unable to authenticate") ]]; then
echo "ES SYSTEM CRITICAL - Unable to authenticate user $user for REST request"
exit $STATE_CRITICAL
elif [[ -n $(echo "$esstatus" | grep -i "unauthorized") ]]; then
echo "ES SYSTEM CRITICAL - User $user is unauthorized"
exit $STATE_CRITICAL
elif ! [[ "$esstatus" =~ "cluster_name" ]]; then
echo "ES SYSTEM CRITICAL - Elasticsearch not available at this address ${host}:${port}"
exit $STATE_CRITICAL
fi
# Additionally get cluster health infos
if [[ $checktype = status ]]; then
eshealth=$(curl -k -s --max-time ${max_time} --basic -u ${user}:${pass} $eshealthurl)
if [[ -z $eshealth ]]; then
echo "ES SYSTEM CRITICAL - unable to get cluster health information"
exit $STATE_CRITICAL
fi
fi
fi
if [[ -n $cert ]] || [[ -n $(echo $esstatus | grep -i authentication) ]] ; then
# Authentication with certificate
authlogic_cert
esstatus=$(curl -k -s --max-time ${max_time} -E ${cert} --key ${key} $esurl)
esstatusrc=$?
if [[ $esstatusrc -eq 7 ]]; then
echo "ES SYSTEM CRITICAL - Failed to connect to ${host} port ${port}: Connection refused"
exit $STATE_CRITICAL
elif [[ $esstatusrc -eq 28 ]]; then
echo "ES SYSTEM CRITICAL - server did not respond within ${max_time} seconds"
exit $STATE_CRITICAL
elif [[ "$esstatus" =~ "503 Service Unavailable" ]]; then
echo "ES SYSTEM CRITICAL - Elasticsearch not available: ${host}:${port} return error 503"
exit $STATE_CRITICAL
elif [[ -n $(echo "$esstatus" | grep -i "unable to authenticate") ]]; then
echo "ES SYSTEM CRITICAL - Unable to authenticate user $user for REST request"
exit $STATE_CRITICAL
elif [[ -n $(echo "$esstatus" | grep -i "unauthorized") ]]; then
echo "ES SYSTEM CRITICAL - User $user is unauthorized"
exit $STATE_CRITICAL
fi
# Additionally get cluster health infos
if [[ $checktype = status ]]; then
eshealth=$(curl -k -s --max-time ${max_time} -E ${cert} --key ${key} $eshealthurl)
if [[ -z $eshealth ]]; then
echo "ES SYSTEM CRITICAL - unable to get cluster health information"
exit $STATE_CRITICAL
fi
fi
fi
# Catch empty reply from server (typically happens when ssl port used with http connection)
if [[ -z $esstatus ]] || [[ $esstatus = '' ]]; then
echo "ES SYSTEM UNKNOWN - Empty reply from server (verify ssl settings)"
exit $STATE_UNKNOWN
fi
}
################################################################################
# Do the checks
case $checktype in
disk) # Check disk usage
getstatus
default_percentage_thresholds
if [[ ${local} ]]; then
size=$(echo $esstatus | json_parse -x 'nodes|' -x '[]' -x indices -x store -x size_in_bytes)
available=$(echo $esstatus | json_parse -x 'nodes|' -x '[]' -x fs -x total -x total_in_bytes)
else
size=$(echo $esstatus | json_parse -x indices -x store -x size_in_bytes)
available=$(echo $esstatus | json_parse -x nodes -x fs -x total_in_bytes)
fi
unitcalc
if [ -n "${warning}" ] || [ -n "${critical}" ]; then
# Handle tresholds
thresholdlogic
if [ $size -ge $criticalsize ]; then
echo "ES SYSTEM CRITICAL - Disk usage is at ${usedpercent}% ($outputsize $unit from $availsize $unit)|es_disk=${size}B;${warningsize};${criticalsize};0;${available}"
exit $STATE_CRITICAL
elif [ $size -ge $warningsize ]; then
echo "ES SYSTEM WARNING - Disk usage is at ${usedpercent}% ($outputsize $unit from $availsize $unit)|es_disk=${size}B;${warningsize};${criticalsize};0;${available}"
exit $STATE_WARNING
else
echo "ES SYSTEM OK - Disk usage is at ${usedpercent}% ($outputsize $unit from $availsize $unit)|es_disk=${size}B;${warningsize};${criticalsize};0;${available}"
exit $STATE_OK
fi
else
# No thresholds
echo "ES SYSTEM OK - Disk usage is at ${usedpercent}% ($outputsize $unit from $availsize $unit)|es_disk=${size}B;;;0;${available}"
exit $STATE_OK
fi
;;
mem) # Check memory usage
getstatus
default_percentage_thresholds
if [[ ${local} ]]; then
size=$(echo $esstatus | json_parse -x 'nodes|' -x '[]' -x jvm -x mem -x heap_used_in_bytes)
available=$(echo $esstatus | json_parse -x 'nodes|' -x '[]' -x jvm -x mem -x heap_max_in_bytes)
else
size=$(echo $esstatus | json_parse -x nodes -x jvm -x mem -x heap_used_in_bytes)
available=$(echo $esstatus | json_parse -x nodes -x jvm -x mem -x heap_max_in_bytes)
fi
unitcalc
if [ -n "${warning}" ] || [ -n "${critical}" ]; then
# Handle tresholds
thresholdlogic
if [ $size -ge $criticalsize ]; then
echo "ES SYSTEM CRITICAL - Memory usage is at ${usedpercent}% ($outputsize $unit) from $availsize $unit|es_memory=${size}B;${warningsize};${criticalsize};0;${available}"
exit $STATE_CRITICAL
elif [ $size -ge $warningsize ]; then
echo "ES SYSTEM WARNING - Memory usage is at ${usedpercent}% ($outputsize $unit from $availsize $unit)|es_memory=${size}B;${warningsize};${criticalsize};0;${available}"
exit $STATE_WARNING
else
echo "ES SYSTEM OK - Memory usage is at ${usedpercent}% ($outputsize $unit from $availsize $unit)|es_memory=${size}B;${warningsize};${criticalsize};0;${available}"
exit $STATE_OK
fi
else
# No thresholds
echo "ES SYSTEM OK - Memory usage is at ${usedpercent}% ($outputsize $unit from $availsize $unit)|es_memory=${size}B;;;0;${available}"
exit $STATE_OK
fi
;;
cpu) # Check memory usage
getstatus
default_percentage_thresholds
if [[ ${local} ]]; then
value=$(echo $esstatus | json_parse -x 'nodes|' -x '[]' -x process -x cpu -x percent)
else
value=$(echo $esstatus | json_parse -x nodes -x process -x cpu -x percent)
fi
if [ -n "${warning}" ] || [ -n "${critical}" ]; then
# Handle tresholds
thresholdlogic
if [ $value -ge $critical ]; then
echo "ES SYSTEM CRITICAL - CPU usage is at ${value}% |es_cpu=${value}%;${warning};${critical};0;100"
exit $STATE_CRITICAL
elif [ $value -ge $warning ]; then
echo "ES SYSTEM WARNING - CPU usage is at ${value}% |es_cpu=${value}%;${warning};${critical};0;100"
exit $STATE_WARNING
else
echo "ES SYSTEM OK - CPU usage is at ${value}% |es_cpu=${value}%;${warning};${critical};0;100"
exit $STATE_OK
fi
else
# No thresholds
echo "ES SYSTEM OK - CPU usage is at ${value}% |es_cpu=${value}%;${warning};${critical};0;100"
exit $STATE_OK
fi
;;
status) # Check Elasticsearch status
getstatus
status=$(echo $esstatus | json_parse -r -x status)
clustername=$(echo $esstatus | json_parse -r -x cluster_name)
shards=$(echo $esstatus | json_parse -r -x indices -x shards -x total)
docs=$(echo $esstatus | json_parse -r -x indices -x docs -x count)
nodest=$(echo $esstatus | json_parse -r -x nodes -x count -x total)
nodesd=$(echo $esstatus | json_parse -r -x nodes -x count -x data)
relocating=$(echo $eshealth | json_parse -r -x relocating_shards)
init=$(echo $eshealth | json_parse -r -x initializing_shards)
unass=$(echo $eshealth | json_parse -r -x unassigned_shards)
if [ "$status" = "green" ]; then
echo "ES SYSTEM OK - Elasticsearch Cluster \"$clustername\" is green (${nodest} nodes, ${nodesd} data nodes, ${shards} shards, ${docs} docs)|total_nodes=${nodest};;;; data_nodes=${nodesd};;;; total_shards=${shards};;;; relocating_shards=${relocating};;;; initializing_shards=${init};;;; unassigned_shards=${unass};;;; docs=${docs};;;;"
exit $STATE_OK
elif [ "$status" = "yellow" ]; then
echo "ES SYSTEM WARNING - Elasticsearch Cluster \"$clustername\" is yellow (${nodest} nodes, ${nodesd} data nodes, ${shards} shards, ${relocating} relocating shards, ${init} initializing shards, ${unass} unassigned shards, ${docs} docs)|total_nodes=${nodest};;;; data_nodes=${nodesd};;;; total_shards=${shards};;;; relocating_shards=${relocating};;;; initializing_shards=${init};;;; unassigned_shards=${unass};;;; docs=${docs};;;;"
exit $STATE_WARNING
elif [ "$status" = "red" ]; then
echo "ES SYSTEM CRITICAL - Elasticsearch Cluster \"$clustername\" is red (${nodest} nodes, ${nodesd} data nodes, ${shards} shards, ${relocating} relocating shards, ${init} initializing shards, ${unass} unassigned shards, ${docs} docs)|total_nodes=${nodest};;;; data_nodes=${nodesd};;;; total_shards=${shards};;;; relocating_shards=${relocating};;;; initializing_shards=${init};;;; unassigned_shards=${unass};;;; docs=${docs};;;;"
exit $STATE_CRITICAL
fi
;;
readonly) # Check Readonly status on given indexes
getstatus
icount=0
for index in $include; do
if [[ -z $user ]]; then
# Without authentication
settings=$(curl -k -s --max-time ${max_time} ${httpscheme}://${host}:${port}/$index/_settings)
if [[ $? -eq 7 ]]; then
echo "ES SYSTEM CRITICAL - Failed to connect to ${host} port ${port}: Connection refused"
exit $STATE_CRITICAL
elif [[ $? -eq 28 ]]; then
echo "ES SYSTEM CRITICAL - server did not respond within ${max_time} seconds"
exit $STATE_CRITICAL
fi
rocount=$(echo $settings | json_parse -r -q -c -a -x settings -x index -x blocks -x read_only | grep -c true)
roadcount=$(echo $settings | json_parse -r -q -c -a -x settings -x index -x blocks -x read_only_allow_delete | grep -c true)
if [[ $rocount -gt 0 ]]; then
output[${icount}]=" $index is read-only -"
roerror=true
fi
if [[ $roadcount -gt 0 ]]; then
output[${icount}]+=" $index is read-only (allow delete) -"
roerror=true
fi
fi
if [[ -n $user ]] || [[ -n $(echo $esstatus | grep -i authentication) ]] ; then
# Authentication required
authlogic
settings=$(curl -k -s --max-time ${max_time} --basic -u ${user}:${pass} ${httpscheme}://${host}:${port}/$index/_settings)
settingsrc=$?
if [[ $settingsrc -eq 7 ]]; then
echo "ES SYSTEM CRITICAL - Failed to connect to ${host} port ${port}: Connection refused"
exit $STATE_CRITICAL
elif [[ $settingsrc -eq 28 ]]; then
echo "ES SYSTEM CRITICAL - server did not respond within ${max_time} seconds"
exit $STATE_CRITICAL
elif [[ -n $(echo $esstatus | grep -i "unable to authenticate") ]]; then
echo "ES SYSTEM CRITICAL - Unable to authenticate user $user for REST request"
exit $STATE_CRITICAL
elif [[ -n $(echo $esstatus | grep -i "unauthorized") ]]; then
echo "ES SYSTEM CRITICAL - User $user is unauthorized"
exit $STATE_CRITICAL
fi
rocount=$(echo $settings | json_parse -r -q -c -a -x settings -x index -x blocks -x read_only | grep -c true)
roadcount=$(echo $settings | json_parse -r -q -c -a -x settings -x index -x blocks -x read_only_allow_delete | grep -c true)
if [[ $rocount -gt 0 ]]; then
if [[ "$index" = "_all" ]]; then
if [[ $parser = "jq" ]]; then
roindexes=$(echo $settings | jq -r '.[].settings.index |select(.blocks.read_only == "true").provided_name')
fi
output[${icount}]=" $rocount index(es) found read-only $roindexes -"
else output[${icount}]=" $index is read-only -"
fi
roerror=true
fi
if [[ $roadcount -gt 0 ]]; then
if [[ "$index" = "_all" ]]; then
if [[ $parser = "jq" ]]; then
roadindexes=$(echo $settings | jq -r '.[].settings.index |select(.blocks.read_only_allow_delete == "true").provided_name' | tr '\n' ' ')
fi
output[${icount}]+=" $roadcount index(es) found read-only (allow delete) $roadindexes"
else output[${icount}]+=" $index is read-only (allow delete) -"
fi
roerror=true
fi
fi
let icount++
done
if [[ $roerror ]]; then
echo "ES SYSTEM CRITICAL - ${output[*]}"
exit $STATE_CRITICAL
else
echo "ES SYSTEM OK - Elasticsearch Indexes ($include) are writeable"
exit $STATE_OK
fi
;;
jthreads) # Check JVM threads
getstatus
if [[ ${local} ]]; then
threads=$(echo $esstatus | json_parse -x 'nodes|' -x '[]' -x jvm -x threads -x count)
else
threads=$(echo $esstatus | json_parse -r -x nodes -x jvm -x "threads")
fi
if [ -n "${warning}" ] || [ -n "${critical}" ]; then
# Handle tresholds
thresholdlogic
if [[ $threads -ge $critical ]]; then
echo "ES SYSTEM CRITICAL - Number of JVM threads is ${threads}|es_jvm_threads=${threads};${warning};${critical};;"
exit $STATE_CRITICAL
elif [[ $threads -ge $warning ]]; then
echo "ES SYSTEM WARNING - Number of JVM threads is ${threads}|es_jvm_threads=${threads};${warning};${critical};;"
exit $STATE_WARNING
else
echo "ES SYSTEM OK - Number of JVM threads is ${threads}|es_jvm_threads=${threads};${warning};${critical};;"
exit $STATE_OK
fi
else
# No thresholds
echo "ES SYSTEM OK - Number of JVM threads is ${threads}|es_jvm_threads=${threads};${warning};${critical};;"
exit $STATE_OK
fi
;;
tps) # Check Thread Pool Statistics
getstatus
if [[ -z $user ]]; then
# Without authentication
threadpools=$(curl -k -s --max-time ${max_time} ${httpscheme}://${host}:${port}/_cat/thread_pool)
threadpoolrc=$?
if [[ $threadpoolrc -eq 7 ]]; then
echo "ES SYSTEM CRITICAL - Failed to connect to ${host} port ${port}: Connection refused"
exit $STATE_CRITICAL
elif [[ $threadpoolrc -eq 28 ]]; then
echo "ES SYSTEM CRITICAL - server did not respond within ${max_time} seconds"
exit $STATE_CRITICAL
fi
fi
if [[ -n $user ]] || [[ -n $(echo $esstatus | grep -i authentication) ]] ; then
# Authentication required
authlogic
threadpools=$(curl -k -s --max-time ${max_time} --basic -u ${user}:${pass} ${httpscheme}://${host}:${port}/_cat/thread_pool)
threadpoolrc=$?
if [[ $threadpoolrc -eq 7 ]]; then
echo "ES SYSTEM CRITICAL - Failed to connect to ${host} port ${port}: Connection refused"
exit $STATE_CRITICAL
elif [[ $threadpoolrc -eq 28 ]]; then
echo "ES SYSTEM CRITICAL - server did not respond within ${max_time} seconds"
exit $STATE_CRITICAL
elif [[ -n $(echo $esstatus | grep -i "unable to authenticate") ]]; then
echo "ES SYSTEM CRITICAL - Unable to authenticate user $user for REST request"
exit $STATE_CRITICAL
elif [[ -n $(echo $esstatus | grep -i "unauthorized") ]]; then
echo "ES SYSTEM CRITICAL - User $user is unauthorized"
exit $STATE_CRITICAL
fi
fi
if ! [[ $include = "_all" ]]; then
tpsgrep=$(echo "$include" | sed "s/ /|/g")
threadpools=$(echo "$threadpools" | egrep -i "(${tpsgrep})")
if [[ $(echo ${threadpools[*]}) = "" ]]; then
echo "Thread Pool check is critical: No thread pools found with given name(s): ${include}."
exit $STATE_CRITICAL
fi
fi
tpname=($(echo "$threadpools" | awk '{print $1"-"$2}' | sed "s/\n//g"))
tpactive=($(echo "$threadpools" | awk '{print $3}' | sed "s/\n//g"))
tpqueue=($(echo "$threadpools" | awk '{print $4}' | sed "s/\n//g"))
tprejected=($(echo "$threadpools" | awk '{print $5}' | sed "s/\n//g"))
if [ -n "${warning}" ] || [ -n "${critical}" ]; then
# Handle thresholds. They have to come in a special format: n,n,n (active, queue, rejected)
thresholdlogic
wactive=$(echo ${warning} | awk -F',' '{print $1}')
wqueue=$(echo ${warning} | awk -F',' '{print $2}')
wrejected=$(echo ${warning} | awk -F',' '{print $3}')
cactive=$(echo ${critical} | awk -F',' '{print $1}')
cqueue=$(echo ${critical} | awk -F',' '{print $2}')
crejected=$(echo ${critical} | awk -F',' '{print $3}')
i=0; for tp in ${tpname[*]}; do
perfdata[$i]="tp_${tp}_active=${tpactive[$i]};${wactive};${cactive};; tp_${tp}_queue=${tpqueue[$i]};${wqueue};${cqueue};; tp_${tp}_rejected=${tprejected[$i]};${wrejected};${crejected};; "
let i++
done
i=0
for tpa in $(echo ${tpactive[*]}); do
if [[ $tpa -ge $cactive ]]; then
echo "Thread Pool ${tpname[$i]} is critical: Active ($tpa) is equal or higher than threshold ($cactive)|${perfdata[*]}"
exit $STATE_CRITICAL
elif [[ $tpa -ge $wactive ]]; then
echo "Thread Pool ${tpname[$i]} is warning: Active ($tpa) is equal or higher than threshold ($wactive)|${perfdata[*]}"
exit $STATE_WARNING
fi
let i++
done
i=0
for tpq in $(echo ${tpqueue[*]}); do
if [[ $tpq -ge $cqueue ]]; then
echo "Thread Pool ${tpname[$i]} is critical: Queue ($tpq) is equal or higher than threshold ($cqueue)|${perfdata[*]}"
exit $STATE_CRITICAL
elif [[ $tpq -ge $wqueue ]]; then
echo "Thread Pool ${tpname[$i]} is warning: Queue ($tpq) is equal or higher than threshold ($wqueue)|${perfdata[*]}"
exit $STATE_WARNING
fi
let i++
done
i=0
for tpr in $(echo ${tprejected[*]}); do
if [[ $tpr -ge $crejected ]]; then
echo "Thread Pool ${tpname[$i]} is critical: Rejected ($tpr) is equal or higher than threshold ($crejected)|${perfdata[*]}"
exit $STATE_CRITICAL
elif [[ $tpr -ge $wrejected ]]; then
echo "Thread Pool ${tpname[$i]} is warning: Rejected ($tpr) is equal or higher than threshold ($wrejected)|${perfdata[*]}"
exit $STATE_WARNING
fi
let i++
done
echo "ES SYSTEM OK - Found ${#tpname[*]} thread pools in cluster|${perfdata[*]}"
exit $STATE_OK
fi
# No Thresholds
i=0; for tp in ${tpname[*]}; do
perfdata[$i]="tp_${tp}_active=${tpactive[$i]};;;; tp_${tp}_queue=${tpqueue[$i]};;;; tp_${tp}_rejected=${tprejected[$i]};;;; "
let i++
done
echo "ES SYSTEM OK - Found ${#tpname[*]} thread pools in cluster|${perfdata[*]}"
exit $STATE_OK
;;
master) # Check Cluster Master
getstatus
if [[ -z $user ]]; then
# Without authentication
master=$(curl -k -s --max-time ${max_time} ${httpscheme}://${host}:${port}/_cat/master)
masterrc=$?
if [[ $masterrc -eq 7 ]]; then
echo "ES SYSTEM CRITICAL - Failed to connect to ${host} port ${port}: Connection refused"
exit $STATE_CRITICAL
elif [[ $masterrc -eq 28 ]]; then
echo "ES SYSTEM CRITICAL - server did not respond within ${max_time} seconds"
exit $STATE_CRITICAL
fi
fi
if [[ -n $user ]] || [[ -n $(echo $esstatus | grep -i authentication) ]] ; then
# Authentication required
authlogic
master=$(curl -k -s --max-time ${max_time} --basic -u ${user}:${pass} ${httpscheme}://${host}:${port}/_cat/master)
masterrc=$?
if [[ $threadpoolrc -eq 7 ]]; then
echo "ES SYSTEM CRITICAL - Failed to connect to ${host} port ${port}: Connection refused"
exit $STATE_CRITICAL
elif [[ $threadpoolrc -eq 28 ]]; then
echo "ES SYSTEM CRITICAL - server did not respond within ${max_time} seconds"
exit $STATE_CRITICAL
elif [[ -n $(echo $esstatus | grep -i "unable to authenticate") ]]; then
echo "ES SYSTEM CRITICAL - Unable to authenticate user $user for REST request"
exit $STATE_CRITICAL
elif [[ -n $(echo $esstatus | grep -i "unauthorized") ]]; then
echo "ES SYSTEM CRITICAL - User $user is unauthorized"
exit $STATE_CRITICAL
fi
fi
masternode=$(echo "$master" | awk '{print $NF}')
if [[ -n ${expect_master} ]]; then
if [[ "${expect_master}" = "${masternode}" ]]; then
echo "ES SYSTEM OK - Master node is $masternode"
exit $STATE_OK
else
echo "ES SYSTEM WARNING - Master node is $masternode but expected ${expect_master}"
exit $STATE_WARNING
fi
else
echo "ES SYSTEM OK - Master node is $masternode"
exit $STATE_OK
fi
;;
*) help
esac

View file

@ -1,27 +0,0 @@
#!/bin/bash
echo "Test Elasticsearch status"
./check_es_system.sh -H 127.0.0.1 -P 9200 -t readonly
if [[ $? -eq 0 ]]; then
echo -e "\e[1m\e[32m✔ Test 2.1 OK: Readonly check worked and no read_only indexes were found\e[0m"
exitcode=0
else
echo -e "\e[1m\e[31m✘ Test 2.1 ERROR: Readonly check has not worked or read_only indexes were found\e[0m"
exitcode=1
fi
# Create an index with read_only setting
curl -X PUT "127.0.0.1:9200/my-index-002" -H 'Content-Type: application/json' -d'{ "settings": { "index": { "blocks.read_only": true } } }'
sleep 5
./check_es_system.sh -H 127.0.0.1 -P 9200 -t readonly
if [[ $? -eq 2 ]]; then
echo -e "\e[1m\e[32m✔ Test 2.1 OK: Readonly check worked and detected a read only index\e[0m"
exitcode=0
else
echo -e "\e[1m\e[31m✘ Test 2.1 ERROR: Readonly check has not worked as expected\e[0m"
exitcode=1
fi
exit $exitcode

View file

@ -1,27 +0,0 @@
#!/bin/bash
echo "Test Elasticsearch status"
./check_es_system.sh -H 127.0.0.1 -P 9200 -t status
if [[ $? -eq 0 ]]; then
echo -e "\e[1m\e[32m✔ Test 1.1 OK: Status check worked and shows green\e[0m"
exitcode=0
else
echo -e "\e[1m\e[31m✘ Test 1.1 ERROR: Status check has not worked\e[0m"
exitcode=1
fi
# Create index with a replica, this should result in unassigned shards and yellow status
curl -X PUT "127.0.0.1:9200/my-index-001" -H 'Content-Type: application/json' -d'{ "settings": { "index": { "number_of_shards": 2, "number_of_replicas": 1 } } }'
sleep 5
./check_es_system.sh -H 127.0.0.1 -P 9200 -t status
if [[ $? -eq 1 ]]; then
echo -e "\e[1m\e[32m✔ Test 1.2 OK: Status check worked and shows yellow\e[0m"
exitcode=0
else
echo -e "\e[1m\e[31m✘ Test 1.2 ERROR: Status check has not worked as expected\e[0m"
exitcode=1
fi
exit $exitcode

View file

@ -1,6 +0,0 @@
Uploaders: Jan Wagner <waja@cyconet.org>
Recommends: curl, jshon | jq
Version: 1.12.0
Homepage: https://github.com/Napsty/check_es_system/
Watch: https://github.com/Napsty/check_es_system/tags .*/v?(\d\S+)\.tar\.gz
Description: Plugin script to check the status of an ElasticSearch cluster node.

View file

@ -1,7 +0,0 @@
Copyright (c) Claudio Kuenzler <ck@claudiokuenzler.com>
License: GPL v2
On Debian systems, the complete text of the GNU General
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".

View file

@ -1 +0,0 @@
check_es_system-1.12.0/

View file

@ -1,14 +0,0 @@
PLUGIN := check_esxi_hardware
CLEANFILES := check_esxi_hardware
DOCFILES := README.md
include ../common.mk
check_esxi_hardware:
cp $@.py $@
chmod 755 $@
install::
install -d $(DESTDIR)$(PLUGINDIR)
ln -s $(PLUGINDIR)/$(PLUGIN) $(DESTDIR)$(PLUGINDIR)/$(PLUGIN).py

View file

@ -1,11 +0,0 @@
check_esxi_hardware
=========
Monitoring plugin to check the hardware on VMware ESX/ESXi servers.
This is the public git repository for development of the plugin.
Documentation + Production Ready Plugin
-------------
Please refer to https://www.claudiokuenzler.com/monitoring-plugins/check_esxi_hardware.php

File diff suppressed because it is too large Load diff

View file

@ -1,6 +0,0 @@
Uploaders: Jan Wagner <waja@cyconet.org>
Recommends: python3-minimal, python-pywbem
Version: 20210809
Homepage: https://github.com/Napsty/check_esxi_hardware
Watch: https://github.com/Napsty/check_esxi_hardware/tags .*/v?(\d\S+)\.tar\.gz
Description: Plugin for checking global health of VMware ESX/ESXi host

View file

@ -1,12 +0,0 @@
This program 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; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, see <https://www.gnu.org/licenses/>

View file

@ -1,3 +0,0 @@
#/usr/bin/make -f
include ../common.mk

File diff suppressed because it is too large Load diff

View file

@ -1,5 +0,0 @@
Homepage: https://exchange.nagios.org/directory/Plugins/Network-Connections%2C-Stats-and-Bandwidth/check_iftraffic64/details
Uploaders: Jan Wagner <waja@cyconet.org>
Description: plugin for checking network traffic by snmp.
Recommends: libsnmp-perl, libnet-dns-perl
Version: .77

View file

@ -1,7 +0,0 @@
Copyright (C) 2004 Gerd Mueller / Netways GmbH
License: GPL+
On Debian systems, the complete text of the GNU General
Public License can be found in "/usr/share/common-licenses/GPL".

View file

@ -1,3 +0,0 @@
#/usr/bin/make -f
include ../common.mk

View file

@ -1,352 +0,0 @@
#!/bin/bash
#----------check_iostat.sh-----------
#
# Version 0.0.2 - Jan/2009
# Changes: added device verification
#
# by Thiago Varela - thiago@iplenix.com
#
# Version 0.0.3 - Dec/2011
# Changes:
# - changed values from bytes to mbytes
# - fixed bug to get traffic data without comma but point
# - current values are displayed now, not average values (first run of iostat)
#
# by Philipp Niedziela - pn@pn-it.com
#
# Version 0.0.4 - April/2014
# Changes:
# - Allow Empty warn/crit levels
# - Can check I/O, WAIT Time, or Queue
#
# by Warren Turner
#
# Version 0.0.5 - Jun/2014
# Changes:
# - removed -y flag from call since iostat doesn't know about it any more (June 2014)
# - only needed executions of iostat are done now (save cpu time whenever you can)
# - fixed the obvious problems of missing input values (probably because of the now unimplemented "-y") with -x values
# - made perfomance data optional (I like to have choice in the matter)
#
# by Frederic Krueger / fkrueger-dev-checkiostat@holics.at
#
# Version 0.0.6 - Jul/2014
# Changes:
# - Cleaned up argument checking, removed excess iostat calls, steamlined if statements and renamed variables to fit current use
# - Fixed all inputs to match current iostat output (Ubuntu 12.04)
# - Changed to take last ten seconds as default (more useful for nagios usage). Will go to "since last reboot" (previous behaviour) on -g flag.
# - added extra comments/whitespace etc to make add readability
#
# by Ben Field / ben.field@concreteplatform.com
#
# Version 0.0.7 - Sep/2014
# Changes:
# - Fixed performance data for Wait check
#
# by Christian Westergard / christian.westergard@gmail.com
#
# Version 0.0.8 - Jan/2019
# Changes:
# - Added Warn/Crit thresholds to performance output
#
# by Danny van Zunderd / danny_vz@live.nl
#
# Version 0.0.9 - Jun/2020
# Changes:
# - Updated to use bash 4.4 mechanisms
#
# by Joseph Waggy / joseph.waggy@gmail.com
iostat=$(which iostat 2>/dev/null)
bc=$(which bc 2>/dev/null)
help()
{
echo -e "
Usage:
-d =
--Device to be checked. Example: \"-d sda\"
Run only one of i, q, W:
-i = IO Check Mode
--Checks Total Transfers/sec, Read IO/Sec, Write IO/Sec, Bytes Read/Sec, Bytes Written/Sec
--warning/critical = Total Transfers/sec,Read IO/Sec,Write IO/Sec,Bytes Read/Sec,Bytes Written/Sec
-q = Queue Mode
--Checks Disk Queue Lengths
--warning/critial = Average size of requests, Queue length of requests
-W = Wait Time Mode
--Check the time for I/O requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.
--warning/critical = Avg I/O Wait Time (ms), Avg Read Wait Time (ms), Avg Write Wait Time (ms), Avg Service Wait Time (ms), Avg CPU Utilization
-w,-c = pass warning and critical levels respectively. These are not required, but with out them, all queries will return as OK.
-p = Provide performance data for later graphing
-g = Since last reboot for system (more for debugging that nagios use!)
-h = This help
"
}
# Ensuring we have the needed tools:
if [[ ! -f $iostat ]] || [[ ! -f $bc ]]; then
echo -e "ERROR: You must have iostat and bc installed in order to run this plugin\n\tuse: apt-get install systat bc\n"
exit -1
fi
io=0
queue=0
waittime=0
printperfdata=0
STATE="OK"
samples=2i
status=0
MSG=""
PERFDATA=""
#------------Argument Set-------------
while getopts "d:w:c:ipqWhg" OPT; do
case $OPT in
"d")
disk=$OPTARG
;;
"w")
warning=$OPTARG
;;
"c")
critical=$OPTARG
;;
"i")
io=1
;;
"p")
printperfdata=1
;;
"q")
queue=1
;;
"W")
waittime=1
;;
"g")
samples=1
;;
"h")
echo "help:"
help
exit 0
;;
\?)
echo "Invalid option: -$OPTARG" >&2
help
exit -1
;;
esac
done
# Autofill if parameters are empty
if [[ -z "$disk" ]]; then
disk=sda
fi
#Checks that only one query type is run
if [[ $((io+queue+waittime)) -ne "1" ]]; then
echo "ERROR: select one and only one run mode"
help
exit -1
fi
#set warning and critical to insane value is empty, else set the individual values
if [[ -z "$warning" ]]; then
warning=99999
else
#TPS with IO, Request size with queue
warn_1=$(echo $warning | cut -d, -f1)
#Read/s with IO,Queue Length with queue
warn_2=$(echo $warning | cut -d, -f2)
#Write/s with IO
warn_3=$(echo $warning | cut -d, -f3)
#KB/s read with IO
warn_4=$(echo $warning | cut -d, -f4)
#KB/s written with IO
warn_5=$(echo $warning | cut -d, -f5)
#Crude hack due to integer expression later in the script
warning=1
fi
if [[ -z "$critical" ]]; then
critical=99999
else
#TPS with IO, Request size with queue
crit_1=$(echo $critical | cut -d, -f1)
#Read/s with IO,Queue Length with queue
crit_2=$(echo $critical | cut -d, -f2)
#Write/s with IO
crit_3=$(echo $critical | cut -d, -f3)
#KB/s read with IO
crit_4=$(echo $critical | cut -d, -f4)
#KB/s written with IO
crit_5=$(echo $critical | cut -d, -f5)
#Crude hack due to integer expression later in the script
critical=1
fi
#------------Argument Set End-------------
#------------Parameter Check-------------
#Checks for sane Disk name:
if [[ ! -b "/dev/$disk" ]]; then
echo "ERROR: Device incorrectly specified"
help
exit -1
fi
#Checks for sane warning/critical levels
if [[ $warning -ne "99999" || $critical -ne "99999" ]]; then
if [[ "$warn_1" -gt "$crit_1" || "$warn_2" -gt "$crit_2" ]]; then
echo "ERROR: critical levels must be higher than warning levels"
help
exit -1
elif [[ $io -eq "1" || $waittime -eq "1" ]]; then
if [[ "$warn_3" -gt "$crit_3" || "$warn_4" -gt "$crit_4" || "$warn_5" -gt "$crit_5" ]]; then
echo "ERROR: critical levels must be higher than warning levels"
help
exit -1
fi
fi
fi
#------------Parameter Check End-------------
# iostat parameters:
# -m: megabytes
# -k: kilobytes
# first run of iostat shows statistics since last reboot, second one shows current vaules of hdd
# -d is the duration for second run, -x the rest
TMPX=$($iostat $disk -x -k -d 10 $samples | grep $disk | tail -1)
#------------IO Test-------------
if [[ "$io" == "1" ]]; then
TMPD=$($iostat $disk -k -d 10 $samples | grep $disk | tail -1)
#Requests per second:
tps=$(echo "$TMPD" | awk '{print $2}')
read_sec=$(echo "$TMPX" | awk '{print $4}')
written_sec=$(echo "$TMPX" | awk '{print $5}')
#Kb per second:
kbytes_read_sec=$(echo "$TMPX" | awk '{print $6}')
kbytes_written_sec=$(echo "$TMPX" | awk '{print $7}')
# "Converting" values to float (string replace , with .)
tps=${tps/,/.}
read_sec=${read_sec/,/.}
written_sec=${written_sec/,/.}
kbytes_read_sec=${kbytes_read_sec/,/.}
kbytes_written_sec=${kbytes_written_sec/,/.}
# Comparing the result and setting the correct level:
if [[ "$warning" -ne "99999" ]]; then
if [[ "$(echo "$tps >= $warn_1" | bc)" == "1" || "$(echo "$read_sec >= $warn_2" | bc)" == "1" || "$(echo "$written_sec >= $warn_3" | bc)" == "1" || "$(echo "$kbytes_read_sec >= $warn_4" | bc -q)" == "1" || "$(echo "$kbytes_written_sec >= $warn_5" | bc)" == "1" ]]; then
STATE="WARNING"
status=1
fi
fi
if [[ "$critical" -ne "99999" ]]; then
if [[ "$(echo "$tps >= $crit_1" | bc)" == "1" || "$(echo "$read_sec >= $crit_2" | bc -q)" == "1" || "$(echo "$written_sec >= $crit_3" | bc)" == "1" || "$(echo "$kbytes_read_sec >= $crit_4" | bc -q)" == "1" || "$(echo "$kbytes_written_sec >= $crit_5" | bc)" == "1" ]]; then
STATE="CRITICAL"
status=2
fi
fi
# Printing the results:
MSG="$STATE - I/O stats: Transfers/Sec=$tps Read Requests/Sec=$read_sec Write Requests/Sec=$written_sec KBytes Read/Sec=$kbytes_read_sec KBytes_Written/Sec=$kbytes_written_sec"
PERFDATA=" | total_io_sec'=$tps;$warn_1;$crit_1; read_io_sec=$read_sec;$warn_2;$crit_2; write_io_sec=$written_sec;$warn_3;$crit_3; kbytes_read_sec=$kbytes_read_sec;$warn_4;$crit_4; kbytes_written_sec=$kbytes_written_sec;$warn_5;$crit_5;"
fi
#------------IO Test End-------------
#------------Queue Test-------------
if [[ "$queue" == "1" ]]; then
qsize=$(echo "$TMPX" | awk '{print $8}')
qlength=$(echo "$TMPX" | awk '{print $9}')
# "Converting" values to float (string replace , with .)
qsize=${qsize/,/.}
qlength=${qlength/,/.}
# Comparing the result and setting the correct level:
if [[ "$warning" -ne "99999" ]]; then
if [[ "$(echo "$qsize >= $warn_1" | bc)" == "1" || "$(echo "$qlength >= $warn_2" | bc)" == "1" ]]; then
STATE="WARNING"
status=1
fi
fi
if [[ "$critical" -ne "99999" ]]; then
if [[ "$(echo "$qsize >= $crit_1" | bc)" == "1" || "$(echo "$qlength >= $crit_2" | bc)" == "1" ]]; then
STATE="CRITICAL"
status=2
fi
fi
# Printing the results:
MSG="$STATE - Disk Queue Stats: Average Request Size=$qsize Average Queue Length=$qlength"
PERFDATA=" | qsize=$qsize;$warn_1;$crit_1; queue_length=$qlength;$warn_2;$crit_2;"
fi
#------------Queue Test End-------------
#------------Wait Time Test-------------
#Parse values. Warning - svc time will soon be deprecated and these will need to be changed. Future parser could look at first line (labels) to suggest correct column to return
if [[ "$waittime" == "1" ]]; then
avgwait=$(echo "$TMPX" | awk '{print $10}')
avgrwait=$(echo "$TMPX" | awk '{print $11}')
avgwwait=$(echo "$TMPX" | awk '{print $12}')
avgsvctime=$(echo "$TMPX" | awk '{print $13}')
avgcpuutil=$(echo "$TMPX" | awk '{print $14}')
# "Converting" values to float (string replace , with .)
avgwait=${avgwait/,/.}
avgrwait=${avgrwait/,/.}
avgwwait=${avgwwait/,/.}
avgsvctime=${avgsvctime/,/.}
avgcpuutil=${avgcpuutil/,/.}
# Comparing the result and setting the correct level:
if [[ "$warning" -ne "99999" ]]; then
if [[ "$(echo "$avgwait >= $warn_1" | bc)" == "1" || "$(echo "$avgrwait >= $warn_2" | bc -q)" == "1" || "$(echo "$avgwwait >= $warn_3" | bc)" == "1" || "$(echo "$avgsvctime >= $warn_4" | bc -q)" == "1" || "$(echo "$avgcpuutil >= $warn_5" | bc)" == "1" ]]; then
STATE="WARNING"
status=1
fi
fi
if [[ "$critical" -ne "99999" ]]; then
if [[ "$(echo "$avgwait >= $crit_1" | bc)" == "1" || "$(echo "$avgrwait >= $crit_2" | bc -q)" == "1" || "$(echo "$avgwwait >= $crit_3" | bc)" == "1" || "$(echo "$avgsvctime >= $crit_4" | bc -q)" == "1" || "$(echo "$avgcpuutil >= $crit_5" | bc)" == "1" ]]; then
STATE="CRITICAL"
status=2
fi
fi
# Printing the results:
MSG="$STATE - Wait Time Stats: Avg I/O Wait Time (ms)=$avgwait Avg Read Wait Time (ms)=$avgrwait Avg Write Wait Time (ms)=$avgwwait Avg Service Wait Time (ms)=$avgsvctime Avg CPU Utilization=$avgcpuutil"
PERFDATA=" | avg_io_waittime_ms=$avgwait;$warn_1;$crit_1; avg_r_waittime_ms=$avgrwait;$warn_2;$crit_2; avg_w_waittime_ms=$avgwwait;$warn_3;$crit_3; avg_service_waittime_ms=$avgsvctime;$warn_4;$crit_4; avg_cpu_utilization=$avgcpuutil;$warn_5;$crit_5;"
fi
#------------Wait Time End-------------
# now output the official result
echo -n "$MSG"
if [[ "x$printperfdata" == "x1" ]]; then
echo -n "$PERFDATA"
fi
echo ""
exit $status
#----------/check_iostat.sh-----------

View file

@ -1,5 +0,0 @@
Homepage: https://exchange.nagios.org/directory/Plugins/Operating-Systems/Linux/check_iostat--2D-I-2FO-statistics/details
Uploaders: Jan Wagner <waja@cyconet.org>
Description: plugin shows the I/O usage of the specified disk.
Recommends: sysstat, bc
Version: 0.0.9

View file

@ -1 +0,0 @@

View file

@ -1,3 +0,0 @@
#/usr/bin/make -f
include ../common.mk

View file

@ -1,150 +0,0 @@
#!/usr/bin/perl
#
# Version 0.0.2 - Jan/2009
# Changes: added device verification
#
# by Thiago Varela - thiago@iplenix.com
# Version 0.1 - Nov/2011
# by Ruediger Oertel ro@suse.de
# Changes:
# - rewrite in perl, no need for external grep, awk, bc
# - add output for iowait
# - implement using device mapper names, e.g. $vg-$lv
use strict;
use Getopt::Std;
$Getopt::Std::STANDARD_HELP_VERSION = "true";
my $iostat = `which iostat 2>/dev/null`;
chomp($iostat);
my $progname = $0;
# call it VERSION_MESSAGE so that getopts uses it automatically
sub VERSION_MESSAGE {
print "$progname: version 0.1, Nov/2011\n";
}
# call it HELP_MESSAGE so that getopts uses it automatically
sub HELP_MESSAGE {
print "\n\tThis plugin shows the I/O usage of the specified disk, using the iostat external program.\n";
print "\tIt prints three statistics: Transactions per second (tps), Kilobytes per second\n";
print "tread from the disk (KB_read/s) and and written to the disk (KB_written/s)\n\n";
print "$progname:\n\t-d <disk>\t\tDevice to be checked (without the full path, eg. sda)\n";
print "\t\t\t\t(also accepted are device mapper names)\n";
print "\t-c <tps>,<read>,<wrtn>\tSets the CRITICAL level for tps, KB_read/s and KB_written/s, respectively\n";
print "\t-w <tps>,<read>,<wrtn>\tSets the WARNING level for tps, KB_read/s and KB_written/s, respectively\n";
print "\t-C <percent>\t Sets the CRITICAL level for iowait\n";
print "\t-W <percent>\t Sets the WARNING level for iowait\n";
print "\t\t\t(if no level is set for iowait, no warning is set for this value)\n";
exit 1;
}
unless ($iostat && -f $iostat) {
warn "ERROR: You must have iostat installed in order to run this plugin\n";
exit 1;
}
# Getting parameters:
my %opts;
getopts('d:w:c:W:C:hv', \%opts);
my $disk = $opts{'d'};
my $warning = $opts{'w'};
my $critical = $opts{'c'};
my $warning_iowait = $opts{'W'};
my $critical_iowait = $opts{'C'};
VERSION_MESSAGE() if $opts{'v'};
HELP_MESSAGE() if $opts{'h'};
# Adjusting the three warn and crit levels:
my ($crit_tps,$crit_read,$crit_written) = split(',',$critical);
my ($warn_tps,$warn_read,$warn_written) = split(',',$warning);
# Checking parameters:
if (! -b "/dev/$disk") {
if (-b "/dev/mapper/$disk") {
my @f = stat("/dev/mapper/$disk");
$f[6] %= 256;
$disk = "dm-$f[6]";
} else {
warn "ERROR: Device incorrectly specified\n";
HELP_MESSAGE();
}
}
unless ($warn_tps && $warn_read && $warn_written && $crit_tps && $crit_read && $crit_written) {
warn "ERROR: You must specify all warning and critical levels\n";
HELP_MESSAGE();
}
if ($warn_tps > $crit_tps || $warn_read > $crit_read || $warn_written > $crit_written) {
warn "ERROR: critical levels must be highter than warning levels\n";
HELP_MESSAGE();
}
if ($warning_iowait && $critical_iowait && $warning_iowait > $critical_iowait) {
warn "ERROR: critical iowait level must be higher that warning level\n";
HELP_MESSAGE();
}
my ($tps,$kbread,$kbwritten,$iowait);
my $seen_usage = 0;
my $seen_disk = 0;
# Doing the actual check:
open (IOSTAT,"-|","$iostat -k $disk 2 2");
while (<IOSTAT>) {
chomp();
if (/^[0-9\.\ \t]+$/) {
$seen_usage++;
next if $seen_usage < 2;
my (@stats) = split ('\s+', $_);
$iowait = $stats[4];
next;
}
if (/^$disk /) {
$seen_disk++;
next if $seen_disk < 2;
my (@stats) = split ('\s+', $_);
($tps,$kbread,$kbwritten) = @stats[1,2,3];
last;
}
}
close (IOSTAT);
my $msg = "OK";
my $status = 0;
# Comparing the result and setting the correct level:
if ($tps >= $warn_tps || $kbread >= $warn_read || $kbwritten >= $warn_written) {
$msg = "WARNING";
$status = 1;
}
if ($warning_iowait && $iowait >= $warning_iowait) {
$msg = "WARNING";
$status = 1;
}
if ($tps >= $crit_tps || $kbread >= $crit_read || $kbwritten >= $crit_written) {
$msg = "CRITICAL";
$status = 2;
}
if ($critical_iowait && $iowait >= $critical_iowait) {
$msg = "CRITICAL";
$status = 2;
}
# Printing the results:
print "$msg - I/O stats tps=$tps KB_read/s=$kbread KB_written/s=$kbwritten iowait=$iowait | 'tps'=$tps; 'KB_read/s'=$kbread; 'KB_written/s'=$kbwritten; 'iowait'=$iowait\n";
# Bye!
exit $status;

View file

@ -1,6 +0,0 @@
Homepage: https://github.com/dnsmichi/icinga-plugins/blob/master/scripts/check_iostats
Watch: https://gitlab.icare.ch/open-source/monitoring-plugins/-/raw/master/check_iostats # Version ([0-9.]+)
Uploaders: Jan Wagner <waja@cyconet.org>
Description: plugin shows the I/O usage of the specified disk, perl implementation.
Recommends: sysstat
Version: 0.1

View file

@ -1 +0,0 @@

View file

@ -1,3 +0,0 @@
#/usr/bin/make -f
include ../common.mk

View file

@ -1,254 +0,0 @@
#!/bin/bash
# Monitoring plugin to check the keepalived status
usage(){
echo "Check: Is the keepalived service operate as it should.
--status | -s <state> ) Target state of the system (MASTER, BACKUP)
--interface | -i <interface> ) Interface for vrrp instance
--ha-ip | -ip <ip> ) Vrrp-ip
--interface2 | -i2 <interface> ) Interface for 2nd vrrp instance
--ha-ip2 | -ip2 <ip> ) 2nd vrrp-ip
--help | -h ) Usage
"
}
# Exit Codes
OK=0
WARNING=1
CRITICAL=2
UNKNOWN=3
# Command definitions
if [ -x "$(which cat)" ];
then
CAT="$(which cat)"
fi
if [ -x "$(which grep)" ];
then
GREP="$(which grep)"
fi
if [ -x "$(which ip)" ];
then
IP="$(which ip)"
fi
if [ -x "$(which pgrep)" ];
then
PG="$(which pgrep)"
fi
if [ -x "$(which wc)" ];
then
WC="$(which wc)"
fi
if [ "$1" = "" ]
then
echo "CRITICAL: No arguments given. Take a look at the usage:"
usage
exit "${CRITICAL}"
fi
# shifting through our command line arguments and setting our values
while [ "$1" != "" ]; do
case $1 in
--status | -s ) shift
TARGET_STATE="$1"
;;
--interface | -i ) shift
IFACE="$1"
;;
--ha-ip | -ip ) shift
HAIP="$1"
;;
--interface2 | -i2 ) shift
IFACE2="$1"
SEC_IP=true
;;
--ha-ip2 | -ip2 ) shift
HAIP2="$1"
;;
--help | -h ) usage
exit
;;
* ) usage
echo "CRITICAL: No valid arguments given. Take a look at the usage."
exit "${CRITICAL}"
esac
shift
done
# Config and commands
STAT_FILE='/tmp/keepalived.status'
PID_FILE='/run/keepalived.pid'
PID=$("${CAT}" "${PID_FILE}" 2>/dev/null)
SERVICE=$("${PG}" keepalived)
STATUS=(MASTER BACKUP FAULT)
CHECK_HAIP=$("${IP}" 2>/dev/null addr sh "${IFACE}" | "${GREP}" "${HAIP}" | "${WC}" -l)
CHECK_HAIP2=$("${IP}" 2>/dev/null addr sh "${IFACE2}" | "${GREP}" "${HAIP2}" | "${WC}" -l)
# Check files are valid
if [ ! -e "${STAT_FILE}" ]
then
echo "CRITICAL: Generated status file is missing. State could not be determined."
exit "${CRITICAL}"
fi
FILE_CONT=$("${CAT}" "${STAT_FILE}" 2>/dev/null)
if [ ! -e "${PID_FILE}" ]
then
echo "CRITICAL: PID file is missing, keepalived is not running."
exit "${CRITICAL}"
fi
# Check variables exists
if [ -z "${TARGET_STATE}" ]
then
echo "CRITICAL: Parameter 'status' not given. Check usage:"
usage
exit "${CRITICAL}"
fi
if [ -z "${IFACE}" ]
then
echo "CRITICAL: Parameter 'interface' not given. Check usage:"
usage
exit "${CRITICAL}"
fi
if [ -z "${HAIP}" ]
then
echo "CRITICAL: Parameter 'ha-ip' not given. Check usage:"
usage
exit "${CRITICAL}"
fi
# Check service is running
if [[ ! "${SERVICE}" =~ ${PID} ]]
then
echo "CRITICAL: keepalived is not running."
exit "${CRITICAL}"
fi
# Confirm valid STATUS
if [[ ! "${STATUS[*]}" =~ ${FILE_CONT} ]]
then
echo "CRITICAL: Status file contains unknown status or is empty. Take a look at ${STAT_FILE}."
exit "${CRITICAL}"
fi
# Check ha ip and status
if [ "${TARGET_STATE}" = "${STATUS[0]}" ] # Machine is defined as MASTER
then
case "${FILE_CONT}" in
MASTER ) STAT=ok
;;
BACKUP ) STAT=fail
;;
FAULT ) echo "CRITICAL: Machine status is FAULT."
exit "${CRITICAL}"
;;
* ) echo "CRITICAL: Status file contains unknown status or is empty. Take a look at ${STAT_FILE}."
exit "${CRITICAL}"
esac
if [ "${SEC_IP}" == "true" ] # 2nd ha instance
then
if [ "${CHECK_HAIP2}" == 0 ] && [ "${STAT}" == ok ]
then
echo "CRITICAL: 2nd HA IP ${HAIP2} is not up but machine is MASTER according to ${STAT_FILE}."
STAT_SEC_IP=CRIT
elif [ "${CHECK_HAIP2}" == 0 ] && [ "${STAT}" == fail ]
then
echo "CRITICAL: 2nd HA IP ${HAIP2} is not up, machine is BACKUP. Should be MASTER."
elif [ "${CHECK_HAIP2}" == 1 ] && [ "${STAT}" == fail ]
then
echo "CRITICAL: 2nd HA IP ${HAIP2} is up, but machine is BACKUP according to ${STAT_FILE}. Should be MASTER."
else
echo "OK: 2nd HA IP ${HAIP2} is up and machine is MASTER."
fi
fi
if [ "${CHECK_HAIP}" == 0 ] && [ "${STAT}" == ok ] # Target-actual comparison machine state; IP should be up
then
echo "CRITICAL: HA IP ${HAIP} is not up but machine is MASTER according to ${STAT_FILE}."
exit "${CRITICAL}"
elif [ "${CHECK_HAIP}" == 0 ] && [ "${STAT}" == fail ]
then
echo "CRITICAL: HA IP ${HAIP} is not up, machine is BACKUP. Should be MASTER."
exit "${CRITICAL}"
elif [ "${CHECK_HAIP}" == 1 ] && [ "${STAT}" == fail ]
then
echo "CRITICAL: HA IP ${HAIP} is up, but machine is BACKUP according to ${STAT_FILE}. Should be MASTER."
exit "${CRITICAL}"
else
echo "OK: HA IP ${HAIP} is up and machine is MASTER."
if [ "${STAT_SEC_IP}" == CRIT ]
then
exit "${CRITICAL}"
else
exit "${OK}"
fi
fi
elif [ "${TARGET_STATE}" = "${STATUS[1]}" ] # Machine is defined as BACKUP
then
case "${FILE_CONT}" in
MASTER ) STAT=fail
;;
BACKUP ) STAT=ok
;;
FAULT ) echo "CRITICAL: Machine status is FAULT."
exit "${CRITICAL}"
;;
* ) echo "CRITICAL: Status file contains unknown status or is empty."
exit "${CRITICAL}"
esac
if [ "${SEC_IP}" == "true" ] # 2nd ha instance
then
if [ "${CHECK_HAIP2}" == 1 ] && [ "${STAT}" == ok ]
then
echo "CRITICAL: 2nd HA IP ${HAIP2} is up but machine is BACKUP according to ${STAT_FILE}."
STAT_SEC_IP=CRIT
elif [ "${CHECK_HAIP2}" == 1 ] && [ "${STAT}" == fail ]
then
echo "WARNING: 2nd HA IP ${HAIP2} is up, machine is MASTER. Should be BACKUP."
elif [ "${CHECK_HAIP2}" == 0 ] && [ "${STAT}" == fail ]
then
echo "CRITICAL: 2nd HA IP ${HAIP2} is not up but machine is MASTER according to ${STAT_FILE}. Should be BACKUP."
else
echo "OK: 2nd HA IP ${HAIP2} is not up and machine is BACKUP."
fi
fi
if [ "${CHECK_HAIP}" == 1 ] && [ "${STAT}" == ok ] # Target-actual comparison machine state; IP should be down
then
echo "CRITICAL: HA IP ${HAIP} is up but machine is BACKUP according to ${STAT_FILE}."
exit "${CRITICAL}"
elif [ "${CHECK_HAIP}" == 1 ] && [ "${STAT}" == fail ]
then
echo "WARNING: HA IP ${HAIP} is up, machine is MASTER. Should be BACKUP."
exit "${WARNING}"
elif [ "${CHECK_HAIP}" == 0 ] && [ "${STAT}" == fail ]
then
echo "CRITICAL: HA IP ${HAIP} is not up but machine is MASTER according to ${STAT_FILE}. Should be BACKUP."
exit "${CRITICAL}"
else
echo "OK: HA IP ${HAIP} is not up and machine is BACKUP."
if [ "${STAT_SEC_IP}" == CRIT ]
then
exit "${CRITICAL}"
else
exit "${OK}"
fi
fi
else
echo "Unknown: Unknown status given. Check ${STAT_FILE} and script usage."
exit "${UNKNOWN}"
fi

View file

@ -1,4 +0,0 @@
Uploaders: Jan Wagner <waja@cyconet.org>
Description: plugin checking keepalived status
Recommends: procps
Version: 0.0.1

View file

@ -1,7 +0,0 @@
Copyright (C) 2021 Stella Sieber / TMT GmbH & Co. KG
License: GPL+
On Debian systems, the complete text of the GNU General
Public License can be found in "/usr/share/common-licenses/GPL".

View file

@ -1,3 +0,0 @@
#/usr/bin/make -f
include ../common.mk

View file

@ -1,402 +0,0 @@
#!/usr/bin/perl
use strict;
my $VERSION = '0.1.1';
my $COPYRIGHT = 'Copyright (C) 2008 Jonathan Buhacoff <jonathan@buhacoff.net>';
my $LICENSE = 'http://www.gnu.org/licenses/gpl.txt';
my %status = ( 'OK' => 0, 'WARNING' => 1, 'CRITICAL' => 2, 'UNKNOWN' => 3 );
my $SERVICE = "MYSQL SLAVE";
# look for required modules
exit $status{UNKNOWN} unless load_modules(qw/Getopt::Long DBI DBD::mysql/);
Getopt::Long::Configure("bundling");
my $verbose = 0;
my $help = "";
my $help_usage = "";
my $show_version = "";
my $mysql_server = "";
my $default_mysql_port = "3306";
my $mysql_port = "";
my $warntime = 15;
my $criticaltime = 30;
my $timeout = 60;
my $username = "";
my $password = "";
my $ok;
$ok = Getopt::Long::GetOptions(
"V|version"=>\$show_version,
"v|verbose+"=>\$verbose,"h|help"=>\$help,"usage"=>\$help_usage,
"w|warning=i"=>\$warntime,"c|critical=i"=>\$criticaltime,"t|timeout=i"=>\$timeout,
# mysql settings
"H|hostname=s"=>\$mysql_server,"p|port=i"=>\$mysql_port,
"U|username=s"=>\$username,"P|password=s"=>\$password,
);
if( $show_version ) {
print "$VERSION\n";
if( $verbose ) {
print "Default warning threshold: $warntime seconds\n";
print "Default critical threshold: $criticaltime seconds\n";
print "Default timeout: $timeout seconds\n";
}
exit $status{UNKNOWN};
}
if( $help ) {
exec "perldoc", $0 or print "Try `perldoc $0`\n";
exit $status{UNKNOWN};
}
$help_usage = 1 unless $mysql_server and $username;
if( $help_usage ) {
print "Usage: $0 -H host [-p port] [-U username] [-P password] [-w <seconds>] [-c <seconds>]\n";
exit $status{UNKNOWN};
}
# initialize
my $report = new PluginReport;
my $time_start = time;
my $actual_response = undef;
# connect to MySQL server
$mysql_port = $default_mysql_port unless $mysql_port;
eval {
local $SIG{ALRM} = sub { die "exceeded timeout $timeout seconds\n" }; # NB: \n required, see `perldoc -f alarm`
alarm $timeout;
my $dbh = DBI->connect("DBI:mysql:host=$mysql_server;port=$mysql_port",$username,$password);
# get mysql version
my $version = undef;
my $sth_version = $dbh->prepare("SHOW VARIABLES LIKE 'version'");
$sth_version->execute;
while( my ($name,$value) = $sth_version->fetchrow_array) {
$version = $value if $name eq "version";
}
$report->{version} = $version || "";
$sth_version->finish;
# get slave status (should only be 1 result row)
my $sth_status = $dbh->prepare("SHOW SLAVE STATUS");
$sth_status->execute;
while( my $status = $sth_status->fetchrow_hashref) {
if( $verbose > 1 ) {
foreach( keys %$status ) {
print "$_ = $status->{$_} \n";
}
}
# mysql 3.23 has "Slave_Running" while 4.1 and above have "Slave_IO_Running" and "Slave_SQL_Running"
$report->{Running} = "No";
if( $version lt "4" ) {
$report->{Running} = "Yes" if $status->{Slave_Running};
$report->{file} = $status->{Log_File};
$report->{position} = $status->{Pos};
}
else {
$report->{Running} = "Yes" if $status->{Slave_IO_Running} eq "Yes" and $status->{Slave_SQL_Running} eq "Yes";
$report->{file} = $status->{Master_Log_File};
$report->{position} = $status->{Exec_Master_Log_Pos} . '/' . $status->{Read_Master_Log_Pos};
}
$report->{behind} = $status->{Seconds_Behind_Master};
# put the master host and its bin log file and position in the report
foreach( keys %$status ) {
$report->{$_} = $status->{$_};
}
}
$sth_status->finish;
# threshold for seconds behind master etc.
# $report->{behind} = ...
$report->{behind} ||= 0;
# $report->{saomethaisdf} ...
$dbh->disconnect;
};
if( $@ ) {
$@ = $DBI::errstr if $DBI::errstr; # these can be more helpful than "Can't call method prepare on an undefined value"
$@ =~ s/\n/ /g; # the error message can be multiline but we want our output to be just one line
print "$SERVICE CRITICAL - $@\n";
exit $status{CRITICAL};
}
my @warning = ();
my @critical = ();
# overall warnings/critical cerrors
push @critical, "not running $report->{Last_Error}" if $report->{Running} ne "Yes";
push @critical, "$report->{behind} secs behind master" if $report->{behind} > 30;
push @warning, "$report->{behind} secs behind master" if $report->{behind} > 0;
#push @warning, "connection time more than $warntime" if( $time_connected - $time_start > $warntime );
#push @critical, "connection time more than $criticaltime" if( $time_connected - $time_start > $criticaltime );
#push @critical, "response was $actual_response but expected $expect_response" if ( $actual_response ne $expect_response );
# on the number line, we need to test 6 cases:
# 0-----w-----c----->
# 0, 0<lag<w, w, w<lag<c, c, c<lag
# which we simplify to
# lag>=c, w<=lag<c, 0<=lag<warn
# print report and exit with known status
my $short_report = $report->text(qw/file position/);
my $long_report = join("", map { "$_: $report->{$_}\n" } qw/version Master_Host Log_File Pos/ );
if( scalar @critical ) {
my $crit_alerts = join(", ", @critical);
print "$SERVICE CRITICAL - $crit_alerts; $short_report\n";
print $long_report if $verbose;
exit $status{CRITICAL};
}
if( scalar @warning ) {
my $warn_alerts = join(", ", @warning);
print "$SERVICE WARNING - $warn_alerts; $short_report\n";
print $long_report if $verbose;
exit $status{WARNING};
}
print "$SERVICE OK - $short_report\n";
print $long_report if $verbose;
exit $status{OK};
# utility to load required modules. exits if unable to load one or more of the modules.
sub load_modules {
my @missing_modules = ();
foreach( @_ ) {
eval "require $_";
push @missing_modules, $_ if $@;
}
if( @missing_modules ) {
print "Missing perl modules: @missing_modules\n";
return 0;
}
return 1;
}
# NAME
# PluginReport
# SYNOPSIS
# $report = new PluginReport;
# $report->{label1} = "value1";
# $report->{label2} = "value2";
# print $report->text(qw/label1 label2/);
package PluginReport;
sub new {
my ($proto,%p) = @_;
my $class = ref($proto) || $proto;
my $self = bless {}, $class;
$self->{$_} = $p{$_} foreach keys %p;
return $self;
}
sub text {
my ($self,@labels) = @_;
my @report = map { "$_ $self->{$_}" } grep { defined $self->{$_} } @labels;
my $text = join(", ", @report);
return $text;
}
package main;
1;
__END__
=pod
=head1 NAME
check_mysql_slave - connects to a mysql replication slave and checks its status
=head1 SYNOPSIS
check_mysql_slave -H slave.server.net -U nagios -P passwd
check_mysql_slave -H slave.server.net -U nagios -P passwd -p 3306
check_mysql_slave --help
=head1 OPTIONS
=over
=item --warning <seconds>
Currently not used. There are other nagios plugins that will check if a server is responding to connections.
May be used in the future to specify how many bytes or seconds behind the master a slave may be.
Also known as: -w <seconds>
=item --critical <seconds>
Currently not used. There are other nagios plugins that will check if a server is responding to connections.
May be used in the future to specify how many bytes or seconds behind the master a slave may be.
Also known as: -c <seconds>
=item --timeout <seconds>
Abort with critical status if it takes longer than <seconds> to connect to the mysql server. Default is 60 seconds.
Also known as: -t <seconds>
=item --hostname <server>
Address or name of the MySQL slave server. Examples: mysql5.server.net, localhost, 192.168.1.100
Also known as: -H <server>
=item --port <number>
Service port on the MySQL server. Default is 3306.
Also known as: -p <number>
=item --username <username>
=item --password <password>
Username and password to use when connecting to the MySQL server.
Also known as: -U <username> -P <password>
=item --verbose
Display additional information. Useful for troubleshooting. Use together with --version to see the default
warning and critical timeout values.
Also known as: -v
=item --version
Display plugin version and exit.
Also known as: -V
=item --help
Display this documentation and exit. Does not work in the ePN version.
Also known as: -h
=item --usage
Display a short usage instruction and exit.
=back
=head1 EXAMPLES
=head2 Command line example
Check a slave listening on the standard MySQL port from the command line:
$ check_mysql_slave -H slave.server.net -U nagios -P 'password'
MYSQL SLAVE OK - file bin.000003, position 41267/41267
=head2 Nagios configuration example
I prefer to define this service on each slave:
define command {
command_name check_mysql_slave
command_line $USER1$/check_mysql_slave -H $HOSTADDRESS$ -p 3306 -U $ARG1$ -P $ARG2$
}
define service {
use your-service-template
host_name slave.server.net
service_description MySQL Replication Slave
check_command check_mysql_slave!nagios!password
}
But of course you could make the port number an argument and even define all your
slave replication services on the master mysql host and use the slave server's
hostname as an argument instead of HOSTADDRESS, like this:
command_line $USER1$/check_mysql_slave -H $ARG1$ -p $ARG2$ -U $ARG3$ -P $ARG4$
check_command check_mysql_slave!slave.server.net!3306!nagios!password
=head2 Nagios Embedded-Perl (ePN) example
The usage is the same, but use the embedded-perl version of the plugin:
command_line $USER1$/check_mysql_slave_epn -H $ARG1$ -p $ARG2$ -U $ARG3$ -P $ARG4$
=head1 EXIT CODES
This plugin complies with the Nagios plug-in specification:
0 OK The plugin was able to check the service and it appeared to be functioning properly
1 Warning The plugin was able to check the service, but it appeared to be above some "warning" threshold or did not appear to be working properly
2 Critical The plugin detected that either the service was not running or it was above some "critical" threshold
3 Unknown Invalid command line arguments were supplied to the plugin or the plugin was unable to check the status of the given hosts/service
=head1 NAGIOS PLUGIN NOTES
Nagios plugin reference: http://nagiosplug.sourceforge.net/developer-guidelines.html
This plugin does NOT use Nagios DEFAULT_SOCKET_TIMEOUT (provided by utils.pm as $TIMEOUT) because
the path to utils.pm must be specified completely in this program and forces users to edit the source
code if their install location is different (if they realize this is the problem). You can view
the default timeout for this module by using the --verbose and --version options together. The
short form is -vV.
Other than that, it attempts to follow published guidelines for Nagios plugins.
=head1 SECURITY AND MYSQL PRIVILEGES
This section concerns mysql administrators who want to grant only minimal privileges to
the nagios plugin (since its username and password are stored in the nagios config!).
The plugin executes the following commands on slave servers:
SHOW VARIABLES LIKE 'version';
SHOW SLAVE STATUS;
I recommend using the following minimal grants for the nagios plugin:
=head2 MySQL version 3.23
GRANT PROCESS ON *.* TO 'nagios'@'nagios.server.net' identified by 'password';
=head2 MySQL version 4.1
GRANT SUPER,REPLICATION CLIENT ON *.* TO 'nagios'@'nagios.server.net' identified by 'password';
=head2 MySQL version 5.0
GRANT SUPER,REPLICATION CLIENT ON *.* TO 'nagios'@'nagios.server.net' identified by 'password';
=head1 PERL MODULE NOTES
This plugin requires the following perl modules:
Getopt::Long
DBI
DBD::mysql
The manual for DBD::mysql states that a database is required in the connection string.
This is not true if you are only using global privileges such as usage, process, super,
or replication client without trying to open a specific database.
=head1 CHANGES
Tue Aug 19 17:46:02 PDT 2008
+ version 0.1
Wed Aug 20 07:58:16 PDT 2008
+ added helpful DBI error messages (access denied, incompatible versions, etc)
+ version 0.1.1
=head1 AUTHOR
Jonathan Buhacoff <jonathan@buhacoff.net>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2008 Jonathan Buhacoff
This program 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; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
http://www.gnu.org/licenses/gpl.txt
=cut

View file

@ -1,5 +0,0 @@
# 'check_mysql_slave' command definition
define command{
command_name check_slave_mysql
command_line /usr/lib/monitoring-plugins/check_mysql_slave -H '$HOSTADDRESS$' -p '$ARG3$' -U '$ARG1$' -P '$ARG2$'
}

View file

@ -1,6 +0,0 @@
Homepage: https://gist.github.com/natedaiger/48457
Watch: https://gist.github.com/natedaiger/48457/raw/check_mysql_slave.pl \$VERSION\ =\ '([0-9.]+)'
Uploaders: Jan Wagner <waja@cyconet.org>
Description: plugin that connects to a mysql replication slave and checks its status
Recommends: libdbd-mysql-perl
Version: 0.1.1

View file

@ -1,7 +0,0 @@
Copyright (c) 2008 Jonathan Buhacoff <jonathan@buhacoff.net>
License: GPL v2
On Debian systems, the complete text of the GNU General
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".

View file

@ -1,14 +0,0 @@
PLUGIN := check_nextcloud
CLEANFILES := check_nextcloud
DOCFILES := README.md
include ../common.mk
check_nextcloud:
cp check/$@.py $@
chmod 755 $@
install::
install -d $(DESTDIR)$(PLUGINDIR)
ln -s $(PLUGINDIR)/$(PLUGIN) $(DESTDIR)$(PLUGINDIR)/$(PLUGIN).py

View file

@ -1,78 +0,0 @@
# check_nextcloud
Nagios/Centreon plugin for nextcloud serverinfo API (https://github.com/nextcloud/serverinfo)
## Syntax / Help
```
./check_nextcloud.py -u username -p password -H cloud.example.com -c [system|storage|shares|webserver|php|database|users]
Options:
-h, --help show this help message and exit
-v, --version Print the version of this script
-u USERNAME, --username=USERNAME
Username of the user with administrative permissions
on the nextcloud server
-p PASSWORD, --password=PASSWORD
Password of the user
-H HOSTNAME, --hostname=HOSTNAME
Nextcloud server address (make sure that the address
is a trusted domain in the config.php)
-c CHECK, --check=CHECK
The thing you want to check
[system|storage|shares|webserver|php|database|activeUsers|uploadFilesize]
--upload-filesize Filesize in MiB, GiB without spaces (default="512.0GiB")
--protocol=PROTOCOL Protocol you want to use [http|https]
(default="https")
--ignore-proxy Ignore any configured proxy server on this system for
this request
--api-url=API_URL Url of the api
(default="/ocs/v2.php/apps/serverinfo/api/v1/info")
```
## Install
* Copy the check (python script) in your nagios/centreon plugins folder
* Create a check with the following command line:
```
$USER1$/plugins_custom/check_nextcloud.py -u $_HOSTCLOUDUSER$ -p $_HOSTCLOUDPWD$ -H $HOSTNAME$ -c $ARG1$ --ignore-proxy
```
or for the check: `uploadFilesize`
```
$USER1$/plugins_custom/check_nextcloud.py -u $_HOSTCLOUDUSER$ -p $_HOSTCLOUDPWD$ -H $HOSTNAME$ -c $ARG1$ --upload-filesize=$ARG2$ --ignore-proxy
```
* Create a service for each thing you want to check (system, storage, etc.) and link it to your host(s)
* Add the credentials of your nextcloud admin user as custom macro (CLOUDUSER, COUDPWD) to your host.
## Example 1
```
./check_nextcloud.py -u adminUser -p secretPassword -H cloud.example.com -c system --ignore-proxy
OK - Nextcloud version: 12.0.3.3
```
## Example 2
```
./check_nextcloud.py -u adminUser -p secretPassword -H cloud.example.com -c activeUsers --ignore-proxy
OK - Last 5 minutes: 3 user(s), last 1 hour: 10 user(s), last 24 hour: 44 user(s) | users_last_5_minutes=3, users_last_1_hour=10, users_last_24_hours=44
```
This will return a status message and create a graph based on the performance data.
## Example 3
```
./check_nextcloud.py -u adminUser -p secretPassword -H cloud.example.com -c uploadFilesize --upload-filesize=2.0GiB --ignore-proxy
OK - Upload max filesize: 2.0GiB
# Or, when changed after an update...
CRITICAL - Upload max filesize is set to 512.0MiB, but should be 2.0GiB
```

View file

@ -1,297 +0,0 @@
#!/usr/bin/python
###############################################################################################################
# Language : Python 3
# Filename : check_nextcloud.py
# Autor : https://github.com/BornToBeRoot
# Description : Nagios/Centreon plugin for nextcloud serverinfo API (https://github.com/nextcloud/serverinfo)
# Repository : https://github.com/BornToBeRoot/check_nextcloud
###############################################################################################################
### Changelog ###
#
# ~~ Version 1.2 ~~
# - Parameter "--ignore-sslcert" added. (Note: If you use an ip address as hostname... you need to add the ip
# address as trusted domain in the config.php)
# - Parameter "--perfdata-format" added [centreon|nagios] (default="centreon")
# ~~ Version 1.3 ~~
# - Check for app updates added (Thanks @thinkl33t)
# ~~ Version 1.4 ~~
# - Parameter "--nc-token" added (Thanks @sblatt)
# ~~ Version 2.0 ~~
# - Migrated from Python 2.7 to 3 (Thanks @waja)
#
#################
import urllib.request, urllib.error, urllib.parse, base64, xml.etree.ElementTree, sys, traceback, ssl, re
# Some helper functions
def calc_size_suffix(num, suffix='B'):
for unit in ['','Ki','Mi','Gi','Ti','Pi','Ei','Zi']:
if abs(num) < 1024.0:
return "%3.1f%s%s" % (num, unit, suffix)
num /= 1024.0
return "%.1f%s%s" % (num, 'Yi', suffix)
def calc_size_nagios(num, suffix='B'):
for unit in ['','K','M','G','T','P','E','Z']:
if abs(num) < 1000.0:
return "%3.1f%s%s" % (num, unit, suffix)
num /= 1000.0
return "%.1f%s%s" % (num, 'Y', suffix)
# Command line parser
from optparse import OptionParser
parser = OptionParser(usage='%prog -u username -p password -H cloud.example.com -c [system|storage|shares|webserver|php|database|activeUsers|uploadFilesize|apps]')
parser.add_option('-v', '--version', dest='version', default=False, action='store_true', help='Print the version of this script')
parser.add_option('-u', '--username', dest='username', type='string', help='Username of the user with administrative permissions on the nextcloud server')
parser.add_option('-p', '--password', dest='password', type='string', help='Password of the user')
parser.add_option('-t', '--nc-token', dest='nc_token', type='string', help='Token to access the nextcloud serverinfo api. You can generate the token with "occ config:app:set serverinfo token --value yourtoken"; replaces username/password')
parser.add_option('-H', '--hostname', dest='hostname', type='string', help='Nextcloud server address (make sure that the address is a trusted domain in the config.php)')
parser.add_option('-c', '--check', dest='check', choices=['system','storage','shares','webserver','php','database','activeUsers','uploadFilesize','apps'], help='The thing you want to check [system|storage|shares|webserver|php|database|activeUsers|uploadFilesize|apps]')
parser.add_option('--perfdata-format', dest='perfdata_format', default='centreon', choices=['centreon','nagios'], help='Format for the performance data [centreon|nagios] (default="centreon")')
parser.add_option('--upload-filesize', dest='upload_filesize', default='512.0MiB', help='Filesize in MiB, GiB without spaces (default="512.0MiB")')
parser.add_option('--protocol', dest='protocol', choices=['https', 'http'], default='https', help='Protocol you want to use [http|https] (default="https")')
parser.add_option('--ignore-proxy', dest='ignore_proxy', default=False, action='store_true', help='Ignore any configured proxy server on this system for this request (default="false")')
parser.add_option('--ignore-sslcert', dest='ignore_sslcert', default=False, action='store_true', help='Ignore ssl certificate (default="false")')
parser.add_option('--api-url', dest='api_url', type='string', default='/ocs/v2.php/apps/serverinfo/api/v1/info', help='Url of the api (default="/ocs/v2.php/apps/serverinfo/api/v1/info")')
(options, args) = parser.parse_args()
# Print the version of this script
if options.version:
print('Version 2.0')
sys.exit(0)
# Validate the user input...
if not options.username and not options.password and not options.hostname and not options.check:
parser.print_help()
sys.exit(3)
if not options.username and not options.nc_token:
parser.error('Username or nc-token is required, use parameter [-u|--username] or [--nc-token].')
sys.exit(3)
if not options.password and not options.nc_token:
parser.error('Password or nc-token is required, use parameter [-p|--password] or [--nc-token].')
sys.exit(3)
if not options.hostname:
parser.error('Hostname is required, use parameter [-H|--hostname]')
sys.exit(3)
if not options.check:
parser.error('Check is required, use parameter [-c|--check]')
sys.exit(3)
# Re-validate the hostname given by the user (make sure they dont entered a "https://", "http://" or "/")
url_strip = re.compile(r"https?://")
hostname = url_strip.sub('', options.hostname).split('/')[0]
# Re-validate the api_url
if options.api_url.startswith('/'):
api_url = options.api_url
else:
api_url = '/{0}'.format(options.api_url)
# Create the url to access the api
url = '{0}://{1}{2}'.format(options.protocol, hostname, api_url)
# Encode credentials as base64
credential = base64.b64encode(bytes('%s:%s' % (options.username, options.password), 'ascii'))
try:
# Create the request
request = urllib.request.Request(url)
# Add the token header
if options.nc_token:
request.add_header('NC-Token',"%s" % options.nc_token)
else:
# Add the authentication and api request header
request.add_header("Authorization", "Basic %s" % credential.decode('utf-8'))
request.add_header('OCS-APIRequest','true')
# SSL/TLS certificate validation (see: https://stackoverflow.com/questions/19268548/python-ignore-certificate-validation-urllib2)
ctx = ssl.create_default_context()
if(options.ignore_sslcert):
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
# Proxy handler
if(options.ignore_proxy):
proxy_handler = urllib.request.ProxyHandler({})
ctx_handler = urllib.request.HTTPSHandler(context=ctx)
opener = urllib.request.build_opener(proxy_handler, ctx_handler)
response = opener.open(request)
else:
response = urllib.request.urlopen(request, context=ctx)
# Read the content
content = response.read()
except urllib.error.HTTPError as error: # User is not authorized (401)
print('UNKOWN - [WEBREQUEST] {0} {1}'.format(error.code, error.reason))
sys.exit(3)
except urllib.error.URLError as error: # Connection has timed out (wrong url / server down)
print('UNKOWN - [WEBREQUEST] {0}'.format(str(error.reason).split(']')[0].strip()))
sys.exit(3)
try:
# Convert the webrequest response to xml
xml_root = xml.etree.ElementTree.fromstring(content)
except xml.etree.ElementTree.ParseError:
print('UNKOWN - [XML] Content contains no or wrong xml data... check the url and if the api is reachable!')
sys.exit(3)
# Check if the xml is valid and the api gives usefull informations
try:
# Get the meta informations
xml_meta = xml_root.find('meta')
xml_meta_status = str(xml_meta.find('status').text)
xml_meta_statuscode = int(xml_meta.find('statuscode').text)
xml_meta_message = str(xml_meta.find('message').text)
# Check the meta informations
if not (xml_meta_status == 'ok' and xml_meta_statuscode == 200 and xml_meta_message == 'OK'):
print('UNKOWN - [API] invalid meta data... status: {0}, statuscode: {1}, message: {2}'.format(xml_meta_status, xml_meta_statuscode, xml_meta_message))
sys.exit(3)
except AttributeError:
print('UNKOWN - [XML] Content contains no or wrong xml data... check the url and if the api is reachable!')
sys.exit(3)
# Performance data format
perfdata_format = "" # nagios
if(options.perfdata_format == 'centreon'): # centreon
perfdata_format = ","
# Get the nextcloud version...
# [output]
if options.check == 'system':
xml_system = xml_root.find('data').find('nextcloud').find('system')
xml_system_version = str(xml_system.find('version').text)
print('OK - Nextcloud version: {0}'.format(xml_system_version))
sys.exit(0)
# Get informations about the storage
# [output + performance data]
if options.check == 'storage':
xml_storage = xml_root.find('data').find('nextcloud').find('storage')
xml_storage_users = int(xml_storage.find('num_users').text)
xml_storage_files = int(xml_storage.find('num_files').text)
xml_storage_storages = int(xml_storage.find('num_storages').text)
xml_storage_storages_local = int(xml_storage.find('num_storages_local').text)
xml_storage_storages_home = int(xml_storage.find('num_storages_home').text)
xml_storage_storages_other = int(xml_storage.find('num_storages_other').text)
print('OK - Users: {1}, files: {2}, storages: {3}, storages local: {4}, storages home: {5}, storages other: {6} | users={1}{0} files={2}{0} storages={3}{0} storages_local={4}{0} storages_home={5}{0} storage_other={6}'.format(perfdata_format, xml_storage_users, xml_storage_files, xml_storage_storages, xml_storage_storages_local, xml_storage_storages_home, xml_storage_storages_other))
sys.exit(0)
# Get informations about the shares
# [output + performance data]
if options.check == 'shares':
xml_shares = xml_root.find('data').find('nextcloud').find('shares')
xml_shares_shares = int(xml_shares.find('num_shares').text)
xml_shares_shares_user = int(xml_shares.find('num_shares_user').text)
xml_shares_shares_groups = int(xml_shares.find('num_shares_groups').text)
xml_shares_shares_link = int(xml_shares.find('num_shares_link').text)
xml_shares_shares_link_no_password = int(xml_shares.find('num_shares_link_no_password').text)
xml_shares_fed_shares_sent = int(xml_shares.find('num_fed_shares_sent').text)
xml_shares_fed_shares_received = int(xml_shares.find('num_fed_shares_received').text)
print('OK - Shares: {1}, shares user: {2}, shares groups: {3}, shares link: {4}, shares link no password: {5}, shares federation sent: {6}, shares federation received: {7} | shares={1}{0} shares_user={2}{0} shares_groups={3}{0} shares_link={4}{0} shares_link_no_password={5}{0} federation_shares_sent={6}{0} federation_shares_received={7}'.format(perfdata_format, xml_shares_shares, xml_shares_shares_user, xml_shares_shares_groups, xml_shares_shares_link, xml_shares_shares_link_no_password, xml_shares_fed_shares_sent, xml_shares_fed_shares_received))
sys.exit(0)
# Get informations about the webserver
# [output]
if options.check == 'webserver':
xml_webserver = str(xml_root.find('data').find('server').find('webserver').text)
print('OK - Webserver: {0}'.format(xml_webserver))
sys.exit(0)
# Get informations about php
# [output]
if options.check == 'php':
xml_php = xml_root.find('data').find('server').find('php')
xml_php_version = str(xml_php.find('version').text)
xml_php_memory_limit = int(xml_php.find('memory_limit').text)
xml_php_max_execution_time = str(xml_php.find('max_execution_time').text)
xml_php_upload_max_filesize = int(xml_php.find('upload_max_filesize').text)
print('OK - PHP version: {0}, memory limit {1}, max execution time: {2}s, upload max filesize: {3}'.format(xml_php_version, calc_size_suffix(xml_php_memory_limit), xml_php_max_execution_time, calc_size_suffix(xml_php_upload_max_filesize)))
sys.exit(0)
# Get informations about the database
# [output + performance data]
if options.check == 'database':
xml_database = xml_root.find('data').find('server').find('database')
xml_database_type = str(xml_database.find('type').text)
xml_database_version = str(xml_database.find('version').text)
xml_database_size = float(xml_database.find('size').text)
print('OK - Database: {0}, version {1}, size: {2} | database_size={3}'.format(xml_database_type, xml_database_version, calc_size_suffix(xml_database_size), calc_size_nagios(xml_database_size)))
sys.exit(0)
# Check the active users
# [output + performance data]
if options.check == 'activeUsers':
xml_activeUsers = xml_root.find('data').find('activeUsers')
xml_activeUsers_last5minutes = int(xml_activeUsers.find('last5minutes').text)
xml_activeUsers_last1hour = int(xml_activeUsers.find('last1hour').text)
xml_activeUsers_last24hours = int(xml_activeUsers.find('last24hours').text)
print('OK - Last 5 minutes: {1} user(s), last 1 hour: {2} user(s), last 24 hour: {3} user(s) | users_last_5_minutes={1}{0} users_last_1_hour={2}{0} users_last_24_hours={3}'.format(perfdata_format, xml_activeUsers_last5minutes, xml_activeUsers_last1hour, xml_activeUsers_last24hours))
sys.exit(0)
if options.check == 'uploadFilesize':
xml_php = xml_root.find('data').find('server').find('php')
# Get upload max filesize
xml_php_upload_max_filesize = int(xml_php.find('upload_max_filesize').text)
# Convert
upload_max_filesize = calc_size_suffix(xml_php_upload_max_filesize)
if options.upload_filesize == upload_max_filesize:
print('OK - Upload max filesize: {0}'.format(upload_max_filesize))
sys.exit(0)
else:
print('CRITICAL - Upload max filesize is set to {0}, but should be {1}'.format(upload_max_filesize, options.upload_filesize))
sys.exit(2)
# Get informations about any app updates
# [output]
if options.check == 'apps':
xml_apps = xml_root.find('data').find('nextcloud').find('system').find('apps')
xml_apps_num_updates_available = int(xml_apps.find('num_updates_available').text)
if xml_apps_num_updates_available == 0:
print('OK - No apps requiring update')
sys.exit(0)
else:
xml_apps_updates = xml_apps.find('app_updates')
xml_apps_list = []
for app in xml_apps_updates:
xml_apps_list.append('{0}->{1}'.format(app.tag, app.text))
print('WARNING - {0} apps require update: {1}'.format(xml_apps_num_updates_available, ' ,'.join(xml_apps_list)))
sys.exit(1)

View file

@ -1,5 +0,0 @@
# 'check_nextcloud' command definition
define command{
command_name check_nextcloud
command_line /usr/lib/monitoring-plugins/check_nextcloud -H $HOSTADDRESS$ $ARG1$
}

View file

@ -1,6 +0,0 @@
Uploaders: Jan Wagner <waja@cyconet.org>
Recommends: python3-minimal
Version: 2.0
Homepage: https://github.com/BornToBeRoot/check_nextcloud
Watch: https://raw.githubusercontent.com/BornToBeRoot/check_nextcloud/master/check/check_nextcloud.py # ~~ Version ([0-9.]+) ~~
Description: Plugin script to monitor your nextcloud serverinfo API

View file

@ -1,13 +0,0 @@
This program 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, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

View file

@ -1,3 +0,0 @@
#/usr/bin/make -f
include ../common.mk

View file

@ -1,471 +0,0 @@
#!/usr/bin/env perl -w
# check_nginx_status.pl
# Author : regis.leroy at makina-corpus.com
# Licence : GPL - http://www.fsf.org/licenses/gpl.txt
#
# help : ./check_nginx_status.pl -h
#
# issues & updates: http://github.com/regilero/check_nginx_status
use strict;
use Getopt::Long;
use LWP::UserAgent;
use Time::HiRes qw(gettimeofday tv_interval);
use Digest::MD5 qw(md5 md5_hex);
use FindBin;
# Nagios specific
use lib $FindBin::Bin;
use utils qw($TIMEOUT);
# Globals
my $Version='0.20';
my $Name=$0;
my $o_host = undef; # hostname
my $o_help= undef; # want some help ?
my $o_port= undef; # port
my $o_url = undef; # url to use, if not the default
my $o_user= undef; # user for auth
my $o_pass= ''; # password for auth
my $o_realm= ''; # password for auth
my $o_version= undef; # print version
my $o_warn_a_level= -1; # Number of active connections that will cause a warning
my $o_crit_a_level= -1; # Number of active connections that will cause an error
my $o_warn_rps_level= -1; # Number of Request per second that will cause a warning
my $o_crit_rps_level= -1; # Number of request Per second that will cause an error
my $o_warn_cps_level= -1; # Number of Connections per second that will cause a warning
my $o_crit_cps_level= -1; # Number of Connections per second that will cause an error
my $o_timeout= 15; # Default 15s Timeout
my $o_warn_thresold= undef; # warning thresolds entry
my $o_crit_thresold= undef; # critical thresolds entry
my $o_debug= undef; # debug mode
my $o_servername= undef; # ServerName (host header in http request)
my $o_https= undef; # SSL (HTTPS) mode
my $o_disable_sslverifyhostname = 0;
my $TempPath = '/tmp/'; # temp path
my $MaxTimeDif = 60*30; # Maximum uptime difference (seconds), default 30 minutes
my $nginx = 'NGINX'; # Could be used to store version also
# functions
sub show_versioninfo { print "$Name version : $Version\n"; }
sub print_usage {
print "Usage: $Name -H <host ip> [-p <port>] [-s servername] [-t <timeout>] [-w <WARN_THRESOLD> -c <CRIT_THRESOLD>] [-V] [-d] [-u <url>] [-U user -P pass -r realm]\n";
}
sub nagios_exit {
my ( $nickname, $status, $message, $perfdata , $silent) = @_;
my %STATUSCODE = (
'OK' => 0
, 'WARNING' => 1
, 'CRITICAL' => 2
, 'UNKNOWN' => 3
, 'PENDING' => 4
);
if(!defined($silent)) {
my $output = undef;
$output .= sprintf('%1$s %2$s - %3$s', $nickname, $status, $message);
if ($perfdata) {
$output .= sprintf('|%1$s', $perfdata);
}
$output .= chr(10);
print $output;
}
exit $STATUSCODE{$status};
}
# Get the alarm signal
$SIG{'ALRM'} = sub {
nagios_exit($nginx,"CRITICAL","ERROR: Alarm signal (Nagios timeout)");
};
sub help {
print "Nginx Monitor for Nagios version ",$Version,"\n";
print "GPL licence, (c)2012 Leroy Regis\n\n";
print_usage();
print <<EOT;
-h, --help
print this help message
-H, --hostname=HOST
name or IP address of host to check
-p, --port=PORT
Http port
-u, --url=URL
Specific URL to use, instead of the default "http://<hostname or IP>/nginx_status"
-s, --servername=SERVERNAME
ServerName, (host header of HTTP request) use it if you specified an IP in -H to match the good Virtualhost in your target
-S, --ssl
Wether we should use HTTPS instead of HTTP
--disable-sslverifyhostname
Disable SSL hostname verification
-U, --user=user
Username for basic auth
-P, --pass=PASS
Password for basic auth
-r, --realm=REALM
Realm for basic auth
-d, --debug
Debug mode (show http request response)
-m, --maxreach=MAX
Number of max processes reached (since last check) that should trigger an alert
-t, --timeout=INTEGER
timeout in seconds (Default: $o_timeout)
-w, --warn=ACTIVE_CONN,REQ_PER_SEC,CONN_PER_SEC
number of active connections, ReqPerSec or ConnPerSec that will cause a WARNING
-1 for no warning
-c, --critical=ACTIVE_CONN,REQ_PER_SEC,CONN_PER_SEC
number of active connections, ReqPerSec or ConnPerSec that will cause a CRITICAL
-1 for no CRITICAL
-V, --version
prints version number
Note :
3 items can be managed on this check, this is why -w and -c parameters are using 3 values thresolds
- ACTIVE_CONN: Number of all opened connections, including connections to backends
- REQ_PER_SEC: Average number of request per second between this check and the previous one
- CONN_PER_SEC: Average number of connections per second between this check and the previous one
Examples:
This one will generate WARNING and CRITICIAL alerts if you reach 10 000 or 20 000 active connection; or
100 or 200 request per second; or 200 or 300 connections per second
check_nginx_status.pl -H 10.0.0.10 -u /foo/nginx_status -s mydomain.example.com -t 8 -w 10000,100,200 -c 20000,200,300
this will generate WARNING and CRITICAL alerts only on the number of active connections (with low numbers for nginx)
check_nginx_status.pl -H 10.0.0.10 -s mydomain.example.com -t 8 -w 10,-1,-1 -c 20,-1,-1
theses two equivalents will not generate any alert (if the nginx_status page is reachable) but could be used for graphics
check_nginx_status.pl -H 10.0.0.10 -s mydomain.example.com -w -1,-1,-1 -c -1,-1,-1
check_nginx_status.pl -H 10.0.0.10 -s mydomain.example.com
EOT
}
sub check_options {
Getopt::Long::Configure ("bundling");
GetOptions(
'h' => \$o_help, 'help' => \$o_help,
'd' => \$o_debug, 'debug' => \$o_debug,
'H:s' => \$o_host, 'hostname:s' => \$o_host,
's:s' => \$o_servername, 'servername:s' => \$o_servername,
'S:s' => \$o_https, 'ssl:s' => \$o_https,
'u:s' => \$o_url, 'url:s' => \$o_url,
'U:s' => \$o_user, 'user:s' => \$o_user,
'P:s' => \$o_pass, 'pass:s' => \$o_pass,
'r:s' => \$o_realm, 'realm:s' => \$o_realm,
'p:i' => \$o_port, 'port:i' => \$o_port,
'V' => \$o_version, 'version' => \$o_version,
'w:s' => \$o_warn_thresold,'warn:s' => \$o_warn_thresold,
'c:s' => \$o_crit_thresold,'critical:s' => \$o_crit_thresold,
't:i' => \$o_timeout, 'timeout:i' => \$o_timeout,
'disable-sslverifyhostname' => \$o_disable_sslverifyhostname,
);
if (defined ($o_help)) {
help();
nagios_exit($nginx,"UNKNOWN","leaving","",1);
}
if (defined($o_version)) {
show_versioninfo();
nagios_exit($nginx,"UNKNOWN","leaving","",1);
};
if (defined($o_warn_thresold)) {
($o_warn_a_level,$o_warn_rps_level,$o_warn_cps_level) = split(',', $o_warn_thresold);
}
if (defined($o_crit_thresold)) {
($o_crit_a_level,$o_crit_rps_level,$o_crit_cps_level) = split(',', $o_crit_thresold);
}
if (defined($o_debug)) {
print("\nDebug thresolds: \nWarning: ($o_warn_thresold) => Active: $o_warn_a_level ReqPerSec :$o_warn_rps_level ConnPerSec: $o_warn_cps_level");
print("\nCritical ($o_crit_thresold) => : Active: $o_crit_a_level ReqPerSec: $o_crit_rps_level ConnPerSec : $o_crit_cps_level\n");
}
if ((defined($o_warn_a_level) && defined($o_crit_a_level)) &&
(($o_warn_a_level != -1) && ($o_crit_a_level != -1) && ($o_warn_a_level >= $o_crit_a_level)) ) {
nagios_exit($nginx,"UNKNOWN","Check warning and critical values for Active Process (1st part of thresold), warning level must be < crit level!");
}
if ((defined($o_warn_rps_level) && defined($o_crit_rps_level)) &&
(($o_warn_rps_level != -1) && ($o_crit_rps_level != -1) && ($o_warn_rps_level >= $o_crit_rps_level)) ) {
nagios_exit($nginx,"UNKNOWN","Check warning and critical values for ReqPerSec (2nd part of thresold), warning level must be < crit level!");
}
if ((defined($o_warn_cps_level) && defined($o_crit_cps_level)) &&
(($o_warn_cps_level != -1) && ($o_crit_cps_level != -1) && ($o_warn_cps_level >= $o_crit_cps_level)) ) {
nagios_exit($nginx,"UNKNOWN","Check warning and critical values for ConnPerSec (3rd part of thresold), warning level must be < crit level!");
}
# Check compulsory attributes
if (!defined($o_host)) {
print_usage();
nagios_exit($nginx,"UNKNOWN","-H host argument required");
}
}
########## MAIN ##########
check_options();
my $override_ip = $o_host;
my $ua = LWP::UserAgent->new(
protocols_allowed => ['http', 'https'],
timeout => $o_timeout
);
if ( $o_disable_sslverifyhostname ) {
$ua->ssl_opts( 'verify_hostname' => 0 );
}
# we need to enforce the HTTP request is made on the Nagios Host IP and
# not on the DNS related IP for that domain
@LWP::Protocol::http::EXTRA_SOCK_OPTS = ( PeerAddr => $override_ip );
# this prevent used only once warning in -w mode
my $ua_settings = @LWP::Protocol::http::EXTRA_SOCK_OPTS;
my $timing0 = [gettimeofday];
my $response = undef;
my $url = undef;
if (!defined($o_url)) {
$o_url='/nginx_status';
} else {
# ensure we have a '/' as first char
$o_url = '/'.$o_url unless $o_url =~ m(^/)
}
my $proto='http://';
if(defined($o_https)) {
$proto='https://';
if (defined($o_port) && $o_port!=443) {
if (defined ($o_debug)) {
print "\nDEBUG: Notice: port is defined at $o_port and not 443, check you really want that in SSL mode! \n";
}
}
}
if (defined($o_servername)) {
if (!defined($o_port)) {
$url = $proto . $o_servername . $o_url;
} else {
$url = $proto . $o_servername . ':' . $o_port . $o_url;
}
} else {
if (!defined($o_port)) {
$url = $proto . $o_host . $o_url;
} else {
$url = $proto . $o_host . ':' . $o_port . $o_url;
}
}
if (defined ($o_debug)) {
print "\nDEBUG: HTTP url: \n";
print $url;
}
my $req = HTTP::Request->new( GET => $url );
if (defined($o_servername)) {
$req->header('Host' => $o_servername);
}
if (defined($o_user)) {
$req->authorization_basic($o_user, $o_pass);
}
if (defined ($o_debug)) {
print "\nDEBUG: HTTP request: \n";
print "IP used (better if it's an IP):" . $override_ip . "\n";
print $req->as_string;
}
$response = $ua->request($req);
my $timeelapsed = tv_interval ($timing0, [gettimeofday]);
my $InfoData = '';
my $PerfData = '';
#my @Time = (localtime); # list context and not scalar as we want the brutal timestamp
my $Time = time;
my $webcontent = undef;
if ($response->is_success) {
$webcontent=$response->decoded_content;
if (defined ($o_debug)) {
print "\nDEBUG: HTTP response:";
print $response->status_line;
print "\n".$response->header('Content-Type');
print "\n";
print $webcontent;
}
if ($response->header('Content-Type') =~ m/text\/html/) {
nagios_exit($nginx,"CRITICAL", "We have a response page for our request, but it's an HTML page, quite certainly not the status report of nginx");
}
# example of response content expected:
#Active connections: 10
#server accepts handled requests
#38500 38500 50690
#Reading: 5 Writing: 5 Waiting: 0
# number of all open connections including connections to backends
my $ActiveConn = 0;
if($webcontent =~ m/Active connections: (.*?)\n/) {
$ActiveConn = $1;
# triming
$ActiveConn =~ s/^\s+|\s+$//g;
}
# 3 counters with a space: accepted conn, handled conn and number of requests
my $counters = '';
my $AcceptedConn = 0;
my $HandledConn = 0;
my $NbRequests = 0;
if($webcontent =~ m/\nserver accepts handled requests\n(.*?)\n/) {
$counters = $1;
# triming
$counters =~ s/^\s+|\s+$//g;
#splitting
($AcceptedConn,$HandledConn,$NbRequests) = split(' ', $counters);
# triming
$AcceptedConn =~ s/^\s+|\s+$//g;
$HandledConn =~ s/^\s+|\s+$//g;
$NbRequests =~ s/^\s+|\s+$//g;
}
# nginx reads request header
my $Reading = 0;
# nginx reads request body, processes request, or writes response to a client
my $Writing = 0;
# keep-alive connections, actually it is active - (reading + writing)
my $Waiting = 0;
if($webcontent =~ m/Reading: (.*?)Writing: (.*?)Waiting: (.*?)$/) {
$Reading = $1;
$Writing = $2;
$Waiting = $3;
# triming
$Reading =~ s/^\s+|\s+$//g;
$Writing =~ s/^\s+|\s+$//g;
$Waiting =~ s/^\s+|\s+$//g;
}
# Debug
if (defined ($o_debug)) {
print ("\nDEBUG Parse results => Active :" . $ActiveConn . "\nAcceptedConn :" . $AcceptedConn . "\nHandledConn :" . $HandledConn . "\nNbRequests :".$NbRequests . "\nReading :" .$Reading . "\nWriting :" . $Writing . "\nWaiting :" . $Waiting . "\n");
}
my $TempFile = $TempPath.$o_host.'_check_nginx_status'.md5_hex($url);
my $FH;
my $LastTime = 0;
my $LastAcceptedConn = 0;
my $LastHandledConn = 0;
my $LastNbRequests = 0;
if ((-e $TempFile) && (-r $TempFile) && (-w $TempFile)) {
open ($FH, '<',$TempFile) or nagios_exit($nginx,"UNKNOWN","unable to read temporary data from :".$TempFile);
$LastTime = <$FH>;
$LastAcceptedConn = <$FH>;
$LastHandledConn = <$FH>;
$LastNbRequests = <$FH>;
close ($FH);
if (defined ($o_debug)) {
print ("\nDebug: data from temporary file: $TempFile\n");
print (" LastTime: $LastTime LastAcceptedConn: $LastAcceptedConn LastHandledConn: $LastHandledConn LastNbRequests: $LastNbRequests \n");
}
}
open ($FH, '>'.$TempFile) or nagios_exit($nginx,"UNKNOWN","unable to write temporary data in :".$TempFile);
#print $FH (@Time),"\n";
print $FH "$Time\n";
print $FH "$AcceptedConn\n";
print $FH "$HandledConn\n";
print $FH "$NbRequests\n";
close ($FH);
my $ConnPerSec = 0;
my $ReqPerSec = 0;
my $RequestsNew = 0;
# by default the average
my $ReqPerConn = 0;
if ($AcceptedConn > 0) {
$ReqPerConn = $NbRequests/$AcceptedConn;
}
my $elapsed = $Time - $LastTime ;
if (defined ($o_debug)) {
print ("\nDebug: pre-computation\n");
print ("Average ReqPerconn: $ReqPerConn, Seconds elapsed Since last check: $elapsed\n");
}
# check only if the counters may have been incremented
# but not if it may have been too much incremented
# if nginx was restarted ($NbRequests is now lower than previous value), just skip
if ( ($elapsed < $MaxTimeDif) && ($elapsed != 0) && ($NbRequests >= $LastNbRequests) ) {
$ConnPerSec = ($AcceptedConn-$LastAcceptedConn)/$elapsed;
$RequestsNew = $NbRequests-$LastNbRequests;
$ReqPerSec = $RequestsNew/$elapsed;
# get finer value
if ( $ConnPerSec!=0 ) {
my $ReqPerConn = $ReqPerSec/$ConnPerSec;
} else {
my $ReqPerConn = 0;
}
}
if (defined ($o_debug)) {
print ("\nDebug: data computed\n");
print ("ConnPerSec: $ConnPerSec ReqPerSec: $ReqPerSec ReqPerConn: $ReqPerConn\n");
}
$InfoData = sprintf (" %.3f sec. response time, Active: %d (Writing: %d Reading: %d Waiting: %d)"
. " ReqPerSec: %.3f ConnPerSec: %.3f ReqPerConn: %.3f"
,$timeelapsed,$ActiveConn,$Writing,$Reading,$Waiting,$ReqPerSec,$ConnPerSec,$ReqPerConn);
# Manage warn and crit values for the perfdata
my $p_warn_a_level = "$o_warn_a_level";
my $p_crit_a_level = "$o_crit_a_level";
my $p_warn_rps_level = "$o_warn_rps_level";
my $p_crit_rps_level = "$o_crit_rps_level";
my $p_warn_cps_level = "$o_warn_cps_level";
my $p_crit_cps_level = "$o_crit_cps_level";
if ($p_warn_a_level == "-1") {
$p_warn_a_level = "";
}
if ($p_crit_a_level == "-1") {
$p_crit_a_level = "";
}
if ($p_warn_rps_level == "-1") {
$p_warn_rps_level = "";
}
if ($p_crit_rps_level == "-1") {
$p_crit_rps_level = "";
}
if ($p_warn_cps_level == "-1") {
$p_warn_cps_level = "";
}
if ($p_crit_cps_level == "-1") {
$p_crit_cps_level = "";
}
$PerfData = sprintf ("Writing=%d;;;; Reading=%d;;;; Waiting=%d;;;; Active=%d;%s;%s;; "
. "ReqPerSec=%f;%s;%s;; ConnPerSec=%f;%s;%s;; ReqPerConn=%f;;;;"
,($Writing),($Reading),($Waiting),($ActiveConn)
,($p_warn_a_level),($p_crit_a_level)
,($ReqPerSec),($p_warn_rps_level),($p_crit_rps_level)
,($ConnPerSec),($p_warn_cps_level),($p_crit_cps_level)
,($ReqPerConn));
# first all critical exists by priority
if (defined($o_crit_a_level) && (-1!=$o_crit_a_level) && ($ActiveConn >= $o_crit_a_level)) {
nagios_exit($nginx,"CRITICAL", "Active Connections are critically high " . $InfoData,$PerfData);
}
if (defined($o_crit_rps_level) && (-1!=$o_crit_rps_level) && ($ReqPerSec >= $o_crit_rps_level)) {
nagios_exit($nginx,"CRITICAL", "Request per second ratios is critically high " . $InfoData,$PerfData);
}
if (defined($o_crit_cps_level) && (-1!=$o_crit_cps_level) && ($ConnPerSec >= $o_crit_cps_level)) {
nagios_exit($nginx,"CRITICAL", "Connection per second ratio is critically high " . $InfoData,$PerfData);
}
# Then WARNING exits by priority
if (defined($o_warn_a_level) && (-1!=$o_warn_a_level) && ($ActiveConn >= $o_warn_a_level)) {
nagios_exit($nginx,"WARNING", "Active Connections are high " . $InfoData,$PerfData);
}
if (defined($o_warn_rps_level) && (-1!=$o_warn_rps_level) && ($ReqPerSec >= $o_warn_rps_level)) {
nagios_exit($nginx,"WARNING", "Requests per second ratio is high " . $InfoData,$PerfData);
}
if (defined($o_warn_cps_level) && (-1!=$o_warn_cps_level) && ($ConnPerSec >= $o_warn_cps_level)) {
nagios_exit($nginx,"WARNING", "Connection per second ratio is high " . $InfoData,$PerfData);
}
nagios_exit($nginx,"OK",$InfoData,$PerfData);
} else {
nagios_exit($nginx,"CRITICAL", $response->status_line);
}

View file

@ -1,5 +0,0 @@
# 'check_nginx_status' command definition
define command{
command_name check_nginx_status
command_line /usr/lib/monitoring-plugins/check_nginx_status -H $HOSTADDRESS$ $ARG1$
}

View file

@ -1,8 +0,0 @@
Homepage: https://raw.github.com/regilero/check_nginx_status/master/check_nginx_status.pl
Watch: https://raw.github.com/regilero/check_nginx_status/master/check_nginx_status.pl \$Version\=\'([0-9.]+)'
Recommends: libwww-perl, monitoring-plugins-common | nagios-plugins-common
Version: 0.20
Uploaders: Jan Wagner <waja@cyconet.org>
Description: plugin checking the nginx_status page report from nginx
Tracking Active connections processes, request per second, connections per
seconds, Connections status.

View file

@ -1,7 +0,0 @@
Copyright (c) regis.leroy at makina-corpus.com
License: GPL v3
On Debian systems, the complete text of the GNU General
Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".

View file

@ -1,16 +0,0 @@
PLUGIN := check_nwc_health
CLEANFILES := check_nwc_health
include ../common.mk
check_nwc_health:
set -e; for i in guess sub; do if [ ! -e src/config.$$i.bak ]; then cp src/config.$$i src/config.$$i.bak; fi; done
cp /usr/share/misc/config.* src
cd src && ./configure --disable-maintainer-mode --prefix=/usr --with-nagios-user=nagios --with-nagios-group=nagios
make -C src
sed 's,^# nagios: +epn,# nagios: -epn\n,' src/plugins-scripts/check_nwc_health > $@
#cp src/plugins-scripts/check_nwc_health $@
clean::
[ ! -f src/Makefile ] || make -C src distclean
set -e; for i in guess sub; do if [ -e src/config.$$i.bak ]; then mv src/config.$$i.bak src/config.$$i; fi; done

View file

@ -1 +0,0 @@
Gerhard Lausser <gerhard.lausser@consol.de>

View file

@ -1,340 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program 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; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

View file

@ -1,852 +0,0 @@
* 2022-07-29 10.3
add mode check-rtt (cisco-rttmon-mib slas)
* 2022-07-21 10.2.1
increase cpu thresholds for linux, separate user/system/etc from iowait
* 2022-07-20 10.2
update glplugin, better get_table fallback handling
* 2022-05-05 10.1.0.3
fix a pull-request. Und das war damit auch der letzte Pull-Request, den ich in meinem Leben angenommen habe.
* 2022-05-04 10.1.0.2
use JSON::XS in Interface.pm to avoid misleading UNKNOWN error message
* 2022-02-23 10.1.0.1
suppress unknown arista sensors which are not marked as faulty
* 2022-02-18 10.1
check filesystems in Arista (full Log/Core stops syslog and accounting)
accept disabled sensors
* 2022-01-13 10.0.0.3
bugfix in arista power supply
* 2022-01-07 10.0.0.2
bugfix in f5 ltm detail output
* 2021-11-22 10.0.0.1
tweak barracuda hardware-health snmp parameters
* 2021-11-16 10.0
use json for temporary files
* 2021-10-13 9.1
add Pulse Secure
* 2021-10-08 9.0.1.2
update git with latest cisco license gedoens
* 2021-09-21 9.0.1.1
remove broken line from Makefile.am
* 2021-09-08 9.0.1
improve cisco license checks
* 2021-09-01 9.0
add Versa Appliance, add HP Aruba
* 2021-08-24 8.5.0.1
tweak barracuda snmp params for interface/route checks
* 2021-07-27 8.5
improve Barracuda cluster-check
* 2021-06-30 8.4
add bgp for huawei
* 2021-06-16 8.3.3.3
bugfix in UCD-MIB memory
* 2021-05-31 8.3.3.2
bugfix in IOS cpu-load for very old models without CISCO-PROCESS-MIB
* 2021-05-31 8.3.3.1
bugfix in f5 memory-usage, correct negative values
* 2021-05-20 8.3.3
Add vpn sessions for Fortigate PR #279
* 2021-05-18 8.3.2.4
optimize etherlike and rmon walks
* 2021-05-12 8.3.2.3
save bgp peer local addresses and show them in the error case
* 2021-04-29 8.3.2.2
Blacklist storage device "junosprocfs" on JunOS (Juniper) devices PR #278
* 2021-04-15 8.3.2.1
bugfix in f5 cpu-load, correct negative values
* 2021-03-23 8.3.2
query LM-SENSORS-MIB only if it exists on Linux (it may hang even if not existing)
* 2021-03-19 8.3.1.2
bugfix in CISCO-ENTITY-SENSOR-MIB. Scale values correctly.
* 2021-03-02 8.3.1.1
bugfix in interface-stack-status (triggered when --name did not match)
* 2021-02-12 8.3.1
add mode license-status for cisco
* 2021-02-08 8.3
split Bluecat in AddressManager and DnsDhcpServer
* 2021-01-28 8.2.0.2
do not use cpmCPUMemoryHCCommitted, except if you want mem usage > 100%
* 2021-01-27 8.2.0.1
check the memory of all members in a cisco stack only if there are > 1 members
* 2021-01-22 8.2
check the memory of all members in a cisco stack
* 2021-01-18 8.1.0.1
bugfix in Bluecat jvm
* 2021-01-18 8.1
add Bluecat Address Manager
* 2021-01-13 8.0.0.2
bugfix in HOST-RESOURCE-MIB memory (Arista triggered)
bugfix in CISCO-ENVMON-MIB, temperatures > 200
* 2021-01-13 8.0.0.1
bugfix in arista bgp, mitigate admin down
* 2020-10-22 8.0
broadcast traffic is now shown as percentage of the overall traffic (...broadcast_in) and percentage of the available bandwitdth (..._broadcast_usage_in).
errors and discards are now calculated as percentage of all received/sent packets.
TenGig-VRF-MPLS-Dingsbums without errors and discard metrics are no longer treated as StackSubs.
* 2020-10-12 7.13
add Vormetric Appliance
* 2020-09-18 7.12.2
add some exceptions to hrDeviceDiskStorage and hrDeviceNetwork
* 2020-09-08 7.12.1.3
fix a bug in mode count-routes, update glplugin
* 2020-07-13 7.12.1.2
improve output for connect-vips
* 2020-07-13 7.12.1.1
bugfix in UCD-MIB swap
* 2020-07-10 7.12.1
try to fallback to ucd if neither sysUptime nor sysDescr exist
* 2020-06-04 7.12
add mode watch-vips and connect-vips for F5
* 2020-06-02 7.11.1
check the number of nodes in a Fortigate cluster
* 2020-05-21 7.11
add bgp4 modes for arista, use 2nd context for cisco bgp4
* 2020-05-19 7.10.4.1
fix a typo
* 2020-05-05 7.10.4
check increase of sessions for Cisco
(detect freeze with --mode vpn-sessions --criticalx sessions_per_sec=0.001:)
add AVM 7580
* 2020-03-20 7.10.3
add mode vpn-sessions (IOS and ASA)
* 2020-03-16 7.10.2.1
blacklist nfs-mounts in hrDeviceDiskStorage
* 2020-03-10 7.10.2
fix HP Aruba checks, add nore from ENTITY-SENSOR-MIB
* 2020-02-20 7.10.1.9
fix a bug in interface-etherstats for OLD-CISCO-INTERFACES-MIB
* 2020-01-21 7.10.1.8
fix a bug in Cisco memory, for Cisco emulation mode of Bel VPN Gate
* 2020-01-18 7.10.1.7
issue #229 fix redundant argument in sprintf
issue #228 fix operstatus in linuxlocal
* 2020-01-16 7.10.1.6
fix a bug in verbose mode if --nosensors is used
* 2019-12-06 7.10.1.5
update GLPlugin, reduce default maxrepetitions to 20
* 2019-12-05 7.10.1.4
reduce maxrepetitions for f5 sysCpuTable and ifTables
* 2019-12-04 7.10.1.3
add --nosensors which skips endless entSensor[Threshold]Table for Nexuses
* 2019-11-25 7.10.1.2
fix a division by 0 for cisco reserved memory
* 2019-10-07 7.10.1.1
fix a bug in cisco wlan accesspoint-modes (InetAddrType)
* 2019-10-04 7.10.1
add session-usage for palo alto
* 2019-08-30 7.10.0.7
update glplugin, more nexus hardware-health improvements
* 2019-08-29 7.10.0.6
reduce runtime for nexus hardware-health
* 2019-08-20 7.10.0.5
fix EIGRP filtering
* 2019-07-29 7.10.0.4.1
fix a bug in fortigate ha-role
* 2019-07-22 7.10.0.4
fix a bug in interface-uptime
* 2019-07-19 7.10.0.3
fix a bug in interface-uptime
* 2019-07-07 7.10.0.2
fix a bug in mode ha-role for Fortigate
* 2019-06-25 7.10.0.1
fix a bug in bgp/route modes for the non-standalone version (InetAddressMaker)
* 2019-06-21 7.10
remove duplicate routes (ip-table + inet-table)
--report long+address shows ip addresses for interfaces
* 2019-06-14 7.9.0.4
finish barracuda ha-role mode
* 2019-06-14 7.9.0.3
detect f5 firmware versions 14+
* 2019-06-12 7.9.0.2
fix routes. inetCidrRouteTable does not really replace ipCidrRouteTable
* 2019-06-12 7.9.0.1
fallback to BGP4-MIB if CISCO-BGP4-MIB is incomplete
* 2019-06-11 7.9
add EIGRP
fix ASA user/connection/session-count
* 2019-06-05 7.8
GLPLugin with better ip4/ip6 handling
fix huawei subclasses
interfaces --name filter expression can contain _adminup_ as a secondary
filter
route modes can handle v6
use OSPFV3-MIB, support v6
add CISCO-BGP4-MIB, support v6
* 2019-04-12 7.7
add Barracuda
* 2019-04-12 7.6.1
add mode count-connections for F5
* 2019-03-20 7.6
add mode watch-ospf-neighbors
* 2019-02-19 7.5.0.1
remove adsl-line-mib
* 2019-02-18 7.5
add Draytek Vigor
* 2019-01-09 7.4.3
add mode interface-security (cisco)
* 2018-12-17 7.4.2.1
finish ha-status for cisco wlc
* 2018-12-12 7.4.2
start ha for cisco wlc
improve paloalto uptime model string
improve ucd memory
* 2018-12-04 7.4.1.2
fix cisco bgp for routers which do not export the proptietary mib, but bgp4
* 2018-12-04 7.4.1.1
fix undefs for Huawei with older Mibs
fix fortigate sensors
* 2018-12-04 7.4.1
detect more Huawei devices
* 2018-12-03 7.4
use proprietary bgp mib for cisco (and add ipv6)
make ospd v6-ready
add servertpe generic_ucd
fix ciscoipsecflow fail timestamps
* 2018-10-22 7.3.1
add modes ha-status/role for fortigate
* 2018-10-22 7.3.0.5
update glplugin (CISCO-STACKWISE-MIB)
* 2018-10-21 7.3.0.4
update glplugin (for go-worker)
* 2018-10-17 7.3.0.3
update glplugin
better fortigate detection
* 2018-09-28 7.3.0.2
update glplugin
* 2018-09-25 7.3.0.1
re-enable Huawei CloudEngine support
* 2018-09-10 7.3
update stack-status
add servertype hostresource
update cisco vpn-status
* 2018-08-13 7.2.0.2
bugfix in interface-modes where --name3 found no match
* 2018-08-10 7.2.0.1
bugfix in ios ha-status, ignore cable "failover" description
* 2018-08-01 7.2
add packet forwarding engine metrics for juniper standby nodes
* 2018-07-26 7.1
add custom thresholds for cisco ccm
detect fritzbox 7490
* 2018-07-13 7.0.2
add interface-uptime
2018-07-05 7.0.1.6
fix a bug in non-map FabOS memory
set thresholds to 100% for cisco asa heapcache memory-usage
* 2018-06-18 7.0.1.5
update glplugin (get_snmp_table_objects waja fix)
* 2018-05-05 7.0.1.4
simplify the cisco memory exceptions
* 2018-04-29 7.0.1.3
bugfix in cisco global shared memory > 9.3.2
* 2018-03-31 7.0.1.2
fix a bug in link-aggregation-availability
* 2018-03-13 7.0.1.1
fix a bug in cisco enhanced mempool mib and posixmem (thx sabedevops)
* 2018-03-07 7.0.1
improve f5, add ha-role, check-config, count-connections
* 2018-03-01 7.0.0.7
update GLPlugin
* 2018-02-26 7.0.0.6
ignore free space of iso mounts in hostresource mib
* 2018-02-06 7.0.0.5
fix a bug in hostresourcesmib memory calc. (arista eos)
* 2018-02-08 7.0.0.5
update glplugn, add modes encode/decode, rfc3986
* 2018-01-23 7.0.0.4
merge pull request #164 (simonmeggle)
add bluecoat asg fix from Stefan Kublik
* 2018-01-12 7.0.0.3
check the clock of checkpoint fw
* 2018-01-11 7.0.0.2
fix a bug in checkpoint vpn-status
* 2018-01-08 7.0.0.1
update glplugin
* 2018-01-05 7.0
code improvements, fix hh3c entities
* 2017-12-27 6.4.4.1
fix f5 versions
* 2017-12-21 6.4.4
add interface-duplex
* 2017-12-15 6.4.3.3
fix a bug in vsx-firewall1-fork
* 2017-12-14 6.4.3.2
update glplugin
* 2017-12-14 6.4.3.1
update glplugin
* 2017-12-12 6.4.3
add checkpoint ha-status, fix checkpoint vpn-status
* 2017-11-27 6.4.2.3
rewrite pretty_sysdesc
* 2017-11-23 6.4.2.2
updateGLPlugin (remove session timeout)
* 2017-11-20 6.4.2.1
updateGLPlugin
* 2017-11-03 6.4.2
implement pool-completeness for f5-gtm-pools (--role gtm)
* 2017-09-29 6.4.1.7
ignore dummy filesystems in HOSTRESOURCEMIBS
* 2017-09-23 6.4.1.6
get ospf table twice if a 2nd contect exists
* 2017-09-22 6.4.1.5
update GLPlugin (use 2nd context for OSPF)
* 2017-09-21 6.4.1.4
fix interface-stack-status, arista's ifStackTable was buggy
* 2017-09-18 6.4.1.3
blacklist l3 routing card (and power supply) if a nexus is used as l2 switch
* 2017-09-16 6.4.1.2
workaround for CSCuv18572
* 2017-09-13 6.4.1.1
fix hostresourcemib, interface sit0 can be down by default
(is disabled in Cisco UC)
* 2017-08-25 6.4.1
add vpn-status for checkpoint
* 2017-08-25 6.4.0.4
fix brocade aliasing in interface-status
* 2017-08-24 6.4.0.3
fix brocade alias aliasing
* 2017-08-24 6.4.0.2
update glplugin, sw-mib fix
* 2017-08-24 6.4.0.1
replace empty ifAlias with swFCPortName for FabOS (Brocade) devices
merge pr #147, thanks arigaud. skip undef temperatured of foundry devices
implement eltex gear (pull request #144)
fix a perl-undef in Juniper BGP (pull request #143)
nsPowerDesc can be null (pullrequest #134)
* 2017-08-07 6.3.0.8
fix C3750 redundant power supplies
* 2017-08-04 6.3.0.7
fix undefined thresholds in arista sensors
* 2017-07-17 6.3.0.6
fix false positives in cisco ethernet service modules SM-ES3G-24-P
allow mitigation of cisco disabled catalyst power supplies
* 2017-06-28 6.3.0.5
allow mitigation of a subLayerDown stack
* 2017-06-20 6.3.0.4
update GLPlugin (lcos-mib)
* 2017-06-19 6.3.0.3
ring redundancy is ok if the stack has only one member
* 2017-06-09 6.3.0.2
fix a bug in f5 member connections (Thanks Yannick Charton)
skip ifIndex in interface-stack-status (makes nexus crash)
* 2017-06-07 6.3.0.1
update glplugin
* 2017-06-01 6.3
update glplugin
add Lancom
* 2017-05-19 6.2.2.3
workaround for ios 12.x and buggy ifstacktable
* 2017-05-17 6.2.2.2
and fix list-interfaces...
* 2017-05-17 6.2.2.1
fix --name for non-uinique indices
* 2017-05-17 6.2.2
add an index to ifDescr which have no unique names
* 2017-05-15 6.2.1.5
GLPlugin update
* 2017-05-12 6.2.1.4
GLPlugin update
* 2017-05-12 6.2.1.3
fix a bug in interface-health
* 2017-05-12 6.2.1.2
fix a bug in interface-availability
* 2017-05-09 6.2.1.1
fix interface etherstats, stacks
add fortigate disks
* 2017-05-03 6.2.0.2
fix a bug in interface-health and 10GE ports.
* 2017-04-26 6.2.0.1
use carrier if operstatus is unknown for linuxlocal interfaces
add dummy speed to linux virtio interfaces
* 2017-04-18 6.2.0
add support for junox bgp with ipv6, thanks dupondje
fix a bug in bluecoat, allow warningx now
* 2017-04-15 6.1.1
support Brocade Ironport and enhance FOUNDRY-SN-AGENT-MIB
* 2017-04-13 6.1.0.3
reverse hrStorage mem thresholds
* 2017-03-30 6.1.0.2
fix a bug in 64bit interface-usage (Thanks Julian)
* 2017-03-27 6.1.0.1
pdate GLPlugin
* 2017-03-25 6.1
update entity-sensor-mib
* 2017-03-24 6.0.2.3
bugfixes in interface etherstats
* 2017-03-22 6.0.2.2
bugfix in etherstats for 32bit
better error message for no access points found
replace continue by next. failed on older distributions
* 2017-03-20 6.0.2.1
fix brocade fabos cpu/memory with MAPS installed
* 2017-03-19 6.0.2
improve interface-etherstats
* 2017-03-10 6.0.1.4
update GLPlugin
* 2017-03-03 6.0.1.3
fix uninitialized-bug
* 2017-03-03 6.0.1.2
special treatment for counterless StackSub interfaces
* 2017-03-03 6.0.1.1
Merge pull request #126 from ciscoqid/patch-1
* 2017-03-02 6.0.1
remove steelhead prettyprint
* 2017-02-24 6.0
cisco chassis check snmp tuning
fix cisco-envmon-mib
nxos hardware check snmp tuning
fix cisco wlan no-ap clustercheck
detect more f5 models
add f5 wide ip check
improve host-resource-mib
speedup interface checks
add interface-etherstats
add ha-status for juniper vsd members
customer release #12.2a
add mode interface-stack-status
add riverbed steelhead
* 2017-02-10 5.13
bugfix in f5 output message
make f5 perfdata labels more consistent
checkpoint multicore. Thanks Peter Hanraets
* 2017-01-28 5.12.0.5
fix pool checks for big-ip 12.x (thanks abzeidler)
* 2017-01-27 5.12.0.4
fallback to ios if cisco wlc has no cpu/mem oids
bugfix in chassis-hardware-health delta of ports
bugfix in chassis-hardware-health duplicate fan output
* 2017-01-27 5.12.0.3
fix cisco wlc ap admin status
* 2017-01-26 5.12.0.2
detect more cisco wireless controllers
* 2017-01-18 5.12.0.1
update GLPlugin (uptime)
* 2017-01-11 5.12
detect checkpoint gaia
* 2016-12-28 5.11.3
detect more hp procurve switches (J9624A etc. may need new firmware revision RA.16.02.0012, ROM RA.15.13)
* 2016-12-19 5.11.2.5
/dev/md on Juniper srx is considered as procfs
* 2016-12-19 5.11.2.4
fix performance labels for HOSTRESOURCESMIB dev filesystems
* 2016-12-14 5.11.2.3
optimize uptime, no bulk for brocade sensors
* 2016-12-12 5.11.2.2
bluecoat disk usage can be overridden with own thresholds
* 2016-12-12 5.11.2.1
add JUNIPER-MIB
* 2016-12-12 5.11.2
fix in cisco asr lsmpi memory
skip thresholds for dev filesystem in HOSTRESOURCESMIB
* 2016-12-06 5.11.1
detect juniper pulse secure
juniper srx temperatures and leds
* 2016-11-29 5.11
reverse usage/free in hostresourcemib memory-usage, so the same thresholds can be use for every kind of device
mv juniper-mib to glplugin
add etherstats
* 2016-11-09 5.10.0.1
fix nexus sensor perfdata, metrics without thresh. were not shown (Thanks Dennis Knecht)
* 2016-10-29 5.10
add smart-home-device-temperature, add Comet DECT
* 2016-10-19 5.9.0.1
fix memory-usage for Catalyst L3 (which have empty CISCO-ENHANCED-MEMPOOL-MIB)
* 2016-10-10 5.9
add arista
add cisco small business
* 2016-09-30 5.8.1
add mode count-accesspoint-clients for cisco wlc
* 2016-09-20 5.8.0.2
don't use | in interface-availability ascii output for notifications
* 2016-09-19 5.8.0.1
fix pull request #107 (this was the last pull request i will accept for this plugin. sorry, if you are not able to test your contributions, go away)
* 2016-09-19 5.8
update ucd-diskio, cumulus
* 2016-08-12 5.7.1.4
update GLPlugin/Extraopts
* 2016-07-07 5.7.1.3
remove trailing Nul from Bintec memories
* 2016-07-07 5.7.1.2
Bintec doesn't like bulk requests
* 2016-06-16 5.7.1.1
repair a pull request.
* 2016-05-30 5.7.1
update GLPlugin
* 2016-05-28 5.7.0.3
bugfix in nortel hardware-checks. (Thanks trentasis)
* 2016-05-17 5.7.0.2
Do not check UCDMIB swap when there is no swap
* 2016-05-14 5.7.0.1
fix a typo in a filename (Thanks vifino)
* 2016-05-10 5.7
add Bintec Bibo (1202)
add Cisco ASA mode ha-role (including cluster-health check)
* 2016-05-10 5.6.1
fix detection of Pulse Secure Gateways
* 2016-05-06 5.6
more dhoffend pull requests (linux ucdmib memory, lmsensors)
* 2016-05-02 5.5
add vrrp-modes
dhoffend pull requests (linux ucdmib, lsmpio bugfix, hsrp multiple roles)
* 2016-03-29 5.4
add CISCO-STACKWISE-MIB
add processor index in cisco enhanced memory
* 2016-03-11 5.3.3
Use 64bit-counters from cisco-enhanced-mempool-mib if available (cisco bug CSCuu46705)
Merge pull request #61 from Napsty/checkpoint-mgmt
Merge pull request #67 from Napsty/list-detail-alias
Simplify interface code
* 2016-02-29 5.3.2
Merge pull request #64 Claudio Kuenzler
* 2016-02-25 5.3.1
bugfix in --ifspeed
* 2016-02-16 5.3
add mode chassis-hardware-health (for cisco)
* 2016-02-16 5.2.2
update checkpoint, use new mib
fallback if no cisco cpu index can be found
* 2016-02-15 5.2.1
refactor interface-usage, bugfix in list-interfaces
bugfix in link-aggregation-availability thresholds
* 2016-02-09 5.2
fix cisco bgp prefix count if no peers were found
small fix in interfaces, add flat_indices
bugfix in entity-sensor-mib
add glplugin submodule (Thanks k0ste)
pr #52 cisco-alarm-mib parse octets (Thanks dhoffend)
* 2015-12-20 5.1
Fix IOS-XE which no longer support the ENVMON MIB. Use FRU MIB instead. (Zhanks Daniel Hoffend, pull request #49)
* 2015-11-24 5.0
introduce new units (based on 1000 instead of 1024), will have an impact on interface perfdata thresholds
* 2015-11-24 4.8
add Huawei CloudEngine
pull request #45 chomp Checkpoint HA state (Thanks Claudio Kuenzler)
pull request #46 Add CheckPoint Power Supply Check (Thanks Claudio Kuenzler)
* 2015-11-18 4.7.1
detect CheckPoint IPSO (Thanks Claudio Kuenzler)
* 2015-11-05 4.7
fix standalone version
* 2015-10-22 4.6.1
add --mode interface-health to linux, solaris, windows
find more bluecoat models
* 2015-10-02 4.6
add --mode interface-health
* 2015-09-29 4.5
merge huawei h3c from lazyfrosch-hh3c-switches
output ifAlias in interface-modes (if it exists and != ifDescr)
* 2015-09-06 4.4
add rapid-city-mib
add entity-mib for cisco asa
* 2015-08-18 4.3.1
add ha-role for Aruba
* 2015-08-17 4.3
add Alcatel OmniAccess (Aruba)
* 2015-08-17 4.2.1
GLPlugin update
* 2015-07-31 4.2
pull request #36. bugfix in cisco asyncos keys (Thanks Frank Meischner)
pull request #25. cisco check-config more useful. (Thanks mhoogveld)
add Nortel S5-CHASSIS-MIB, works for 4526GTX
add OneAccess OneOS
add Solaris local interfaces
GLPlugin update
* 2015-07-03 4.1
add --count-bgp-prefixes for cisco
* 2015-06-28 4.0
--disable-standalone
add --watch-bgp-peers
add --reset for watch-bgp-peers
bugfix in f5-pool-checks, where oids are not available during a transition"
* 2015-06-25 3.5.4
allow --name dest/cidr for mode count-routes
* 2015-06-22 3.5.3
fix a bug in f5 member connection limit noSuchInstance
add mode count-routes (find mpls problems)
add mode count-bgp-peers
* 2015-05-06 3.5.2
add --community2 (necessary if there are different ospf contexts)
raise max-repetitions for table-bulk-requests (large number of interfaces)
* 2015-04-19 3.5.1
add LM-SENSOR-MIB
bugfix in thresholds of morphed performancedata
* 2015-04-09 3.5
implement ospf and modes ospf-neighbor-status and list-ospf-neighbors
* 2015-03-29 3.4.4.3
separate discards from errors in linuxlocal
* 2015-03-03 3.4.4.2
combine pool-connections and pool-completion for f5
finish pool-complections
* 2015-02-28 3.4.4.1
detect (not implement!) netgear
* 2015-02-26 3.4.4
add mode pool-connections for f5
* 2015-02-19 3.4.3
allow mitigation of admin down bgp peer
add morphperfdata
* 2015-01-30 3.4.2.8
bugfix in GLPlugin (multiple --negate)
* 2015-01-28 3.4.2.7
more trailing null cleanup. (Thanks Jörg Linge)
* 2015-01-27 3.4.2.6
bugfix in interface-usage windows+snmp+trailing null in ifDescr. (Thanks Jörg Linge)
* 2015-01-14 3.4.2.5
bugfix in interface-status and snmp-table-get (no more false 64bit interfaces)
* 2015-01-08 3.4.2.4
shorten interface-output with report=short
* 2015-01-05 3.4.2.3
fix a perl-bug in F5 (was introduced in 3.4.2)
* 2015-01-02 3.4.2.2
fix lsmpi_io for cisco asr1000 (Thanks Andreas Schulz)
fix Fritz!Box upnp control url (Thanks Bernd)
* 2014-12-23 3.4.2.1
use fallbacks to find fexes (cefexConfigTable may not be populated)
* 2014-12-16 3.4.2
use cefexConfigTable for mode watch-fexes
bugfix in cisco nexus sensors (had undef perl warnings)
* 2014-12-12 3.4.1
bugfix in bluecoat hardware (skip perfdata of missing psus)
* 2014-12-11 3.4
add vpn-status for cisco asa
* 2014-12-08 3.3
add windowslocal
* 2014-12-06 3.2.2
unique names for cisco cpus pointing to the same physical entity
* 2014-11-29 3.2.1
remove unnecessary use statement
finalize paloalto ha
make list-interfaces and update-cache faster
* 2014-11-18 3.2.0.1
hide some debug printfs
* 2014-11-10 3.2
add palo alto hardware, sensors, ha
make nexus cpu names unique
* 2014-11-02 3.1.1
bugfix my-modes
add paloaltomib
* 2014-09-26 3.1
add Clavister Firewall (Thanks Dirk Goetz)
fix GLPluginSNMP, all timeout-like errors are UNKNOWN
allow warningx/criticalx to override cisco sensor thresholds
* 2014-09-55 3.0.4
bugfix in glplugin (tmp-file-paths wrong under epn) (Thanks Sven Nierlein)
* 2014-09-15 3.0.3.9
bugfix in bgp error states (Thanks Matthias Gallinger)
bugfix in f5 pools (Thanks Sven Nierlein)
* 2014-08-28 3.0.3.8
bugfix in interface-usage/ifspeed (Thanks Matthias Gallinger)
* 2014-08-26 3.0.3.7
bugfix in glpluginsnmp (undef errors with loadbalacer index)
* 2014-08-25 3.0.3.6
bugfix in glpluginsnmp / (fritzbox cpu undef-error)
* 2014-08-22 3.0.3.5
bugfix in glplugin/uptime because of buggy snmpengineuptime
* 2014-08-21 3.0.3.4
bugfix in glplugin/uptime thresholds
* 2014-08-21 3.0.3.3
add a hack with --name2 which allows shortening of stupid interface names (make dmz1 from Adaptive Security Appliance 'dmz1' interface)
* 2014-08-20 3.0.3.2
update GLPluginSNMP (timeout handling)
* 2014-08-20 3.0.3.1
fix interfaces which seem to be 64bit but have no counters
* 2014-08-19 3.0.3
bugfix in offline mode
update GLPlugin
update GLPluginSNMP
* 2014-08-15 3.0.2.2
bugfix in ios memory criticalx/warningx thresholds
* 2014-08-14 3.0.2.1
update GLPluginSNMP
* 2014-08-14 3.0.2
improve interface-usage performance data
detect more brocade models
* 2014-08-13 3.0.1
bugfix in interface-usage temp-files
* 2014-08.01 3.0
jetzt langts mit der ridiseignerei
* 2014-03-17 3.0x
massive rewriting of the plugins structure and modules
repair malformed data returned by Net::SNMP
add interface-nat-rejects and interface-nat-session-count for IOS
add hardware-health for cisco asa
bugfix for old brocade devices and missing cpu/memory oids
bugfix in Cisco Call Manager
bugfix in IOS Memory for ASR 9000 image and reserved pool
bugfix in cisco wlc status
add hardware-health for cisco pix
add mode supportedmibs
last fallback alarm-mib for ios without envmon-mib
bugfix in timeticks for hp
bugfix in Nexus sensor thresholds (Thanks Marcel Fischer)
bugfix in snmp-bulk-gets, more secure fallbacks to get-next
bugfix in 64bit-interfaces
GLPlugin update & cleanup
get uptime from the FRAMEWORK-MIB to prevent rollovers
* 2014-02-07 2.6.5.2
add another cisco unified communication model
* 2014-01-31 2.6.5.1
handle a missing brocade fabric watch license in cpu-load & memory-usage
add CISCO-ENHANCED-MEMPOOL-MIB
* 2014-01-24 2.6.5
add mode --check-config, which finds unsaved (cisco only) configs (Thanks Simon Meggle)
* 2014-01-18 2.6.4.3
bugfix in uptime (Thanks Finn Christiansen)
* 2014-01-15 2.6.4.2
add http connection checks for bluecoat sg
* 2014-01-14 2.6.4
add cisco ccm
* 2014-01-11 2.6.3.1
support more SecureOS devices (i bought Juniper SSG5)
bugfix in upnp-detection
* 2013-12-21 2.6.3
output number of sessions for f5 bigip load balancer pools
deal with obviously wrong values from devices (20000% cpu usage)
foundry server load balancing
bugfix in interface-* for Juniper IVE
filter hsrp groups by name
* 2013-11-08
added support for role based login for Fritz Boxes (available since
FRITZ!OS 5.50). Use --community for password, --username for username if
role based security is switched on.
* 2013-11-09
bugfix for fritzbox
* 2013-11-08 2.6.1
hardware-health for Checkpoint Firewall-1
* 2013-11-07 2.6
finished bgp-peer-status (focus on as numbers with --name2)
admin down with --interface-status can have any level with --mitigation
* 2013-10-31 2.5.4.1
add Fujitsu Intelligent Blade Panel 30/12
* 2013-10-30 2.5.4
add bgp
* 2013-10-01 2.5.3
detect more brocade devices
* 2013-09-26 2.5.2.1
supress double output for html f5 pool members
* 2013-09-25 2.5.2
add html output for f5 pool members
* 2013-09-18 2.5.1.2
removed a leftover Data::Dumper (Thanks Frank Belau)
* 2013-09-17 2.5.1.1
bugfix in lsmpi_io memory pools of Cisco ASR (100% even with --warning/--critical)
* 2013-09-11 2.5.1
set a 100% threshold for lsmpi_io memory pools of Cisco ASR (Thanks James Clark & Perun)
* 2013-09-10 2.5
implemented offline mode with --snmpwalk & --offline
* 2013-09-03 2.4
add Cisco IronPort AsyncOS
* 2013-08-27 2.3
add Juniper IVE (ex. Pulse-Gateway MAG4610)
add count-connections for cisco asa
* 2013-07-11 2.2
add memory-usage for checkpoint
add detection for cpx
* 2013-07-09 2.1.1
skip non-interface files in /sys/class/net for servertype linuxlocal (Thanks Sven Nierlein)
better error handling on unwritable statefiles/dirs
* 2013-06-12 2.1
added "--servertype ifmib" so you can use "--mode interface*" with every kind of ifmib-capable device
* 2013-06-01 2.0
added support for AVM FRITZ!DECT 200 smart plug
* 2013-05-27 1.9.8.1
bugfix for the bugfix in commandline options (Thanks webspace Mario)
* 2013-05-23 1.9.8
add Brocade Communications Systems, Inc. ICX6610-24-HPOE, IronWare
bugfix in commandline options (Thanks TheCry)
* 2013-05-17 1.9.7.4
added another fallback for snmp-get_entries
fixed a bug in uptime (only first minute after reboot)
* 2013-04-20 1.9.7.3
fixed a bug in snmpwalk simulation and savestate
* 2013-04-08 1.9.7.2
bugfix, interfaces were shown twice in list-interfaces
* 2013-03-26 1.9.7.1
set automatic thresholds for link-aggregation-availability
* 2013-03-25 1.9.7
added link-aggregation-availability
* 2013-03-19 1.9.6
fixed a bug in interface-*
speedup in interface-* (with --name and 64bit)
added a hostname/community hash to statefiles
* 2013-02-13 1.9.5.1
fixed a bug deep inside snmp bulkwalks and lots of interfaces (Thanks Uestuen Oender)
* 2013-02-24 1.9.5
add interface-availability
* 2013-02-11 1.9.4
add Cisco Wireless LAN Controller 5500
* 2013-02-11 1.9.3.1
fixed a bug in statefiles with uppercase directory names. (Thanks Matthias Gallinger)
* 2013-02-10 1.9.3
add blue coat sg600
* 2013-02-02 1.9.2
removed my static ip from FRITZ!BOX interface-usage (Thanks Stef)
* 2013-01- 1.9.1
fixed a bug in FFritz!BOX uptime (Thanks Lars Urban)
3013-01 1.9
add uptime and interface-usage for AVM FRITZ!Box 7390
add cpu-load and memory-usage for AVM FRITZ!Box 7390
* 2013-01-13 1.8
-add cpu&memory check for juniper netscreen
* 2013-01-12 1.7.1
add a name caching mechanism for f5 bigip pools
* 2013-01-08 1.7
add f5 bigip pool completeness
add member info for failed f5 pools
* 2012-12-10 1.6
add checkpoint firewall-1
* 2012-11-23 1.5
add 64bit interfaces
* 2012-09-26 1.4.9.1
fix a bug in uptime calculation
* 2012-09-24 1.4.9
add hp procurve cpu-load and memory-usage
fix a bug in cisco memory perfdata
* 2012-08-28 1.4.8
add hp procurve hardware
* 2012-08-21 1.4.7.1
fix a bug in servertype locallinux, interfaces and --name (Thanks Simon Meggle)
* 2012-08-21 1.4.7
add f5 bigip
bugfix in mode uptime
* 2012-08-10 1.4.6
add mode uptime
* 2012-08-10 1.4.5.2
fix a bug in statefilesdir creation under omd
* 2012-08-02 1.4.5.1
add more hardware info for EMC-DS24M2 (McData Sphereon 4500)
* 2012-07-31 1.4.5
add UCD-MIB for SecureOS (McAfee Sidewinder)
* 2012-07-31 1.4.4
add fibre alliance mib sensor table for MeOS/DS-4700M
* 2012-07-20 1.4.3.1
add the index to interface names, if interfaces all have the same name
first experiments with MeOS
* 2012-07-12 1.4.3
fix a bug in the role parameter for hsrp
fix a temperature index where ios doesn't set the counter itself
add mib2-interface-modes to brocade fabos
* 2012-07-05 1.4.2
add mode encode for interface names with ' or "
* 2012-07-05 1.4.1
add --ifspeedin, --ifspeedout, --ifspeed (used for asymmetric mpls)
* 2012-06-22 1.4
add linux local interfaces (interface-usage/errors only) with --servertype linuxlocal
add mode walk
rename brocade300 -> fabos
* 2012-04-23 1.3
add mode list-interfaces-detail (Cisco only)
add brocade300 (hardware-health,memory-usage,cpu-load only)
* 2012-03-29 1.2
add support for Cisco Nexus (cpu, mem, )
add Nexus sensors
add Allied Telesyn (only interfaces so far)
* 2012-03-19 1.1.1.1
bugfix in list-hsrp-groups
--units KBi/MBi/GBi for interface-usage
* 2012-02-22 1.1.1
add mode hsrp-failover (Thanks Munich)
* 2012-02-22 1.1
add mode hsrp-state (Thanks Munich)
* 2012-01-05
some more debug messages
* 2012-01-04 1.0
Nortel devices are recognized. (only interfaces can be queried by now)
no official changes yet

View file

@ -1,613 +0,0 @@
package Monitoring::GLPlugin::Commandline;
use strict;
use IO::File;
use constant { OK => 0, WARNING => 1, CRITICAL => 2, UNKNOWN => 3, DEPENDENT => 4 };
our %ERRORS = (
'OK' => OK,
'WARNING' => WARNING,
'CRITICAL' => CRITICAL,
'UNKNOWN' => UNKNOWN,
'DEPENDENT' => DEPENDENT,
);
our %STATUS_TEXT = reverse %ERRORS;
our $AUTOLOAD;
sub new {
my ($class, %params) = @_;
require Monitoring::GLPlugin::Commandline::Getopt
if ! grep /BEGIN/, keys %Monitoring::GLPlugin::Commandline::Getopt::;
my $self = {
perfdata => [],
messages => {
ok => [],
warning => [],
critical => [],
unknown => [],
},
args => [],
opts => Monitoring::GLPlugin::Commandline::Getopt->new(%params),
modes => [],
statefilesdir => undef,
};
foreach (qw(shortname usage version url plugin blurb extra
license timeout)) {
$self->{$_} = $params{$_};
}
bless $self, $class;
$self->{plugin} ||= $Monitoring::GLPlugin::pluginname;
$self->{name} = $self->{plugin};
$Monitoring::GLPlugin::plugin = $self;
}
sub AUTOLOAD {
my ($self, @params) = @_;
return if ($AUTOLOAD =~ /DESTROY/);
$self->debug("AUTOLOAD %s\n", $AUTOLOAD)
if $self->{opts}->verbose >= 2;
if ($AUTOLOAD =~ /^.*::(add_arg|override_opt|create_opt)$/) {
$self->{opts}->$1(@params);
}
}
sub DESTROY {
my ($self) = @_;
# ohne dieses DESTROY rennt nagios_exit in obiges AUTOLOAD rein
# und fliegt aufs Maul, weil {opts} bereits nicht mehr existiert.
# Unerklaerliches Verhalten.
}
sub debug {
my ($self, $format, @message) = @_;
if ($self->opts->verbose && $self->opts->verbose > 10) {
printf("%s: ", scalar localtime);
printf($format, @message);
printf "\n";
}
if ($Monitoring::GLPlugin::tracefile) {
my $logfh = IO::File->new();
$logfh->autoflush(1);
if ($logfh->open($Monitoring::GLPlugin::tracefile, "a")) {
$logfh->printf("%s: ", scalar localtime);
$logfh->printf($format, @message);
$logfh->printf("\n");
$logfh->close();
}
}
}
sub opts {
my ($self) = @_;
return $self->{opts};
}
sub getopts {
my ($self) = @_;
$self->opts->getopts();
}
sub add_message {
my ($self, $code, @messages) = @_;
$code = (qw(ok warning critical unknown))[$code] if $code =~ /^\d+$/;
$code = lc $code;
push @{$self->{messages}->{$code}}, @messages;
}
sub selected_perfdata {
my ($self, $label) = @_;
if ($self->opts->can("selectedperfdata") && $self->opts->selectedperfdata) {
my $pattern = $self->opts->selectedperfdata;
return ($label =~ /$pattern/i) ? 1 : 0;
} else {
return 1;
}
}
sub add_perfdata {
my ($self, %args) = @_;
#printf "add_perfdata %s\n", Data::Dumper::Dumper(\%args);
#printf "add_perfdata %s\n", Data::Dumper::Dumper($self->{thresholds});
#
# wenn warning, critical, dann wird von oben ein expliziter wert mitgegeben
# wenn thresholds
# wenn label in
# warningx $self->{thresholds}->{$label}->{warning} existiert
# dann nimm $self->{thresholds}->{$label}->{warning}
# ansonsten thresholds->default->warning
#
my $label = $args{label};
my $value = $args{value};
my $uom = $args{uom} || "";
my $format = '%d';
if ($self->opts->can("morphperfdata") && $self->opts->morphperfdata) {
# 'Intel [R] Interface (\d+) usage'='nic$1'
foreach my $key (keys %{$self->opts->morphperfdata}) {
if ($label =~ /$key/) {
my $replacement = '"'.$self->opts->morphperfdata->{$key}.'"';
my $oldlabel = $label;
$label =~ s/$key/$replacement/ee;
if (exists $self->{thresholds}->{$oldlabel}) {
%{$self->{thresholds}->{$label}} = %{$self->{thresholds}->{$oldlabel}};
}
}
}
}
if ($value =~ /\./) {
if (defined $args{places}) {
$value = sprintf '%.'.$args{places}.'f', $value;
} else {
$value = sprintf "%.2f", $value;
}
} else {
$value = sprintf "%d", $value;
}
my $warn = "";
my $crit = "";
my $min = defined $args{min} ? $args{min} : "";
my $max = defined $args{max} ? $args{max} : "";
if ($args{thresholds} || (! exists $args{warning} && ! exists $args{critical})) {
if (exists $self->{thresholds}->{$label}->{warning}) {
$warn = $self->{thresholds}->{$label}->{warning};
} elsif (exists $self->{thresholds}->{default}->{warning}) {
$warn = $self->{thresholds}->{default}->{warning};
}
if (exists $self->{thresholds}->{$label}->{critical}) {
$crit = $self->{thresholds}->{$label}->{critical};
} elsif (exists $self->{thresholds}->{default}->{critical}) {
$crit = $self->{thresholds}->{default}->{critical};
}
} else {
if ($args{warning}) {
$warn = $args{warning};
}
if ($args{critical}) {
$crit = $args{critical};
}
}
if ($uom eq "%") {
$min = 0;
$max = 100;
}
if (defined $args{places}) {
# cut off excessive decimals which may be the result of a division
# length = places*2, no trailing zeroes
if ($warn ne "") {
$warn = join("", map {
s/\.0+$//; $_
} map {
s/(\.[1-9]+)0+$/$1/; $_
} map {
/[\+\-\d\.]+/ ? sprintf '%.'.2*$args{places}.'f', $_ : $_;
} split(/([\+\-\d\.]+)/, $warn));
}
if ($crit ne "") {
$crit = join("", map {
s/\.0+$//; $_
} map {
s/(\.[1-9]+)0+$/$1/; $_
} map {
/[\+\-\d\.]+/ ? sprintf '%.'.2*$args{places}.'f', $_ : $_;
} split(/([\+\-\d\.]+)/, $crit));
}
if ($min ne "") {
$min = join("", map {
s/\.0+$//; $_
} map {
s/(\.[1-9]+)0+$/$1/; $_
} map {
/[\+\-\d\.]+/ ? sprintf '%.'.2*$args{places}.'f', $_ : $_;
} split(/([\+\-\d\.]+)/, $min));
}
if ($max ne "") {
$max = join("", map {
s/\.0+$//; $_
} map {
s/(\.[1-9]+)0+$/$1/; $_
} map {
/[\+\-\d\.]+/ ? sprintf '%.'.2*$args{places}.'f', $_ : $_;
} split(/([\+\-\d\.]+)/, $max));
}
}
push @{$self->{perfdata}}, sprintf("'%s'=%s%s;%s;%s;%s;%s",
$label, $value, $uom, $warn, $crit, $min, $max)
if $self->selected_perfdata($label);
}
sub add_pandora {
my ($self, %args) = @_;
my $label = $args{label};
my $value = $args{value};
if ($args{help}) {
push @{$self->{pandora}}, sprintf("# HELP %s %s", $label, $args{help});
}
if ($args{type}) {
push @{$self->{pandora}}, sprintf("# TYPE %s %s", $label, $args{type});
}
if ($args{labels}) {
push @{$self->{pandora}}, sprintf("%s{%s} %s", $label,
join(",", map {
sprintf '%s="%s"', $_, $args{labels}->{$_};
} keys %{$args{labels}}),
$value);
} else {
push @{$self->{pandora}}, sprintf("%s %s", $label, $value);
}
}
sub add_html {
my ($self, $line) = @_;
push @{$self->{html}}, $line;
}
sub suppress_messages {
my ($self) = @_;
$self->{suppress_messages} = 1;
}
sub clear_messages {
my ($self, $code) = @_;
$code = (qw(ok warning critical unknown))[$code] if $code =~ /^\d+$/;
$code = lc $code;
$self->{messages}->{$code} = [];
}
sub reduce_messages_short {
my ($self, $message) = @_;
$message ||= "no problems";
if ($self->opts->report && $self->opts->report eq "short") {
$self->clear_messages(OK);
$self->add_message(OK, $message) if ! $self->check_messages();
}
}
sub reduce_messages {
my ($self, $message) = @_;
$message ||= "no problems";
$self->clear_messages(OK);
$self->add_message(OK, $message) if ! $self->check_messages();
}
sub check_messages {
my ($self, %args) = @_;
# Add object messages to any passed in as args
for my $code (qw(critical warning unknown ok)) {
my $messages = $self->{messages}->{$code} || [];
if ($args{$code}) {
unless (ref $args{$code} eq 'ARRAY') {
if ($code eq 'ok') {
$args{$code} = [ $args{$code} ];
}
}
push @{$args{$code}}, @$messages;
} else {
$args{$code} = $messages;
}
}
my %arg = %args;
$arg{join} = ' ' unless defined $arg{join};
# Decide $code
my $code = OK;
$code ||= CRITICAL if @{$arg{critical}};
$code ||= WARNING if @{$arg{warning}};
$code ||= UNKNOWN if @{$arg{unknown}};
return $code unless wantarray;
# Compose message
my $message = '';
if ($arg{join_all}) {
$message = join( $arg{join_all},
map { @$_ ? join( $arg{'join'}, @$_) : () }
$arg{critical},
$arg{warning},
$arg{unknown},
$arg{ok} ? (ref $arg{ok} ? $arg{ok} : [ $arg{ok} ]) : []
);
}
else {
$message ||= join( $arg{'join'}, @{$arg{critical}} )
if $code == CRITICAL;
$message ||= join( $arg{'join'}, @{$arg{warning}} )
if $code == WARNING;
$message ||= join( $arg{'join'}, @{$arg{unknown}} )
if $code == UNKNOWN;
$message ||= ref $arg{ok} ? join( $arg{'join'}, @{$arg{ok}} ) : $arg{ok}
if $arg{ok};
}
return ($code, $message);
}
sub status_code {
my ($self, $code) = @_;
$code = (qw(ok warning critical unknown))[$code] if $code =~ /^\d+$/;
$code = uc $code;
$code = $ERRORS{$code} if defined $code && exists $ERRORS{$code};
$code = UNKNOWN unless defined $code && exists $STATUS_TEXT{$code};
return "$STATUS_TEXT{$code}";
}
sub perfdata_string {
my ($self) = @_;
if (scalar (@{$self->{perfdata}})) {
return join(" ", @{$self->{perfdata}});
} else {
return "";
}
}
sub metrics_string {
my ($self) = @_;
if (scalar (@{$self->{metrics}})) {
return join("\n", @{$self->{metrics}});
} else {
return "";
}
}
sub html_string {
my ($self) = @_;
if (scalar (@{$self->{html}})) {
return join(" ", @{$self->{html}});
} else {
return "";
}
}
sub nagios_exit {
my ($self, $code, $message, $arg) = @_;
$code = $ERRORS{$code} if defined $code && exists $ERRORS{$code};
$code = UNKNOWN unless defined $code && exists $STATUS_TEXT{$code};
$message = '' unless defined $message;
if (ref $message && ref $message eq 'ARRAY') {
$message = join(' ', map { chomp; $_ } @$message);
} else {
chomp $message;
}
if ($self->opts->negate) {
my $original_code = $code;
foreach my $from (keys %{$self->opts->negate}) {
if ((uc $from) =~ /^(OK|WARNING|CRITICAL|UNKNOWN)$/ &&
(uc $self->opts->negate->{$from}) =~ /^(OK|WARNING|CRITICAL|UNKNOWN)$/) {
if ($original_code == $ERRORS{uc $from}) {
$code = $ERRORS{uc $self->opts->negate->{$from}};
}
}
}
}
my $output = "$STATUS_TEXT{$code}";
$output .= " - $message" if defined $message && $message ne '';
if ($self->opts->can("morphmessage") && $self->opts->morphmessage) {
# 'Intel [R] Interface (\d+) usage'='nic$1'
# '^OK.*'="alles klar" '^CRITICAL.*'="alles hi"
foreach my $key (keys %{$self->opts->morphmessage}) {
if ($output =~ /$key/) {
my $replacement = '"'.$self->opts->morphmessage->{$key}.'"';
$output =~ s/$key/$replacement/ee;
}
}
}
if ($self->opts->negate) {
# negate again: --negate "UNKNOWN - no peers"=ok
my $original_code = $code;
foreach my $from (keys %{$self->opts->negate}) {
if ((uc $from) !~ /^(OK|WARNING|CRITICAL|UNKNOWN)$/ &&
(uc $self->opts->negate->{$from}) =~ /^(OK|WARNING|CRITICAL|UNKNOWN)$/) {
if ($output =~ /$from/) {
$code = $ERRORS{uc $self->opts->negate->{$from}};
$output =~ s/^.*? -/$STATUS_TEXT{$code} -/;
}
}
}
}
$output =~ s/\|/!/g if $output;
if (scalar (@{$self->{perfdata}})) {
$output .= " | ".$self->perfdata_string();
}
$output .= "\n";
if ($self->opts->can("isvalidtime") && ! $self->opts->isvalidtime) {
$code = OK;
$output = "OK - outside valid timerange. check results are not relevant now. original message was: ".
$output;
}
if (! exists $self->{suppress_messages}) {
$output =~ s/[^[:ascii:]]//g;
print $output;
}
exit $code;
}
sub set_thresholds {
my ($self, %params) = @_;
if (exists $params{metric}) {
my $metric = $params{metric};
# erst die hartcodierten defaultschwellwerte
$self->{thresholds}->{$metric}->{warning} = $params{warning};
$self->{thresholds}->{$metric}->{critical} = $params{critical};
# dann die defaultschwellwerte von der kommandozeile
if (defined $self->opts->warning) {
$self->{thresholds}->{$metric}->{warning} = $self->opts->warning;
}
if (defined $self->opts->critical) {
$self->{thresholds}->{$metric}->{critical} = $self->opts->critical;
}
# dann die ganz spezifischen schwellwerte von der kommandozeile
if ($self->opts->warningx) { # muss nicht auf defined geprueft werden, weils ein hash ist
# Erst schauen, ob einer * beinhaltet. Von denen wird vom Laengsten
# bis zum Kuerzesten probiert, ob die matchen. Der laengste Match
# gewinnt.
my @keys = keys %{$self->opts->warningx};
my @stringkeys = ();
my @regexkeys = ();
foreach my $key (sort { length($b) > length($a) } @keys) {
if ($key =~ /\*/) {
push(@regexkeys, $key);
} else {
push(@stringkeys, $key);
}
}
foreach my $key (@regexkeys) {
next if $metric !~ /$key/;
$self->{thresholds}->{$metric}->{warning} = $self->opts->warningx->{$key};
last;
}
# Anschliessend nochmal schauen, ob es einen nicht-Regex-Volltreffer gibt
foreach my $key (@stringkeys) {
next if $key ne $metric;
$self->{thresholds}->{$metric}->{warning} = $self->opts->warningx->{$key};
last;
}
}
if ($self->opts->criticalx) {
my @keys = keys %{$self->opts->criticalx};
my @stringkeys = ();
my @regexkeys = ();
foreach my $key (sort { length($b) > length($a) } @keys) {
if ($key =~ /\*/) {
push(@regexkeys, $key);
} else {
push(@stringkeys, $key);
}
}
foreach my $key (@regexkeys) {
next if $metric !~ /$key/;
$self->{thresholds}->{$metric}->{critical} = $self->opts->criticalx->{$key};
last;
}
# Anschliessend nochmal schauen, ob es einen nicht-Regex-Volltreffer gibt
foreach my $key (@stringkeys) {
next if $key ne $metric;
$self->{thresholds}->{$metric}->{critical} = $self->opts->criticalx->{$key};
last;
}
}
} else {
$self->{thresholds}->{default}->{warning} =
defined $self->opts->warning ? $self->opts->warning : defined $params{warning} ? $params{warning} : 0;
$self->{thresholds}->{default}->{critical} =
defined $self->opts->critical ? $self->opts->critical : defined $params{critical} ? $params{critical} : 0;
}
}
sub force_thresholds {
my ($self, %params) = @_;
if (exists $params{metric}) {
my $metric = $params{metric};
$self->{thresholds}->{$metric}->{warning} = $params{warning} || 0;
$self->{thresholds}->{$metric}->{critical} = $params{critical} || 0;
} else {
$self->{thresholds}->{default}->{warning} = $params{warning} || 0;
$self->{thresholds}->{default}->{critical} = $params{critical} || 0;
}
}
sub get_thresholds {
my ($self, @params) = @_;
if (scalar(@params) > 1) {
my %params = @params;
my $metric = $params{metric};
return ($self->{thresholds}->{$metric}->{warning},
$self->{thresholds}->{$metric}->{critical});
} else {
return ($self->{thresholds}->{default}->{warning},
$self->{thresholds}->{default}->{critical});
}
}
sub check_thresholds {
my ($self, @params) = @_;
my $level = $ERRORS{OK};
my $warningrange;
my $criticalrange;
my $value;
if (scalar(@params) > 1) {
my %params = @params;
$value = $params{value};
my $metric = $params{metric};
if ($metric ne 'default') {
$warningrange = defined $params{warning} ? $params{warning} :
(exists $self->{thresholds}->{$metric}->{warning} ?
$self->{thresholds}->{$metric}->{warning} :
$self->{thresholds}->{default}->{warning});
$criticalrange = defined $params{critical} ? $params{critical} :
(exists $self->{thresholds}->{$metric}->{critical} ?
$self->{thresholds}->{$metric}->{critical} :
$self->{thresholds}->{default}->{critical});
} else {
$warningrange = (defined $params{warning}) ?
$params{warning} : $self->{thresholds}->{default}->{warning};
$criticalrange = (defined $params{critical}) ?
$params{critical} : $self->{thresholds}->{default}->{critical};
}
} else {
$value = $params[0];
$warningrange = $self->{thresholds}->{default}->{warning};
$criticalrange = $self->{thresholds}->{default}->{critical};
}
if (! defined $warningrange) {
# there was no set_thresholds for defaults, no --warning, no --warningx
} elsif ($warningrange =~ /^([-+]?[0-9]*\.?[0-9]+)$/) {
# warning = 10, warn if > 10 or < 0
$level = $ERRORS{WARNING}
if ($value > $1 || $value < 0);
} elsif ($warningrange =~ /^([-+]?[0-9]*\.?[0-9]+):$/) {
# warning = 10:, warn if < 10
$level = $ERRORS{WARNING}
if ($value < $1);
} elsif ($warningrange =~ /^~:([-+]?[0-9]*\.?[0-9]+)$/) {
# warning = ~:10, warn if > 10
$level = $ERRORS{WARNING}
if ($value > $1);
} elsif ($warningrange =~ /^([-+]?[0-9]*\.?[0-9]+):([-+]?[0-9]*\.?[0-9]+)$/) {
# warning = 10:20, warn if < 10 or > 20
$level = $ERRORS{WARNING}
if ($value < $1 || $value > $2);
} elsif ($warningrange =~ /^@([-+]?[0-9]*\.?[0-9]+):([-+]?[0-9]*\.?[0-9]+)$/) {
# warning = @10:20, warn if >= 10 and <= 20
$level = $ERRORS{WARNING}
if ($value >= $1 && $value <= $2);
}
if (! defined $criticalrange) {
# there was no set_thresholds for defaults, no --critical, no --criticalx
} elsif ($criticalrange =~ /^([-+]?[0-9]*\.?[0-9]+)$/) {
# critical = 10, crit if > 10 or < 0
$level = $ERRORS{CRITICAL}
if ($value > $1 || $value < 0);
} elsif ($criticalrange =~ /^([-+]?[0-9]*\.?[0-9]+):$/) {
# critical = 10:, crit if < 10
$level = $ERRORS{CRITICAL}
if ($value < $1);
} elsif ($criticalrange =~ /^~:([-+]?[0-9]*\.?[0-9]+)$/) {
# critical = ~:10, crit if > 10
$level = $ERRORS{CRITICAL}
if ($value > $1);
} elsif ($criticalrange =~ /^([-+]?[0-9]*\.?[0-9]+):([-+]?[0-9]*\.?[0-9]+)$/) {
# critical = 10:20, crit if < 10 or > 20
$level = $ERRORS{CRITICAL}
if ($value < $1 || $value > $2);
} elsif ($criticalrange =~ /^@([-+]?[0-9]*\.?[0-9]+):([-+]?[0-9]*\.?[0-9]+)$/) {
# critical = @10:20, crit if >= 10 and <= 20
$level = $ERRORS{CRITICAL}
if ($value >= $1 && $value <= $2);
}
return $level;
}
sub strequal {
my($self, $str1, $str2) = @_;
return 1 if ! defined $str1 && ! defined $str2;
return 0 if ! defined $str1 && defined $str2;
return 0 if defined $str1 && ! defined $str2;
return 1 if $str1 eq $str2;
return 0;
}
1;
__END__

View file

@ -1,104 +0,0 @@
package Monitoring::GLPlugin::Commandline::Extraopts;
use strict;
use File::Basename;
use strict;
sub new {
my $class = shift;
my %params = @_;
my $self = {
file => $params{file},
commandline => $params{commandline},
config => {},
section => 'default_no_section',
};
bless $self, $class;
$self->prepare_file_and_section();
$self->init();
return $self;
}
sub prepare_file_and_section {
my $self = shift;
if (! defined $self->{file}) {
# ./check_stuff --extra-opts
$self->{section} = basename($0);
$self->{file} = $self->get_default_file();
} elsif ($self->{file} =~ /^[^@]+$/) {
# ./check_stuff --extra-opts=special_opts
$self->{section} = $self->{file};
$self->{file} = $self->get_default_file();
} elsif ($self->{file} =~ /^@(.*)/) {
# ./check_stuff --extra-opts=@/etc/myconfig.ini
$self->{section} = basename($0);
$self->{file} = $1;
} elsif ($self->{file} =~ /^(.*?)@(.*)/) {
# ./check_stuff --extra-opts=special_opts@/etc/myconfig.ini
$self->{section} = $1;
$self->{file} = $2;
}
}
sub get_default_file {
my $self = shift;
foreach my $default (qw(/etc/nagios/plugins.ini
/usr/local/nagios/etc/plugins.ini
/usr/local/etc/nagios/plugins.ini
/etc/opt/nagios/plugins.ini
/etc/nagios-plugins.ini
/usr/local/etc/nagios-plugins.ini
/etc/opt/nagios-plugins.ini)) {
if (-f $default) {
return $default;
}
}
return undef;
}
sub init {
my $self = shift;
if (! defined $self->{file}) {
$self->{errors} = sprintf 'no extra-opts file specified and no default file found';
} elsif (! -f $self->{file}) {
$self->{errors} = sprintf 'could not open %s', $self->{file};
} else {
my $data = do { local (@ARGV, $/) = $self->{file}; <> };
my $in_section = 'default_no_section';
foreach my $line (split(/\n/, $data)) {
if ($line =~ /\[(.*)\]/) {
$in_section = $1;
} elsif ($line =~ /(.*?)\s*=\s*(.*)/) {
$self->{config}->{$in_section}->{$1} = $2;
}
}
}
}
sub is_valid {
my $self = shift;
return ! exists $self->{errors};
}
sub overwrite {
my $self = shift;
if (scalar(keys %{$self->{config}->{default_no_section}}) > 0) {
foreach (keys %{$self->{config}->{default_no_section}}) {
$self->{commandline}->{$_} = $self->{config}->{default_no_section}->{$_};
}
}
if (exists $self->{config}->{$self->{section}}) {
foreach (keys %{$self->{config}->{$self->{section}}}) {
$self->{commandline}->{$_} = $self->{config}->{$self->{section}}->{$_};
}
}
}
sub errors {
my $self = shift;
return $self->{errors} || "";
}
1;
__END__

View file

@ -1,265 +0,0 @@
package Monitoring::GLPlugin::Commandline::Getopt;
use strict;
use File::Basename;
use Getopt::Long qw(:config no_ignore_case bundling);
# Standard defaults
my %DEFAULT = (
timeout => 15,
verbose => 0,
license =>
"This monitoring plugin is free software, and comes with ABSOLUTELY NO WARRANTY.
It may be used, redistributed and/or modified under the terms of the GNU
General Public Licence (see http://www.fsf.org/licensing/licenses/gpl.txt).",
);
# Standard arguments
my @ARGS = ({
spec => 'usage|?',
help => "-?, --usage\n Print usage information",
}, {
spec => 'help|h',
help => "-h, --help\n Print detailed help screen",
}, {
spec => 'version|V',
help => "-V, --version\n Print version information",
}, {
#spec => 'extra-opts:s@',
#help => "--extra-opts=[<section>[@<config_file>]]\n Section and/or config_file from which to load extra options (may repeat)",
}, {
spec => 'timeout|t=i',
help => sprintf("-t, --timeout=INTEGER\n Seconds before plugin times out (default: %s)", $DEFAULT{timeout}),
default => $DEFAULT{timeout},
}, {
spec => 'verbose|v+',
help => "-v, --verbose\n Show details for command-line debugging (can repeat up to 3 times)",
default => $DEFAULT{verbose},
},
);
# Standard arguments we traditionally display last in the help output
my %DEFER_ARGS = map { $_ => 1 } qw(timeout verbose);
sub _init {
my ($self, %params) = @_;
# Check params
my %attr = (
usage => 1,
version => 0,
url => 0,
plugin => { default => $Monitoring::GLPlugin::pluginname },
blurb => 0,
extra => 0,
'extra-opts' => 0,
license => { default => $DEFAULT{license} },
timeout => { default => $DEFAULT{timeout} },
);
# Add attr to private _attr hash (except timeout)
$self->{timeout} = delete $attr{timeout};
$self->{_attr} = { %attr };
foreach (keys %{$self->{_attr}}) {
if (exists $params{$_}) {
$self->{_attr}->{$_} = $params{$_};
} else {
$self->{_attr}->{$_} = $self->{_attr}->{$_}->{default}
if ref ($self->{_attr}->{$_}) eq 'HASH' &&
exists $self->{_attr}->{$_}->{default};
}
}
# Chomp _attr values
chomp foreach values %{$self->{_attr}};
# Setup initial args list
$self->{_args} = [ grep { exists $_->{spec} } @ARGS ];
$self
}
sub new {
my ($class, @params) = @_;
require Monitoring::GLPlugin::Commandline::Extraopts
if ! grep /BEGIN/, keys %Monitoring::GLPlugin::Commandline::Extraopts::;
my $self = bless {}, $class;
$self->_init(@params);
}
sub decode_rfc3986 {
my ($self, $password) = @_;
if ($password && $password =~ /^rfc3986:\/\/(.*)/) {
$password = $1;
$password =~ s/%([A-Za-z0-9]{2})/chr(hex($1))/seg;
}
return $password;
}
sub add_arg {
my ($self, %arg) = @_;
push (@{$self->{_args}}, \%arg);
}
sub mod_arg {
my ($self, $argname, %arg) = @_;
foreach my $old_arg (@{$self->{_args}}) {
next unless $old_arg->{spec} =~ /(\w+).*/ && $argname eq $1;
foreach my $key (keys %arg) {
$old_arg->{$key} = $arg{$key};
}
}
}
sub getopts {
my ($self) = @_;
my %commandline = ();
$self->{opts}->{all_my_opts} = {};
my @params = map { $_->{spec} } @{$self->{_args}};
if (! GetOptions(\%commandline, @params)) {
$self->print_help();
exit 3;
} else {
no strict 'refs';
no warnings 'redefine';
if (exists $commandline{'extra-opts'}) {
# read the extra file and overwrite other parameters
my $extras = Monitoring::GLPlugin::Commandline::Extraopts->new(
file => $commandline{'extra-opts'},
commandline => \%commandline
);
if (! $extras->is_valid()) {
printf "UNKNOWN - extra-opts are not valid: %s\n", $extras->errors();
exit 3;
} else {
$extras->overwrite();
}
}
do { $self->print_help(); exit 0; } if $commandline{help};
do { $self->print_version(); exit 0 } if $commandline{version};
do { $self->print_usage(); exit 3 } if $commandline{usage};
foreach (map { $_->{spec} =~ /^([\w\-]+)/; $1; } @{$self->{_args}}) {
my $field = $_;
*{"$field"} = sub {
return $self->{opts}->{$field};
};
}
*{"all_my_opts"} = sub {
return $self->{opts}->{all_my_opts};
};
foreach (@{$self->{_args}}) {
$_->{spec} =~ /^([\w\-]+)/;
my $spec = $1;
my $envname = uc $spec;
$envname =~ s/\-/_/g;
if (! exists $commandline{$spec}) {
# Kommandozeile hat oberste Prioritaet
# Also: --option ueberschreibt NAGIOS__HOSTOPTION
# Aaaaber: extra-opts haben immer noch Vorrang vor allem anderen.
# https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html
# beschreibt das anders, Posix-Tools verhalten sich auch entsprechend.
# Irgendwann wird das hier daher umgeschrieben, so dass extra-opts
# die niedrigste Prioritaet erhalten.
if (exists $ENV{'NAGIOS__SERVICE'.$envname}) {
$commandline{$spec} = $ENV{'NAGIOS__SERVICE'.$envname};
} elsif (exists $ENV{'NAGIOS__HOST'.$envname}) {
$commandline{$spec} = $ENV{'NAGIOS__HOST'.$envname};
}
}
$self->{opts}->{$spec} = $_->{default};
}
foreach (map { $_->{spec} =~ /^([\w\-]+)/; $1; }
grep { exists $_->{required} && $_->{required} } @{$self->{_args}}) {
do { $self->print_usage(); exit 3 } if ! exists $commandline{$_};
}
foreach (grep { exists $_->{default} } @{$self->{_args}}) {
$_->{spec} =~ /^([\w\-]+)/;
my $spec = $1;
$self->{opts}->{$spec} = $_->{default};
}
foreach (keys %commandline) {
$self->{opts}->{$_} = $commandline{$_};
$self->{opts}->{all_my_opts}->{$_} = $commandline{$_};
}
foreach (grep { exists $_->{env} } @{$self->{_args}}) {
$_->{spec} =~ /^([\w\-]+)/;
my $spec = $1;
if (exists $ENV{'NAGIOS__HOST'.$_->{env}}) {
$self->{opts}->{$spec} = $ENV{'NAGIOS__HOST'.$_->{env}};
}
if (exists $ENV{'NAGIOS__SERVICE'.$_->{env}}) {
$self->{opts}->{$spec} = $ENV{'NAGIOS__SERVICE'.$_->{env}};
}
}
foreach (grep { exists $_->{aliasfor} } @{$self->{_args}}) {
my $field = $_->{aliasfor};
$_->{spec} =~ /^([\w\-]+)/;
my $aliasfield = $1;
next if $self->{opts}->{$field};
$self->{opts}->{$field} = $self->{opts}->{$aliasfield};
*{"$field"} = sub {
return $self->{opts}->{$field};
};
}
foreach (grep { exists $_->{decode} } @{$self->{_args}}) {
my $decoding = $_->{decode};
$_->{spec} =~ /^([\w\-]+)/;
my $spec = $1;
if (exists $self->{opts}->{$spec}) {
if ($decoding eq "rfc3986") {
$self->{opts}->{$spec} =
$self->decode_rfc3986($self->{opts}->{$spec});
}
}
}
}
}
sub create_opt {
my ($self, $key) = @_;
no strict 'refs';
*{"$key"} = sub {
return $self->{opts}->{$key};
};
}
sub override_opt {
my ($self, $key, $value) = @_;
$self->{opts}->{$key} = $value;
}
sub get {
my ($self, $opt) = @_;
return $self->{opts}->{$opt};
}
sub print_help {
my ($self) = @_;
$self->print_version();
printf "\n%s\n", $self->{_attr}->{license};
printf "\n%s\n\n", $self->{_attr}->{blurb};
$self->print_usage();
foreach (grep {
! (exists $_->{hidden} && $_->{hidden})
} @{$self->{_args}}) {
printf " %s\n", $_->{help};
}
}
sub print_usage {
my ($self) = @_;
printf $self->{_attr}->{usage}, $self->{_attr}->{plugin};
print "\n";
}
sub print_version {
my ($self) = @_;
printf "%s %s", $self->{_attr}->{plugin}, $self->{_attr}->{version};
printf " [%s]", $self->{_attr}->{url} if $self->{_attr}->{url};
print "\n";
}
sub print_license {
my ($self) = @_;
printf "%s\n", $self->{_attr}->{license};
print "\n";
}
1;
__END__

View file

@ -1,70 +0,0 @@
package Monitoring::GLPlugin::Item;
our @ISA = qw(Monitoring::GLPlugin);
use strict;
sub new {
my ($class, %params) = @_;
my $self = {
blacklisted => 0,
info => undef,
extendedinfo => undef,
};
bless $self, $class;
$self->init(%params);
return $self;
}
sub check {
my ($self, $lists) = @_;
my @lists = $lists ? @{$lists} : grep { ref($self->{$_}) eq "ARRAY" } keys %{$self};
foreach my $list (@lists) {
$self->add_info('checking '.$list);
foreach my $element (@{$self->{$list}}) {
$element->blacklist() if $self->is_blacklisted();
$element->check();
}
}
}
sub init_subsystems {
my ($self, $subsysref) = @_;
foreach (@{$subsysref}) {
my ($subsys, $class) = @{$_};
$self->{$subsys} = $class->new()
if (! $self->opts->subsystem || grep {
$_ eq $subsys;
} map {
s/^\s+|\s+$//g;
$_;
} split /,/, $self->opts->subsystem);
}
}
sub check_subsystems {
my ($self) = @_;
my @subsystems = grep { $_ =~ /.*_subsystem$/ } keys %{$self};
foreach (@subsystems) {
$self->{$_}->check();
}
$self->reduce_messages_short(join(", ",
map {
sprintf "%s working fine", $_;
} map {
s/^\s+|\s+$//g;
$_;
} split /,/, $self->opts->subsystem
)) if $self->opts->subsystem;
}
sub dump_subsystems {
my ($self) = @_;
my @subsystems = grep { $_ =~ /.*_subsystem$/ } keys %{$self};
foreach (@subsystems) {
$self->{$_}->dump();
}
}
1;
__END__

View file

@ -1,38 +0,0 @@
package Monitoring::GLPlugin::SNMP::CSF;
#our @ISA = qw(Monitoring::GLPlugin::SNMP);
use Digest::MD5 qw(md5_hex);
use strict;
sub create_statefile {
my ($self, %params) = @_;
my $extension = "";
$extension .= $params{name} ? '_'.$params{name} : '';
if ($self->opts->community) {
$extension .= md5_hex($self->opts->community);
}
if ($self->opts->contextname) {
$extension .= $self->opts->contextname;
}
$extension =~ s/\//_/g;
$extension =~ s/\(/_/g;
$extension =~ s/\)/_/g;
$extension =~ s/\*/_/g;
$extension =~ s/\s/_/g;
if ($self->opts->snmpwalk && ! $self->opts->hostname) {
return sprintf "%s/%s_%s%s", $self->statefilesdir(),
'snmpwalk.file'.md5_hex($self->opts->snmpwalk),
$self->clean_path($self->mode), $self->clean_path(lc $extension);
} elsif ($self->opts->snmpwalk && $self->opts->hostname eq "walkhost") {
return sprintf "%s/%s_%s%s", $self->statefilesdir(),
'snmpwalk.file'.md5_hex($self->opts->snmpwalk),
$self->clean_path($self->mode), $self->clean_path(lc $extension);
} else {
return sprintf "%s/%s_%s%s", $self->statefilesdir(),
$self->opts->hostname,
$self->clean_path($self->mode), $self->clean_path(lc $extension);
}
}
1;
__END__

View file

@ -1,7 +0,0 @@
package Monitoring::GLPlugin::SNMP::Item;
our @ISA = qw(Monitoring::GLPlugin::SNMP::CSF Monitoring::GLPlugin::Item Monitoring::GLPlugin::SNMP);
use strict;
1;
__END__

View file

@ -1,16 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids;
our @ISA = qw(Monitoring::GLPlugin::SNMP);
{
no warnings qw(once);
$Monitoring::GLPlugin::SNMP::MibsAndOids::discover_ids = {};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mib_ids = {};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids = {};
$Monitoring::GLPlugin::SNMP::MibsAndOids::definitions = {};
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin = {};
}
1;
__END__

View file

@ -1,101 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::ADONISDNSMIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'ADONIS-DNS-MIB'} = {
url => '',
name => 'ADONIS-DNS-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mib_ids->{'ADONIS-DNS-MIB'} =
'1.3.6.1.4.1.13315.100.101';
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'ADONIS-DNS-MIB'} = {
'adonis' => '1.3.6.1.4.1.13315.100.101',
'adonisObjects' => '1.3.6.1.4.1.13315.100.101.1',
'dns' => '1.3.6.1.4.1.13315.100.101.1.1',
'dnsDaemon' => '1.3.6.1.4.1.13315.100.101.1.1.1',
'dnsDaemonRunning' => '1.3.6.1.4.1.13315.100.101.1.1.1.1',
'dnsDaemonNumberOfZones' => '1.3.6.1.4.1.13315.100.101.1.1.1.2',
'dnsDaemonDebugLevel' => '1.3.6.1.4.1.13315.100.101.1.1.1.3',
'dnsDaemonZoneTransfersInProgress' => '1.3.6.1.4.1.13315.100.101.1.1.1.4',
'dnsDaemonZoneTransfersDeferred' => '1.3.6.1.4.1.13315.100.101.1.1.1.5',
'dnsDaemonSOAQueriesInProgress' => '1.3.6.1.4.1.13315.100.101.1.1.1.6',
'dnsDaemonQueryLoggingState' => '1.3.6.1.4.1.13315.100.101.1.1.1.7',
'dnsDaemonZoneTransferFailure' => '1.3.6.1.4.1.13315.100.101.1.1.1.8',
'dnsStats' => '1.3.6.1.4.1.13315.100.101.1.1.2',
'dnsStatsSuccess' => '1.3.6.1.4.1.13315.100.101.1.1.2.1',
'dnsStatsReferral' => '1.3.6.1.4.1.13315.100.101.1.1.2.2',
'dnsStatsNXRRSet' => '1.3.6.1.4.1.13315.100.101.1.1.2.3',
'dnsStatsNXDomain' => '1.3.6.1.4.1.13315.100.101.1.1.2.4',
'dnsStatsRecursion' => '1.3.6.1.4.1.13315.100.101.1.1.2.5',
'dnsStatsFailure' => '1.3.6.1.4.1.13315.100.101.1.1.2.6',
'dhcp' => '1.3.6.1.4.1.13315.100.101.1.2',
'dhcpDaemon' => '1.3.6.1.4.1.13315.100.101.1.2.1',
'dhcpDaemonRunning' => '1.3.6.1.4.1.13315.100.101.1.2.1.1',
'dhcpDaemonSubnetAlert' => '1.3.6.1.4.1.13315.100.101.1.2.1.2',
'dhcpDaemonLeaseStatsSuccess' => '1.3.6.1.4.1.13315.100.101.1.2.1.3',
'dhcpFailOverState' => '1.3.6.1.4.1.13315.100.101.1.2.1.4',
'dhcpStats' => '1.3.6.1.4.1.13315.100.101.1.2.2',
'dhcpLeaseTable' => '1.3.6.1.4.1.13315.100.101.1.2.2.1',
'dhcpLeaseEntry' => '1.3.6.1.4.1.13315.100.101.1.2.2.1.1',
'dhcpIP' => '1.3.6.1.4.1.13315.100.101.1.2.2.1.1.1',
'dhcpLeaseStartTime' => '1.3.6.1.4.1.13315.100.101.1.2.2.1.1.2',
'dhcpLeaseEndTime' => '1.3.6.1.4.1.13315.100.101.1.2.2.1.1.3',
'dhcpLeaseTimeStamp' => '1.3.6.1.4.1.13315.100.101.1.2.2.1.1.4',
'dhcpLeaseBindState' => '1.3.6.1.4.1.13315.100.101.1.2.2.1.1.5',
'dhcpLeaseBindStateDefinition' => 'ADONIS-DNS-MIB::dhcpLeaseBindState',
'dhcpLeaseHardwareAddress' => '1.3.6.1.4.1.13315.100.101.1.2.2.1.1.6',
'dhcpLeaseHostname' => '1.3.6.1.4.1.13315.100.101.1.2.2.1.1.7',
'dhcpSubnetTable' => '1.3.6.1.4.1.13315.100.101.1.2.2.2',
'dhcpSubnetEntry' => '1.3.6.1.4.1.13315.100.101.1.2.2.2.1',
'dhcpSubnetIP' => '1.3.6.1.4.1.13315.100.101.1.2.2.2.1.1',
'dhcpSubnetMask' => '1.3.6.1.4.1.13315.100.101.1.2.2.2.1.2',
'dhcpSubnetSize' => '1.3.6.1.4.1.13315.100.101.1.2.2.2.1.3',
'dhcpSubnetUsed' => '1.3.6.1.4.1.13315.100.101.1.2.2.2.1.4',
'dhcpSubnetAlert' => '1.3.6.1.4.1.13315.100.101.1.2.2.2.1.5',
'dhcpPoolTable' => '1.3.6.1.4.1.13315.100.101.1.2.2.3',
'dhcpPoolEntry' => '1.3.6.1.4.1.13315.100.101.1.2.2.3.1',
'dhcpPoolSubnetIP' => '1.3.6.1.4.1.13315.100.101.1.2.2.3.1.1',
'dhcpPoolStartIP' => '1.3.6.1.4.1.13315.100.101.1.2.2.3.1.2',
'dhcpPoolEndIP' => '1.3.6.1.4.1.13315.100.101.1.2.2.3.1.3',
'dhcpPoolSize' => '1.3.6.1.4.1.13315.100.101.1.2.2.3.1.4',
'dhcpPoolUsed' => '1.3.6.1.4.1.13315.100.101.1.2.2.3.1.5',
'dhcpPoolAlert' => '1.3.6.1.4.1.13315.100.101.1.2.2.3.1.6',
'dhcpConfig' => '1.3.6.1.4.1.13315.100.101.1.2.3',
'dhcpFixedIPTable' => '1.3.6.1.4.1.13315.100.101.1.2.3.1',
'dhcpFixedIPEntry' => '1.3.6.1.4.1.13315.100.101.1.2.3.1.1',
'dhcpFixedIP' => '1.3.6.1.4.1.13315.100.101.1.2.3.1.1.1',
'ha' => '1.3.6.1.4.1.13315.100.101.1.3',
'haService' => '1.3.6.1.4.1.13315.100.101.1.3.1',
'haServiceRunning' => '1.3.6.1.4.1.13315.100.101.1.3.1.1',
'haServiceNodeType' => '1.3.6.1.4.1.13315.100.101.1.3.1.2',
'haReplicationBinding' => '1.3.6.1.4.1.13315.100.101.1.3.1.3',
'commandServer' => '1.3.6.1.4.1.13315.100.101.1.4',
'commandServerDaemon' => '1.3.6.1.4.1.13315.100.101.1.4.1',
'commandServerDaemonRunning' => '1.3.6.1.4.1.13315.100.101.1.4.1.1',
'lcd' => '1.3.6.1.4.1.13315.100.101.1.5',
'lcdDaemon' => '1.3.6.1.4.1.13315.100.101.1.5.1',
'licenseValid' => '1.3.6.1.4.1.13315.100.101.1.5.1.1',
'licenseExpiry' => '1.3.6.1.4.1.13315.100.101.1.5.1.2',
'tftp' => '1.3.6.1.4.1.13315.100.101.1.6',
'tftpDaemon' => '1.3.6.1.4.1.13315.100.101.1.6.1',
'tftpDaemonRunning' => '1.3.6.1.4.1.13315.100.101.1.6.1.1',
'system' => '1.3.6.1.4.1.13315.100.101.1.7',
'systemDaemon' => '1.3.6.1.4.1.13315.100.101.1.7.1',
'systemState' => '1.3.6.1.4.1.13315.100.101.1.7.1.1',
'adonisTraps' => '1.3.6.1.4.1.13315.100.101.2',
'trapDNS' => '1.3.6.1.4.1.13315.100.101.2.1',
'trapHA' => '1.3.6.1.4.1.13315.100.101.2.2',
'trapCommandServer' => '1.3.6.1.4.1.13315.100.101.2.3',
'trapDHCP' => '1.3.6.1.4.1.13315.100.101.2.4',
'trapReplication' => '1.3.6.1.4.1.13315.100.101.2.5',
'trapTFTP' => '1.3.6.1.4.1.13315.100.101.2.6',
'trapSystem' => '1.3.6.1.4.1.13315.100.101.2.7',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::definitions->{'ADONIS-DNS-MIB'} = {
'dhcpLeaseBindState' => {
'0' => 'free',
'1' => 'active',
'2' => 'fixed',
},
};

View file

@ -1,284 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::ADSLLINEMIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'ADSL-LINE-MIB'} = {
url => '',
name => 'ADSL-LINE-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mib_ids->{'ADSL-LINE-MIB'} =
'1.3.6.1.2.1.10.94.1';
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'ADSL-LINE-MIB'} = {
adslMIB => '1.3.6.1.2.1.10.94',
adslLineMib => '1.3.6.1.2.1.10.94.1',
adslMibObjects => '1.3.6.1.2.1.10.94.1.1',
adslLineTable => '1.3.6.1.2.1.10.94.1.1.1',
adslLineEntry => '1.3.6.1.2.1.10.94.1.1.1.1',
adslLineCoding => '1.3.6.1.2.1.10.94.1.1.1.1.1',
adslLineCodingDefinition => 'ADSL-LINE-MIB::adslLineCoding',
adslLineType => '1.3.6.1.2.1.10.94.1.1.1.1.2',
adslLineTypeDefinition => 'ADSL-LINE-MIB::adslLineType',
adslLineSpecific => '1.3.6.1.2.1.10.94.1.1.1.1.3',
adslLineConfProfile => '1.3.6.1.2.1.10.94.1.1.1.1.4',
adslLineAlarmConfProfile => '1.3.6.1.2.1.10.94.1.1.1.1.5',
adslAtucPhysTable => '1.3.6.1.2.1.10.94.1.1.2',
adslAtucPhysEntry => '1.3.6.1.2.1.10.94.1.1.2.1',
adslAtucInvSerialNumber => '1.3.6.1.2.1.10.94.1.1.2.1.1',
adslAtucInvVendorID => '1.3.6.1.2.1.10.94.1.1.2.1.2',
adslAtucInvVersionNumber => '1.3.6.1.2.1.10.94.1.1.2.1.3',
adslAtucCurrSnrMgn => '1.3.6.1.2.1.10.94.1.1.2.1.4',
adslAtucCurrAtn => '1.3.6.1.2.1.10.94.1.1.2.1.5',
adslAtucCurrStatus => '1.3.6.1.2.1.10.94.1.1.2.1.6',
adslAtucCurrOutputPwr => '1.3.6.1.2.1.10.94.1.1.2.1.7',
adslAtucCurrAttainableRate => '1.3.6.1.2.1.10.94.1.1.2.1.8',
adslAturPhysTable => '1.3.6.1.2.1.10.94.1.1.3',
adslAturPhysEntry => '1.3.6.1.2.1.10.94.1.1.3.1',
adslAturInvSerialNumber => '1.3.6.1.2.1.10.94.1.1.3.1.1',
adslAturInvVendorID => '1.3.6.1.2.1.10.94.1.1.3.1.2',
adslAturInvVersionNumber => '1.3.6.1.2.1.10.94.1.1.3.1.3',
adslAturCurrSnrMgn => '1.3.6.1.2.1.10.94.1.1.3.1.4',
adslAturCurrAtn => '1.3.6.1.2.1.10.94.1.1.3.1.5',
adslAturCurrStatus => '1.3.6.1.2.1.10.94.1.1.3.1.6',
adslAturCurrOutputPwr => '1.3.6.1.2.1.10.94.1.1.3.1.7',
adslAturCurrAttainableRate => '1.3.6.1.2.1.10.94.1.1.3.1.8',
adslAtucChanTable => '1.3.6.1.2.1.10.94.1.1.4',
adslAtucChanEntry => '1.3.6.1.2.1.10.94.1.1.4.1',
adslAtucChanInterleaveDelay => '1.3.6.1.2.1.10.94.1.1.4.1.1',
adslAtucChanCurrTxRate => '1.3.6.1.2.1.10.94.1.1.4.1.2',
adslAtucChanPrevTxRate => '1.3.6.1.2.1.10.94.1.1.4.1.3',
adslAtucChanCrcBlockLength => '1.3.6.1.2.1.10.94.1.1.4.1.4',
adslAturChanTable => '1.3.6.1.2.1.10.94.1.1.5',
adslAturChanEntry => '1.3.6.1.2.1.10.94.1.1.5.1',
adslAturChanInterleaveDelay => '1.3.6.1.2.1.10.94.1.1.5.1.1',
adslAturChanCurrTxRate => '1.3.6.1.2.1.10.94.1.1.5.1.2',
adslAturChanPrevTxRate => '1.3.6.1.2.1.10.94.1.1.5.1.3',
adslAturChanCrcBlockLength => '1.3.6.1.2.1.10.94.1.1.5.1.4',
adslAtucPerfDataTable => '1.3.6.1.2.1.10.94.1.1.6',
adslAtucPerfDataEntry => '1.3.6.1.2.1.10.94.1.1.6.1',
adslAtucPerfLofs => '1.3.6.1.2.1.10.94.1.1.6.1.1',
adslAtucPerfLoss => '1.3.6.1.2.1.10.94.1.1.6.1.2',
adslAtucPerfLols => '1.3.6.1.2.1.10.94.1.1.6.1.3',
adslAtucPerfLprs => '1.3.6.1.2.1.10.94.1.1.6.1.4',
adslAtucPerfESs => '1.3.6.1.2.1.10.94.1.1.6.1.5',
adslAtucPerfInits => '1.3.6.1.2.1.10.94.1.1.6.1.6',
adslAtucPerfValidIntervals => '1.3.6.1.2.1.10.94.1.1.6.1.7',
adslAtucPerfInvalidIntervals => '1.3.6.1.2.1.10.94.1.1.6.1.8',
adslAtucPerfCurr15MinTimeElapsed => '1.3.6.1.2.1.10.94.1.1.6.1.9',
adslAtucPerfCurr15MinLofs => '1.3.6.1.2.1.10.94.1.1.6.1.10',
adslAtucPerfCurr15MinLoss => '1.3.6.1.2.1.10.94.1.1.6.1.11',
adslAtucPerfCurr15MinLols => '1.3.6.1.2.1.10.94.1.1.6.1.12',
adslAtucPerfCurr15MinLprs => '1.3.6.1.2.1.10.94.1.1.6.1.13',
adslAtucPerfCurr15MinESs => '1.3.6.1.2.1.10.94.1.1.6.1.14',
adslAtucPerfCurr15MinInits => '1.3.6.1.2.1.10.94.1.1.6.1.15',
adslAtucPerfCurr1DayTimeElapsed => '1.3.6.1.2.1.10.94.1.1.6.1.16',
adslAtucPerfCurr1DayLofs => '1.3.6.1.2.1.10.94.1.1.6.1.17',
adslAtucPerfCurr1DayLoss => '1.3.6.1.2.1.10.94.1.1.6.1.18',
adslAtucPerfCurr1DayLols => '1.3.6.1.2.1.10.94.1.1.6.1.19',
adslAtucPerfCurr1DayLprs => '1.3.6.1.2.1.10.94.1.1.6.1.20',
adslAtucPerfCurr1DayESs => '1.3.6.1.2.1.10.94.1.1.6.1.21',
adslAtucPerfCurr1DayInits => '1.3.6.1.2.1.10.94.1.1.6.1.22',
adslAtucPerfPrev1DayMoniSecs => '1.3.6.1.2.1.10.94.1.1.6.1.23',
adslAtucPerfPrev1DayLofs => '1.3.6.1.2.1.10.94.1.1.6.1.24',
adslAtucPerfPrev1DayLoss => '1.3.6.1.2.1.10.94.1.1.6.1.25',
adslAtucPerfPrev1DayLols => '1.3.6.1.2.1.10.94.1.1.6.1.26',
adslAtucPerfPrev1DayLprs => '1.3.6.1.2.1.10.94.1.1.6.1.27',
adslAtucPerfPrev1DayESs => '1.3.6.1.2.1.10.94.1.1.6.1.28',
adslAtucPerfPrev1DayInits => '1.3.6.1.2.1.10.94.1.1.6.1.29',
adslAturPerfDataTable => '1.3.6.1.2.1.10.94.1.1.7',
adslAturPerfDataEntry => '1.3.6.1.2.1.10.94.1.1.7.1',
adslAturPerfLofs => '1.3.6.1.2.1.10.94.1.1.7.1.1',
adslAturPerfLoss => '1.3.6.1.2.1.10.94.1.1.7.1.2',
adslAturPerfLprs => '1.3.6.1.2.1.10.94.1.1.7.1.3',
adslAturPerfESs => '1.3.6.1.2.1.10.94.1.1.7.1.4',
adslAturPerfValidIntervals => '1.3.6.1.2.1.10.94.1.1.7.1.5',
adslAturPerfInvalidIntervals => '1.3.6.1.2.1.10.94.1.1.7.1.6',
adslAturPerfCurr15MinTimeElapsed => '1.3.6.1.2.1.10.94.1.1.7.1.7',
adslAturPerfCurr15MinLofs => '1.3.6.1.2.1.10.94.1.1.7.1.8',
adslAturPerfCurr15MinLoss => '1.3.6.1.2.1.10.94.1.1.7.1.9',
adslAturPerfCurr15MinLprs => '1.3.6.1.2.1.10.94.1.1.7.1.10',
adslAturPerfCurr15MinESs => '1.3.6.1.2.1.10.94.1.1.7.1.11',
adslAturPerfCurr1DayTimeElapsed => '1.3.6.1.2.1.10.94.1.1.7.1.12',
adslAturPerfCurr1DayLofs => '1.3.6.1.2.1.10.94.1.1.7.1.13',
adslAturPerfCurr1DayLoss => '1.3.6.1.2.1.10.94.1.1.7.1.14',
adslAturPerfCurr1DayLprs => '1.3.6.1.2.1.10.94.1.1.7.1.15',
adslAturPerfCurr1DayESs => '1.3.6.1.2.1.10.94.1.1.7.1.16',
adslAturPerfPrev1DayMoniSecs => '1.3.6.1.2.1.10.94.1.1.7.1.17',
adslAturPerfPrev1DayLofs => '1.3.6.1.2.1.10.94.1.1.7.1.18',
adslAturPerfPrev1DayLoss => '1.3.6.1.2.1.10.94.1.1.7.1.19',
adslAturPerfPrev1DayLprs => '1.3.6.1.2.1.10.94.1.1.7.1.20',
adslAturPerfPrev1DayESs => '1.3.6.1.2.1.10.94.1.1.7.1.21',
adslAtucIntervalTable => '1.3.6.1.2.1.10.94.1.1.8',
adslAtucIntervalEntry => '1.3.6.1.2.1.10.94.1.1.8.1',
adslAtucIntervalNumber => '1.3.6.1.2.1.10.94.1.1.8.1.1',
adslAtucIntervalLofs => '1.3.6.1.2.1.10.94.1.1.8.1.2',
adslAtucIntervalLoss => '1.3.6.1.2.1.10.94.1.1.8.1.3',
adslAtucIntervalLols => '1.3.6.1.2.1.10.94.1.1.8.1.4',
adslAtucIntervalLprs => '1.3.6.1.2.1.10.94.1.1.8.1.5',
adslAtucIntervalESs => '1.3.6.1.2.1.10.94.1.1.8.1.6',
adslAtucIntervalInits => '1.3.6.1.2.1.10.94.1.1.8.1.7',
adslAtucIntervalValidData => '1.3.6.1.2.1.10.94.1.1.8.1.8',
adslAturIntervalTable => '1.3.6.1.2.1.10.94.1.1.9',
adslAturIntervalEntry => '1.3.6.1.2.1.10.94.1.1.9.1',
adslAturIntervalNumber => '1.3.6.1.2.1.10.94.1.1.9.1.1',
adslAturIntervalLofs => '1.3.6.1.2.1.10.94.1.1.9.1.2',
adslAturIntervalLoss => '1.3.6.1.2.1.10.94.1.1.9.1.3',
adslAturIntervalLprs => '1.3.6.1.2.1.10.94.1.1.9.1.4',
adslAturIntervalESs => '1.3.6.1.2.1.10.94.1.1.9.1.5',
adslAturIntervalValidData => '1.3.6.1.2.1.10.94.1.1.9.1.6',
adslAtucChanPerfDataTable => '1.3.6.1.2.1.10.94.1.1.10',
adslAtucChanPerfDataEntry => '1.3.6.1.2.1.10.94.1.1.10.1',
adslAtucChanReceivedBlks => '1.3.6.1.2.1.10.94.1.1.10.1.1',
adslAtucChanTransmittedBlks => '1.3.6.1.2.1.10.94.1.1.10.1.2',
adslAtucChanCorrectedBlks => '1.3.6.1.2.1.10.94.1.1.10.1.3',
adslAtucChanUncorrectBlks => '1.3.6.1.2.1.10.94.1.1.10.1.4',
adslAtucChanPerfValidIntervals => '1.3.6.1.2.1.10.94.1.1.10.1.5',
adslAtucChanPerfInvalidIntervals => '1.3.6.1.2.1.10.94.1.1.10.1.6',
adslAtucChanPerfCurr15MinTimeElapsed => '1.3.6.1.2.1.10.94.1.1.10.1.7',
adslAtucChanPerfCurr15MinReceivedBlks => '1.3.6.1.2.1.10.94.1.1.10.1.8',
adslAtucChanPerfCurr15MinTransmittedBlks => '1.3.6.1.2.1.10.94.1.1.10.1.9',
adslAtucChanPerfCurr15MinCorrectedBlks => '1.3.6.1.2.1.10.94.1.1.10.1.10',
adslAtucChanPerfCurr15MinUncorrectBlks => '1.3.6.1.2.1.10.94.1.1.10.1.11',
adslAtucChanPerfCurr1DayTimeElapsed => '1.3.6.1.2.1.10.94.1.1.10.1.12',
adslAtucChanPerfCurr1DayReceivedBlks => '1.3.6.1.2.1.10.94.1.1.10.1.13',
adslAtucChanPerfCurr1DayTransmittedBlks => '1.3.6.1.2.1.10.94.1.1.10.1.14',
adslAtucChanPerfCurr1DayCorrectedBlks => '1.3.6.1.2.1.10.94.1.1.10.1.15',
adslAtucChanPerfCurr1DayUncorrectBlks => '1.3.6.1.2.1.10.94.1.1.10.1.16',
adslAtucChanPerfPrev1DayMoniSecs => '1.3.6.1.2.1.10.94.1.1.10.1.17',
adslAtucChanPerfPrev1DayReceivedBlks => '1.3.6.1.2.1.10.94.1.1.10.1.18',
adslAtucChanPerfPrev1DayTransmittedBlks => '1.3.6.1.2.1.10.94.1.1.10.1.19',
adslAtucChanPerfPrev1DayCorrectedBlks => '1.3.6.1.2.1.10.94.1.1.10.1.20',
adslAtucChanPerfPrev1DayUncorrectBlks => '1.3.6.1.2.1.10.94.1.1.10.1.21',
adslAturChanPerfDataTable => '1.3.6.1.2.1.10.94.1.1.11',
adslAturChanPerfDataEntry => '1.3.6.1.2.1.10.94.1.1.11.1',
adslAturChanReceivedBlks => '1.3.6.1.2.1.10.94.1.1.11.1.1',
adslAturChanTransmittedBlks => '1.3.6.1.2.1.10.94.1.1.11.1.2',
adslAturChanCorrectedBlks => '1.3.6.1.2.1.10.94.1.1.11.1.3',
adslAturChanUncorrectBlks => '1.3.6.1.2.1.10.94.1.1.11.1.4',
adslAturChanPerfValidIntervals => '1.3.6.1.2.1.10.94.1.1.11.1.5',
adslAturChanPerfInvalidIntervals => '1.3.6.1.2.1.10.94.1.1.11.1.6',
adslAturChanPerfCurr15MinTimeElapsed => '1.3.6.1.2.1.10.94.1.1.11.1.7',
adslAturChanPerfCurr15MinReceivedBlks => '1.3.6.1.2.1.10.94.1.1.11.1.8',
adslAturChanPerfCurr15MinTransmittedBlks => '1.3.6.1.2.1.10.94.1.1.11.1.9',
adslAturChanPerfCurr15MinCorrectedBlks => '1.3.6.1.2.1.10.94.1.1.11.1.10',
adslAturChanPerfCurr15MinUncorrectBlks => '1.3.6.1.2.1.10.94.1.1.11.1.11',
adslAturChanPerfCurr1DayTimeElapsed => '1.3.6.1.2.1.10.94.1.1.11.1.12',
adslAturChanPerfCurr1DayReceivedBlks => '1.3.6.1.2.1.10.94.1.1.11.1.13',
adslAturChanPerfCurr1DayTransmittedBlks => '1.3.6.1.2.1.10.94.1.1.11.1.14',
adslAturChanPerfCurr1DayCorrectedBlks => '1.3.6.1.2.1.10.94.1.1.11.1.15',
adslAturChanPerfCurr1DayUncorrectBlks => '1.3.6.1.2.1.10.94.1.1.11.1.16',
adslAturChanPerfPrev1DayMoniSecs => '1.3.6.1.2.1.10.94.1.1.11.1.17',
adslAturChanPerfPrev1DayReceivedBlks => '1.3.6.1.2.1.10.94.1.1.11.1.18',
adslAturChanPerfPrev1DayTransmittedBlks => '1.3.6.1.2.1.10.94.1.1.11.1.19',
adslAturChanPerfPrev1DayCorrectedBlks => '1.3.6.1.2.1.10.94.1.1.11.1.20',
adslAturChanPerfPrev1DayUncorrectBlks => '1.3.6.1.2.1.10.94.1.1.11.1.21',
adslAtucChanIntervalTable => '1.3.6.1.2.1.10.94.1.1.12',
adslAtucChanIntervalEntry => '1.3.6.1.2.1.10.94.1.1.12.1',
adslAtucChanIntervalNumber => '1.3.6.1.2.1.10.94.1.1.12.1.1',
adslAtucChanIntervalReceivedBlks => '1.3.6.1.2.1.10.94.1.1.12.1.2',
adslAtucChanIntervalTransmittedBlks => '1.3.6.1.2.1.10.94.1.1.12.1.3',
adslAtucChanIntervalCorrectedBlks => '1.3.6.1.2.1.10.94.1.1.12.1.4',
adslAtucChanIntervalUncorrectBlks => '1.3.6.1.2.1.10.94.1.1.12.1.5',
adslAtucChanIntervalValidData => '1.3.6.1.2.1.10.94.1.1.12.1.6',
adslAturChanIntervalTable => '1.3.6.1.2.1.10.94.1.1.13',
adslAturChanIntervalEntry => '1.3.6.1.2.1.10.94.1.1.13.1',
adslAturChanIntervalNumber => '1.3.6.1.2.1.10.94.1.1.13.1.1',
adslAturChanIntervalReceivedBlks => '1.3.6.1.2.1.10.94.1.1.13.1.2',
adslAturChanIntervalTransmittedBlks => '1.3.6.1.2.1.10.94.1.1.13.1.3',
adslAturChanIntervalCorrectedBlks => '1.3.6.1.2.1.10.94.1.1.13.1.4',
adslAturChanIntervalUncorrectBlks => '1.3.6.1.2.1.10.94.1.1.13.1.5',
adslAturChanIntervalValidData => '1.3.6.1.2.1.10.94.1.1.13.1.6',
adslLineConfProfileTable => '1.3.6.1.2.1.10.94.1.1.14',
adslLineConfProfileEntry => '1.3.6.1.2.1.10.94.1.1.14.1',
adslLineConfProfileName => '1.3.6.1.2.1.10.94.1.1.14.1.1',
adslAtucConfRateMode => '1.3.6.1.2.1.10.94.1.1.14.1.2',
adslAtucConfRateModeDefinition => 'ADSL-LINE-MIB::adslAtucConfRateMode',
adslAtucConfRateChanRatio => '1.3.6.1.2.1.10.94.1.1.14.1.3',
adslAtucConfTargetSnrMgn => '1.3.6.1.2.1.10.94.1.1.14.1.4',
adslAtucConfMaxSnrMgn => '1.3.6.1.2.1.10.94.1.1.14.1.5',
adslAtucConfMinSnrMgn => '1.3.6.1.2.1.10.94.1.1.14.1.6',
adslAtucConfDownshiftSnrMgn => '1.3.6.1.2.1.10.94.1.1.14.1.7',
adslAtucConfUpshiftSnrMgn => '1.3.6.1.2.1.10.94.1.1.14.1.8',
adslAtucConfMinUpshiftTime => '1.3.6.1.2.1.10.94.1.1.14.1.9',
adslAtucConfMinDownshiftTime => '1.3.6.1.2.1.10.94.1.1.14.1.10',
adslAtucChanConfFastMinTxRate => '1.3.6.1.2.1.10.94.1.1.14.1.11',
adslAtucChanConfInterleaveMinTxRate => '1.3.6.1.2.1.10.94.1.1.14.1.12',
adslAtucChanConfFastMaxTxRate => '1.3.6.1.2.1.10.94.1.1.14.1.13',
adslAtucChanConfInterleaveMaxTxRate => '1.3.6.1.2.1.10.94.1.1.14.1.14',
adslAtucChanConfMaxInterleaveDelay => '1.3.6.1.2.1.10.94.1.1.14.1.15',
adslAturConfRateMode => '1.3.6.1.2.1.10.94.1.1.14.1.16',
adslAturConfRateModeDefinition => 'ADSL-LINE-MIB::adslAturConfRateMode',
adslAturConfRateChanRatio => '1.3.6.1.2.1.10.94.1.1.14.1.17',
adslAturConfTargetSnrMgn => '1.3.6.1.2.1.10.94.1.1.14.1.18',
adslAturConfMaxSnrMgn => '1.3.6.1.2.1.10.94.1.1.14.1.19',
adslAturConfMinSnrMgn => '1.3.6.1.2.1.10.94.1.1.14.1.20',
adslAturConfDownshiftSnrMgn => '1.3.6.1.2.1.10.94.1.1.14.1.21',
adslAturConfUpshiftSnrMgn => '1.3.6.1.2.1.10.94.1.1.14.1.22',
adslAturConfMinUpshiftTime => '1.3.6.1.2.1.10.94.1.1.14.1.23',
adslAturConfMinDownshiftTime => '1.3.6.1.2.1.10.94.1.1.14.1.24',
adslAturChanConfFastMinTxRate => '1.3.6.1.2.1.10.94.1.1.14.1.25',
adslAturChanConfInterleaveMinTxRate => '1.3.6.1.2.1.10.94.1.1.14.1.26',
adslAturChanConfFastMaxTxRate => '1.3.6.1.2.1.10.94.1.1.14.1.27',
adslAturChanConfInterleaveMaxTxRate => '1.3.6.1.2.1.10.94.1.1.14.1.28',
adslAturChanConfMaxInterleaveDelay => '1.3.6.1.2.1.10.94.1.1.14.1.29',
adslLineConfProfileRowStatus => '1.3.6.1.2.1.10.94.1.1.14.1.30',
adslLineAlarmConfProfileTable => '1.3.6.1.2.1.10.94.1.1.15',
adslLineAlarmConfProfileEntry => '1.3.6.1.2.1.10.94.1.1.15.1',
adslLineAlarmConfProfileName => '1.3.6.1.2.1.10.94.1.1.15.1.1',
adslAtucThresh15MinLofs => '1.3.6.1.2.1.10.94.1.1.15.1.2',
adslAtucThresh15MinLoss => '1.3.6.1.2.1.10.94.1.1.15.1.3',
adslAtucThresh15MinLols => '1.3.6.1.2.1.10.94.1.1.15.1.4',
adslAtucThresh15MinLprs => '1.3.6.1.2.1.10.94.1.1.15.1.5',
adslAtucThresh15MinESs => '1.3.6.1.2.1.10.94.1.1.15.1.6',
adslAtucThreshFastRateUp => '1.3.6.1.2.1.10.94.1.1.15.1.7',
adslAtucThreshInterleaveRateUp => '1.3.6.1.2.1.10.94.1.1.15.1.8',
adslAtucThreshFastRateDown => '1.3.6.1.2.1.10.94.1.1.15.1.9',
adslAtucThreshInterleaveRateDown => '1.3.6.1.2.1.10.94.1.1.15.1.10',
adslAtucInitFailureTrapEnable => '1.3.6.1.2.1.10.94.1.1.15.1.11',
adslAtucInitFailureTrapEnableDefinition => 'ADSL-LINE-MIB::adslAtucInitFailureTrapEnable',
adslAturThresh15MinLofs => '1.3.6.1.2.1.10.94.1.1.15.1.12',
adslAturThresh15MinLoss => '1.3.6.1.2.1.10.94.1.1.15.1.13',
adslAturThresh15MinLprs => '1.3.6.1.2.1.10.94.1.1.15.1.14',
adslAturThresh15MinESs => '1.3.6.1.2.1.10.94.1.1.15.1.15',
adslAturThreshFastRateUp => '1.3.6.1.2.1.10.94.1.1.15.1.16',
adslAturThreshInterleaveRateUp => '1.3.6.1.2.1.10.94.1.1.15.1.17',
adslAturThreshFastRateDown => '1.3.6.1.2.1.10.94.1.1.15.1.18',
adslAturThreshInterleaveRateDown => '1.3.6.1.2.1.10.94.1.1.15.1.19',
adslLineAlarmConfProfileRowStatus => '1.3.6.1.2.1.10.94.1.1.15.1.20',
adslLCSMib => '1.3.6.1.2.1.10.94.1.1.16',
adslTraps => '1.3.6.1.2.1.10.94.1.2',
adslAtucTraps => '1.3.6.1.2.1.10.94.1.2.1',
adslAturTraps => '1.3.6.1.2.1.10.94.1.2.2',
adslConformance => '1.3.6.1.2.1.10.94.1.3',
adslGroups => '1.3.6.1.2.1.10.94.1.3.1',
adslCompliances => '1.3.6.1.2.1.10.94.1.3.2',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::definitions->{'ADSL-LINE-MIB'} = {
adslAtucInitFailureTrapEnable => {
'1' => 'enable',
'2' => 'disable',
},
adslAtucConfRateMode => {
'1' => 'fixed',
'2' => 'adaptAtStartup',
'3' => 'adaptAtRuntime',
},
adslLineType => {
'1' => 'noChannel',
'2' => 'fastOnly',
'3' => 'interleavedOnly',
'4' => 'fastOrInterleaved',
'5' => 'fastAndInterleaved',
},
adslAturConfRateMode => {
'1' => 'fixed',
'2' => 'adaptAtStartup',
'3' => 'adaptAtRuntime',
},
adslLineCoding => {
'1' => 'other',
'2' => 'dmt',
'3' => 'cap',
'4' => 'qam',
},
};

View file

@ -1,357 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::AIRESPACESWITCHINGMIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'AIRESPACE-SWITCHING-MIB'} = {
url => '',
name => 'AIRESPACE-SWITCHING-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mib_ids->{'AIRESPACE-SWITCHING-MIB'} =
'1.3.6.1.4.1.14179.1';
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'AIRESPACE-SWITCHING-MIB'} = {
'bsnSwitching' => '1.3.6.1.4.1.14179.1',
'agentInfoGroup' => '1.3.6.1.4.1.14179.1.1',
'agentInventoryGroup' => '1.3.6.1.4.1.14179.1.1.1',
'agentInventorySysDescription' => '1.3.6.1.4.1.14179.1.1.1.1',
'agentInventoryMachineType' => '1.3.6.1.4.1.14179.1.1.1.2',
'agentInventoryMachineModel' => '1.3.6.1.4.1.14179.1.1.1.3',
'agentInventorySerialNumber' => '1.3.6.1.4.1.14179.1.1.1.4',
'agentInventoryMaintenanceLevel' => '1.3.6.1.4.1.14179.1.1.1.6',
'agentInventoryBurnedInMacAddress' => '1.3.6.1.4.1.14179.1.1.1.9',
'agentInventoryOperatingSystem' => '1.3.6.1.4.1.14179.1.1.1.10',
'agentInventoryManufacturerName' => '1.3.6.1.4.1.14179.1.1.1.12',
'agentInventoryProductName' => '1.3.6.1.4.1.14179.1.1.1.13',
'agentInventoryProductVersion' => '1.3.6.1.4.1.14179.1.1.1.14',
'agentInventoryIsGigECardPresent' => '1.3.6.1.4.1.14179.1.1.1.15',
'agentInventoryIsCryptoCardPresent' => '1.3.6.1.4.1.14179.1.1.1.16',
'agentInventoryIsForeignAPSupported' => '1.3.6.1.4.1.14179.1.1.1.17',
'agentInventoryMaxNumberOfAPsSupported' => '1.3.6.1.4.1.14179.1.1.1.18',
'agentInventoryIsCryptoCard2Present' => '1.3.6.1.4.1.14179.1.1.1.19',
'agentInventoryFipsModeEnabled' => '1.3.6.1.4.1.14179.1.1.1.20',
'agentTrapLogGroup' => '1.3.6.1.4.1.14179.1.1.2',
'agentTrapLogTotal' => '1.3.6.1.4.1.14179.1.1.2.1',
'agentTrapLogTotalSinceLastViewed' => '1.3.6.1.4.1.14179.1.1.2.3',
'agentTrapLogTable' => '1.3.6.1.4.1.14179.1.1.2.4',
'agentTrapLogEntry' => '1.3.6.1.4.1.14179.1.1.2.4.1',
'agentTrapLogIndex' => '1.3.6.1.4.1.14179.1.1.2.4.1.1',
'agentTrapLogSystemTime' => '1.3.6.1.4.1.14179.1.1.2.4.1.2',
'agentTrapLogTrap' => '1.3.6.1.4.1.14179.1.1.2.4.1.22',
'agentRadioUpDownTrapCount' => '1.3.6.1.4.1.14179.1.1.2.5',
'agentApAssociateDisassociateTrapCount' => '1.3.6.1.4.1.14179.1.1.2.6',
'agentApLoadProfileFailTrapCount' => '1.3.6.1.4.1.14179.1.1.2.7',
'agentApNoiseProfileFailTrapCount' => '1.3.6.1.4.1.14179.1.1.2.8',
'agentApInterferenceProfileFailTrapCount' => '1.3.6.1.4.1.14179.1.1.2.9',
'agentApCoverageProfileFailTrapCount' => '1.3.6.1.4.1.14179.1.1.2.10',
'agentSwitchInfoGroup' => '1.3.6.1.4.1.14179.1.1.3',
'agentSwitchInfoLwappTransportMode' => '1.3.6.1.4.1.14179.1.1.3.1',
'agentSwitchInfoPowerSupply1Present' => '1.3.6.1.4.1.14179.1.1.3.2',
'agentSwitchInfoPowerSupply1PresentDefinition' => {
'0' => 'false',
'1' => 'true',
},
'agentSwitchInfoPowerSupply1Operational' => '1.3.6.1.4.1.14179.1.1.3.3',
'agentSwitchInfoPowerSupply1OperationalDefinition' => {
'0' => 'false',
'1' => 'true',
},
'agentSwitchInfoPowerSupply2Present' => '1.3.6.1.4.1.14179.1.1.3.4',
'agentSwitchInfoPowerSupply2PresentDefinition' => {
'0' => 'false',
'1' => 'true',
},
'agentSwitchInfoPowerSupply2Operational' => '1.3.6.1.4.1.14179.1.1.3.5',
'agentSwitchInfoPowerSupply2OperationalDefinition' => {
'0' => 'false',
'1' => 'true',
},
'agentProductGroup' => '1.3.6.1.4.1.14179.1.1.4',
'productGroup1' => '1.3.6.1.4.1.14179.1.1.4.1',
'productGroup2' => '1.3.6.1.4.1.14179.1.1.4.2',
'productGroup3' => '1.3.6.1.4.1.14179.1.1.4.3',
'productGroup4' => '1.3.6.1.4.1.14179.1.1.4.4',
'agentResourceInfoGroup' => '1.3.6.1.4.1.14179.1.1.5',
'agentCurrentCPUUtilization' => '1.3.6.1.4.1.14179.1.1.5.1.0',
'agentTotalMemory' => '1.3.6.1.4.1.14179.1.1.5.2.0',
'agentFreeMemory' => '1.3.6.1.4.1.14179.1.1.5.3.0',
'agentWcpInfoGroup' => '1.3.6.1.4.1.14179.1.1.6',
'agentWcpDeviceName' => '1.3.6.1.4.1.14179.1.1.6.1',
'agentWcpSlotNumber' => '1.3.6.1.4.1.14179.1.1.6.2',
'agentWcpPortNumber' => '1.3.6.1.4.1.14179.1.1.6.3',
'agentWcpPeerPortNumber' => '1.3.6.1.4.1.14179.1.1.6.4',
'agentWcpPeerIpAddress' => '1.3.6.1.4.1.14179.1.1.6.5',
'agentWcpControllerTableChecksum' => '1.3.6.1.4.1.14179.1.1.6.6',
'agentWcpControllerInfoTable' => '1.3.6.1.4.1.14179.1.1.6.7',
'agentWcpControllerInfoEntry' => '1.3.6.1.4.1.14179.1.1.6.7.1',
'agentWcpControllerInfoSlotNumber' => '1.3.6.1.4.1.14179.1.1.6.7.1.1',
'agentWcpControllerInfoPortNumber' => '1.3.6.1.4.1.14179.1.1.6.7.1.2',
'agentWcpControllerInfoIpAddress' => '1.3.6.1.4.1.14179.1.1.6.7.1.10',
'agentConfigGroup' => '1.3.6.1.4.1.14179.1.2',
'agentCLIConfigGroup' => '1.3.6.1.4.1.14179.1.2.1',
'agentLoginSessionTable' => '1.3.6.1.4.1.14179.1.2.1.1',
'agentLoginSessionEntry' => '1.3.6.1.4.1.14179.1.2.1.1.1',
'agentLoginSessionIndex' => '1.3.6.1.4.1.14179.1.2.1.1.1.1',
'agentLoginSessionUserName' => '1.3.6.1.4.1.14179.1.2.1.1.1.2',
'agentLoginSessionIPAddress' => '1.3.6.1.4.1.14179.1.2.1.1.1.3',
'agentLoginSessionConnectionType' => '1.3.6.1.4.1.14179.1.2.1.1.1.4',
'agentLoginSessionIdleTime' => '1.3.6.1.4.1.14179.1.2.1.1.1.5',
'agentLoginSessionSessionTime' => '1.3.6.1.4.1.14179.1.2.1.1.1.6',
'agentLoginSessionStatus' => '1.3.6.1.4.1.14179.1.2.1.1.1.26',
'agentTelnetConfigGroup' => '1.3.6.1.4.1.14179.1.2.1.2',
'agentTelnetLoginTimeout' => '1.3.6.1.4.1.14179.1.2.1.2.1',
'agentTelnetMaxSessions' => '1.3.6.1.4.1.14179.1.2.1.2.2',
'agentTelnetAllowNewMode' => '1.3.6.1.4.1.14179.1.2.1.2.3',
'agentSSHAllowNewMode' => '1.3.6.1.4.1.14179.1.2.1.2.4',
'agentSerialGroup' => '1.3.6.1.4.1.14179.1.2.1.5',
'agentSerialTimeout' => '1.3.6.1.4.1.14179.1.2.1.5.1',
'agentSerialBaudrate' => '1.3.6.1.4.1.14179.1.2.1.5.2',
'agentSerialCharacterSize' => '1.3.6.1.4.1.14179.1.2.1.5.3',
'agentSerialHWFlowControlMode' => '1.3.6.1.4.1.14179.1.2.1.5.4',
'agentSerialStopBits' => '1.3.6.1.4.1.14179.1.2.1.5.5',
'agentSerialParityType' => '1.3.6.1.4.1.14179.1.2.1.5.6',
'agentLagConfigGroup' => '1.3.6.1.4.1.14179.1.2.2',
'agentLagConfigCreate' => '1.3.6.1.4.1.14179.1.2.2.1',
'agentLagSummaryConfigTable' => '1.3.6.1.4.1.14179.1.2.2.2',
'agentLagSummaryConfigEntry' => '1.3.6.1.4.1.14179.1.2.2.2.1',
'agentLagSummaryName' => '1.3.6.1.4.1.14179.1.2.2.2.1.1',
'agentLagSummaryLagIndex' => '1.3.6.1.4.1.14179.1.2.2.2.1.2',
'agentLagSummaryFlushTimer' => '1.3.6.1.4.1.14179.1.2.2.2.1.3',
'agentLagSummaryLinkTrap' => '1.3.6.1.4.1.14179.1.2.2.2.1.4',
'agentLagSummaryAdminMode' => '1.3.6.1.4.1.14179.1.2.2.2.1.5',
'agentLagSummaryStpMode' => '1.3.6.1.4.1.14179.1.2.2.2.1.6',
'agentLagSummaryAddPort' => '1.3.6.1.4.1.14179.1.2.2.2.1.7',
'agentLagSummaryDeletePort' => '1.3.6.1.4.1.14179.1.2.2.2.1.8',
'agentLagSummaryPortsBitMask' => '1.3.6.1.4.1.14179.1.2.2.2.1.9',
'agentLagSummaryStatus' => '1.3.6.1.4.1.14179.1.2.2.2.1.30',
'agentLagDetailedConfigTable' => '1.3.6.1.4.1.14179.1.2.2.3',
'agentLagDetailedConfigEntry' => '1.3.6.1.4.1.14179.1.2.2.3.1',
'agentLagDetailedLagIndex' => '1.3.6.1.4.1.14179.1.2.2.3.1.1',
'agentLagDetailedIfIndex' => '1.3.6.1.4.1.14179.1.2.2.3.1.2',
'agentLagDetailedPortSpeed' => '1.3.6.1.4.1.14179.1.2.2.3.1.22',
'agentLagConfigMode' => '1.3.6.1.4.1.14179.1.2.2.4',
'agentNetworkConfigGroup' => '1.3.6.1.4.1.14179.1.2.3',
'agentNetworkIPAddress' => '1.3.6.1.4.1.14179.1.2.3.1',
'agentNetworkSubnetMask' => '1.3.6.1.4.1.14179.1.2.3.2',
'agentNetworkDefaultGateway' => '1.3.6.1.4.1.14179.1.2.3.3',
'agentNetworkBurnedInMacAddress' => '1.3.6.1.4.1.14179.1.2.3.4',
'agentNetworkConfigProtocol' => '1.3.6.1.4.1.14179.1.2.3.7',
'agentNetworkWebMode' => '1.3.6.1.4.1.14179.1.2.3.8',
'agentNetworkSecureWebMode' => '1.3.6.1.4.1.14179.1.2.3.9',
'agentNetworkMulticastMode' => '1.3.6.1.4.1.14179.1.2.3.10',
'agentNetworkDsPortNumber' => '1.3.6.1.4.1.14179.1.2.3.11',
'agentNetworkUserIdleTimeout' => '1.3.6.1.4.1.14179.1.2.3.12',
'agentNetworkArpTimeout' => '1.3.6.1.4.1.14179.1.2.3.13',
'agentNetworkManagementVlan' => '1.3.6.1.4.1.14179.1.2.3.14',
'agentNetworkGvrpStatus' => '1.3.6.1.4.1.14179.1.2.3.15',
'agentNetworkAllowMgmtViaWireless' => '1.3.6.1.4.1.14179.1.2.3.16',
'agentNetworkBroadcastSsidMode' => '1.3.6.1.4.1.14179.1.2.3.17',
'agentNetworkSecureWebPassword' => '1.3.6.1.4.1.14179.1.2.3.18',
'agentNetworkWebAdminCertType' => '1.3.6.1.4.1.14179.1.2.3.19',
'agentNetworkWebAdminCertRegenerateCmdInvoke' => '1.3.6.1.4.1.14179.1.2.3.20',
'agentNetworkWebAuthCertType' => '1.3.6.1.4.1.14179.1.2.3.21',
'agentNetworkWebAuthCertRegenerateCmdInvoke' => '1.3.6.1.4.1.14179.1.2.3.22',
'agentNetworkRouteConfigTable' => '1.3.6.1.4.1.14179.1.2.3.23',
'agentNetworkRouteConfigEntry' => '1.3.6.1.4.1.14179.1.2.3.23.1',
'agentNetworkRouteIPAddress' => '1.3.6.1.4.1.14179.1.2.3.23.1.1',
'agentNetworkRouteIPNetmask' => '1.3.6.1.4.1.14179.1.2.3.23.1.2',
'agentNetworkRouteGateway' => '1.3.6.1.4.1.14179.1.2.3.23.1.3',
'agentNetworkRouteStatus' => '1.3.6.1.4.1.14179.1.2.3.23.1.23',
'agentNetworkPeerToPeerBlockingMode' => '1.3.6.1.4.1.14179.1.2.3.24',
'agentNetworkMulticastGroupAddress' => '1.3.6.1.4.1.14179.1.2.3.25',
'agentServicePortConfigGroup' => '1.3.6.1.4.1.14179.1.2.4',
'agentServicePortIPAddress' => '1.3.6.1.4.1.14179.1.2.4.1',
'agentServicePortSubnetMask' => '1.3.6.1.4.1.14179.1.2.4.2',
'agentServicePortDefaultGateway' => '1.3.6.1.4.1.14179.1.2.4.3',
'agentServicePortBurnedInMacAddress' => '1.3.6.1.4.1.14179.1.2.4.4',
'agentServicePortConfigProtocol' => '1.3.6.1.4.1.14179.1.2.4.5',
'agentSnmpConfigGroup' => '1.3.6.1.4.1.14179.1.2.5',
'agentSnmpTrapPortNumber' => '1.3.6.1.4.1.14179.1.2.5.1',
'agentSnmpVersion1Status' => '1.3.6.1.4.1.14179.1.2.5.2',
'agentSnmpVersion2cStatus' => '1.3.6.1.4.1.14179.1.2.5.3',
'agentSnmpCommunityConfigTable' => '1.3.6.1.4.1.14179.1.2.5.5',
'agentSnmpCommunityConfigEntry' => '1.3.6.1.4.1.14179.1.2.5.5.1',
'agentSnmpCommunityName' => '1.3.6.1.4.1.14179.1.2.5.5.1.1',
'agentSnmpCommunityIPAddress' => '1.3.6.1.4.1.14179.1.2.5.5.1.2',
'agentSnmpCommunityIPMask' => '1.3.6.1.4.1.14179.1.2.5.5.1.3',
'agentSnmpCommunityAccessMode' => '1.3.6.1.4.1.14179.1.2.5.5.1.4',
'agentSnmpCommunityEnabled' => '1.3.6.1.4.1.14179.1.2.5.5.1.5',
'agentSnmpCommunityStatus' => '1.3.6.1.4.1.14179.1.2.5.5.1.25',
'agentSnmpTrapReceiverConfigTable' => '1.3.6.1.4.1.14179.1.2.5.6',
'agentSnmpTrapReceiverConfigEntry' => '1.3.6.1.4.1.14179.1.2.5.6.1',
'agentSnmpTrapReceiverName' => '1.3.6.1.4.1.14179.1.2.5.6.1.1',
'agentSnmpTrapReceiverIPAddress' => '1.3.6.1.4.1.14179.1.2.5.6.1.2',
'agentSnmpTrapReceiverEnabled' => '1.3.6.1.4.1.14179.1.2.5.6.1.3',
'agentSnmpTrapReceiverStatus' => '1.3.6.1.4.1.14179.1.2.5.6.1.23',
'agentSnmpTrapFlagsConfigGroup' => '1.3.6.1.4.1.14179.1.2.5.7',
'agentSnmpAuthenticationTrapFlag' => '1.3.6.1.4.1.14179.1.2.5.7.1',
'agentSnmpLinkUpDownTrapFlag' => '1.3.6.1.4.1.14179.1.2.5.7.2',
'agentSnmpMultipleUsersTrapFlag' => '1.3.6.1.4.1.14179.1.2.5.7.3',
'agentSnmpSpanningTreeTrapFlag' => '1.3.6.1.4.1.14179.1.2.5.7.4',
'agentSnmpBroadcastStormTrapFlag' => '1.3.6.1.4.1.14179.1.2.5.7.5',
'agentSnmpV3ConfigGroup' => '1.3.6.1.4.1.14179.1.2.6',
'agentSnmpVersion3Status' => '1.3.6.1.4.1.14179.1.2.6.1',
'agentSnmpV3UserConfigTable' => '1.3.6.1.4.1.14179.1.2.6.2',
'agentSnmpV3UserConfigEntry' => '1.3.6.1.4.1.14179.1.2.6.2.1',
'agentSnmpV3UserName' => '1.3.6.1.4.1.14179.1.2.6.2.1.1',
'agentSnmpV3UserAccessMode' => '1.3.6.1.4.1.14179.1.2.6.2.1.2',
'agentSnmpV3UserAuthenticationType' => '1.3.6.1.4.1.14179.1.2.6.2.1.3',
'agentSnmpV3UserEncryptionType' => '1.3.6.1.4.1.14179.1.2.6.2.1.4',
'agentSnmpV3UserAuthenticationPassword' => '1.3.6.1.4.1.14179.1.2.6.2.1.5',
'agentSnmpV3UserEncryptionPassword' => '1.3.6.1.4.1.14179.1.2.6.2.1.6',
'agentSnmpV3UserStatus' => '1.3.6.1.4.1.14179.1.2.6.2.1.26',
'agentSpanningTreeConfigGroup' => '1.3.6.1.4.1.14179.1.2.7',
'agentSpanningTreeMode' => '1.3.6.1.4.1.14179.1.2.7.1',
'agentSwitchConfigGroup' => '1.3.6.1.4.1.14179.1.2.8',
'agentSwitchBroadcastControlMode' => '1.3.6.1.4.1.14179.1.2.8.2',
'agentSwitchDot3FlowControlMode' => '1.3.6.1.4.1.14179.1.2.8.3',
'agentSwitchAddressAgingTimeoutTable' => '1.3.6.1.4.1.14179.1.2.8.4',
'agentSwitchAddressAgingTimeoutEntry' => '1.3.6.1.4.1.14179.1.2.8.4.1',
'agentSwitchAddressAgingTimeout' => '1.3.6.1.4.1.14179.1.2.8.4.1.10',
'agentSwitchLwappTransportMode' => '1.3.6.1.4.1.14179.1.2.8.5',
'agentTransferConfigGroup' => '1.3.6.1.4.1.14179.1.2.9',
'agentTransferUploadGroup' => '1.3.6.1.4.1.14179.1.2.9.1',
'agentTransferUploadMode' => '1.3.6.1.4.1.14179.1.2.9.1.1',
'agentTransferUploadServerIP' => '1.3.6.1.4.1.14179.1.2.9.1.2',
'agentTransferUploadPath' => '1.3.6.1.4.1.14179.1.2.9.1.3',
'agentTransferUploadFilename' => '1.3.6.1.4.1.14179.1.2.9.1.4',
'agentTransferUploadDataType' => '1.3.6.1.4.1.14179.1.2.9.1.5',
'agentTransferUploadStart' => '1.3.6.1.4.1.14179.1.2.9.1.6',
'agentTransferUploadStatus' => '1.3.6.1.4.1.14179.1.2.9.1.7',
'agentTransferDownloadGroup' => '1.3.6.1.4.1.14179.1.2.9.2',
'agentTransferDownloadMode' => '1.3.6.1.4.1.14179.1.2.9.2.1',
'agentTransferDownloadServerIP' => '1.3.6.1.4.1.14179.1.2.9.2.2',
'agentTransferDownloadPath' => '1.3.6.1.4.1.14179.1.2.9.2.3',
'agentTransferDownloadFilename' => '1.3.6.1.4.1.14179.1.2.9.2.4',
'agentTransferDownloadDataType' => '1.3.6.1.4.1.14179.1.2.9.2.5',
'agentTransferDownloadStart' => '1.3.6.1.4.1.14179.1.2.9.2.6',
'agentTransferDownloadStatus' => '1.3.6.1.4.1.14179.1.2.9.2.7',
'agentTransferDownloadTftpMaxRetries' => '1.3.6.1.4.1.14179.1.2.9.2.8',
'agentTransferDownloadTftpTimeout' => '1.3.6.1.4.1.14179.1.2.9.2.9',
'agentTransferConfigurationFileEncryption' => '1.3.6.1.4.1.14179.1.2.9.3',
'agentTransferConfigurationFileEncryptionKey' => '1.3.6.1.4.1.14179.1.2.9.4',
'agentDot3adAggPortTable' => '1.3.6.1.4.1.14179.1.2.11',
'agentDot3adAggPortEntry' => '1.3.6.1.4.1.14179.1.2.11.1',
'agentDot3adAggPort' => '1.3.6.1.4.1.14179.1.2.11.1.1',
'agentDot3adAggPortLACPMode' => '1.3.6.1.4.1.14179.1.2.11.1.21',
'agentPortConfigTable' => '1.3.6.1.4.1.14179.1.2.12',
'agentPortConfigEntry' => '1.3.6.1.4.1.14179.1.2.12.1',
'agentPortDot1dBasePort' => '1.3.6.1.4.1.14179.1.2.12.1.1',
'agentPortIfIndex' => '1.3.6.1.4.1.14179.1.2.12.1.2',
'agentPortIanaType' => '1.3.6.1.4.1.14179.1.2.12.1.3',
'agentPortSTPMode' => '1.3.6.1.4.1.14179.1.2.12.1.4',
'agentPortSTPState' => '1.3.6.1.4.1.14179.1.2.12.1.5',
'agentPortAdminMode' => '1.3.6.1.4.1.14179.1.2.12.1.6',
'agentPortPhysicalMode' => '1.3.6.1.4.1.14179.1.2.12.1.7',
'agentPortPhysicalStatus' => '1.3.6.1.4.1.14179.1.2.12.1.8',
'agentPortLinkTrapMode' => '1.3.6.1.4.1.14179.1.2.12.1.9',
'agentPortClearStats' => '1.3.6.1.4.1.14179.1.2.12.1.10',
'agentPortDefaultType' => '1.3.6.1.4.1.14179.1.2.12.1.11',
'agentPortType' => '1.3.6.1.4.1.14179.1.2.12.1.12',
'agentPortAutoNegAdminStatus' => '1.3.6.1.4.1.14179.1.2.12.1.13',
'agentPortDot3FlowControlMode' => '1.3.6.1.4.1.14179.1.2.12.1.14',
'agentPortPowerMode' => '1.3.6.1.4.1.14179.1.2.12.1.15',
'agentPortGvrpStatus' => '1.3.6.1.4.1.14179.1.2.12.1.16',
'agentPortGarpJoinTime' => '1.3.6.1.4.1.14179.1.2.12.1.17',
'agentPortGarpLeaveTime' => '1.3.6.1.4.1.14179.1.2.12.1.18',
'agentPortGarpLeaveAllTime' => '1.3.6.1.4.1.14179.1.2.12.1.19',
'agentPortMirrorMode' => '1.3.6.1.4.1.14179.1.2.12.1.20',
'agentPortMulticastApplianceMode' => '1.3.6.1.4.1.14179.1.2.12.1.21',
'agentPortOperationalStatus' => '1.3.6.1.4.1.14179.1.2.12.1.40',
'agentInterfaceConfigTable' => '1.3.6.1.4.1.14179.1.2.13',
'agentInterfaceConfigEntry' => '1.3.6.1.4.1.14179.1.2.13.1',
'agentInterfaceName' => '1.3.6.1.4.1.14179.1.2.13.1.1',
'agentInterfaceVlanId' => '1.3.6.1.4.1.14179.1.2.13.1.2',
'agentInterfaceType' => '1.3.6.1.4.1.14179.1.2.13.1.3',
'agentInterfaceMacAddress' => '1.3.6.1.4.1.14179.1.2.13.1.4',
'agentInterfaceIPAddress' => '1.3.6.1.4.1.14179.1.2.13.1.5',
'agentInterfaceIPNetmask' => '1.3.6.1.4.1.14179.1.2.13.1.6',
'agentInterfaceIPGateway' => '1.3.6.1.4.1.14179.1.2.13.1.7',
'agentInterfacePortNo' => '1.3.6.1.4.1.14179.1.2.13.1.8',
'agentInterfacePrimaryDhcpAddress' => '1.3.6.1.4.1.14179.1.2.13.1.9',
'agentInterfaceSecondaryDhcpAddress' => '1.3.6.1.4.1.14179.1.2.13.1.10',
'agentInterfaceDhcpProtocol' => '1.3.6.1.4.1.14179.1.2.13.1.11',
'agentInterfaceDnsHostName' => '1.3.6.1.4.1.14179.1.2.13.1.12',
'agentInterfaceAclName' => '1.3.6.1.4.1.14179.1.2.13.1.13',
'agentInterfaceAPManagementFeature' => '1.3.6.1.4.1.14179.1.2.13.1.14',
'agentInterfaceActivePortNo' => '1.3.6.1.4.1.14179.1.2.13.1.15',
'agentInterfaceBackupPortNo' => '1.3.6.1.4.1.14179.1.2.13.1.16',
'agentInterfaceVlanQuarantine' => '1.3.6.1.4.1.14179.1.2.13.1.17',
'agentInterfaceRowStatus' => '1.3.6.1.4.1.14179.1.2.13.1.31',
'agentNtpConfigGroup' => '1.3.6.1.4.1.14179.1.2.14',
'agentNtpPollingInterval' => '1.3.6.1.4.1.14179.1.2.14.1',
'agentNtpServerTable' => '1.3.6.1.4.1.14179.1.2.14.2',
'agentNtpServerEntry' => '1.3.6.1.4.1.14179.1.2.14.2.1',
'agentNtpServerIndex' => '1.3.6.1.4.1.14179.1.2.14.2.1.1',
'agentNtpServerAddress' => '1.3.6.1.4.1.14179.1.2.14.2.1.2',
'agentNtpServerRowStatus' => '1.3.6.1.4.1.14179.1.2.14.2.1.20',
'agentDhcpConfigGroup' => '1.3.6.1.4.1.14179.1.2.15',
'agentDhcpScopeTable' => '1.3.6.1.4.1.14179.1.2.15.1',
'agentDhcpScopeEntry' => '1.3.6.1.4.1.14179.1.2.15.1.1',
'agentDhcpScopeIndex' => '1.3.6.1.4.1.14179.1.2.15.1.1.1',
'agentDhcpScopeName' => '1.3.6.1.4.1.14179.1.2.15.1.1.2',
'agentDhcpScopeLeaseTime' => '1.3.6.1.4.1.14179.1.2.15.1.1.3',
'agentDhcpScopeNetwork' => '1.3.6.1.4.1.14179.1.2.15.1.1.4',
'agentDhcpScopeNetmask' => '1.3.6.1.4.1.14179.1.2.15.1.1.5',
'agentDhcpScopePoolStartAddress' => '1.3.6.1.4.1.14179.1.2.15.1.1.6',
'agentDhcpScopePoolEndAddress' => '1.3.6.1.4.1.14179.1.2.15.1.1.7',
'agentDhcpScopeDefaultRouterAddress1' => '1.3.6.1.4.1.14179.1.2.15.1.1.8',
'agentDhcpScopeDefaultRouterAddress2' => '1.3.6.1.4.1.14179.1.2.15.1.1.9',
'agentDhcpScopeDefaultRouterAddress3' => '1.3.6.1.4.1.14179.1.2.15.1.1.10',
'agentDhcpScopeDnsDomainName' => '1.3.6.1.4.1.14179.1.2.15.1.1.11',
'agentDhcpScopeDnsServerAddress1' => '1.3.6.1.4.1.14179.1.2.15.1.1.12',
'agentDhcpScopeDnsServerAddress2' => '1.3.6.1.4.1.14179.1.2.15.1.1.13',
'agentDhcpScopeDnsServerAddress3' => '1.3.6.1.4.1.14179.1.2.15.1.1.14',
'agentDhcpScopeNetbiosNameServerAddress1' => '1.3.6.1.4.1.14179.1.2.15.1.1.15',
'agentDhcpScopeNetbiosNameServerAddress2' => '1.3.6.1.4.1.14179.1.2.15.1.1.16',
'agentDhcpScopeNetbiosNameServerAddress3' => '1.3.6.1.4.1.14179.1.2.15.1.1.17',
'agentDhcpScopeState' => '1.3.6.1.4.1.14179.1.2.15.1.1.18',
'agentDhcpScopeRowStatus' => '1.3.6.1.4.1.14179.1.2.15.1.1.30',
'agentSystemGroup' => '1.3.6.1.4.1.14179.1.3',
'agentSaveConfig' => '1.3.6.1.4.1.14179.1.3.1',
'agentClearConfig' => '1.3.6.1.4.1.14179.1.3.2',
'agentClearLags' => '1.3.6.1.4.1.14179.1.3.3',
'agentClearLoginSessions' => '1.3.6.1.4.1.14179.1.3.4',
'agentClearPortStats' => '1.3.6.1.4.1.14179.1.3.6',
'agentClearSwitchStats' => '1.3.6.1.4.1.14179.1.3.7',
'agentClearTrapLog' => '1.3.6.1.4.1.14179.1.3.8',
'agentResetSystem' => '1.3.6.1.4.1.14179.1.3.10',
'stats' => '1.3.6.1.4.1.14179.1.4',
'portStatsTable' => '1.3.6.1.4.1.14179.1.4.1',
'portStatsEntry' => '1.3.6.1.4.1.14179.1.4.1.1',
'portStatsIndex' => '1.3.6.1.4.1.14179.1.4.1.1.1',
'portStatsPktsTx64Octets' => '1.3.6.1.4.1.14179.1.4.1.1.2',
'portStatsPktsTx65to127Octets' => '1.3.6.1.4.1.14179.1.4.1.1.3',
'portStatsPktsTx128to255Octets' => '1.3.6.1.4.1.14179.1.4.1.1.4',
'portStatsPktsTx256to511Octets' => '1.3.6.1.4.1.14179.1.4.1.1.5',
'portStatsPktsTx512to1023Octets' => '1.3.6.1.4.1.14179.1.4.1.1.6',
'portStatsPktsTx1024to1518Octets' => '1.3.6.1.4.1.14179.1.4.1.1.7',
'portStatsPktsRx1519to1530Octets' => '1.3.6.1.4.1.14179.1.4.1.1.8',
'portStatsPktsTx1519to1530Octets' => '1.3.6.1.4.1.14179.1.4.1.1.9',
'portStatsPktsTxOversizeOctets' => '1.3.6.1.4.1.14179.1.4.1.1.30',
'switchingTraps' => '1.3.6.1.4.1.14179.1.50',
'multipleUsersTrap' => '1.3.6.1.4.1.14179.1.50.1',
'broadcastStormStartTrap' => '1.3.6.1.4.1.14179.1.50.2',
'broadcastStormEndTrap' => '1.3.6.1.4.1.14179.1.50.3',
'linkFailureTrap' => '1.3.6.1.4.1.14179.1.50.4',
'vlanRequestFailureTrap' => '1.3.6.1.4.1.14179.1.50.5',
'vlanDeleteLastTrap' => '1.3.6.1.4.1.14179.1.50.6',
'vlanDefaultCfgFailureTrap' => '1.3.6.1.4.1.14179.1.50.7',
'vlanRestoreFailureTrap' => '1.3.6.1.4.1.14179.1.50.8',
'fanFailureTrap' => '1.3.6.1.4.1.14179.1.50.9',
'stpInstanceNewRootTrap' => '1.3.6.1.4.1.14179.1.50.10',
'stpInstanceTopologyChangeTrap' => '1.3.6.1.4.1.14179.1.50.11',
'powerSupplyStatusChangeTrap' => '1.3.6.1.4.1.14179.1.50.12',
'bsnSwitchingGroups' => '1.3.6.1.4.1.14179.1.51',
'bsnSwitchingAgentInfoGroup' => '1.3.6.1.4.1.14179.1.51.1',
'bsnSwitchingAgentConfigGroup' => '1.3.6.1.4.1.14179.1.51.2',
'bsnSwitchingAgentSystemGroup' => '1.3.6.1.4.1.14179.1.51.3',
'bsnSwitchingAgentStatsGroup' => '1.3.6.1.4.1.14179.1.51.4',
'bsnSwitchingObsGroup' => '1.3.6.1.4.1.14179.1.51.5',
'bsnSwitchingTrap' => '1.3.6.1.4.1.14179.1.51.6',
'bsnSwitchingCompliances' => '1.3.6.1.4.1.14179.1.52',
'bsnSwitchingCompliance' => '1.3.6.1.4.1.14179.1.52.1',
};
1;
__END__

View file

@ -1,101 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::ALARMMIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'ALARM-MIB'} = {
url => '',
name => 'ALARM-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'ALARM-MIB'} = {
'alarmMIB' => '1.3.6.1.2.1.118',
'alarmNotifications' => '1.3.6.1.2.1.118.0',
'alarmObjects' => '1.3.6.1.2.1.118.1',
'alarmModel' => '1.3.6.1.2.1.118.1.1',
'alarmModelLastChanged' => '1.3.6.1.2.1.118.1.1.1',
'alarmModelTable' => '1.3.6.1.2.1.118.1.1.2',
'alarmModelEntry' => '1.3.6.1.2.1.118.1.1.2.1',
'alarmModelIndex' => '1.3.6.1.2.1.118.1.1.2.1.1',
'alarmModelState' => '1.3.6.1.2.1.118.1.1.2.1.2',
'alarmModelNotificationId' => '1.3.6.1.2.1.118.1.1.2.1.3',
'alarmModelVarbindIndex' => '1.3.6.1.2.1.118.1.1.2.1.4',
'alarmModelVarbindValue' => '1.3.6.1.2.1.118.1.1.2.1.5',
'alarmModelDescription' => '1.3.6.1.2.1.118.1.1.2.1.6',
'alarmModelSpecificPointer' => '1.3.6.1.2.1.118.1.1.2.1.7',
'alarmModelVarbindSubtree' => '1.3.6.1.2.1.118.1.1.2.1.8',
'alarmModelResourcePrefix' => '1.3.6.1.2.1.118.1.1.2.1.9',
'alarmModelRowStatus' => '1.3.6.1.2.1.118.1.1.2.1.10',
'alarmActive' => '1.3.6.1.2.1.118.1.2',
'alarmActiveLastChanged' => '1.3.6.1.2.1.118.1.2.1',
'alarmActiveTable' => '1.3.6.1.2.1.118.1.2.2',
'alarmActiveEntry' => '1.3.6.1.2.1.118.1.2.2.1',
'alarmListName' => '1.3.6.1.2.1.118.1.2.2.1.1',
'alarmActiveDateAndTime' => '1.3.6.1.2.1.118.1.2.2.1.2',
'alarmActiveIndex' => '1.3.6.1.2.1.118.1.2.2.1.3',
'alarmActiveEngineID' => '1.3.6.1.2.1.118.1.2.2.1.4',
'alarmActiveEngineAddressType' => '1.3.6.1.2.1.118.1.2.2.1.5',
'alarmActiveEngineAddress' => '1.3.6.1.2.1.118.1.2.2.1.6',
'alarmActiveContextName' => '1.3.6.1.2.1.118.1.2.2.1.7',
'alarmActiveVariables' => '1.3.6.1.2.1.118.1.2.2.1.8',
'alarmActiveNotificationID' => '1.3.6.1.2.1.118.1.2.2.1.9',
'alarmActiveResourceId' => '1.3.6.1.2.1.118.1.2.2.1.10',
'alarmActiveDescription' => '1.3.6.1.2.1.118.1.2.2.1.11',
'alarmActiveLogPointer' => '1.3.6.1.2.1.118.1.2.2.1.12',
'alarmActiveModelPointer' => '1.3.6.1.2.1.118.1.2.2.1.13',
'alarmActiveSpecificPointer' => '1.3.6.1.2.1.118.1.2.2.1.14',
'alarmActiveVariableTable' => '1.3.6.1.2.1.118.1.2.3',
'alarmActiveVariableEntry' => '1.3.6.1.2.1.118.1.2.3.1',
'alarmActiveVariableIndex' => '1.3.6.1.2.1.118.1.2.3.1.1',
'alarmActiveVariableID' => '1.3.6.1.2.1.118.1.2.3.1.2',
'alarmActiveVariableValueType' => '1.3.6.1.2.1.118.1.2.3.1.3',
'alarmActiveVariableValueTypeDefinition' => 'ALARM-MIB::alarmActiveVariableValueType',
'alarmActiveVariableCounter32Val' => '1.3.6.1.2.1.118.1.2.3.1.4',
'alarmActiveVariableUnsigned32Val' => '1.3.6.1.2.1.118.1.2.3.1.5',
'alarmActiveVariableTimeTicksVal' => '1.3.6.1.2.1.118.1.2.3.1.6',
'alarmActiveVariableInteger32Val' => '1.3.6.1.2.1.118.1.2.3.1.7',
'alarmActiveVariableOctetStringVal' => '1.3.6.1.2.1.118.1.2.3.1.8',
'alarmActiveVariableIpAddressVal' => '1.3.6.1.2.1.118.1.2.3.1.9',
'alarmActiveVariableOidVal' => '1.3.6.1.2.1.118.1.2.3.1.10',
'alarmActiveVariableCounter64Val' => '1.3.6.1.2.1.118.1.2.3.1.11',
'alarmActiveVariableOpaqueVal' => '1.3.6.1.2.1.118.1.2.3.1.12',
'alarmActiveStatsTable' => '1.3.6.1.2.1.118.1.2.4',
'alarmActiveStatsEntry' => '1.3.6.1.2.1.118.1.2.4.1',
'alarmActiveStatsActiveCurrent' => '1.3.6.1.2.1.118.1.2.4.1.1',
'alarmActiveStatsActives' => '1.3.6.1.2.1.118.1.2.4.1.2',
'alarmActiveStatsLastRaise' => '1.3.6.1.2.1.118.1.2.4.1.3',
'alarmActiveStatsLastClear' => '1.3.6.1.2.1.118.1.2.4.1.4',
'alarmActiveOverflow' => '1.3.6.1.2.1.118.1.2.5',
'alarmClear' => '1.3.6.1.2.1.118.1.3',
'alarmClearMaximum' => '1.3.6.1.2.1.118.1.3.1',
'alarmClearTable' => '1.3.6.1.2.1.118.1.3.2',
'alarmClearEntry' => '1.3.6.1.2.1.118.1.3.2.1',
'alarmClearIndex' => '1.3.6.1.2.1.118.1.3.2.1.1',
'alarmClearDateAndTime' => '1.3.6.1.2.1.118.1.3.2.1.2',
'alarmClearEngineID' => '1.3.6.1.2.1.118.1.3.2.1.3',
'alarmClearEngineAddressType' => '1.3.6.1.2.1.118.1.3.2.1.4',
'alarmClearEngineAddress' => '1.3.6.1.2.1.118.1.3.2.1.5',
'alarmClearContextName' => '1.3.6.1.2.1.118.1.3.2.1.6',
'alarmClearNotificationID' => '1.3.6.1.2.1.118.1.3.2.1.7',
'alarmClearResourceId' => '1.3.6.1.2.1.118.1.3.2.1.8',
'alarmClearLogIndex' => '1.3.6.1.2.1.118.1.3.2.1.9',
'alarmClearModelPointer' => '1.3.6.1.2.1.118.1.3.2.1.10',
'alarmConformance' => '1.3.6.1.2.1.118.2',
'alarmCompliances' => '1.3.6.1.2.1.118.2.1',
'alarmGroups' => '1.3.6.1.2.1.118.2.2',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::definitions->{'ALARM-MIB'} = {
'alarmActiveVariableValueType' => {
'1' => 'counter32',
'2' => 'unsigned32',
'3' => 'timeTicks',
'4' => 'integer32',
'5' => 'ipAddress',
'6' => 'octetString',
'7' => 'objectId',
'8' => 'counter64',
'9' => 'opaque',
},
};
1;
__END__

View file

@ -1,14 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::ALCATELIND1BASEMIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'ALCATEL-IND1-BASE-MIB'} = {
url => '',
name => 'ALCATEL-IND1-BASE-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mib_ids->{'ALCATEL-IND1-BASE-MIB'} =
'1.3.6.1.4.1.6486.800';
1;
__END__

View file

@ -1,159 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::ARISTABGP4V2MIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'ARISTA-BGP4V2-MIB'} = {
url => '',
name => 'ARISTA-BGP4V2-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mib_ids->{'ARISTA-BGP4V2-MIB'} =
'1.3.6.1.4.1.30065.4.1';
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'ARISTA-BGP4V2-MIB'} = {
aristaBgp4V2 => '1.3.6.1.4.1.30065.4.1',
aristaBgp4V2Notifications => '1.3.6.1.4.1.30065.4.1.0',
aristaBgp4V2Objects => '1.3.6.1.4.1.30065.4.1.1',
aristaBgp4V2DiscontinuityTable => '1.3.6.1.4.1.30065.4.1.1.1',
aristaBgp4V2DiscontinuityEntry => '1.3.6.1.4.1.30065.4.1.1.1.1',
aristaBgp4V2DiscontinuityTime => '1.3.6.1.4.1.30065.4.1.1.1.1.1',
aristaBgp4V2PeerTable => '1.3.6.1.4.1.30065.4.1.1.2',
aristaBgp4V2PeerEntry => '1.3.6.1.4.1.30065.4.1.1.2.1',
aristaBgp4V2PeerInstance => '1.3.6.1.4.1.30065.4.1.1.2.1.1',
aristaBgp4V2PeerLocalAddrType => '1.3.6.1.4.1.30065.4.1.1.2.1.2',
aristaBgp4V2PeerLocalAddrTypeDefinition => 'INET-ADDRESS-MIB::InetAddressType',
aristaBgp4V2PeerLocalAddr => '1.3.6.1.4.1.30065.4.1.1.2.1.3',
aristaBgp4V2PeerLocalAddrDefinition => 'INET-ADDRESS-MIB::InetAddress(aristaBgp4V2PeerLocalAddrType)',
aristaBgp4V2PeerRemoteAddrType => '1.3.6.1.4.1.30065.4.1.1.2.1.4',
aristaBgp4V2PeerRemoteAddrTypeDefinition => 'INET-ADDRESS-MIB::InetAddressType',
aristaBgp4V2PeerRemoteAddr => '1.3.6.1.4.1.30065.4.1.1.2.1.5',
aristaBgp4V2PeerRemoteAddrDefinition => 'INET-ADDRESS-MIB::InetAddress(aristaBgp4V2PeerRemoteAddrType)',
aristaBgp4V2PeerLocalPort => '1.3.6.1.4.1.30065.4.1.1.2.1.6',
aristaBgp4V2PeerLocalAs => '1.3.6.1.4.1.30065.4.1.1.2.1.7',
aristaBgp4V2PeerLocalIdentifier => '1.3.6.1.4.1.30065.4.1.1.2.1.8',
aristaBgp4V2PeerLocalIdentifierDefinition => 'ARISTA-BGP4V2-TC-MIB::AristaBgp4V2IdentifierTC',
aristaBgp4V2PeerRemotePort => '1.3.6.1.4.1.30065.4.1.1.2.1.9',
aristaBgp4V2PeerRemoteAs => '1.3.6.1.4.1.30065.4.1.1.2.1.10',
aristaBgp4V2PeerRemoteIdentifier => '1.3.6.1.4.1.30065.4.1.1.2.1.11',
aristaBgp4V2PeerRemoteIdentifierDefinition => 'ARISTA-BGP4V2-TC-MIB::AristaBgp4V2IdentifierTC',
aristaBgp4V2PeerAdminStatus => '1.3.6.1.4.1.30065.4.1.1.2.1.12',
aristaBgp4V2PeerAdminStatusDefinition => 'ARISTA-BGP4V2-MIB::aristaBgp4V2PeerAdminStatus',
aristaBgp4V2PeerState => '1.3.6.1.4.1.30065.4.1.1.2.1.13',
aristaBgp4V2PeerStateDefinition => 'ARISTA-BGP4V2-MIB::aristaBgp4V2PeerState',
aristaBgp4V2PeerDescription => '1.3.6.1.4.1.30065.4.1.1.2.1.14',
aristaBgp4V2PeerErrorsTable => '1.3.6.1.4.1.30065.4.1.1.3',
aristaBgp4V2PeerErrorsEntry => '1.3.6.1.4.1.30065.4.1.1.3.1',
aristaBgp4V2PeerLastErrorCodeReceived => '1.3.6.1.4.1.30065.4.1.1.3.1.1',
aristaBgp4V2PeerLastErrorSubCodeReceived => '1.3.6.1.4.1.30065.4.1.1.3.1.2',
aristaBgp4V2PeerLastErrorReceivedTime => '1.3.6.1.4.1.30065.4.1.1.3.1.3',
aristaBgp4V2PeerLastErrorReceivedText => '1.3.6.1.4.1.30065.4.1.1.3.1.4',
aristaBgp4V2PeerLastErrorReceivedData => '1.3.6.1.4.1.30065.4.1.1.3.1.5',
aristaBgp4V2PeerLastErrorCodeSent => '1.3.6.1.4.1.30065.4.1.1.3.1.6',
aristaBgp4V2PeerLastErrorSubCodeSent => '1.3.6.1.4.1.30065.4.1.1.3.1.7',
aristaBgp4V2PeerLastErrorSentTime => '1.3.6.1.4.1.30065.4.1.1.3.1.8',
aristaBgp4V2PeerLastErrorSentText => '1.3.6.1.4.1.30065.4.1.1.3.1.9',
aristaBgp4V2PeerLastErrorSentData => '1.3.6.1.4.1.30065.4.1.1.3.1.10',
aristaBgp4V2PeerEventTimesTable => '1.3.6.1.4.1.30065.4.1.1.4',
aristaBgp4V2PeerEventTimesEntry => '1.3.6.1.4.1.30065.4.1.1.4.1',
aristaBgp4V2PeerFsmEstablishedTime => '1.3.6.1.4.1.30065.4.1.1.4.1.1',
aristaBgp4V2PeerInUpdatesElapsedTime => '1.3.6.1.4.1.30065.4.1.1.4.1.2',
aristaBgp4V2PeerConfiguredTimersTable => '1.3.6.1.4.1.30065.4.1.1.5',
aristaBgp4V2PeerConfiguredTimersEntry => '1.3.6.1.4.1.30065.4.1.1.5.1',
aristaBgp4V2PeerConnectRetryInterval => '1.3.6.1.4.1.30065.4.1.1.5.1.1',
aristaBgp4V2PeerHoldTimeConfigured => '1.3.6.1.4.1.30065.4.1.1.5.1.2',
aristaBgp4V2PeerKeepAliveConfigured => '1.3.6.1.4.1.30065.4.1.1.5.1.3',
aristaBgp4V2PeerMinASOrigInterval => '1.3.6.1.4.1.30065.4.1.1.5.1.4',
aristaBgp4V2PeerMinRouteAdverInterval => '1.3.6.1.4.1.30065.4.1.1.5.1.5',
aristaBgp4V2PeerNegotiatedTimersTable => '1.3.6.1.4.1.30065.4.1.1.6',
aristaBgp4V2PeerNegotiatedTimersEntry => '1.3.6.1.4.1.30065.4.1.1.6.1',
aristaBgp4V2PeerHoldTime => '1.3.6.1.4.1.30065.4.1.1.6.1.1',
aristaBgp4V2PeerKeepAlive => '1.3.6.1.4.1.30065.4.1.1.6.1.2',
aristaBgp4V2PeerCountersTable => '1.3.6.1.4.1.30065.4.1.1.7',
aristaBgp4V2PeerCountersEntry => '1.3.6.1.4.1.30065.4.1.1.7.1',
aristaBgp4V2PeerInUpdates => '1.3.6.1.4.1.30065.4.1.1.7.1.1',
aristaBgp4V2PeerOutUpdates => '1.3.6.1.4.1.30065.4.1.1.7.1.2',
aristaBgp4V2PeerInTotalMessages => '1.3.6.1.4.1.30065.4.1.1.7.1.3',
aristaBgp4V2PeerOutTotalMessages => '1.3.6.1.4.1.30065.4.1.1.7.1.4',
aristaBgp4V2PeerFsmEstablishedTransitions => '1.3.6.1.4.1.30065.4.1.1.7.1.5',
aristaBgp4V2PrefixGaugesTable => '1.3.6.1.4.1.30065.4.1.1.8',
aristaBgp4V2PrefixGaugesEntry => '1.3.6.1.4.1.30065.4.1.1.8.1',
aristaBgp4V2PrefixGaugesAfi => '1.3.6.1.4.1.30065.4.1.1.8.1.1',
aristaBgp4V2PrefixGaugesAfiDefinition => 'ARISTA-BGP4V2-TC-MIB::AristaBgp4V2AddressFamilyIdentifierTC',
aristaBgp4V2PrefixGaugesSafi => '1.3.6.1.4.1.30065.4.1.1.8.1.2',
aristaBgp4V2PrefixGaugesSafiDefinition => 'ARISTA-BGP4V2-TC-MIB::AristaBgp4V2SubsequentAddressFamilyIdentifierTC',
aristaBgp4V2PrefixInPrefixes => '1.3.6.1.4.1.30065.4.1.1.8.1.3',
aristaBgp4V2PrefixInPrefixesAccepted => '1.3.6.1.4.1.30065.4.1.1.8.1.4',
aristaBgp4V2PrefixOutPrefixes => '1.3.6.1.4.1.30065.4.1.1.8.1.5',
aristaBgp4V2NlriTable => '1.3.6.1.4.1.30065.4.1.1.9',
aristaBgp4V2NlriEntry => '1.3.6.1.4.1.30065.4.1.1.9.1',
aristaBgp4V2NlriIndex => '1.3.6.1.4.1.30065.4.1.1.9.1.1',
aristaBgp4V2NlriAfi => '1.3.6.1.4.1.30065.4.1.1.9.1.2',
aristaBgp4V2NlriAfiDefinition => 'ARISTA-BGP4V2-TC-MIB::AristaBgp4V2AddressFamilyIdentifierTC',
aristaBgp4V2NlriSafi => '1.3.6.1.4.1.30065.4.1.1.9.1.3',
aristaBgp4V2NlriSafiDefinition => 'ARISTA-BGP4V2-TC-MIB::AristaBgp4V2SubsequentAddressFamilyIdentifierTC',
aristaBgp4V2NlriPrefixType => '1.3.6.1.4.1.30065.4.1.1.9.1.4',
aristaBgp4V2NlriPrefix => '1.3.6.1.4.1.30065.4.1.1.9.1.5',
aristaBgp4V2NlriPrefixLen => '1.3.6.1.4.1.30065.4.1.1.9.1.6',
aristaBgp4V2NlriBest => '1.3.6.1.4.1.30065.4.1.1.9.1.7',
aristaBgp4V2NlriCalcLocalPref => '1.3.6.1.4.1.30065.4.1.1.9.1.8',
aristaBgp4V2NlriOrigin => '1.3.6.1.4.1.30065.4.1.1.9.1.9',
aristaBgp4V2NlriOriginDefinition => 'ARISTA-BGP4V2-MIB::aristaBgp4V2NlriOrigin',
aristaBgp4V2NlriNextHopAddrType => '1.3.6.1.4.1.30065.4.1.1.9.1.10',
aristaBgp4V2NlriNextHopAddr => '1.3.6.1.4.1.30065.4.1.1.9.1.11',
aristaBgp4V2NlriLinkLocalNextHopAddrType => '1.3.6.1.4.1.30065.4.1.1.9.1.12',
aristaBgp4V2NlriLinkLocalNextHopAddr => '1.3.6.1.4.1.30065.4.1.1.9.1.13',
aristaBgp4V2NlriLocalPrefPresent => '1.3.6.1.4.1.30065.4.1.1.9.1.14',
aristaBgp4V2NlriLocalPref => '1.3.6.1.4.1.30065.4.1.1.9.1.15',
aristaBgp4V2NlriMedPresent => '1.3.6.1.4.1.30065.4.1.1.9.1.16',
aristaBgp4V2NlriMed => '1.3.6.1.4.1.30065.4.1.1.9.1.17',
aristaBgp4V2NlriAtomicAggregate => '1.3.6.1.4.1.30065.4.1.1.9.1.18',
aristaBgp4V2NlriAggregatorPresent => '1.3.6.1.4.1.30065.4.1.1.9.1.19',
aristaBgp4V2NlriAggregatorAS => '1.3.6.1.4.1.30065.4.1.1.9.1.20',
aristaBgp4V2NlriAggregatorAddr => '1.3.6.1.4.1.30065.4.1.1.9.1.21',
aristaBgp4V2NlriAsPathCalcLength => '1.3.6.1.4.1.30065.4.1.1.9.1.22',
aristaBgp4V2NlriAsPathString => '1.3.6.1.4.1.30065.4.1.1.9.1.23',
aristaBgp4V2NlriAsPath => '1.3.6.1.4.1.30065.4.1.1.9.1.24',
aristaBgp4V2NlriPathAttrUnknown => '1.3.6.1.4.1.30065.4.1.1.9.1.25',
aristaBgp4V2AdjRibsOutTable => '1.3.6.1.4.1.30065.4.1.1.10',
aristaBgp4V2AdjRibsOutEntry => '1.3.6.1.4.1.30065.4.1.1.10.1',
aristaBgp4V2AdjRibsOutIndex => '1.3.6.1.4.1.30065.4.1.1.10.1.1',
aristaBgp4V2AdjRibsOutRoute => '1.3.6.1.4.1.30065.4.1.1.10.1.2',
aristaBgp4V2Conformance => '1.3.6.1.4.1.30065.4.1.2',
aristaBgp4V2Compliances => '1.3.6.1.4.1.30065.4.1.2.1',
aristaBgp4V2Groups => '1.3.6.1.4.1.30065.4.1.2.2',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::definitions->{'ARISTA-BGP4V2-MIB'} = {
aristaBgp4V2NlriOrigin => {
'1' => 'igp',
'2' => 'egp',
'3' => 'incomplete',
},
aristaBgp4V2PeerAdminStatus => {
'1' => 'halted',
'2' => 'running',
},
aristaBgp4V2PeerState => {
'1' => 'idle',
'2' => 'connect',
'3' => 'active',
'4' => 'opensent',
'5' => 'openconfirm',
'6' => 'established',
},
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::definitions->{'ARISTA-BGP4V2-TC-MIB'} = {
AristaBgp4V2IdentifierTC => sub {
my ($addr) = @_;
return Monitoring::GLPlugin::SNMP::TableItem->new()->unhex_ip($addr);
},
AristaBgp4V2AddressFamilyIdentifierTC => {
1 => 'ipv4',
2 => 'ipv6',
},
AristaBgp4V2SubsequentAddressFamilyIdentifierTC => {
1 => 'unicast',
2 => 'multicast',
4 => 'mpls',
},
};

View file

@ -1,29 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::ARISTAENTITYSENSORMIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'ARISTA-ENTITY-SENSOR-MIB'} = {
url => '',
name => 'ARISTA-ENTITY-SENSOR-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mib_ids->{'ARISTA-ENTITY-SENSOR-MIB'} =
'1.3.6.1.4.1.30065.3.12';
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'ARISTA-ENTITY-SENSOR-MIB'} = {
aristaEntSensorMIB => '1.3.6.1.4.1.30065.3.12',
aristaEntSensorMibNotifications => '1.3.6.1.4.1.30065.3.12.0',
aristaEntSensorMibObjects => '1.3.6.1.4.1.30065.3.12.1',
aristaEntSensorThresholdTable => '1.3.6.1.4.1.30065.3.12.1.1',
aristaEntSensorThresholdEntry => '1.3.6.1.4.1.30065.3.12.1.1.1',
aristaEntSensorThresholdLowWarning => '1.3.6.1.4.1.30065.3.12.1.1.1.1',
aristaEntSensorThresholdLowCritical => '1.3.6.1.4.1.30065.3.12.1.1.1.2',
aristaEntSensorThresholdHighWarning => '1.3.6.1.4.1.30065.3.12.1.1.1.3',
aristaEntSensorThresholdHighCritical => '1.3.6.1.4.1.30065.3.12.1.1.1.4',
aristaEntSensorStatusDescr => '1.3.6.1.4.1.30065.3.12.1.1.1.5',
aristaEntSensorMibConformance => '1.3.6.1.4.1.30065.3.12.2',
aristaEntSensorMibCompliances => '1.3.6.1.4.1.30065.3.12.2.1',
aristaEntSensorMibGroups => '1.3.6.1.4.1.30065.3.12.2.2',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::definitions->{'ARISTA-ENTITY-SENSOR-MIB'} = {
};

View file

@ -1,23 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::ARUBATCMIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'ARUBA-TC-MIB'} = {
url => 'http://www.circitor.fr/Mibs/Files/ARUBA-TC.mib',
name => 'ARUBA-TC-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::definitions->{'ARUBA-TC-MIB'} = {
'ArubaSwitchRole' => {
1 => 'master',
2 => 'local',
3 => 'backupmaster',
},
'ArubaActiveState' => {
1 => 'active',
2 => 'inactive',
},
};
1;
__END__

View file

@ -1,20 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::ARUBAWIREDCHASSISMIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'ARUBAWIRED-CHASSIS-MIB'} = {
url => '',
name => 'ARUBAWIRED-CHASSIS-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mib_ids->{'ARUBAWIRED-CHASSIS-MIB'} =
'1.3.6.1.4.1.47196.4.1.1.3.11';
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'ARUBAWIRED-CHASSIS-MIB'} = {
'arubaWiredChassisMIB' => '1.3.6.1.4.1.47196.4.1.1.3.11',
'arubaWiredPowerSupply' => '1.3.6.1.4.1.47196.4.1.1.3.11.2',
'arubaWiredTempSensor' => '1.3.6.1.4.1.47196.4.1.1.3.11.3',
'arubaWiredFanTray' => '1.3.6.1.4.1.47196.4.1.1.3.11.4',
'arubaWiredFan' => '1.3.6.1.4.1.47196.4.1.1.3.11.5',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::definitions->{'ARUBAWIRED-CHASSIS-MIB'} = {
};

View file

@ -1,31 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::ARUBAWIREDFANMIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'ARUBAWIRED-FAN-MIB'} = {
url => '',
name => 'ARUBAWIRED-FAN-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mib_ids->{'ARUBAWIRED-FAN-MIB'} =
'1.3.6.1.4.1.47196.4.1.1.3.11.5';
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'ARUBAWIRED-FAN-MIB'} = {
'arubaWiredFan' => '1.3.6.1.4.1.47196.4.1.1.3.11.5',
'arubaWiredFanNotifications' => '1.3.6.1.4.1.47196.4.1.1.3.11.5.0',
'arubaWiredFanTable' => '1.3.6.1.4.1.47196.4.1.1.3.11.5.1',
'arubaWiredFanEntry' => '1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1',
'arubaWiredFanGroupIndex' => '1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.1',
'arubaWiredFanTrayIndex' => '1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.2',
'arubaWiredFanSlotIndex' => '1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.3',
'arubaWiredFanName' => '1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.4',
'arubaWiredFanState' => '1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.5',
'arubaWiredFanProductName' => '1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.6',
'arubaWiredFanSerialNumber' => '1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.7',
'arubaWiredFanRPM' => '1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.8',
'arubaWiredFanAirflowDirection' => '1.3.6.1.4.1.47196.4.1.1.3.11.5.1.1.9',
'arubaWiredFanConformance' => '1.3.6.1.4.1.47196.4.1.1.3.11.5.99',
'arubaWiredFanCompliances' => '1.3.6.1.4.1.47196.4.1.1.3.11.5.99.1',
'arubaWiredFanGroups' => '1.3.6.1.4.1.47196.4.1.1.3.11.5.99.2',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::definitions->{'ARUBAWIRED-FAN-MIB'} = {
};

View file

@ -1,29 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::ARUBAWIREDFANTRAYMIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'ARUBAWIRED-FANTRAY-MIB'} = {
url => '',
name => 'ARUBAWIRED-FANTRAY-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mib_ids->{'ARUBAWIRED-FANTRAY-MIB'} =
'1.3.6.1.4.1.47196.4.1.1.3.11.4';
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'ARUBAWIRED-FANTRAY-MIB'} = {
'arubaWiredFanTray' => '1.3.6.1.4.1.47196.4.1.1.3.11.4',
'arubaWiredFanTrayNotifications' => '1.3.6.1.4.1.47196.4.1.1.3.11.4.0',
'arubaWiredFanTrayTable' => '1.3.6.1.4.1.47196.4.1.1.3.11.4.1',
'arubaWiredFanTrayEntry' => '1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1',
'arubaWiredFanTrayGroupIndex' => '1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.1',
'arubaWiredFanTraySlotIndex' => '1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.2',
'arubaWiredFanTrayName' => '1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.3',
'arubaWiredFanTrayState' => '1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.4',
'arubaWiredFanTrayProductName' => '1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.5',
'arubaWiredFanTraySerialNumber' => '1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.6',
'arubaWiredFanTrayNumberFans' => '1.3.6.1.4.1.47196.4.1.1.3.11.4.1.1.7',
'arubaWiredFanTrayConformance' => '1.3.6.1.4.1.47196.4.1.1.3.11.4.99',
'arubaWiredFanTrayCompliances' => '1.3.6.1.4.1.47196.4.1.1.3.11.4.99.1',
'arubaWiredFanTrayGroups' => '1.3.6.1.4.1.47196.4.1.1.3.11.4.99.2',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::definitions->{'ARUBAWIRED-FANTRAY-MIB'} = {
};

View file

@ -1,32 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::ARUBAWIREDPOWERSUPPLYMIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'ARUBAWIRED-POWERSUPPLY-MIB'} = {
url => '',
name => 'ARUBAWIRED-POWERSUPPLY-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mib_ids->{'ARUBAWIRED-POWERSUPPLY-MIB'} =
'1.3.6.1.4.1.47196.4.1.1.3.11.2';
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'ARUBAWIRED-POWERSUPPLY-MIB'} = {
'arubaWiredPowerSupply' => '1.3.6.1.4.1.47196.4.1.1.3.11.2',
'arubaWiredPSUNotifications' => '1.3.6.1.4.1.47196.4.1.1.3.11.2.0',
'arubaWiredPowerSupplyTable' => '1.3.6.1.4.1.47196.4.1.1.3.11.2.1',
'arubaWiredPowerSupplyEntry' => '1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1',
'arubaWiredPSUGroupIndex' => '1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.1',
'arubaWiredPSUSlotIndex' => '1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.2',
'arubaWiredPSUName' => '1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.3',
'arubaWiredPSUState' => '1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.4',
'arubaWiredPSUProductName' => '1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.5',
'arubaWiredPSUSerialNumber' => '1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.6',
'arubaWiredPSUInstantaneousPower' => '1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.7',
'arubaWiredPSUMaximumPower' => '1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.8',
'arubaWiredPSUNumberFailures' => '1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.9',
'arubaWiredPSUAirflowDirection' => '1.3.6.1.4.1.47196.4.1.1.3.11.2.1.1.10',
'arubaWiredPowerSupplyConformance' => '1.3.6.1.4.1.47196.4.1.1.3.11.2.99',
'arubaWiredPowerSupplyCompliances' => '1.3.6.1.4.1.47196.4.1.1.3.11.2.99.1',
'arubaWiredPowerSupplyGroups' => '1.3.6.1.4.1.47196.4.1.1.3.11.2.99.2',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::definitions->{'ARUBAWIRED-POWERSUPPLY-MIB'} = {
};

View file

@ -1,31 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::ARUBAWIREDTEMPSENSORMIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'ARUBAWIRED-TEMPSENSOR-MIB'} = {
url => '',
name => 'ARUBAWIRED-TEMPSENSOR-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mib_ids->{'ARUBAWIRED-TEMPSENSOR-MIB'} =
'1.3.6.1.4.1.47196.4.1.1.3.11.3';
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'ARUBAWIRED-TEMPSENSOR-MIB'} = {
'arubaWiredTempSensor' => '1.3.6.1.4.1.47196.4.1.1.3.11.3',
'arubaWiredTempSensorNotifications' => '1.3.6.1.4.1.47196.4.1.1.3.11.3.0',
'arubaWiredTempSensorTable' => '1.3.6.1.4.1.47196.4.1.1.3.11.3.1',
'arubaWiredTempSensorEntry' => '1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1',
'arubaWiredTempSensorGroupIndex' => '1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.1',
'arubaWiredTempSensorSlotTypeIndex' => '1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.2',
'arubaWiredTempSensorSlotIndex' => '1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.3',
'arubaWiredTempSensorIndex' => '1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.4',
'arubaWiredTempSensorName' => '1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.5',
'arubaWiredTempSensorState' => '1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.6',
'arubaWiredTempSensorTemperature' => '1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.7',
'arubaWiredTempSensorMinTemp' => '1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.8',
'arubaWiredTempSensorMaxTemp' => '1.3.6.1.4.1.47196.4.1.1.3.11.3.1.1.9',
'arubaWiredTempSensorConformance' => '1.3.6.1.4.1.47196.4.1.1.3.11.3.99',
'arubaWiredTempSensorCompliances' => '1.3.6.1.4.1.47196.4.1.1.3.11.3.99.1',
'arubaWiredTempSensorGroups' => '1.3.6.1.4.1.47196.4.1.1.3.11.3.99.2',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::definitions->{'ARUBAWIRED-TEMPSENSOR-MIB'} = {
};

View file

@ -1,56 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::ARUBAWIREDVSFMIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'ARUBAWIRED-VSF-MIB'} = {
url => '',
name => 'ARUBAWIRED-VSF-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mib_ids->{'ARUBAWIRED-VSF-MIB'} =
'1.3.6.1.4.1.47196.4.1.1.3.10';
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'ARUBAWIRED-VSF-MIB'} = {
'arubaWiredVsfMIB' => '1.3.6.1.4.1.47196.4.1.1.3.10',
'arubaWiredVsfObjects' => '1.3.6.1.4.1.47196.4.1.1.3.10.0',
'arubaWiredVsfConfig' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.1',
'arubaWiredVsfTrapEnable' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.1.1',
'arubaWiredVsfOobmMADEnable' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.1.2',
'arubaWiredVsfOobmMADEnableDefinition' => 'ARUBAWIRED-VSF-MIB::arubaWiredVsfOobmMADEnable',
'arubaWiredVsfStatus' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.2',
'arubaWiredVsfOperStatus' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.2.1',
'arubaWiredVsfTopology' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.2.2',
'arubaWiredVsfMemberTable' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.3',
'arubaWiredVsfMemberEntry' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.3.1',
'arubaWiredVsfMemberIndex' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.3.1.1',
'arubaWiredVsfMemberRole' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.3.1.2',
'arubaWiredVsfMemberStatus' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.3.1.3',
'arubaWiredVsfMemberPartNumber' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.3.1.4',
'arubaWiredVsfMemberMacAddr' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.3.1.5',
'arubaWiredVsfMemberProductName' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.3.1.6',
'arubaWiredVsfMemberSerialNum' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.3.1.7',
'arubaWiredVsfMemberBootImage' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.3.1.8',
'arubaWiredVsfMemberCpuUtil' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.3.1.9',
'arubaWiredVsfMemberMemoryUtil' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.3.1.10',
'arubaWiredVsfMemberBootTime' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.3.1.11',
'arubaWiredVsfMemberBootRomVersion' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.3.1.12',
'arubaWiredVsfMemberTotalMemory' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.3.1.13',
'arubaWiredVsfMemberCurrentUsage' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.3.1.14',
'arubaWiredVsfLinkTable' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.4',
'arubaWiredVsfLinkEntry' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.4.1',
'arubaWiredVsfLinkMemberId' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.4.1.1',
'arubaWiredVsfLinkId' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.4.1.2',
'arubaWiredVsfLinkOperStatus' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.4.1.3',
'arubaWiredVsfLinkPeerMemberId' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.4.1.4',
'arubaWiredVsfLinkPeerLinkId' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.4.1.5',
'arubaWiredVsfLinkPortList' => '1.3.6.1.4.1.47196.4.1.1.3.10.0.4.1.6',
'arubaWiredVsfNotifications' => '1.3.6.1.4.1.47196.4.1.1.3.10.1',
'arubaWiredVsfConformance' => '1.3.6.1.4.1.47196.4.1.1.3.10.2',
'arubaWiredVsfCompliances' => '1.3.6.1.4.1.47196.4.1.1.3.10.2.1',
'arubaWiredVsfGroups' => '1.3.6.1.4.1.47196.4.1.1.3.10.2.2',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::definitions->{'ARUBAWIRED-VSF-MIB'} = {
'arubaWiredVsfOobmMADEnable' => {
'1' => 'none',
'2' => 'mgmt',
},
};

View file

@ -1,89 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::ASYNCOSMAILMIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'ASYNCOS-MAIL-MIB'} = {
url => '',
name => 'ASYNCOS-MAIL-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::requirements->{'ASYNCOS-MAIL-MIB'} = [
'SNMPv2-TC-v1-MIB',
];
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'ASYNCOS-MAIL-MIB'} = {
'asyncOSMailObjects' => '1.3.6.1.4.1.15497.1.1.1',
'perCentMemoryUtilization' => '1.3.6.1.4.1.15497.1.1.1.1.0',
'perCentCPUUtilization' => '1.3.6.1.4.1.15497.1.1.1.2.0',
'perCentDiskIOUtilization' => '1.3.6.1.4.1.15497.1.1.1.3.0',
'perCentQueueUtilization' => '1.3.6.1.4.1.15497.1.1.1.4.0',
'queueAvailabilityStatus' => '1.3.6.1.4.1.15497.1.1.1.5.0',
'queueAvailabilityStatusDefinition' => {
'1' => 'queueSpaceAvailable',
'2' => 'queueSpaceShortage',
'3' => 'queueFull',
},
'resourceConservationReason' => '1.3.6.1.4.1.15497.1.1.1.6.0',
'memoryAvailabilityStatus' => '1.3.6.1.4.1.15497.1.1.1.7.0',
'memoryAvailabilityStatusDefinition' => {
'1' => 'memoryAvailable',
'2' => 'memoryShortage',
'3' => 'memoryFull',
},
'powerSupplyTable' => '1.3.6.1.4.1.15497.1.1.1.8',
'powerSupplyEntry' => '1.3.6.1.4.1.15497.1.1.1.8.1',
'powerSupplyIndex' => '1.3.6.1.4.1.15497.1.1.1.8.1.1',
'powerSupplyStatus' => '1.3.6.1.4.1.15497.1.1.1.8.1.2',
'powerSupplyStatusDefinition' => {
'1' => 'powerSupplyNotInstalled',
'2' => 'powerSupplyHealthy',
'3' => 'powerSupplyNoAC',
'4' => 'powerSupplyFaulty',
},
'powerSupplyRedundancy' => '1.3.6.1.4.1.15497.1.1.1.8.1.3',
'powerSupplyName' => '1.3.6.1.4.1.15497.1.1.1.8.1.4',
'temperatureTable' => '1.3.6.1.4.1.15497.1.1.1.9',
'temperatureEntry' => '1.3.6.1.4.1.15497.1.1.1.9.1',
'temperatureIndex' => '1.3.6.1.4.1.15497.1.1.1.9.1.1',
'degreesCelsius' => '1.3.6.1.4.1.15497.1.1.1.9.1.2',
'temperatureName' => '1.3.6.1.4.1.15497.1.1.1.9.1.3',
'fanTable' => '1.3.6.1.4.1.15497.1.1.1.10',
'fanEntry' => '1.3.6.1.4.1.15497.1.1.1.10.1',
'fanIndex' => '1.3.6.1.4.1.15497.1.1.1.10.1.1',
'fanRPMs' => '1.3.6.1.4.1.15497.1.1.1.10.1.2',
'fanName' => '1.3.6.1.4.1.15497.1.1.1.10.1.3',
'workQueueMessages' => '1.3.6.1.4.1.15497.1.1.1.11.0',
'keyExpirationTable' => '1.3.6.1.4.1.15497.1.1.1.12',
'keyExpirationEntry' => '1.3.6.1.4.1.15497.1.1.1.12.1',
'keyExpirationIndex' => '1.3.6.1.4.1.15497.1.1.1.12.1.1',
'keyDescription' => '1.3.6.1.4.1.15497.1.1.1.12.1.2',
'keyIsPerpetual' => '1.3.6.1.4.1.15497.1.1.1.12.1.3',
'keyIsPerpetualDefinition' => 'SNMPv2-TC-v1-MIB::TruthValue',
'keySecondsUntilExpire' => '1.3.6.1.4.1.15497.1.1.1.12.1.4',
'updateTable' => '1.3.6.1.4.1.15497.1.1.1.13',
'updateEntry' => '1.3.6.1.4.1.15497.1.1.1.13.1',
'updateIndex' => '1.3.6.1.4.1.15497.1.1.1.13.1.1',
'updateServiceName' => '1.3.6.1.4.1.15497.1.1.1.13.1.2',
'updates' => '1.3.6.1.4.1.15497.1.1.1.13.1.3',
'updateFailures' => '1.3.6.1.4.1.15497.1.1.1.13.1.4',
'oldestMessageAge' => '1.3.6.1.4.1.15497.1.1.1.14.0',
'outstandingDNSRequests' => '1.3.6.1.4.1.15497.1.1.1.15.0',
'pendingDNSRequests' => '1.3.6.1.4.1.15497.1.1.1.16.0',
'raidEvents' => '1.3.6.1.4.1.15497.1.1.1.17.0',
'raidTable' => '1.3.6.1.4.1.15497.1.1.1.18',
'raidEntry' => '1.3.6.1.4.1.15497.1.1.1.18.1',
'raidIndex' => '1.3.6.1.4.1.15497.1.1.1.18.1.1',
'raidStatus' => '1.3.6.1.4.1.15497.1.1.1.18.1.2',
'raidStatusDefinition' => {
'1' => 'driveHealthy',
'2' => 'driveFailure',
'3' => 'driveRebuild',
},
'raidID' => '1.3.6.1.4.1.15497.1.1.1.18.1.3',
'raidLastError' => '1.3.6.1.4.1.15497.1.1.1.18.1.4',
'openFilesOrSockets' => '1.3.6.1.4.1.15497.1.1.1.19.0',
'mailTransferThreads' => '1.3.6.1.4.1.15497.1.1.1.20.0',
};
1;
__END__

View file

@ -1,24 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::ATTACKMIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'ATTACK-MIB'} = {
url => '',
name => 'ATTACK-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'ATTACK-MIB'} = {
'deviceAttackTable' => '1.3.6.1.4.1.3417.2.3.1.1.1',
'deviceAttackEntry' => '1.3.6.1.4.1.3417.2.3.1.1.1.1',
'deviceAttackIndex' => '1.3.6.1.4.1.3417.2.3.1.1.1.1.1',
'deviceAttackName' => '1.3.6.1.4.1.3417.2.3.1.1.1.1.2',
'deviceAttackStatus' => '1.3.6.1.4.1.3417.2.3.1.1.1.1.3',
'deviceAttackStatusDefinition' => {
'1' => 'no-attack',
'2' => 'under-attack',
},
'deviceAttackTime' => '1.3.6.1.4.1.3417.2.3.1.1.1.1.4',
};
1;
__END__

View file

@ -1,82 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::BAMSNMPMIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'BAM-SNMP-MIB'} = {
url => '',
name => 'BAM-SNMP-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mib_ids->{'BAM-SNMP-MIB'} =
'1.3.6.1.4.1.13315.100.210';
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'BAM-SNMP-MIB'} = {
'bam' => '1.3.6.1.4.1.13315.100.210',
'app' => '1.3.6.1.4.1.13315.100.210.1',
'common' => '1.3.6.1.4.1.13315.100.210.1.1',
'version' => '1.3.6.1.4.1.13315.100.210.1.1.1',
'startTime' => '1.3.6.1.4.1.13315.100.210.1.1.2',
'startTimeDefinition' => 'MIB-2-MIB::DateAndTime',
'notificationMessage' => '1.3.6.1.4.1.13315.100.210.1.1.3',
'database' => '1.3.6.1.4.1.13315.100.210.1.2',
'maxPoolSize' => '1.3.6.1.4.1.13315.100.210.1.2.1',
'numConnections' => '1.3.6.1.4.1.13315.100.210.1.2.2',
'deployer' => '1.3.6.1.4.1.13315.100.210.1.3',
'serverCountInQueue' => '1.3.6.1.4.1.13315.100.210.1.3.1',
'executingServerCount' => '1.3.6.1.4.1.13315.100.210.1.3.2',
'numberOfTasks' => '1.3.6.1.4.1.13315.100.210.1.3.3',
'eventNotification' => '1.3.6.1.4.1.13315.100.210.1.4',
'queueCount' => '1.3.6.1.4.1.13315.100.210.1.4.1',
'reconciliation' => '1.3.6.1.4.1.13315.100.210.1.5',
'poolSize' => '1.3.6.1.4.1.13315.100.210.1.5.1',
'scheduledDeployer' => '1.3.6.1.4.1.13315.100.210.1.6',
'numOfTimers' => '1.3.6.1.4.1.13315.100.210.1.6.1',
'running' => '1.3.6.1.4.1.13315.100.210.1.6.2',
'scheduledTaskService' => '1.3.6.1.4.1.13315.100.210.1.7',
'queueSize' => '1.3.6.1.4.1.13315.100.210.1.7.1',
'replication' => '1.3.6.1.4.1.13315.100.210.1.8',
'walFilesTotalSize' => '1.3.6.1.4.1.13315.100.210.1.8.1',
'replicationNodeStatus' => '1.3.6.1.4.1.13315.100.210.1.8.2',
'replicationNodeStatusDefinition' => 'BAM-SNMP-MIB::replicationNodeStatus',
'replicationAverageLatency' => '1.3.6.1.4.1.13315.100.210.1.8.3',
'replicationWarningThreshold' => '1.3.6.1.4.1.13315.100.210.1.8.4',
'replicationBreakThreshold' => '1.3.6.1.4.1.13315.100.210.1.8.5',
'replicationLatencyWarningThreshold' => '1.3.6.1.4.1.13315.100.210.1.8.6',
'replicationLatencyCriticalThreshold' => '1.3.6.1.4.1.13315.100.210.1.8.7',
'replicationStatusTable' => '1.3.6.1.4.1.13315.100.210.1.8.8',
'replicationStatusEntry' => '1.3.6.1.4.1.13315.100.210.1.8.8.1',
'hostname' => '1.3.6.1.4.1.13315.100.210.1.8.8.1.1',
'ipv4Address' => '1.3.6.1.4.1.13315.100.210.1.8.8.1.2',
'currentLatency' => '1.3.6.1.4.1.13315.100.210.1.8.8.1.3',
'replicationHealth' => '1.3.6.1.4.1.13315.100.210.1.8.8.1.4',
'replicationHealthDefinition' => 'BAM-SNMP-MIB::replicationHealth',
'replicationRole' => '1.3.6.1.4.1.13315.100.210.1.8.8.1.5',
'notification' => '1.3.6.1.4.1.13315.100.210.1.9',
'messagesReceived' => '1.3.6.1.4.1.13315.100.210.1.9.1',
'messagesAccepted' => '1.3.6.1.4.1.13315.100.210.1.9.2',
'ackSent' => '1.3.6.1.4.1.13315.100.210.1.9.3',
'messagesProcessed' => '1.3.6.1.4.1.13315.100.210.1.9.4',
'dbBackup' => '1.3.6.1.4.1.13315.100.210.1.10',
'lastSuccessfulBackupTime' => '1.3.6.1.4.1.13315.100.210.1.10.1',
'lastSuccessfulBackupTimeDefinition' => 'MIB-2-MIB::DateAndTime',
'lastSuccessfulRemoteBackupTime' => '1.3.6.1.4.1.13315.100.210.1.10.2',
'lastSuccessfulRemoteBackupTimeDefinition' => 'MIB-2-MIB::DateAndTime',
'jvm' => '1.3.6.1.4.1.13315.100.210.3',
'freeMemory' => '1.3.6.1.4.1.13315.100.210.3.1',
'maxMemory' => '1.3.6.1.4.1.13315.100.210.3.2',
'gcTime' => '1.3.6.1.4.1.13315.100.210.3.3',
'usageThresholdExceeded' => '1.3.6.1.4.1.13315.100.210.3.4',
'activeThreadCount' => '1.3.6.1.4.1.13315.100.210.3.5',
'traps' => '1.3.6.1.4.1.13315.100.210.255',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::definitions->{'BAM-SNMP-MIB'} = {
'replicationNodeStatus' => {
'0' => 'standalone',
'1' => 'primary',
'2' => 'standby',
},
'replicationHealth' => {
'0' => 'Not Replicating',
'1' => 'Initializing',
'2' => 'Replicating',
}
};

View file

@ -1,80 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::BCNDHCPV4MIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'BCN-DHCPV4-MIB'} = {
url => '',
name => 'BCN-DHCPV4-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mib_ids->{'BCN-DHCPV4-MIB'} =
'bcnDhcpv4MIB';
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'BCN-DHCPV4-MIB'} = {
'bcnDhcpv4' => '1.3.6.1.4.1.13315.3.1.1',
'bcnDhcpv4MIB' => '1.3.6.1.4.1.13315.3.1.1.1',
'bcnDhcpv4Objects' => '1.3.6.1.4.1.13315.3.1.1.2',
'bcnDhcpv4ServiceStatus' => '1.3.6.1.4.1.13315.3.1.1.2.1',
'bcnDhcpv4SerOperState' => '1.3.6.1.4.1.13315.3.1.1.2.1.1',
'bcnDhcpv4SerOperStateDefinition' => 'BCN-DHCPV4-MIB::bcnDhcpv4SerOperState',
'bcnDhcpv4FirstAlertIpAddr' => '1.3.6.1.4.1.13315.3.1.1.2.1.2',
'bcnDhcpv4LeaseStatsSuccess' => '1.3.6.1.4.1.13315.3.1.1.2.1.3',
'bcnDhcpv4ServiceStatistics' => '1.3.6.1.4.1.13315.3.1.1.2.2',
'bcnDhcpv4LeaseTable' => '1.3.6.1.4.1.13315.3.1.1.2.2.1',
'bcnDhcpv4LeaseEntry' => '1.3.6.1.4.1.13315.3.1.1.2.2.1.1',
'bcnDhcpv4LeaseIP' => '1.3.6.1.4.1.13315.3.1.1.2.2.1.1.1',
'bcnDhcpv4LeaseStartTime' => '1.3.6.1.4.1.13315.3.1.1.2.2.1.1.2',
'bcnDhcpv4LeaseEndTime' => '1.3.6.1.4.1.13315.3.1.1.2.2.1.1.3',
'bcnDhcpv4LeaseTimeStamp' => '1.3.6.1.4.1.13315.3.1.1.2.2.1.1.4',
'bcnDhcpv4LeaseMacAddress' => '1.3.6.1.4.1.13315.3.1.1.2.2.1.1.5',
'bcnDhcpv4LeaseHostname' => '1.3.6.1.4.1.13315.3.1.1.2.2.1.1.6',
'bcnDhcpv4SubnetTable' => '1.3.6.1.4.1.13315.3.1.1.2.2.2',
'bcnDhcpv4SubnetEntry' => '1.3.6.1.4.1.13315.3.1.1.2.2.2.1',
'bcnDhcpv4SubnetIP' => '1.3.6.1.4.1.13315.3.1.1.2.2.2.1.1',
'bcnDhcpv4SubnetMask' => '1.3.6.1.4.1.13315.3.1.1.2.2.2.1.2',
'bcnDhcpv4SubnetSize' => '1.3.6.1.4.1.13315.3.1.1.2.2.2.1.3',
'bcnDhcpv4SubnetFreeAddresses' => '1.3.6.1.4.1.13315.3.1.1.2.2.2.1.4',
'bcnDhcpv4SubnetLowThreshold' => '1.3.6.1.4.1.13315.3.1.1.2.2.2.1.5',
'bcnDhcpv4SubnetHighThreshold' => '1.3.6.1.4.1.13315.3.1.1.2.2.2.1.6',
'bcnDhcpv4PoolTable' => '1.3.6.1.4.1.13315.3.1.1.2.2.3',
'bcnDhcpv4PoolEntry' => '1.3.6.1.4.1.13315.3.1.1.2.2.3.1',
'bcnDhcpv4PoolStartIP' => '1.3.6.1.4.1.13315.3.1.1.2.2.3.1.1',
'bcnDhcpv4PoolEndIP' => '1.3.6.1.4.1.13315.3.1.1.2.2.3.1.2',
'bcnDhcpv4PoolSubnetIP' => '1.3.6.1.4.1.13315.3.1.1.2.2.3.1.3',
'bcnDhcpv4PoolSize' => '1.3.6.1.4.1.13315.3.1.1.2.2.3.1.4',
'bcnDhcpv4PoolFreeAddresses' => '1.3.6.1.4.1.13315.3.1.1.2.2.3.1.5',
'bcnDhcpv4FixedIPTable' => '1.3.6.1.4.1.13315.3.1.1.2.2.4',
'bcnDhcpv4FixedIPEntry' => '1.3.6.1.4.1.13315.3.1.1.2.2.4.1',
'bcnDhcpv4FixedIP' => '1.3.6.1.4.1.13315.3.1.1.2.2.4.1.1',
'bcnDhcpv4Notification' => '1.3.6.1.4.1.13315.3.1.1.3',
'bcnDhcpv4NotificationEvents' => '1.3.6.1.4.1.13315.3.1.1.3.0',
'bcnDhcpv4NotificationData' => '1.3.6.1.4.1.13315.3.1.1.3.1',
'bcnDhcpv4AlarmSeverity' => '1.3.6.1.4.1.13315.3.1.1.3.1.1',
'bcnDhcpv4AlarmInfo' => '1.3.6.1.4.1.13315.3.1.1.3.1.2',
'bcnDhcpv4FailOverState' => '1.3.6.1.4.1.13315.3.1.1.3.1.3',
'bcnDhcpv4FailOverStateDefinition' => 'BCN-DHCPV4-MIB::bcnDhcpv4FailOverState',
'bcnDhcpv4SubnetAlertIpAddr' => '1.3.6.1.4.1.13315.3.1.1.3.1.4',
'bcnDhcpv4Conformance' => '1.3.6.1.4.1.13315.3.1.1.4',
'bcnDhcpv4ServiceCompliances' => '1.3.6.1.4.1.13315.3.1.1.4.1',
'bcnDhcpv4ServiceGroups' => '1.3.6.1.4.1.13315.3.1.1.4.2',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::definitions->{'BCN-DHCPV4-MIB'} = {
'bcnDhcpv4FailOverState' => {
'1' => 'startup',
'2' => 'normal',
'3' => 'communicationsInterrupted',
'4' => 'partnerDown',
'5' => 'potentialConflict',
'6' => 'recover',
'7' => 'paused',
'8' => 'shutdown',
'9' => 'recoverDone',
'254' => 'recoverWait',
},
'bcnDhcpv4SerOperState' => {
'1' => 'running',
'2' => 'notRunning',
'3' => 'starting',
'4' => 'stopping',
'5' => 'fault',
},
};

View file

@ -1,55 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::BCNDNSMIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'BCN-DNS-MIB'} = {
url => '',
name => 'BCN-DNS-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mib_ids->{'BCN-DNS-MIB'} =
'1.3.6.1.4.1.13315.3.1.2.1';
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'BCN-DNS-MIB'} = {
'bcnDns' => '1.3.6.1.4.1.13315.3.1.2',
'bcnDnsMIB' => '1.3.6.1.4.1.13315.3.1.2.1',
'bcnDnsObjects' => '1.3.6.1.4.1.13315.3.1.2.2',
'bcnDnsServiceStatus' => '1.3.6.1.4.1.13315.3.1.2.2.1',
'bcnDnsSerOperState' => '1.3.6.1.4.1.13315.3.1.2.2.1.1',
'bcnDnsSerOperStateDefinition' => 'BCN-DNS-MIB::bcnDnsSerOperState',
'bcnDnsSerNumberOfZones' => '1.3.6.1.4.1.13315.3.1.2.2.1.2',
'bcnDnsSerTransfersRunning' => '1.3.6.1.4.1.13315.3.1.2.2.1.3',
'bcnDnsSerTransfersDeferred' => '1.3.6.1.4.1.13315.3.1.2.2.1.4',
'bcnDnsSerSOAQueriesInProgress' => '1.3.6.1.4.1.13315.3.1.2.2.1.5',
'bcnDnsSerQueryLogging' => '1.3.6.1.4.1.13315.3.1.2.2.1.6',
'bcnDnsSerQueryLoggingDefinition' => 'BCN-DNS-MIB::bcnDnsSerQueryLogging',
'bcnDnsSerDebugLevel' => '1.3.6.1.4.1.13315.3.1.2.2.1.7',
'bcnDnsServiceStatistics' => '1.3.6.1.4.1.13315.3.1.2.2.2',
'bcnDnsStatServer' => '1.3.6.1.4.1.13315.3.1.2.2.2.1',
'bcnDnsStatSrvQrySuccess' => '1.3.6.1.4.1.13315.3.1.2.2.2.1.1',
'bcnDnsStatSrvQryReferral' => '1.3.6.1.4.1.13315.3.1.2.2.2.1.2',
'bcnDnsStatSrvQryNXRRSet' => '1.3.6.1.4.1.13315.3.1.2.2.2.1.3',
'bcnDnsStatSrvQryNXDomain' => '1.3.6.1.4.1.13315.3.1.2.2.2.1.4',
'bcnDnsStatSrvQryRecursion' => '1.3.6.1.4.1.13315.3.1.2.2.2.1.5',
'bcnDnsStatSrvQryFailure' => '1.3.6.1.4.1.13315.3.1.2.2.2.1.6',
'bcnDnsNotification' => '1.3.6.1.4.1.13315.3.1.2.3',
'bcnDnsNotificationEvents' => '1.3.6.1.4.1.13315.3.1.2.3.0',
'bcnDnsNotificationData' => '1.3.6.1.4.1.13315.3.1.2.3.1',
'bcnDnsAlarmSeverity' => '1.3.6.1.4.1.13315.3.1.2.3.1.1',
'bcnDnsAlarmInfo' => '1.3.6.1.4.1.13315.3.1.2.3.1.2',
'bcnDnsConformance' => '1.3.6.1.4.1.13315.3.1.2.4',
'bcnDnsServiceCompliances' => '1.3.6.1.4.1.13315.3.1.2.4.1',
'bcnDnsServiceGroups' => '1.3.6.1.4.1.13315.3.1.2.4.2',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::definitions->{'BCN-DNS-MIB'} = {
'bcnDnsSerOperState' => {
'1' => 'running',
'2' => 'notRunning',
'3' => 'starting',
'4' => 'stopping',
'5' => 'fault',
},
'bcnDnsSerQueryLogging' => {
'1' => 'on',
'2' => 'off',
},
};

View file

@ -1,57 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::BCNSYSTEMMIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'BCN-SYSTEM-MIB'} = {
url => '',
name => 'BCN-SYSTEM-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mib_ids->{'BCN-SYSTEM-MIB'} =
'1.3.6.1.4.1.13315.3.2.1';
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'BCN-SYSTEM-MIB'} = {
'bcnSystem' => '1.3.6.1.4.1.13315.3.2',
'bcnSystemMIB' => '1.3.6.1.4.1.13315.3.2.1',
'bcnSystemObjects' => '1.3.6.1.4.1.13315.3.2.2',
'bcnSysIdentification' => '1.3.6.1.4.1.13315.3.2.2.1',
'bcnSysIdProduct' => '1.3.6.1.4.1.13315.3.2.2.1.1',
'bcnSysIdOSRelease' => '1.3.6.1.4.1.13315.3.2.2.1.2',
'bcnSysIdSerial' => '1.3.6.1.4.1.13315.3.2.2.1.3',
'bcnSysIdServiceTag' => '1.3.6.1.4.1.13315.3.2.2.1.4',
'bcnSysIdPlatform' => '1.3.6.1.4.1.13315.3.2.2.1.5',
'bcnSysIdVendorPlatform' => '1.3.6.1.4.1.13315.3.2.2.1.6',
'bcnSysIdServicesTable' => '1.3.6.1.4.1.13315.3.2.2.1.7',
'bcnSysIdServicesEntry' => '1.3.6.1.4.1.13315.3.2.2.1.7.1',
'bcnSysIdServicesIndex' => '1.3.6.1.4.1.13315.3.2.2.1.7.1.1',
'bcnSysIdServicesOID' => '1.3.6.1.4.1.13315.3.2.2.1.7.1.2',
'bcnSysIdServicesStateTS' => '1.3.6.1.4.1.13315.3.2.2.1.7.1.3',
'bcnSysServices' => '1.3.6.1.4.1.13315.3.2.2.2',
'bcnSysServDNSService' => '1.3.6.1.4.1.13315.3.2.2.2.1',
'bcnSysServDHCPService' => '1.3.6.1.4.1.13315.3.2.2.2.2',
'bcnSysServTFTPService' => '1.3.6.1.4.1.13315.3.2.2.2.3',
'bcnSysServLicensing' => '1.3.6.1.4.1.13315.3.2.2.2.4',
'bcnSysServTFTP' => '1.3.6.1.4.1.13315.3.2.2.2.5',
'bcnSysServNTP' => '1.3.6.1.4.1.13315.3.2.2.2.6',
'bcnSysServPowerSupply' => '1.3.6.1.4.1.13315.3.2.2.2.7',
'bcnSysServNetworkInterface' => '1.3.6.1.4.1.13315.3.2.2.2.8',
'bcnSysServHighAvailability' => '1.3.6.1.4.1.13315.3.2.2.2.9',
'bcnSysServReplication' => '1.3.6.1.4.1.13315.3.2.2.2.10',
'bcnSysServSystem' => '1.3.6.1.4.1.13315.3.2.2.2.11',
'bcnSystemNotification' => '1.3.6.1.4.1.13315.3.2.3',
'bcnSysNotificationEvents' => '1.3.6.1.4.1.13315.3.2.3.0',
'bcnSysNotificationData' => '1.3.6.1.4.1.13315.3.2.3.1',
'bcnSysSerOperState' => '1.3.6.1.4.1.13315.3.2.3.1.1',
'bcnSysSerOperStateDefinition' => 'BCN-SYSTEM-MIB::bcnSysSerOperState',
'bcnSysAlarmSeverity' => '1.3.6.1.4.1.13315.3.2.3.1.2',
'bcnSysAlarmInfo' => '1.3.6.1.4.1.13315.3.2.3.1.3',
'bcnSystemConformance' => '1.3.6.1.4.1.13315.3.2.4',
'bcnSysServliances' => '1.3.6.1.4.1.13315.3.2.4.1',
'bcnSysGroups' => '1.3.6.1.4.1.13315.3.2.4.2',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::definitions->{'BCN-SYSTEM-MIB'} = {
'bcnSysSerOperState' => {
'1' => 'start',
'2' => 'reboot',
'3' => 'shutdown',
},
};

View file

@ -1,54 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::BGP4MIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'BGP4-MIB'} = {
url => '',
name => 'BGP4-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'BGP4-MIB'} = {
'bgpVersion' => '1.3.6.1.2.1.15.1.0',
'bgpLocalAs' => '1.3.6.1.2.1.15.2.0',
'bgpPeerTable' => '1.3.6.1.2.1.15.3',
'bgpPeerEntry' => '1.3.6.1.2.1.15.3.1',
'bgpPeerIdentifier' => '1.3.6.1.2.1.15.3.1.1',
'bgpPeerState' => '1.3.6.1.2.1.15.3.1.2',
'bgpPeerStateDefinition' => {
'1' => 'idle',
'2' => 'connect',
'3' => 'active',
'4' => 'opensent',
'5' => 'openconfirm',
'6' => 'established',
},
'bgpPeerAdminStatus' => '1.3.6.1.2.1.15.3.1.3',
'bgpPeerAdminStatusDefinition' => {
'1' => 'stop',
'2' => 'start',
},
'bgpPeerNegotiatedVersion' => '1.3.6.1.2.1.15.3.1.4',
'bgpPeerLocalAddr' => '1.3.6.1.2.1.15.3.1.5',
'bgpPeerLocalPort' => '1.3.6.1.2.1.15.3.1.6',
'bgpPeerRemoteAddr' => '1.3.6.1.2.1.15.3.1.7',
'bgpPeerRemotePort' => '1.3.6.1.2.1.15.3.1.8',
'bgpPeerRemoteAs' => '1.3.6.1.2.1.15.3.1.9',
'bgpPeerInUpdates' => '1.3.6.1.2.1.15.3.1.10',
'bgpPeerOutUpdates' => '1.3.6.1.2.1.15.3.1.11',
'bgpPeerInTotalMessages' => '1.3.6.1.2.1.15.3.1.12',
'bgpPeerOutTotalMessages' => '1.3.6.1.2.1.15.3.1.13',
'bgpPeerLastError' => '1.3.6.1.2.1.15.3.1.14',
'bgpPeerFsmEstablishedTransitions' => '1.3.6.1.2.1.15.3.1.15',
'bgpPeerFsmEstablishedTime' => '1.3.6.1.2.1.15.3.1.16',
'bgpPeerConnectRetryInterval' => '1.3.6.1.2.1.15.3.1.17',
'bgpPeerHoldTime' => '1.3.6.1.2.1.15.3.1.18',
'bgpPeerKeepAlive' => '1.3.6.1.2.1.15.3.1.19',
'bgpPeerHoldTimeConfigured' => '1.3.6.1.2.1.15.3.1.20',
'bgpPeerKeepAliveConfigured' => '1.3.6.1.2.1.15.3.1.21',
'bgpPeerMinASOriginationInterval' => '1.3.6.1.2.1.15.3.1.22',
'bgpPeerMinRouteAdvertisementInterval' => '1.3.6.1.2.1.15.3.1.23',
'bgpPeerInUpdateElapsedTime' => '1.3.6.1.2.1.15.3.1.24',
};
1;
__END__

View file

@ -1,63 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::MIBRESOURCE;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'BIANCA-BRICK-MIBRES-MIB'} = {
url => '',
name => 'BIANCA-BRICK-MIBRES-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mib_ids->{'BIANCA-BRICK-MIBRES-MIB'} =
'1.3.6.1.4.1.272.4.17.4';
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'BIANCA-BRICK-MIBRES-MIB'} = {
resource => '1.3.6.1.4.1.272.4.17.4.255',
cpuTable => '1.3.6.1.4.1.272.4.17.4.1',
cpuEntry => '1.3.6.1.4.1.272.4.17.4.1.1',
cpuNumber => '1.3.6.1.4.1.272.4.17.4.1.1.1',
cpuDescr => '1.3.6.1.4.1.272.4.17.4.1.1.2',
cpuTotalUser => '1.3.6.1.4.1.272.4.17.4.1.1.3',
cpuTotalSystem => '1.3.6.1.4.1.272.4.17.4.1.1.4',
cpuTotalStreams => '1.3.6.1.4.1.272.4.17.4.1.1.5',
cpuTotalIdle => '1.3.6.1.4.1.272.4.17.4.1.1.6',
cpuLoadUser => '1.3.6.1.4.1.272.4.17.4.1.1.7',
cpuLoadSystem => '1.3.6.1.4.1.272.4.17.4.1.1.8',
cpuLoadStreams => '1.3.6.1.4.1.272.4.17.4.1.1.9',
cpuLoadIdle => '1.3.6.1.4.1.272.4.17.4.1.1.10',
cpuLoadUser10s => '1.3.6.1.4.1.272.4.17.4.1.1.11',
cpuLoadSystem10s => '1.3.6.1.4.1.272.4.17.4.1.1.12',
cpuLoadStreams10s => '1.3.6.1.4.1.272.4.17.4.1.1.13',
cpuLoadIdle10s => '1.3.6.1.4.1.272.4.17.4.1.1.14',
cpuLoadUser60s => '1.3.6.1.4.1.272.4.17.4.1.1.15',
cpuLoadSystem60s => '1.3.6.1.4.1.272.4.17.4.1.1.16',
cpuLoadStreams60s => '1.3.6.1.4.1.272.4.17.4.1.1.17',
cpuLoadIdle60s => '1.3.6.1.4.1.272.4.17.4.1.1.18',
memoryTable => '1.3.6.1.4.1.272.4.17.4.2',
memoryEntry => '1.3.6.1.4.1.272.4.17.4.2.1',
memoryType => '1.3.6.1.4.1.272.4.17.4.2.1.1',
memoryTypeDefinition => 'BIANCA-BRICK-MIBRES-MIB::memoryType',
memoryDescr => '1.3.6.1.4.1.272.4.17.4.2.1.2',
memoryBlockSize => '1.3.6.1.4.1.272.4.17.4.2.1.3',
memoryTotal => '1.3.6.1.4.1.272.4.17.4.2.1.4',
memoryInuse => '1.3.6.1.4.1.272.4.17.4.2.1.5',
memoryDramUse => '1.3.6.1.4.1.272.4.17.4.2.1.6',
memoryNAllocs => '1.3.6.1.4.1.272.4.17.4.2.1.7',
memoryNFrees => '1.3.6.1.4.1.272.4.17.4.2.1.8',
memoryNFails => '1.3.6.1.4.1.272.4.17.4.2.1.9',
dspTable => '1.3.6.1.4.1.272.4.17.4.3',
dspEntry => '1.3.6.1.4.1.272.4.17.4.3.1',
dspSlot => '1.3.6.1.4.1.272.4.17.4.3.1.1',
dspUnit => '1.3.6.1.4.1.272.4.17.4.3.1.2',
dspDescr => '1.3.6.1.4.1.272.4.17.4.3.1.3',
dspCapabilities => '1.3.6.1.4.1.272.4.17.4.3.1.4',
dspTotalChannels => '1.3.6.1.4.1.272.4.17.4.3.1.5',
dspUsedChannels => '1.3.6.1.4.1.272.4.17.4.3.1.6',
resourceMIB => '1.3.6.1.4.1.272.4.17.4.255',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::definitions->{'BIANCA-BRICK-MIBRES-MIB'} = {
memoryType => {
'1' => 'flash',
'2' => 'dram',
'3' => 'dpool',
},
};

View file

@ -1,32 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::BLUECOATAVMIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'BLUECOAT-AV-MIB'} = {
url => '',
name => 'BLUECOAT-AV-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'BLUECOAT-AV-MIB'} = {
'avFilesScanned' => '1.3.6.1.4.1.3417.2.10.1.1.0',
'avVirusesDetected' => '1.3.6.1.4.1.3417.2.10.1.2.0',
'avPatternVersion' => '1.3.6.1.4.1.3417.2.10.1.3.0',
'avPatternDateTime' => '1.3.6.1.4.1.3417.2.10.1.4.0',
'avEngineVersion' => '1.3.6.1.4.1.3417.2.10.1.5.0',
'avVendorName' => '1.3.6.1.4.1.3417.2.10.1.6.0',
'avLicenseDaysRemaining' => '1.3.6.1.4.1.3417.2.10.1.7.0',
'avPublishedFirmwareVersion' => '1.3.6.1.4.1.3417.2.10.1.8.0',
'avInstalledFirmwareVersion' => '1.3.6.1.4.1.3417.2.10.1.9.0',
'avSlowICAPConnections' => '1.3.6.1.4.1.3417.2.10.1.10.0',
'avUpdateFailureReason' => '1.3.6.1.4.1.3417.2.10.2.1.0',
'avUrl' => '1.3.6.1.4.1.3417.2.10.2.2.0',
'avVirusName' => '1.3.6.1.4.1.3417.2.10.2.3.0',
'avVirusDetails' => '1.3.6.1.4.1.3417.2.10.2.4.0',
'avErrorCode' => '1.3.6.1.4.1.3417.2.10.2.5.0',
'avErrorDetails' => '1.3.6.1.4.1.3417.2.10.2.6.0',
'avPreviousFirmwareVersion' => '1.3.6.1.4.1.3417.2.10.2.7.0',
'avICTMWarningReason' => '1.3.6.1.4.1.3417.2.10.2.8.0',
};
1;
__END__

View file

@ -1,50 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::BLUECOATSGPROXYMIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'BLUECOAT-SG-PROXY-MIB'} = {
url => '',
name => 'BLUECOAT-SG-PROXY-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'BLUECOAT-SG-PROXY-MIB'} = {
'blueCoatMgmt' => '1.3.6.1.4.1.3417.2',
'bluecoatSGProxyMIB' => '1.3.6.1.4.1.3417.2.11',
'sgProxyConfig' => '1.3.6.1.4.1.3417.2.11.1',
'sgProxySystem' => '1.3.6.1.4.1.3417.2.11.2',
'sgProxyMemAvailable' => '1.3.6.1.4.1.3417.2.11.2.3.1.0',
'sgProxyMemCacheUsage' => '1.3.6.1.4.1.3417.2.11.2.3.2.0',
'sgProxyMemSysUsage' => '1.3.6.1.4.1.3417.2.11.2.3.3.0',
'sgProxyMemPressure' => '1.3.6.1.4.1.3417.2.11.2.3.4.0',
'sgProxyCpuCoreTable' => '1.3.6.1.4.1.3417.2.11.2.4',
'sgProxyCpuCoreEntry' => '1.3.6.1.4.1.3417.2.11.2.4.1',
'sgProxyCpuCoreIndex' => '1.3.6.1.4.1.3417.2.11.2.4.1.1',
'sgProxyCpuCoreUpTime' => '1.3.6.1.4.1.3417.2.11.2.4.1.2',
'sgProxyCpuCoreBusyTime' => '1.3.6.1.4.1.3417.2.11.2.4.1.3',
'sgProxyCpuCoreIdleTime' => '1.3.6.1.4.1.3417.2.11.2.4.1.4',
'sgProxyCpuCoreUpTimeSinceLastAccess' => '1.3.6.1.4.1.3417.2.11.2.4.1.5',
'sgProxyCpuCoreBusyTimeSinceLastAccess' => '1.3.6.1.4.1.3417.2.11.2.4.1.6',
'sgProxyCpuCoreIdleTimeSinceLastAccess' => '1.3.6.1.4.1.3417.2.11.2.4.1.7',
'sgProxyCpuCoreBusyPerCent' => '1.3.6.1.4.1.3417.2.11.2.4.1.8',
'sgProxyCpuCoreIdlePerCent' => '1.3.6.1.4.1.3417.2.11.2.4.1.9',
'sgProxyHttp' => '1.3.6.1.4.1.3417.2.11.3',
'sgProxyHttpPerf' => '1.3.6.1.4.1.3417.2.11.3.1',
'sgProxyHttpClient' => '1.3.6.1.4.1.3417.2.11.3.1.1',
'sgProxyHttpServer' => '1.3.6.1.4.1.3417.2.11.3.1.2',
'sgProxyHttpConnections' => '1.3.6.1.4.1.3417.2.11.3.1.3',
'sgProxyHttpClientConnections' => '1.3.6.1.4.1.3417.2.11.3.1.3.1',
'sgProxyHttpClientConnectionsActive' => '1.3.6.1.4.1.3417.2.11.3.1.3.2',
'sgProxyHttpClientConnectionsIdle' => '1.3.6.1.4.1.3417.2.11.3.1.3.3',
'sgProxyHttpServerConnections' => '1.3.6.1.4.1.3417.2.11.3.1.3.4',
'sgProxyHttpServerConnectionsActive' => '1.3.6.1.4.1.3417.2.11.3.1.3.5',
'sgProxyHttpServerConnectionsIdle' => '1.3.6.1.4.1.3417.2.11.3.1.3.6',
'sgProxyHttpResponse' => '1.3.6.1.4.1.3417.2.11.3.2',
'sgProxyHttpResponseTime' => '1.3.6.1.4.1.3417.2.11.3.2.1',
'sgProxyHttpResponseTimeAll' => '1.3.6.1.4.1.3417.2.11.3.2.1.1',
'sgProxyHttpResponseFirstByte' => '1.3.6.1.4.1.3417.2.11.3.2.1.2',
'sgProxyHttpResponseByteRate' => '1.3.6.1.4.1.3417.2.11.3.2.1.3',
'sgProxyHttpResponseSize' => '1.3.6.1.4.1.3417.2.11.3.2.1.4',
};
1;
__END__

View file

@ -1,199 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::CISCOBGP4MIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'CISCO-BGP4-MIB'} = {
url => '',
name => 'CISCO-BGP4-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mib_ids->{'CISCO-BGP4-MIB'} =
'1.3.6.1.4.1.9.9.187';
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'CISCO-BGP4-MIB'} = {
ciscoBgp4MIB => '1.3.6.1.4.1.9.9.187',
ciscoBgp4NotifyPrefix => '1.3.6.1.4.1.9.9.187.0',
ciscoBgp4MIBObjects => '1.3.6.1.4.1.9.9.187.1',
cbgpRoute => '1.3.6.1.4.1.9.9.187.1.1',
cbgpRouteTable => '1.3.6.1.4.1.9.9.187.1.1.1',
cbgpRouteEntry => '1.3.6.1.4.1.9.9.187.1.1.1.1',
cbgpRouteAfi => '1.3.6.1.4.1.9.9.187.1.1.1.1.1',
cbgpRouteSafi => '1.3.6.1.4.1.9.9.187.1.1.1.1.2',
cbgpRouteSafiDefinition => 'CISCO-BGP4-MIB::CbgpSafi',
cbgpRoutePeerType => '1.3.6.1.4.1.9.9.187.1.1.1.1.3',
cbgpRoutePeer => '1.3.6.1.4.1.9.9.187.1.1.1.1.4',
cbgpRouteAddrPrefix => '1.3.6.1.4.1.9.9.187.1.1.1.1.5',
cbgpRouteAddrPrefixLen => '1.3.6.1.4.1.9.9.187.1.1.1.1.6',
cbgpRouteOrigin => '1.3.6.1.4.1.9.9.187.1.1.1.1.7',
cbgpRouteOriginDefinition => 'CISCO-BGP4-MIB::cbgpRouteOrigin',
cbgpRouteASPathSegment => '1.3.6.1.4.1.9.9.187.1.1.1.1.8',
cbgpRouteNextHop => '1.3.6.1.4.1.9.9.187.1.1.1.1.9',
cbgpRouteMedPresent => '1.3.6.1.4.1.9.9.187.1.1.1.1.10',
cbgpRouteMultiExitDisc => '1.3.6.1.4.1.9.9.187.1.1.1.1.11',
cbgpRouteLocalPrefPresent => '1.3.6.1.4.1.9.9.187.1.1.1.1.12',
cbgpRouteLocalPref => '1.3.6.1.4.1.9.9.187.1.1.1.1.13',
cbgpRouteAtomicAggregate => '1.3.6.1.4.1.9.9.187.1.1.1.1.14',
cbgpRouteAtomicAggregateDefinition => 'CISCO-BGP4-MIB::cbgpRouteAtomicAggregate',
cbgpRouteAggregatorAS => '1.3.6.1.4.1.9.9.187.1.1.1.1.15',
cbgpRouteAggregatorAddrType => '1.3.6.1.4.1.9.9.187.1.1.1.1.16',
cbgpRouteAggregatorAddr => '1.3.6.1.4.1.9.9.187.1.1.1.1.17',
cbgpRouteBest => '1.3.6.1.4.1.9.9.187.1.1.1.1.18',
cbgpRouteUnknownAttr => '1.3.6.1.4.1.9.9.187.1.1.1.1.19',
cbgpPeer => '1.3.6.1.4.1.9.9.187.1.2',
cbgpPeerTable => '1.3.6.1.4.1.9.9.187.1.2.1',
cbgpPeerEntry => '1.3.6.1.4.1.9.9.187.1.2.1.1',
cbgpPeerPrefixAccepted => '1.3.6.1.4.1.9.9.187.1.2.1.1.1',
cbgpPeerPrefixDenied => '1.3.6.1.4.1.9.9.187.1.2.1.1.2',
cbgpPeerPrefixLimit => '1.3.6.1.4.1.9.9.187.1.2.1.1.3',
cbgpPeerPrefixAdvertised => '1.3.6.1.4.1.9.9.187.1.2.1.1.4',
cbgpPeerPrefixSuppressed => '1.3.6.1.4.1.9.9.187.1.2.1.1.5',
cbgpPeerPrefixWithdrawn => '1.3.6.1.4.1.9.9.187.1.2.1.1.6',
cbgpPeerLastErrorTxt => '1.3.6.1.4.1.9.9.187.1.2.1.1.7',
cbgpPeerPrevState => '1.3.6.1.4.1.9.9.187.1.2.1.1.8',
cbgpPeerPrevStateDefinition => 'CISCO-BGP4-MIB::cbgpPeerPrevState',
cbgpPeerCapsTable => '1.3.6.1.4.1.9.9.187.1.2.2',
cbgpPeerCapsEntry => '1.3.6.1.4.1.9.9.187.1.2.2.1',
cbgpPeerCapCode => '1.3.6.1.4.1.9.9.187.1.2.2.1.1',
cbgpPeerCapCodeDefinition => 'CISCO-BGP4-MIB::cbgpPeerCapCode',
cbgpPeerCapIndex => '1.3.6.1.4.1.9.9.187.1.2.2.1.2',
cbgpPeerCapValue => '1.3.6.1.4.1.9.9.187.1.2.2.1.3',
cbgpPeerAddrFamilyTable => '1.3.6.1.4.1.9.9.187.1.2.3',
cbgpPeerAddrFamilyEntry => '1.3.6.1.4.1.9.9.187.1.2.3.1',
cbgpPeerAddrFamilyAfi => '1.3.6.1.4.1.9.9.187.1.2.3.1.1',
cbgpPeerAddrFamilySafi => '1.3.6.1.4.1.9.9.187.1.2.3.1.2',
cbgpPeerAddrFamilySafiDefinition => 'CISCO-BGP4-MIB::CbgpSafi',
cbgpPeerAddrFamilyName => '1.3.6.1.4.1.9.9.187.1.2.3.1.3',
cbgpPeerAddrFamilyPrefixTable => '1.3.6.1.4.1.9.9.187.1.2.4',
cbgpPeerAddrFamilyPrefixEntry => '1.3.6.1.4.1.9.9.187.1.2.4.1',
cbgpPeerAcceptedPrefixes => '1.3.6.1.4.1.9.9.187.1.2.4.1.1',
cbgpPeerDeniedPrefixes => '1.3.6.1.4.1.9.9.187.1.2.4.1.2',
cbgpPeerPrefixAdminLimit => '1.3.6.1.4.1.9.9.187.1.2.4.1.3',
cbgpPeerPrefixThreshold => '1.3.6.1.4.1.9.9.187.1.2.4.1.4',
cbgpPeerPrefixClearThreshold => '1.3.6.1.4.1.9.9.187.1.2.4.1.5',
cbgpPeerAdvertisedPrefixes => '1.3.6.1.4.1.9.9.187.1.2.4.1.6',
cbgpPeerSuppressedPrefixes => '1.3.6.1.4.1.9.9.187.1.2.4.1.7',
cbgpPeerWithdrawnPrefixes => '1.3.6.1.4.1.9.9.187.1.2.4.1.8',
cbgpPeer2Table => '1.3.6.1.4.1.9.9.187.1.2.5',
cbgpPeer2Entry => '1.3.6.1.4.1.9.9.187.1.2.5.1',
cbgpPeer2Type => '1.3.6.1.4.1.9.9.187.1.2.5.1.1',
cbgpPeer2RemoteAddr => '1.3.6.1.4.1.9.9.187.1.2.5.1.2',
cbgpPeer2State => '1.3.6.1.4.1.9.9.187.1.2.5.1.3',
cbgpPeer2StateDefinition => 'CISCO-BGP4-MIB::cbgpPeer2State',
cbgpPeer2AdminStatus => '1.3.6.1.4.1.9.9.187.1.2.5.1.4',
cbgpPeer2AdminStatusDefinition => 'CISCO-BGP4-MIB::cbgpPeer2AdminStatus',
cbgpPeer2NegotiatedVersion => '1.3.6.1.4.1.9.9.187.1.2.5.1.5',
cbgpPeer2LocalAddr => '1.3.6.1.4.1.9.9.187.1.2.5.1.6',
cbgpPeer2LocalPort => '1.3.6.1.4.1.9.9.187.1.2.5.1.7',
cbgpPeer2LocalAs => '1.3.6.1.4.1.9.9.187.1.2.5.1.8',
cbgpPeer2LocalIdentifier => '1.3.6.1.4.1.9.9.187.1.2.5.1.9',
cbgpPeer2RemotePort => '1.3.6.1.4.1.9.9.187.1.2.5.1.10',
cbgpPeer2RemoteAs => '1.3.6.1.4.1.9.9.187.1.2.5.1.11',
cbgpPeer2RemoteIdentifier => '1.3.6.1.4.1.9.9.187.1.2.5.1.12',
cbgpPeer2InUpdates => '1.3.6.1.4.1.9.9.187.1.2.5.1.13',
cbgpPeer2OutUpdates => '1.3.6.1.4.1.9.9.187.1.2.5.1.14',
cbgpPeer2InTotalMessages => '1.3.6.1.4.1.9.9.187.1.2.5.1.15',
cbgpPeer2OutTotalMessages => '1.3.6.1.4.1.9.9.187.1.2.5.1.16',
cbgpPeer2LastError => '1.3.6.1.4.1.9.9.187.1.2.5.1.17',
cbgpPeer2FsmEstablishedTransitions => '1.3.6.1.4.1.9.9.187.1.2.5.1.18',
cbgpPeer2FsmEstablishedTime => '1.3.6.1.4.1.9.9.187.1.2.5.1.19',
cbgpPeer2ConnectRetryInterval => '1.3.6.1.4.1.9.9.187.1.2.5.1.20',
cbgpPeer2HoldTime => '1.3.6.1.4.1.9.9.187.1.2.5.1.21',
cbgpPeer2KeepAlive => '1.3.6.1.4.1.9.9.187.1.2.5.1.22',
cbgpPeer2HoldTimeConfigured => '1.3.6.1.4.1.9.9.187.1.2.5.1.23',
cbgpPeer2KeepAliveConfigured => '1.3.6.1.4.1.9.9.187.1.2.5.1.24',
cbgpPeer2MinASOriginationInterval => '1.3.6.1.4.1.9.9.187.1.2.5.1.25',
cbgpPeer2MinRouteAdvertisementInterval => '1.3.6.1.4.1.9.9.187.1.2.5.1.26',
cbgpPeer2InUpdateElapsedTime => '1.3.6.1.4.1.9.9.187.1.2.5.1.27',
cbgpPeer2LastErrorTxt => '1.3.6.1.4.1.9.9.187.1.2.5.1.28',
cbgpPeer2PrevState => '1.3.6.1.4.1.9.9.187.1.2.5.1.29',
cbgpPeer2PrevStateDefinition => 'CISCO-BGP4-MIB::cbgpPeer2PrevState',
cbgpPeer2CapsTable => '1.3.6.1.4.1.9.9.187.1.2.6',
cbgpPeer2CapsEntry => '1.3.6.1.4.1.9.9.187.1.2.6.1',
cbgpPeer2CapCode => '1.3.6.1.4.1.9.9.187.1.2.6.1.1',
cbgpPeer2CapCodeDefinition => 'CISCO-BGP4-MIB::cbgpPeer2CapCode',
cbgpPeer2CapIndex => '1.3.6.1.4.1.9.9.187.1.2.6.1.2',
cbgpPeer2CapValue => '1.3.6.1.4.1.9.9.187.1.2.6.1.3',
cbgpPeer2AddrFamilyTable => '1.3.6.1.4.1.9.9.187.1.2.7',
cbgpPeer2AddrFamilyEntry => '1.3.6.1.4.1.9.9.187.1.2.7.1',
cbgpPeer2AddrFamilyAfi => '1.3.6.1.4.1.9.9.187.1.2.7.1.1',
cbgpPeer2AddrFamilySafi => '1.3.6.1.4.1.9.9.187.1.2.7.1.2',
cbgpPeer2AddrFamilySafiDefinition => 'CISCO-BGP4-MIB::CbgpSafi',
cbgpPeer2AddrFamilyName => '1.3.6.1.4.1.9.9.187.1.2.7.1.3',
cbgpPeer2AddrFamilyPrefixTable => '1.3.6.1.4.1.9.9.187.1.2.8',
cbgpPeer2AddrFamilyPrefixEntry => '1.3.6.1.4.1.9.9.187.1.2.8.1',
cbgpPeer2AcceptedPrefixes => '1.3.6.1.4.1.9.9.187.1.2.8.1.1',
cbgpPeer2DeniedPrefixes => '1.3.6.1.4.1.9.9.187.1.2.8.1.2',
cbgpPeer2PrefixAdminLimit => '1.3.6.1.4.1.9.9.187.1.2.8.1.3',
cbgpPeer2PrefixThreshold => '1.3.6.1.4.1.9.9.187.1.2.8.1.4',
cbgpPeer2PrefixClearThreshold => '1.3.6.1.4.1.9.9.187.1.2.8.1.5',
cbgpPeer2AdvertisedPrefixes => '1.3.6.1.4.1.9.9.187.1.2.8.1.6',
cbgpPeer2SuppressedPrefixes => '1.3.6.1.4.1.9.9.187.1.2.8.1.7',
cbgpPeer2WithdrawnPrefixes => '1.3.6.1.4.1.9.9.187.1.2.8.1.8',
cbgpGlobal => '1.3.6.1.4.1.9.9.187.1.3',
cbgpNotifsEnable => '1.3.6.1.4.1.9.9.187.1.3.1',
cbgpLocalAs => '1.3.6.1.4.1.9.9.187.1.3.2',
ciscoBgp4NotificationPrefix => '1.3.6.1.4.1.9.9.187.2',
ciscoBgp4MIBConformance => '1.3.6.1.4.1.9.9.187.3',
ciscoBgp4MIBCompliances => '1.3.6.1.4.1.9.9.187.3.1',
ciscoBgp4MIBGroups => '1.3.6.1.4.1.9.9.187.3.2',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::definitions->{'CISCO-BGP4-MIB'} = {
cbgpPeerCapCode => {
'1' => 'multiProtocol',
'2' => 'routeRefresh',
'64' => 'gracefulRestart',
'128' => 'routeRefreshOld',
},
cbgpPeer2State => {
'1' => 'idle',
'2' => 'connect',
'3' => 'active',
'4' => 'opensent',
'5' => 'openconfirm',
'6' => 'established',
},
CbgpSafi => {
'1' => 'unicast',
'2' => 'multicast',
'3' => 'unicastAndMulticast',
'128' => 'vpn',
},
cbgpRouteOrigin => {
'1' => 'igp',
'2' => 'egp',
'3' => 'incomplete',
},
cbgpPeer2CapCode => {
'1' => 'multiProtocol',
'2' => 'routeRefresh',
'64' => 'gracefulRestart',
'65' => 'fourByteAs',
'69' => 'addPath',
'128' => 'routeRefreshOld',
},
cbgpPeerPrevState => {
'0' => 'none',
'1' => 'idle',
'2' => 'connect',
'3' => 'active',
'4' => 'opensent',
'5' => 'openconfirm',
'6' => 'established',
},
cbgpRouteAtomicAggregate => {
'1' => 'lessSpecificRouteNotSelected',
'2' => 'lessSpecificRouteSelected',
},
cbgpPeer2AdminStatus => {
'1' => 'stop',
'2' => 'start',
},
cbgpPeer2PrevState => {
'0' => 'none',
'1' => 'idle',
'2' => 'connect',
'3' => 'active',
'4' => 'opensent',
'5' => 'openconfirm',
'6' => 'established',
},
};

View file

@ -1,437 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::CISCOCCMMIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'CISCO-CCM-MIB'} = {
url => '',
name => 'CISCO-CCM-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'CISCO-CCM-MIB'} = {
'org' => '1.3',
'dod' => '1.3.6',
'internet' => '1.3.6.1',
'directory' => '1.3.6.1.1',
'mgmt' => '1.3.6.1.2',
'experimental' => '1.3.6.1.3',
'private' => '1.3.6.1.4',
'enterprises' => '1.3.6.1.4.1',
'cisco' => '1.3.6.1.4.1.9',
'ciscoMgmt' => '1.3.6.1.4.1.9.9',
'ciscoCcmMIB' => '1.3.6.1.4.1.9.9.156',
'ciscoCcmMIBObjects' => '1.3.6.1.4.1.9.9.156.1',
'ccmGeneralInfo' => '1.3.6.1.4.1.9.9.156.1.1',
'ccmGroupTable' => '1.3.6.1.4.1.9.9.156.1.1.1',
'ccmGroupEntry' => '1.3.6.1.4.1.9.9.156.1.1.1.1',
'ccmGroupIndex' => '1.3.6.1.4.1.9.9.156.1.1.1.1.1',
'ccmGroupName' => '1.3.6.1.4.1.9.9.156.1.1.1.1.2',
'ccmGroupTftpDefault' => '1.3.6.1.4.1.9.9.156.1.1.1.1.3',
'ccmTable' => '1.3.6.1.4.1.9.9.156.1.1.2',
'ccmEntry' => '1.3.6.1.4.1.9.9.156.1.1.2.1',
'ccmIndex' => '1.3.6.1.4.1.9.9.156.1.1.2.1.1',
'ccmName' => '1.3.6.1.4.1.9.9.156.1.1.2.1.2',
'ccmDescription' => '1.3.6.1.4.1.9.9.156.1.1.2.1.3',
'ccmVersion' => '1.3.6.1.4.1.9.9.156.1.1.2.1.4',
'ccmStatus' => '1.3.6.1.4.1.9.9.156.1.1.2.1.5',
'ccmStatusDefinition' => {
'1' => 'unknown',
'2' => 'up',
'3' => 'down',
},
'ccmInetAddressType' => '1.3.6.1.4.1.9.9.156.1.1.2.1.6',
'ccmInetAddress' => '1.3.6.1.4.1.9.9.156.1.1.2.1.7',
'ccmClusterId' => '1.3.6.1.4.1.9.9.156.1.1.2.1.8',
'ccmInetAddress2Type' => '1.3.6.1.4.1.9.9.156.1.1.2.1.9',
'ccmInetAddress2' => '1.3.6.1.4.1.9.9.156.1.1.2.1.10',
'ccmGroupMappingTable' => '1.3.6.1.4.1.9.9.156.1.1.3',
'ccmGroupMappingEntry' => '1.3.6.1.4.1.9.9.156.1.1.3.1',
'ccmCMGroupMappingCMPriority' => '1.3.6.1.4.1.9.9.156.1.1.3.1.1',
'ccmRegionTable' => '1.3.6.1.4.1.9.9.156.1.1.4',
'ccmRegionEntry' => '1.3.6.1.4.1.9.9.156.1.1.4.1',
'ccmRegionIndex' => '1.3.6.1.4.1.9.9.156.1.1.4.1.1',
'ccmRegionName' => '1.3.6.1.4.1.9.9.156.1.1.4.1.2',
'ccmRegionPairTable' => '1.3.6.1.4.1.9.9.156.1.1.5',
'ccmRegionPairEntry' => '1.3.6.1.4.1.9.9.156.1.1.5.1',
'ccmRegionSrcIndex' => '1.3.6.1.4.1.9.9.156.1.1.5.1.1',
'ccmRegionDestIndex' => '1.3.6.1.4.1.9.9.156.1.1.5.1.2',
'ccmRegionAvailableBandWidth' => '1.3.6.1.4.1.9.9.156.1.1.5.1.3',
'ccmTimeZoneTable' => '1.3.6.1.4.1.9.9.156.1.1.6',
'ccmTimeZoneEntry' => '1.3.6.1.4.1.9.9.156.1.1.6.1',
'ccmTimeZoneIndex' => '1.3.6.1.4.1.9.9.156.1.1.6.1.1',
'ccmTimeZoneName' => '1.3.6.1.4.1.9.9.156.1.1.6.1.2',
'ccmTimeZoneOffset' => '1.3.6.1.4.1.9.9.156.1.1.6.1.3',
'ccmTimeZoneOffsetHours' => '1.3.6.1.4.1.9.9.156.1.1.6.1.4',
'ccmTimeZoneOffsetMinutes' => '1.3.6.1.4.1.9.9.156.1.1.6.1.5',
'ccmDevicePoolTable' => '1.3.6.1.4.1.9.9.156.1.1.7',
'ccmDevicePoolEntry' => '1.3.6.1.4.1.9.9.156.1.1.7.1',
'ccmDevicePoolIndex' => '1.3.6.1.4.1.9.9.156.1.1.7.1.1',
'ccmDevicePoolName' => '1.3.6.1.4.1.9.9.156.1.1.7.1.2',
'ccmDevicePoolRegionIndex' => '1.3.6.1.4.1.9.9.156.1.1.7.1.3',
'ccmDevicePoolTimeZoneIndex' => '1.3.6.1.4.1.9.9.156.1.1.7.1.4',
'ccmDevicePoolGroupIndex' => '1.3.6.1.4.1.9.9.156.1.1.7.1.5',
'ccmProductTypeTable' => '1.3.6.1.4.1.9.9.156.1.1.8',
'ccmProductTypeEntry' => '1.3.6.1.4.1.9.9.156.1.1.8.1',
'ccmProductTypeIndex' => '1.3.6.1.4.1.9.9.156.1.1.8.1.1',
'ccmProductType' => '1.3.6.1.4.1.9.9.156.1.1.8.1.2',
'ccmProductName' => '1.3.6.1.4.1.9.9.156.1.1.8.1.3',
'ccmProductCategory' => '1.3.6.1.4.1.9.9.156.1.1.8.1.4',
'ccmPhoneInfo' => '1.3.6.1.4.1.9.9.156.1.2',
'ccmPhoneTable' => '1.3.6.1.4.1.9.9.156.1.2.1',
'ccmPhoneEntry' => '1.3.6.1.4.1.9.9.156.1.2.1.1',
'ccmPhoneIndex' => '1.3.6.1.4.1.9.9.156.1.2.1.1.1',
'ccmPhonePhysicalAddress' => '1.3.6.1.4.1.9.9.156.1.2.1.1.2',
'ccmPhoneType' => '1.3.6.1.4.1.9.9.156.1.2.1.1.3',
'ccmPhoneDescription' => '1.3.6.1.4.1.9.9.156.1.2.1.1.4',
'ccmPhoneUserName' => '1.3.6.1.4.1.9.9.156.1.2.1.1.5',
'ccmPhoneIpAddress' => '1.3.6.1.4.1.9.9.156.1.2.1.1.6',
'ccmPhoneStatus' => '1.3.6.1.4.1.9.9.156.1.2.1.1.7',
'ccmPhoneTimeLastRegistered' => '1.3.6.1.4.1.9.9.156.1.2.1.1.8',
'ccmPhoneE911Location' => '1.3.6.1.4.1.9.9.156.1.2.1.1.9',
'ccmPhoneLoadID' => '1.3.6.1.4.1.9.9.156.1.2.1.1.10',
'ccmPhoneLastError' => '1.3.6.1.4.1.9.9.156.1.2.1.1.11',
'ccmPhoneTimeLastError' => '1.3.6.1.4.1.9.9.156.1.2.1.1.12',
'ccmPhoneDevicePoolIndex' => '1.3.6.1.4.1.9.9.156.1.2.1.1.13',
'ccmPhoneInetAddressType' => '1.3.6.1.4.1.9.9.156.1.2.1.1.14',
'ccmPhoneInetAddress' => '1.3.6.1.4.1.9.9.156.1.2.1.1.15',
'ccmPhoneStatusReason' => '1.3.6.1.4.1.9.9.156.1.2.1.1.16',
'ccmPhoneTimeLastStatusUpdt' => '1.3.6.1.4.1.9.9.156.1.2.1.1.17',
'ccmPhoneProductTypeIndex' => '1.3.6.1.4.1.9.9.156.1.2.1.1.18',
'ccmPhoneProtocol' => '1.3.6.1.4.1.9.9.156.1.2.1.1.19',
'ccmPhoneName' => '1.3.6.1.4.1.9.9.156.1.2.1.1.20',
'ccmPhoneInetAddressIPv4' => '1.3.6.1.4.1.9.9.156.1.2.1.1.21',
'ccmPhoneInetAddressIPv6' => '1.3.6.1.4.1.9.9.156.1.2.1.1.22',
'ccmPhoneIPv4Attribute' => '1.3.6.1.4.1.9.9.156.1.2.1.1.23',
'ccmPhoneIPv6Attribute' => '1.3.6.1.4.1.9.9.156.1.2.1.1.24',
'ccmPhoneActiveLoadID' => '1.3.6.1.4.1.9.9.156.1.2.1.1.25',
'ccmPhoneUnregReason' => '1.3.6.1.4.1.9.9.156.1.2.1.1.26',
'ccmPhoneRegFailReason' => '1.3.6.1.4.1.9.9.156.1.2.1.1.27',
'ccmPhoneExtensionTable' => '1.3.6.1.4.1.9.9.156.1.2.2',
'ccmPhoneExtensionEntry' => '1.3.6.1.4.1.9.9.156.1.2.2.1',
'ccmPhoneExtensionIndex' => '1.3.6.1.4.1.9.9.156.1.2.2.1.1',
'ccmPhoneExtension' => '1.3.6.1.4.1.9.9.156.1.2.2.1.2',
'ccmPhoneExtensionIpAddress' => '1.3.6.1.4.1.9.9.156.1.2.2.1.3',
'ccmPhoneExtensionMultiLines' => '1.3.6.1.4.1.9.9.156.1.2.2.1.4',
'ccmPhoneExtensionInetAddressType' => '1.3.6.1.4.1.9.9.156.1.2.2.1.5',
'ccmPhoneExtensionInetAddress' => '1.3.6.1.4.1.9.9.156.1.2.2.1.6',
'ccmPhoneFailedTable' => '1.3.6.1.4.1.9.9.156.1.2.3',
'ccmPhoneFailedEntry' => '1.3.6.1.4.1.9.9.156.1.2.3.1',
'ccmPhoneFailedIndex' => '1.3.6.1.4.1.9.9.156.1.2.3.1.1',
'ccmPhoneFailedTime' => '1.3.6.1.4.1.9.9.156.1.2.3.1.2',
'ccmPhoneFailedName' => '1.3.6.1.4.1.9.9.156.1.2.3.1.3',
'ccmPhoneFailedInetAddressType' => '1.3.6.1.4.1.9.9.156.1.2.3.1.4',
'ccmPhoneFailedInetAddress' => '1.3.6.1.4.1.9.9.156.1.2.3.1.5',
'ccmPhoneFailCauseCode' => '1.3.6.1.4.1.9.9.156.1.2.3.1.6',
'ccmPhoneFailedMacAddress' => '1.3.6.1.4.1.9.9.156.1.2.3.1.7',
'ccmPhoneFailedInetAddressIPv4' => '1.3.6.1.4.1.9.9.156.1.2.3.1.8',
'ccmPhoneFailedInetAddressIPv6' => '1.3.6.1.4.1.9.9.156.1.2.3.1.9',
'ccmPhoneFailedIPv4Attribute' => '1.3.6.1.4.1.9.9.156.1.2.3.1.10',
'ccmPhoneFailedIPv6Attribute' => '1.3.6.1.4.1.9.9.156.1.2.3.1.11',
'ccmPhoneFailedRegFailReason' => '1.3.6.1.4.1.9.9.156.1.2.3.1.12',
'ccmPhoneStatusUpdateTable' => '1.3.6.1.4.1.9.9.156.1.2.4',
'ccmPhoneStatusUpdateEntry' => '1.3.6.1.4.1.9.9.156.1.2.4.1',
'ccmPhoneStatusUpdateIndex' => '1.3.6.1.4.1.9.9.156.1.2.4.1.1',
'ccmPhoneStatusPhoneIndex' => '1.3.6.1.4.1.9.9.156.1.2.4.1.2',
'ccmPhoneStatusUpdateTime' => '1.3.6.1.4.1.9.9.156.1.2.4.1.3',
'ccmPhoneStatusUpdateType' => '1.3.6.1.4.1.9.9.156.1.2.4.1.4',
'ccmPhoneStatusUpdateReason' => '1.3.6.1.4.1.9.9.156.1.2.4.1.5',
'ccmPhoneStatusUnregReason' => '1.3.6.1.4.1.9.9.156.1.2.4.1.6',
'ccmPhoneStatusRegFailReason' => '1.3.6.1.4.1.9.9.156.1.2.4.1.7',
'ccmPhoneExtnTable' => '1.3.6.1.4.1.9.9.156.1.2.5',
'ccmPhoneExtnEntry' => '1.3.6.1.4.1.9.9.156.1.2.5.1',
'ccmPhoneExtnIndex' => '1.3.6.1.4.1.9.9.156.1.2.5.1.1',
'ccmPhoneExtn' => '1.3.6.1.4.1.9.9.156.1.2.5.1.2',
'ccmPhoneExtnMultiLines' => '1.3.6.1.4.1.9.9.156.1.2.5.1.3',
'ccmPhoneExtnInetAddressType' => '1.3.6.1.4.1.9.9.156.1.2.5.1.4',
'ccmPhoneExtnInetAddress' => '1.3.6.1.4.1.9.9.156.1.2.5.1.5',
'ccmPhoneExtnStatus' => '1.3.6.1.4.1.9.9.156.1.2.5.1.6',
'ccmGatewayInfo' => '1.3.6.1.4.1.9.9.156.1.3',
'ccmGatewayTable' => '1.3.6.1.4.1.9.9.156.1.3.1',
'ccmGatewayEntry' => '1.3.6.1.4.1.9.9.156.1.3.1.1',
'ccmGatewayIndex' => '1.3.6.1.4.1.9.9.156.1.3.1.1.1',
'ccmGatewayName' => '1.3.6.1.4.1.9.9.156.1.3.1.1.2',
'ccmGatewayType' => '1.3.6.1.4.1.9.9.156.1.3.1.1.3',
'ccmGatewayDescription' => '1.3.6.1.4.1.9.9.156.1.3.1.1.4',
'ccmGatewayStatus' => '1.3.6.1.4.1.9.9.156.1.3.1.1.5',
'ccmGatewayDevicePoolIndex' => '1.3.6.1.4.1.9.9.156.1.3.1.1.6',
'ccmGatewayInetAddressType' => '1.3.6.1.4.1.9.9.156.1.3.1.1.7',
'ccmGatewayInetAddress' => '1.3.6.1.4.1.9.9.156.1.3.1.1.8',
'ccmGatewayProductId' => '1.3.6.1.4.1.9.9.156.1.3.1.1.9',
'ccmGatewayStatusReason' => '1.3.6.1.4.1.9.9.156.1.3.1.1.10',
'ccmGatewayTimeLastStatusUpdt' => '1.3.6.1.4.1.9.9.156.1.3.1.1.11',
'ccmGatewayTimeLastRegistered' => '1.3.6.1.4.1.9.9.156.1.3.1.1.12',
'ccmGatewayDChannelStatus' => '1.3.6.1.4.1.9.9.156.1.3.1.1.13',
'ccmGatewayDChannelNumber' => '1.3.6.1.4.1.9.9.156.1.3.1.1.14',
'ccmGatewayProductTypeIndex' => '1.3.6.1.4.1.9.9.156.1.3.1.1.15',
'ccmGatewayUnregReason' => '1.3.6.1.4.1.9.9.156.1.3.1.1.16',
'ccmGatewayRegFailReason' => '1.3.6.1.4.1.9.9.156.1.3.1.1.17',
'ccmGatewayTrunkInfo' => '1.3.6.1.4.1.9.9.156.1.4',
'ccmGatewayTrunkTable' => '1.3.6.1.4.1.9.9.156.1.4.1',
'ccmGatewayTrunkEntry' => '1.3.6.1.4.1.9.9.156.1.4.1.1',
'ccmGatewayTrunkIndex' => '1.3.6.1.4.1.9.9.156.1.4.1.1.1',
'ccmGatewayTrunkType' => '1.3.6.1.4.1.9.9.156.1.4.1.1.2',
'ccmGatewayTrunkName' => '1.3.6.1.4.1.9.9.156.1.4.1.1.3',
'ccmTrunkGatewayIndex' => '1.3.6.1.4.1.9.9.156.1.4.1.1.4',
'ccmGatewayTrunkStatus' => '1.3.6.1.4.1.9.9.156.1.4.1.1.5',
'ccmGlobalInfo' => '1.3.6.1.4.1.9.9.156.1.5',
'ccmActivePhones' => '1.3.6.1.4.1.9.9.156.1.5.1',
'ccmInActivePhones' => '1.3.6.1.4.1.9.9.156.1.5.2',
'ccmActiveGateways' => '1.3.6.1.4.1.9.9.156.1.5.3',
'ccmInActiveGateways' => '1.3.6.1.4.1.9.9.156.1.5.4',
'ccmRegisteredPhones' => '1.3.6.1.4.1.9.9.156.1.5.5',
'ccmUnregisteredPhones' => '1.3.6.1.4.1.9.9.156.1.5.6',
'ccmRejectedPhones' => '1.3.6.1.4.1.9.9.156.1.5.7',
'ccmRegisteredGateways' => '1.3.6.1.4.1.9.9.156.1.5.8',
'ccmUnregisteredGateways' => '1.3.6.1.4.1.9.9.156.1.5.9',
'ccmRejectedGateways' => '1.3.6.1.4.1.9.9.156.1.5.10',
'ccmRegisteredMediaDevices' => '1.3.6.1.4.1.9.9.156.1.5.11',
'ccmUnregisteredMediaDevices' => '1.3.6.1.4.1.9.9.156.1.5.12',
'ccmRejectedMediaDevices' => '1.3.6.1.4.1.9.9.156.1.5.13',
'ccmRegisteredCTIDevices' => '1.3.6.1.4.1.9.9.156.1.5.14',
'ccmUnregisteredCTIDevices' => '1.3.6.1.4.1.9.9.156.1.5.15',
'ccmRejectedCTIDevices' => '1.3.6.1.4.1.9.9.156.1.5.16',
'ccmRegisteredVoiceMailDevices' => '1.3.6.1.4.1.9.9.156.1.5.17',
'ccmUnregisteredVoiceMailDevices' => '1.3.6.1.4.1.9.9.156.1.5.18',
'ccmRejectedVoiceMailDevices' => '1.3.6.1.4.1.9.9.156.1.5.19',
'ccmCallManagerStartTime' => '1.3.6.1.4.1.9.9.156.1.5.20',
'ccmPhoneTableStateId' => '1.3.6.1.4.1.9.9.156.1.5.21',
'ccmPhoneExtensionTableStateId' => '1.3.6.1.4.1.9.9.156.1.5.22',
'ccmPhoneStatusUpdateTableStateId' => '1.3.6.1.4.1.9.9.156.1.5.23',
'ccmGatewayTableStateId' => '1.3.6.1.4.1.9.9.156.1.5.24',
'ccmCTIDeviceTableStateId' => '1.3.6.1.4.1.9.9.156.1.5.25',
'ccmCTIDeviceDirNumTableStateId' => '1.3.6.1.4.1.9.9.156.1.5.26',
'ccmPhStatUpdtTblLastAddedIndex' => '1.3.6.1.4.1.9.9.156.1.5.27',
'ccmPhFailedTblLastAddedIndex' => '1.3.6.1.4.1.9.9.156.1.5.28',
'ccmSystemVersion' => '1.3.6.1.4.1.9.9.156.1.5.29',
'ccmInstallationId' => '1.3.6.1.4.1.9.9.156.1.5.30',
'ccmPartiallyRegisteredPhones' => '1.3.6.1.4.1.9.9.156.1.5.31',
'ccmH323TableEntries' => '1.3.6.1.4.1.9.9.156.1.5.32',
'ccmSIPTableEntries' => '1.3.6.1.4.1.9.9.156.1.5.33',
'ccmMediaDeviceInfo' => '1.3.6.1.4.1.9.9.156.1.6',
'ccmMediaDeviceTable' => '1.3.6.1.4.1.9.9.156.1.6.1',
'ccmMediaDeviceEntry' => '1.3.6.1.4.1.9.9.156.1.6.1.1',
'ccmMediaDeviceIndex' => '1.3.6.1.4.1.9.9.156.1.6.1.1.1',
'ccmMediaDeviceName' => '1.3.6.1.4.1.9.9.156.1.6.1.1.2',
'ccmMediaDeviceType' => '1.3.6.1.4.1.9.9.156.1.6.1.1.3',
'ccmMediaDeviceDescription' => '1.3.6.1.4.1.9.9.156.1.6.1.1.4',
'ccmMediaDeviceStatus' => '1.3.6.1.4.1.9.9.156.1.6.1.1.5',
'ccmMediaDeviceDevicePoolIndex' => '1.3.6.1.4.1.9.9.156.1.6.1.1.6',
'ccmMediaDeviceInetAddressType' => '1.3.6.1.4.1.9.9.156.1.6.1.1.7',
'ccmMediaDeviceInetAddress' => '1.3.6.1.4.1.9.9.156.1.6.1.1.8',
'ccmMediaDeviceStatusReason' => '1.3.6.1.4.1.9.9.156.1.6.1.1.9',
'ccmMediaDeviceTimeLastStatusUpdt' => '1.3.6.1.4.1.9.9.156.1.6.1.1.10',
'ccmMediaDeviceTimeLastRegistered' => '1.3.6.1.4.1.9.9.156.1.6.1.1.11',
'ccmMediaDeviceProductTypeIndex' => '1.3.6.1.4.1.9.9.156.1.6.1.1.12',
'ccmMediaDeviceInetAddressIPv4' => '1.3.6.1.4.1.9.9.156.1.6.1.1.13',
'ccmMediaDeviceInetAddressIPv6' => '1.3.6.1.4.1.9.9.156.1.6.1.1.14',
'ccmMediaDeviceUnregReason' => '1.3.6.1.4.1.9.9.156.1.6.1.1.15',
'ccmMediaDeviceRegFailReason' => '1.3.6.1.4.1.9.9.156.1.6.1.1.16',
'ccmGatekeeperInfo' => '1.3.6.1.4.1.9.9.156.1.7',
'ccmGatekeeperTable' => '1.3.6.1.4.1.9.9.156.1.7.1',
'ccmGatekeeperEntry' => '1.3.6.1.4.1.9.9.156.1.7.1.1',
'ccmGatekeeperIndex' => '1.3.6.1.4.1.9.9.156.1.7.1.1.1',
'ccmGatekeeperName' => '1.3.6.1.4.1.9.9.156.1.7.1.1.2',
'ccmGatekeeperType' => '1.3.6.1.4.1.9.9.156.1.7.1.1.3',
'ccmGatekeeperDescription' => '1.3.6.1.4.1.9.9.156.1.7.1.1.4',
'ccmGatekeeperStatus' => '1.3.6.1.4.1.9.9.156.1.7.1.1.5',
'ccmGatekeeperDevicePoolIndex' => '1.3.6.1.4.1.9.9.156.1.7.1.1.6',
'ccmGatekeeperInetAddressType' => '1.3.6.1.4.1.9.9.156.1.7.1.1.7',
'ccmGatekeeperInetAddress' => '1.3.6.1.4.1.9.9.156.1.7.1.1.8',
'ccmCTIDeviceInfo' => '1.3.6.1.4.1.9.9.156.1.8',
'ccmCTIDeviceTable' => '1.3.6.1.4.1.9.9.156.1.8.1',
'ccmCTIDeviceEntry' => '1.3.6.1.4.1.9.9.156.1.8.1.1',
'ccmCTIDeviceIndex' => '1.3.6.1.4.1.9.9.156.1.8.1.1.1',
'ccmCTIDeviceName' => '1.3.6.1.4.1.9.9.156.1.8.1.1.2',
'ccmCTIDeviceType' => '1.3.6.1.4.1.9.9.156.1.8.1.1.3',
'ccmCTIDeviceDescription' => '1.3.6.1.4.1.9.9.156.1.8.1.1.4',
'ccmCTIDeviceStatus' => '1.3.6.1.4.1.9.9.156.1.8.1.1.5',
'ccmCTIDevicePoolIndex' => '1.3.6.1.4.1.9.9.156.1.8.1.1.6',
'ccmCTIDeviceInetAddressType' => '1.3.6.1.4.1.9.9.156.1.8.1.1.7',
'ccmCTIDeviceInetAddress' => '1.3.6.1.4.1.9.9.156.1.8.1.1.8',
'ccmCTIDeviceAppInfo' => '1.3.6.1.4.1.9.9.156.1.8.1.1.9',
'ccmCTIDeviceStatusReason' => '1.3.6.1.4.1.9.9.156.1.8.1.1.10',
'ccmCTIDeviceTimeLastStatusUpdt' => '1.3.6.1.4.1.9.9.156.1.8.1.1.11',
'ccmCTIDeviceTimeLastRegistered' => '1.3.6.1.4.1.9.9.156.1.8.1.1.12',
'ccmCTIDeviceProductTypeIndex' => '1.3.6.1.4.1.9.9.156.1.8.1.1.13',
'ccmCTIDeviceInetAddressIPv4' => '1.3.6.1.4.1.9.9.156.1.8.1.1.14',
'ccmCTIDeviceInetAddressIPv6' => '1.3.6.1.4.1.9.9.156.1.8.1.1.15',
'ccmCTIDeviceUnregReason' => '1.3.6.1.4.1.9.9.156.1.8.1.1.16',
'ccmCTIDeviceRegFailReason' => '1.3.6.1.4.1.9.9.156.1.8.1.1.17',
'ccmCTIDeviceDirNumTable' => '1.3.6.1.4.1.9.9.156.1.8.2',
'ccmCTIDeviceDirNumEntry' => '1.3.6.1.4.1.9.9.156.1.8.2.1',
'ccmCTIDeviceDirNumIndex' => '1.3.6.1.4.1.9.9.156.1.8.2.1.1',
'ccmCTIDeviceDirNum' => '1.3.6.1.4.1.9.9.156.1.8.2.1.2',
'ccmAlarmConfigInfo' => '1.3.6.1.4.1.9.9.156.1.9',
'ccmCallManagerAlarmEnable' => '1.3.6.1.4.1.9.9.156.1.9.1',
'ccmPhoneFailedAlarmInterval' => '1.3.6.1.4.1.9.9.156.1.9.2',
'ccmPhoneFailedStorePeriod' => '1.3.6.1.4.1.9.9.156.1.9.3',
'ccmPhoneStatusUpdateAlarmInterv' => '1.3.6.1.4.1.9.9.156.1.9.4',
'ccmPhoneStatusUpdateStorePeriod' => '1.3.6.1.4.1.9.9.156.1.9.5',
'ccmGatewayAlarmEnable' => '1.3.6.1.4.1.9.9.156.1.9.6',
'ccmMaliciousCallAlarmEnable' => '1.3.6.1.4.1.9.9.156.1.9.7',
'ccmNotificationsInfo' => '1.3.6.1.4.1.9.9.156.1.10',
'ccmAlarmSeverity' => '1.3.6.1.4.1.9.9.156.1.10.1',
'ccmFailCauseCode' => '1.3.6.1.4.1.9.9.156.1.10.2',
'ccmPhoneFailures' => '1.3.6.1.4.1.9.9.156.1.10.3',
'ccmPhoneUpdates' => '1.3.6.1.4.1.9.9.156.1.10.4',
'ccmGatewayFailCauseCode' => '1.3.6.1.4.1.9.9.156.1.10.5',
'ccmMediaResourceType' => '1.3.6.1.4.1.9.9.156.1.10.6',
'ccmMediaResourceListName' => '1.3.6.1.4.1.9.9.156.1.10.7',
'ccmRouteListName' => '1.3.6.1.4.1.9.9.156.1.10.8',
'ccmGatewayPhysIfIndex' => '1.3.6.1.4.1.9.9.156.1.10.9',
'ccmGatewayPhysIfL2Status' => '1.3.6.1.4.1.9.9.156.1.10.10',
'ccmMaliCallCalledPartyName' => '1.3.6.1.4.1.9.9.156.1.10.11',
'ccmMaliCallCalledPartyNumber' => '1.3.6.1.4.1.9.9.156.1.10.12',
'ccmMaliCallCalledDeviceName' => '1.3.6.1.4.1.9.9.156.1.10.13',
'ccmMaliCallCallingPartyName' => '1.3.6.1.4.1.9.9.156.1.10.14',
'ccmMaliCallCallingPartyNumber' => '1.3.6.1.4.1.9.9.156.1.10.15',
'ccmMaliCallCallingDeviceName' => '1.3.6.1.4.1.9.9.156.1.10.16',
'ccmMaliCallTime' => '1.3.6.1.4.1.9.9.156.1.10.17',
'ccmQualityRprtSourceDevName' => '1.3.6.1.4.1.9.9.156.1.10.18',
'ccmQualityRprtClusterId' => '1.3.6.1.4.1.9.9.156.1.10.19',
'ccmQualityRprtCategory' => '1.3.6.1.4.1.9.9.156.1.10.20',
'ccmQualityRprtReasonCode' => '1.3.6.1.4.1.9.9.156.1.10.21',
'ccmQualityRprtTime' => '1.3.6.1.4.1.9.9.156.1.10.22',
'ccmTLSDevName' => '1.3.6.1.4.1.9.9.156.1.10.23',
'ccmTLSDevInetAddressType' => '1.3.6.1.4.1.9.9.156.1.10.24',
'ccmTLSDevInetAddress' => '1.3.6.1.4.1.9.9.156.1.10.25',
'ccmTLSConnFailTime' => '1.3.6.1.4.1.9.9.156.1.10.26',
'ccmTLSConnectionFailReasonCode' => '1.3.6.1.4.1.9.9.156.1.10.27',
'ccmGatewayRegFailCauseCode' => '1.3.6.1.4.1.9.9.156.1.10.28',
'ccmH323DeviceInfo' => '1.3.6.1.4.1.9.9.156.1.11',
'ccmH323DeviceTable' => '1.3.6.1.4.1.9.9.156.1.11.1',
'ccmH323DeviceEntry' => '1.3.6.1.4.1.9.9.156.1.11.1.1',
'ccmH323DevIndex' => '1.3.6.1.4.1.9.9.156.1.11.1.1.1',
'ccmH323DevName' => '1.3.6.1.4.1.9.9.156.1.11.1.1.2',
'ccmH323DevProductId' => '1.3.6.1.4.1.9.9.156.1.11.1.1.3',
'ccmH323DevDescription' => '1.3.6.1.4.1.9.9.156.1.11.1.1.4',
'ccmH323DevInetAddressType' => '1.3.6.1.4.1.9.9.156.1.11.1.1.5',
'ccmH323DevInetAddress' => '1.3.6.1.4.1.9.9.156.1.11.1.1.6',
'ccmH323DevCnfgGKInetAddressType' => '1.3.6.1.4.1.9.9.156.1.11.1.1.7',
'ccmH323DevCnfgGKInetAddress' => '1.3.6.1.4.1.9.9.156.1.11.1.1.8',
'ccmH323DevAltGK1InetAddressType' => '1.3.6.1.4.1.9.9.156.1.11.1.1.9',
'ccmH323DevAltGK1InetAddress' => '1.3.6.1.4.1.9.9.156.1.11.1.1.10',
'ccmH323DevAltGK2InetAddressType' => '1.3.6.1.4.1.9.9.156.1.11.1.1.11',
'ccmH323DevAltGK2InetAddress' => '1.3.6.1.4.1.9.9.156.1.11.1.1.12',
'ccmH323DevAltGK3InetAddressType' => '1.3.6.1.4.1.9.9.156.1.11.1.1.13',
'ccmH323DevAltGK3InetAddress' => '1.3.6.1.4.1.9.9.156.1.11.1.1.14',
'ccmH323DevAltGK4InetAddressType' => '1.3.6.1.4.1.9.9.156.1.11.1.1.15',
'ccmH323DevAltGK4InetAddress' => '1.3.6.1.4.1.9.9.156.1.11.1.1.16',
'ccmH323DevAltGK5InetAddressType' => '1.3.6.1.4.1.9.9.156.1.11.1.1.17',
'ccmH323DevAltGK5InetAddress' => '1.3.6.1.4.1.9.9.156.1.11.1.1.18',
'ccmH323DevActGKInetAddressType' => '1.3.6.1.4.1.9.9.156.1.11.1.1.19',
'ccmH323DevActGKInetAddress' => '1.3.6.1.4.1.9.9.156.1.11.1.1.20',
'ccmH323DevStatus' => '1.3.6.1.4.1.9.9.156.1.11.1.1.21',
'ccmH323DevStatusReason' => '1.3.6.1.4.1.9.9.156.1.11.1.1.22',
'ccmH323DevTimeLastStatusUpdt' => '1.3.6.1.4.1.9.9.156.1.11.1.1.23',
'ccmH323DevTimeLastRegistered' => '1.3.6.1.4.1.9.9.156.1.11.1.1.24',
'ccmH323DevRmtCM1InetAddressType' => '1.3.6.1.4.1.9.9.156.1.11.1.1.25',
'ccmH323DevRmtCM1InetAddress' => '1.3.6.1.4.1.9.9.156.1.11.1.1.26',
'ccmH323DevRmtCM2InetAddressType' => '1.3.6.1.4.1.9.9.156.1.11.1.1.27',
'ccmH323DevRmtCM2InetAddress' => '1.3.6.1.4.1.9.9.156.1.11.1.1.28',
'ccmH323DevRmtCM3InetAddressType' => '1.3.6.1.4.1.9.9.156.1.11.1.1.29',
'ccmH323DevRmtCM3InetAddress' => '1.3.6.1.4.1.9.9.156.1.11.1.1.30',
'ccmH323DevProductTypeIndex' => '1.3.6.1.4.1.9.9.156.1.11.1.1.31',
'ccmH323DevUnregReason' => '1.3.6.1.4.1.9.9.156.1.11.1.1.32',
'ccmH323DevRegFailReason' => '1.3.6.1.4.1.9.9.156.1.11.1.1.33',
'ccmVoiceMailDeviceInfo' => '1.3.6.1.4.1.9.9.156.1.12',
'ccmVoiceMailDeviceTable' => '1.3.6.1.4.1.9.9.156.1.12.1',
'ccmVoiceMailDeviceEntry' => '1.3.6.1.4.1.9.9.156.1.12.1.1',
'ccmVMailDevIndex' => '1.3.6.1.4.1.9.9.156.1.12.1.1.1',
'ccmVMailDevName' => '1.3.6.1.4.1.9.9.156.1.12.1.1.2',
'ccmVMailDevProductId' => '1.3.6.1.4.1.9.9.156.1.12.1.1.3',
'ccmVMailDevDescription' => '1.3.6.1.4.1.9.9.156.1.12.1.1.4',
'ccmVMailDevStatus' => '1.3.6.1.4.1.9.9.156.1.12.1.1.5',
'ccmVMailDevInetAddressType' => '1.3.6.1.4.1.9.9.156.1.12.1.1.6',
'ccmVMailDevInetAddress' => '1.3.6.1.4.1.9.9.156.1.12.1.1.7',
'ccmVMailDevStatusReason' => '1.3.6.1.4.1.9.9.156.1.12.1.1.8',
'ccmVMailDevTimeLastStatusUpdt' => '1.3.6.1.4.1.9.9.156.1.12.1.1.9',
'ccmVMailDevTimeLastRegistered' => '1.3.6.1.4.1.9.9.156.1.12.1.1.10',
'ccmVMailDevProductTypeIndex' => '1.3.6.1.4.1.9.9.156.1.12.1.1.11',
'ccmVMailDevUnregReason' => '1.3.6.1.4.1.9.9.156.1.12.1.1.12',
'ccmVMailDevRegFailReason' => '1.3.6.1.4.1.9.9.156.1.12.1.1.13',
'ccmVoiceMailDeviceDirNumTable' => '1.3.6.1.4.1.9.9.156.1.12.2',
'ccmVoiceMailDeviceDirNumEntry' => '1.3.6.1.4.1.9.9.156.1.12.2.1',
'ccmVMailDevDirNumIndex' => '1.3.6.1.4.1.9.9.156.1.12.2.1.1',
'ccmVMailDevDirNum' => '1.3.6.1.4.1.9.9.156.1.12.2.1.2',
'ccmQualityReportAlarmConfigInfo' => '1.3.6.1.4.1.9.9.156.1.13',
'ccmQualityReportAlarmEnable' => '1.3.6.1.4.1.9.9.156.1.13.1',
'ccmSIPDeviceInfo' => '1.3.6.1.4.1.9.9.156.1.14',
'ccmSIPDeviceTable' => '1.3.6.1.4.1.9.9.156.1.14.1',
'ccmSIPDeviceEntry' => '1.3.6.1.4.1.9.9.156.1.14.1.1',
'ccmSIPDevIndex' => '1.3.6.1.4.1.9.9.156.1.14.1.1.1',
'ccmSIPDevName' => '1.3.6.1.4.1.9.9.156.1.14.1.1.2',
'ccmSIPDevProductTypeIndex' => '1.3.6.1.4.1.9.9.156.1.14.1.1.3',
'ccmSIPDevDescription' => '1.3.6.1.4.1.9.9.156.1.14.1.1.4',
'ccmSIPDevInetAddressType' => '1.3.6.1.4.1.9.9.156.1.14.1.1.5',
'ccmSIPDevInetAddress' => '1.3.6.1.4.1.9.9.156.1.14.1.1.6',
'ccmSIPInTransportProtocolType' => '1.3.6.1.4.1.9.9.156.1.14.1.1.7',
'ccmSIPInPortNumber' => '1.3.6.1.4.1.9.9.156.1.14.1.1.8',
'ccmSIPOutTransportProtocolType' => '1.3.6.1.4.1.9.9.156.1.14.1.1.9',
'ccmSIPOutPortNumber' => '1.3.6.1.4.1.9.9.156.1.14.1.1.10',
'ccmSIPDevInetAddressIPv4' => '1.3.6.1.4.1.9.9.156.1.14.1.1.11',
'ccmSIPDevInetAddressIPv6' => '1.3.6.1.4.1.9.9.156.1.14.1.1.12',
'ccmMIBNotificationPrefix' => '1.3.6.1.4.1.9.9.156.2',
'ccmMIBNotifications' => '1.3.6.1.4.1.9.9.156.2',
'ciscoCcmMIBConformance' => '1.3.6.1.4.1.9.9.156.3',
'ciscoCcmMIBCompliances' => '1.3.6.1.4.1.9.9.156.3.1',
'ciscoCcmMIBCompliance' => '1.3.6.1.4.1.9.9.156.3.1.1',
'ciscoCcmMIBComplianceRev1' => '1.3.6.1.4.1.9.9.156.3.1.2',
'ciscoCcmMIBComplianceRev2' => '1.3.6.1.4.1.9.9.156.3.1.3',
'ciscoCcmMIBComplianceRev3' => '1.3.6.1.4.1.9.9.156.3.1.4',
'ciscoCcmMIBComplianceRev4' => '1.3.6.1.4.1.9.9.156.3.1.5',
'ciscoCcmMIBComplianceRev5' => '1.3.6.1.4.1.9.9.156.3.1.6',
'ciscoCcmMIBComplianceRev6' => '1.3.6.1.4.1.9.9.156.3.1.7',
'ciscoCcmMIBComplianceRev7' => '1.3.6.1.4.1.9.9.156.3.1.8',
'ciscoCcmMIBGroups' => '1.3.6.1.4.1.9.9.156.3.2',
'ccmInfoGroup' => '1.3.6.1.4.1.9.9.156.3.2.1',
'ccmPhoneInfoGroup' => '1.3.6.1.4.1.9.9.156.3.2.2',
'ccmGatewayInfoGroup' => '1.3.6.1.4.1.9.9.156.3.2.3',
'ccmInfoGroupRev1' => '1.3.6.1.4.1.9.9.156.3.2.4',
'ccmPhoneInfoGroupRev1' => '1.3.6.1.4.1.9.9.156.3.2.5',
'ccmGatewayInfoGroupRev1' => '1.3.6.1.4.1.9.9.156.3.2.6',
'ccmMediaDeviceInfoGroup' => '1.3.6.1.4.1.9.9.156.3.2.7',
'ccmGatekeeperInfoGroup' => '1.3.6.1.4.1.9.9.156.3.2.8',
'ccmCTIDeviceInfoGroup' => '1.3.6.1.4.1.9.9.156.3.2.9',
'ccmNotificationsInfoGroup' => '1.3.6.1.4.1.9.9.156.3.2.10',
'ccmNotificationsGroup' => '1.3.6.1.4.1.9.9.156.3.2.11',
'ccmInfoGroupRev2' => '1.3.6.1.4.1.9.9.156.3.2.12',
'ccmPhoneInfoGroupRev2' => '1.3.6.1.4.1.9.9.156.3.2.13',
'ccmGatewayInfoGroupRev2' => '1.3.6.1.4.1.9.9.156.3.2.14',
'ccmMediaDeviceInfoGroupRev1' => '1.3.6.1.4.1.9.9.156.3.2.15',
'ccmCTIDeviceInfoGroupRev1' => '1.3.6.1.4.1.9.9.156.3.2.16',
'ccmH323DeviceInfoGroup' => '1.3.6.1.4.1.9.9.156.3.2.17',
'ccmVoiceMailDeviceInfoGroup' => '1.3.6.1.4.1.9.9.156.3.2.18',
'ccmNotificationsInfoGroupRev1' => '1.3.6.1.4.1.9.9.156.3.2.19',
'ccmInfoGroupRev3' => '1.3.6.1.4.1.9.9.156.3.2.20',
'ccmNotificationsInfoGroupRev2' => '1.3.6.1.4.1.9.9.156.3.2.21',
'ccmNotificationsGroupRev1' => '1.3.6.1.4.1.9.9.156.3.2.22',
'ccmSIPDeviceInfoGroup' => '1.3.6.1.4.1.9.9.156.3.2.23',
'ccmPhoneInfoGroupRev3' => '1.3.6.1.4.1.9.9.156.3.2.24',
'ccmGatewayInfoGroupRev3' => '1.3.6.1.4.1.9.9.156.3.2.25',
'ccmMediaDeviceInfoGroupRev2' => '1.3.6.1.4.1.9.9.156.3.2.26',
'ccmCTIDeviceInfoGroupRev2' => '1.3.6.1.4.1.9.9.156.3.2.27',
'ccmH323DeviceInfoGroupRev1' => '1.3.6.1.4.1.9.9.156.3.2.28',
'ccmVoiceMailDeviceInfoGroupRev1' => '1.3.6.1.4.1.9.9.156.3.2.29',
'ccmPhoneInfoGroupRev4' => '1.3.6.1.4.1.9.9.156.3.2.30',
'ccmSIPDeviceInfoGroupRev1' => '1.3.6.1.4.1.9.9.156.3.2.31',
'ccmNotificationsInfoGroupRev3' => '1.3.6.1.4.1.9.9.156.3.2.32',
'ccmNotificationsGroupRev2' => '1.3.6.1.4.1.9.9.156.3.2.33',
'ccmInfoGroupRev4' => '1.3.6.1.4.1.9.9.156.3.2.34',
'ccmPhoneInfoGroupRev5' => '1.3.6.1.4.1.9.9.156.3.2.35',
'ccmMediaDeviceInfoGroupRev3' => '1.3.6.1.4.1.9.9.156.3.2.36',
'ccmSIPDeviceInfoGroupRev2' => '1.3.6.1.4.1.9.9.156.3.2.37',
'ccmNotificationsInfoGroupRev4' => '1.3.6.1.4.1.9.9.156.3.2.38',
'ccmH323DeviceInfoGroupRev2' => '1.3.6.1.4.1.9.9.156.3.2.39',
'ccmCTIDeviceInfoGroupRev3' => '1.3.6.1.4.1.9.9.156.3.2.40',
'ccmPhoneInfoGroupRev6' => '1.3.6.1.4.1.9.9.156.3.2.41',
'ccmNotificationsInfoGroupRev5' => '1.3.6.1.4.1.9.9.156.3.2.42',
'ccmGatewayInfoGroupRev4' => '1.3.6.1.4.1.9.9.156.3.2.43',
'ccmMediaDeviceInfoGroupRev4' => '1.3.6.1.4.1.9.9.156.3.2.44',
'ccmCTIDeviceInfoGroupRev4' => '1.3.6.1.4.1.9.9.156.3.2.45',
'ccmH323DeviceInfoGroupRev3' => '1.3.6.1.4.1.9.9.156.3.2.46',
'ccmVoiceMailDeviceInfoGroupRev2' => '1.3.6.1.4.1.9.9.156.3.2.47',
'ccmNotificationsGroupRev3' => '1.3.6.1.4.1.9.9.156.3.2.48',
};
1;
__END__

View file

@ -1,24 +0,0 @@
package Monitoring::GLPlugin::SNMP::MibsAndOids::CISCOCONFIGMANMIB;
$Monitoring::GLPlugin::SNMP::MibsAndOids::origin->{'CISCO-CONFIG-MAN-MIB'} = {
url => '',
name => 'CISCO-CONFIG-MAN-MIB',
};
$Monitoring::GLPlugin::SNMP::MibsAndOids::mibs_and_oids->{'CISCO-CONFIG-MAN-MIB'} = {
'ciscoConfigManMIBObjects' => '1.3.6.1.4.1.9.9.43.1',
'ccmHistory' => '1.3.6.1.4.1.9.9.43.1.1',
'ccmHistoryRunningLastChanged' => '1.3.6.1.4.1.9.9.43.1.1.1.0',
'ccmHistoryRunningLastSaved' => '1.3.6.1.4.1.9.9.43.1.1.2.0',
'ccmHistoryStartupLastChanged' => '1.3.6.1.4.1.9.9.43.1.1.3.0',
'ccmHistoryMaxEventEntries' => '1.3.6.1.4.1.9.9.43.1.1.4.0',
'ccmHistoryEventEntriesBumped' => '1.3.6.1.4.1.9.9.43.1.1.5.0',
'ccmCLIHistory' => '1.3.6.1.4.1.9.9.43.1.2',
'ccmCLICfg' => '1.3.6.1.4.1.9.9.43.1.3',
'ccmCTIDObjects' => '1.3.6.1.4.1.9.9.43.1.4',
};
1;
__END__

Some files were not shown because too many files have changed in this diff Show more