Release 20241107 (#5279)

This commit is contained in:
pkippes 2024-11-07 16:26:11 +01:00 committed by GitHub
commit 8b0c37e79f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
118 changed files with 30356 additions and 11775 deletions

View File

@ -8,7 +8,7 @@ dnf install -y \
git \
wget \
zstd \
https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm
java-17-openjdk-devel
cd /usr/local/src
wget https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz

View File

@ -8,7 +8,7 @@ dnf install -y \
git \
wget \
zstd \
https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm
java-17-openjdk-devel
cd /usr/local/src
wget https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz

View File

@ -47,6 +47,8 @@ gpgkey=https://yum-gpg.centreon.com/RPM-GPG-KEY-CES\n'\
>> /etc/yum.repos.d/centreon-plugins.repo
dnf install -y gcc make cpan perl-Test2-Suite.noarch perl-Test2-Plugin-NoWarnings.noarch 'perl(Authen::Radius)' 'perl(Convert::Binary::C)' 'perl(Crypt::OpenSSL::RSA)' 'perl(Data::Dumper)' 'perl(Date::Parse)' 'perl(DateTime)' 'perl(DateTime::Duration)' 'perl(DateTime-Format-Duration-ISO8601)' 'perl(DateTime::Format::Strptime)' 'perl(DBD::mysql)' 'perl(DBD::ODBC)' 'perl(DBD::Pg)' 'perl(DBD::Sybase)' 'perl(DBI)' 'perl(Device::Modbus::RTU::Client)' 'perl(Device::Modbus::TCP::Client)' 'perl(Digest::CRC)' 'perl(Digest::MD5)' 'perl(Digest::SHA)' 'perl(Email::MIME)' 'perl(Email::Sender)' 'perl(Email::Send::SMTP::Gmail)' 'perl(Email::Simple)' 'perl(File::Basename)' 'perl(Filesys::SmbClient)' 'perl(Hash::Ordered)' 'perl(HTML::Template)' 'perl(IO::Select)' 'perl(IO::Socket)' 'perl(IO::Socket::INET)' 'perl(IO::Socket::INET6)' 'perl(IO::Socket::SSL)' 'perl(JMX::Jmx4Perl)' 'perl(JSON)' 'perl(JSON::Path)' 'perl(JSON::WebToken)' 'perl(JSON::XS)' 'perl(Libssh::Session)' 'perl-Mail-IMAPClient' 'perl(MIME::Base64)' 'perl(MongoDB)' 'perl(NetAddr::IP)' 'perl(Net::DHCP::Constants)' 'perl(Net::DHCP::Packet)' 'perl(Net::DNS)' 'perl(Net::FTP)' 'perl(Net::FTPSSL)' 'perl(Net::LDAP)' 'perl(Net::MQTT::Simple)' 'perl(Net::NTP)' 'perl(Net::SSLeay)' 'perl(Net::Subnet)' 'perl(Net::Telnet)' 'perl(Net::TFTP)' 'perl(openwsman)' 'perl(Pod::Parser)' 'perl(POSIX)' 'perl(Redis)' 'perl(RRDs)' 'perl(SNMP)' 'perl(Socket)' 'perl(Text::CSV)' 'perl(Time::HiRes)' 'perl(URI::Encode)' 'perl(URI::Escape)' 'perl(UUID)' 'perl(WWW::Selenium)' 'perl(XML::LibXML)' 'perl(XML::LibXML::Simple)' 'perl(XML::Simple)' 'perl(XML::XPath)' 'perl(ZMQ::LibZMQ4)' 'perl(Data::UUID)'
# this image is used by centreon-perl-libs unit test and centreon-gorgone unit tests.
dnf -y install 'perl(Crypt::OpenSSL::AES)' 'perl-Net-Curl' 'perl(YAML::XS)' 'perl(Hash::Merge)' 'perl(Clone)' 'perl(CryptX)' 'perl(JSON::XS)' 'perl(JSON::PP)'
dnf clean all
mkdir -p /var/lib/centreon/centplugins/
chmod 777 /var/lib/centreon/centplugins/

View File

@ -46,6 +46,9 @@ gpgcheck=1\n\
gpgkey=https://yum-gpg.centreon.com/RPM-GPG-KEY-CES\n'\
>> /etc/yum.repos.d/centreon-plugins.repo
dnf install -y make cpan perl-Test2-Suite.noarch 'perl(Authen::Radius)' 'perl(Convert::Binary::C)' 'perl(Crypt::OpenSSL::RSA)' 'perl(Data::Dumper)' 'perl(Date::Parse)' 'perl(DateTime)' 'perl(DateTime::Duration)' 'perl(DateTime-Format-Duration-ISO8601)' 'perl(DateTime::Format::Strptime)' 'perl(DBD::mysql)' 'perl(DBD::ODBC)' 'perl(DBD::Pg)' 'perl(DBD::Sybase)' 'perl(DBI)' 'perl(Device::Modbus::RTU::Client)' 'perl(Device::Modbus::TCP::Client)' 'perl(Digest::CRC)' 'perl(Digest::MD5)' 'perl(Digest::SHA)' 'perl(Email::MIME)' 'perl(Email::Sender)' 'perl(Email::Send::SMTP::Gmail)' 'perl(Email::Simple)' 'perl(File::Basename)' 'perl(Filesys::SmbClient)' 'perl(Hash::Ordered)' 'perl(HTML::Template)' 'perl(IO::Select)' 'perl(IO::Socket)' 'perl(IO::Socket::INET)' 'perl(IO::Socket::INET6)' 'perl(IO::Socket::SSL)' 'perl(JMX::Jmx4Perl)' 'perl(JSON)' 'perl(JSON::Path)' 'perl(JSON::WebToken)' 'perl(JSON::XS)' 'perl(Libssh::Session)' 'perl-Mail-IMAPClient' 'perl(MIME::Base64)' 'perl(MongoDB)' 'perl(NetAddr::IP)' 'perl(Net::DHCP::Constants)' 'perl(Net::DHCP::Packet)' 'perl(Net::DNS)' 'perl(Net::FTP)' 'perl(Net::FTPSSL)' 'perl(Net::LDAP)' 'perl(Net::MQTT::Simple)' 'perl(Net::NTP)' 'perl(Net::SSLeay)' 'perl(Net::Subnet)' 'perl(Net::Telnet)' 'perl(Net::TFTP)' 'perl(openwsman)' 'perl(Pod::Parser)' 'perl(POSIX)' 'perl(Redis)' 'perl(RRDs)' 'perl(SNMP)' 'perl(Socket)' 'perl(Text::CSV)' 'perl(Time::HiRes)' 'perl(URI::Encode)' 'perl(URI::Escape)' 'perl(UUID)' 'perl(WWW::Selenium)' 'perl(XML::LibXML)' 'perl(XML::LibXML::Simple)' 'perl(XML::Simple)' 'perl(XML::XPath)' 'perl(ZMQ::LibZMQ4)' 'perl(Data::UUID)'
# this image is used by centreon-perl-libs unit test and centreon-gorgone unit tests.
dnf -y install 'perl(Crypt::OpenSSL::AES)' 'perl-Net-Curl' 'perl(YAML::XS)' 'perl(Hash::Merge)' 'perl(Clone)' 'perl(CryptX)' 'perl(JSON::XS)' 'perl(JSON::PP)'
dnf clean all
mkdir -p /var/lib/centreon/centplugins/
chmod 777 /var/lib/centreon/centplugins/

View File

@ -2,7 +2,7 @@ ARG REGISTRY_URL=docker.io
FROM ${REGISTRY_URL}/debian:bookworm
ENV DEBIAN_FRONTEND noninteractive
ENV DEBIAN_FRONTEND=noninteractive
# fix locale
RUN bash -e <<EOF
@ -14,7 +14,7 @@ localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
apt-get clean
EOF
ENV LANG en_US.utf8
ENV LANG=en_US.utf8
RUN bash -e <<EOF
# Add Centreon plugins repositories
@ -24,6 +24,8 @@ echo "deb https://packages.centreon.com/apt-plugins-unstable/ bookworm main" | t
wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1
apt-get update
apt-get -y install libtest2-harness-perl libtest2-plugin-nowarnings-perl libauthen-radius-perl libconvert-binary-c-perl libcrypt-openssl-rsa-perl libdata-dump-perl libdatetime-format-dateparse-perl libdatetime-format-strptime-perl libdatetime-perl libdbd-mysql-perl libdbd-odbc-perl libdbd-pg-perl libdbd-sybase-perl libdbi-perl libdigest-crc-perl libdigest-md5-perl libdigest-sha-perl libemail-mime-perl libemail-sender-perl libemail-send-smtp-gmail-perl libfilesys-smbclient-perl libhtml-template-perl libio-socket-inet6-perl libio-socket-ip-perl libjson-maybexs-perl libjson-perl libjson-webtoken-perl libmail-imapclient-perl libmime-base64-perl libmongodb-perl libnet-dhcp-perl libnet-dns-perl libnet-ldap-perl libnet-mqtt-simple-perl libnet-ntp-perl libnet-ssleay-perl libnet-subnet-perl libnet-telnet-perl libnet-tftp-perl libopenwsman-perl libredis-perl librrds-perl libsnmp-perl libsocket-perl libssh-session-perl libtest-www-selenium-perl libtext-csv-perl libtime-hires-perl libtime-parsedate-perl libuuid-perl libxml-libxml-perl libxml-libxml-simple-perl libxml-simple-perl libxml-xpath-perl perl perl-modules
# this image is used by centreon-perl-libs unit test and centreon-gorgone unit tests.
apt-get -y install libcrypt-openssl-aes-perl libnet-curl-perl libyaml-libyaml-perl libhash-merge-perl libclone-choose-perl libcryptx-perl libjson-xs-perl libjson-pp-perl
apt-get clean
EOF

View File

@ -2,7 +2,7 @@ ARG REGISTRY_URL=docker.io
FROM ${REGISTRY_URL}/debian:bullseye
ENV DEBIAN_FRONTEND noninteractive
ENV DEBIAN_FRONTEND=noninteractive
# fix locale
RUN bash -e <<EOF
@ -14,7 +14,7 @@ localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
apt-get clean
EOF
ENV LANG en_US.utf8
ENV LANG=en_US.utf8
RUN bash -e <<EOF
# Add Centreon plugins repositories
@ -24,6 +24,8 @@ echo "deb https://packages.centreon.com/apt-plugins-unstable/ bullseye main" | t
wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1
apt-get update
apt-get -y install gcc make libtest2-plugin-nowarnings-perl libauthen-radius-perl libconvert-binary-c-perl libcrypt-openssl-rsa-perl libdata-dump-perl libdatetime-format-dateparse-perl libdatetime-format-strptime-perl libdatetime-perl libdbd-mysql-perl libdbd-odbc-perl libdbd-pg-perl libdbd-sybase-perl libdbi-perl libdigest-crc-perl libdigest-md5-perl libdigest-sha-perl libemail-mime-perl libemail-sender-perl libemail-send-smtp-gmail-perl libfilesys-smbclient-perl libhtml-template-perl libio-socket-inet6-perl libio-socket-ip-perl libjson-maybexs-perl libjson-perl libjson-webtoken-perl libmail-imapclient-perl libmime-base64-perl libmongodb-perl libnet-dhcp-perl libnet-dns-perl libnet-ldap-perl libnet-mqtt-simple-perl libnet-ntp-perl libnet-ssleay-perl libnet-subnet-perl libnet-telnet-perl libnet-tftp-perl libopenwsman-perl libredis-perl librrds-perl libsnmp-perl libsocket-perl libssh-session-perl libtest-www-selenium-perl libtext-csv-perl libtime-hires-perl libtime-parsedate-perl libuuid-perl libxml-libxml-perl libxml-libxml-simple-perl libxml-simple-perl libxml-xpath-perl perl perl-modules libdata-uuid-perl
# this image is used by centreon-perl-libs unit test and centreon-gorgone unit tests.
apt-get -y install libcrypt-openssl-aes-perl libnet-curl-perl libyaml-libyaml-perl libhash-merge-perl libclone-choose-perl libcryptx-perl libjson-xs-perl libjson-pp-perl
apt-get clean
NONINTERACTIVE_TESTING=1 PERL_MM_USE_DEFAULT=1 cpan Test2::Harness UUID
EOF

View File

@ -2,7 +2,7 @@ ARG REGISTRY_URL=docker.io
FROM ${REGISTRY_URL}/ubuntu:jammy
ENV DEBIAN_FRONTEND noninteractive
ENV DEBIAN_FRONTEND=noninteractive
# fix locale
RUN bash -e <<EOF
@ -15,7 +15,7 @@ apt-get clean
EOF
ENV LANG en_US.utf8
ENV LANG=en_US.utf8
RUN bash -e <<EOF
# Add Centreon plugins repositories
@ -25,8 +25,11 @@ echo "deb https://packages.centreon.com/ubuntu-plugins-unstable/ jammy main" | t
wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1
apt-get update
apt-get -y install libtest2-harness-perl libtest2-plugin-nowarnings-perl libauthen-radius-perl libconvert-binary-c-perl libcrypt-openssl-rsa-perl libdata-dump-perl libdatetime-format-dateparse-perl libdatetime-format-strptime-perl libdatetime-perl libdbd-mysql-perl libdbd-odbc-perl libdbd-pg-perl libdbd-sybase-perl libdbi-perl libdigest-crc-perl libdigest-md5-perl libdigest-sha-perl libemail-mime-perl libemail-sender-perl libemail-send-smtp-gmail-perl libfilesys-smbclient-perl libhtml-template-perl libio-socket-inet6-perl libio-socket-ip-perl libjmx4perl-perl libjson-maybexs-perl libjson-perl libjson-webtoken-perl libmail-imapclient-perl libmime-base64-perl libmongodb-perl libnet-dhcp-perl libnet-dns-perl libnet-ldap-perl libnet-mqtt-simple-perl libnet-ntp-perl libnet-ssleay-perl libnet-subnet-perl libnet-telnet-perl libnet-tftp-perl libopenwsman-perl libredis-perl librrds-perl libsnmp-perl libsocket-perl libssh-session-perl libtest-www-selenium-perl libtext-csv-perl libtime-hires-perl libtime-parsedate-perl libuuid-perl libxml-libxml-perl libxml-libxml-simple-perl libxml-simple-perl libxml-xpath-perl libzmq-libzmq4-perl perl perl-modules
apt-get -y install gcc make libtest2-plugin-nowarnings-perl libauthen-radius-perl libconvert-binary-c-perl libcrypt-openssl-rsa-perl libdata-dump-perl libdatetime-format-dateparse-perl libdatetime-format-strptime-perl libdatetime-perl libdbd-mysql-perl libdbd-odbc-perl libdbd-pg-perl libdbd-sybase-perl libdbi-perl libdigest-crc-perl libdigest-md5-perl libdigest-sha-perl libemail-mime-perl libemail-sender-perl libemail-send-smtp-gmail-perl libfilesys-smbclient-perl libhtml-template-perl libio-socket-inet6-perl libio-socket-ip-perl libjmx4perl-perl libjson-maybexs-perl libjson-perl libjson-webtoken-perl libmail-imapclient-perl libmime-base64-perl libmongodb-perl libnet-dhcp-perl libnet-dns-perl libnet-ldap-perl libnet-mqtt-simple-perl libnet-ntp-perl libnet-ssleay-perl libnet-subnet-perl libnet-telnet-perl libnet-tftp-perl libopenwsman-perl libredis-perl librrds-perl libsnmp-perl libsocket-perl libssh-session-perl libtest-www-selenium-perl libtext-csv-perl libtime-hires-perl libtime-parsedate-perl libuuid-perl libxml-libxml-perl libxml-libxml-simple-perl libxml-simple-perl libxml-xpath-perl libzmq-libzmq4-perl perl perl-modules
# this image is used by centreon-perl-libs unit test and centreon-gorgone unit tests.
apt-get -y install libcrypt-openssl-aes-perl libnet-curl-perl libyaml-libyaml-perl libhash-merge-perl libclone-choose-perl libcryptx-perl libjson-xs-perl libjson-pp-perl
apt-get clean
NONINTERACTIVE_TESTING=1 PERL_MM_USE_DEFAULT=1 cpan Test2::Harness UUID
mkdir -p /var/lib/centreon/centplugins/
chmod 777 /var/lib/centreon/centplugins/

View File

@ -49,8 +49,8 @@ jobs:
container:
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}
credentials:
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PULL_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PULL_TOKEN }}
name: package ${{ matrix.distrib }}
@ -99,7 +99,7 @@ jobs:
stability: ${{ needs.get-environment.outputs.stability }}
- name: Save to cache
uses: actions/cache/save@704facf57e6136b1bc63b828d79edcd491f0ee84 # v3.3.2
uses: actions/cache/save@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
path: ./*.${{ matrix.package_extension }}
key: ${{ github.sha }}-${{ github.run_id }}-${{ matrix.package_extension }}-${{ matrix.distrib }}

View File

@ -50,8 +50,8 @@ jobs:
container:
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}
credentials:
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PULL_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PULL_TOKEN }}
name: package ${{ matrix.distrib }}

View File

@ -66,19 +66,19 @@ jobs:
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
registry: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PUSH_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PUSH_TOKEN }}
- name: Login to proxy registry
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
registry: ${{ vars.DOCKER_PROXY_REGISTRY_URL }}
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PUSH_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PUSH_TOKEN }}
- uses: docker/setup-buildx-action@988b5a0280414f521da01fcc63a27aeeb4b104db # v3.6.1
- uses: docker/build-push-action@5176d81f87c23d6fc96624dfdbcd9f3830bbe445 # v6.5.0
- uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 # v6.9.0
with:
file: .github/docker/packaging/Dockerfile.${{ matrix.dockerfile }}
context: .

View File

@ -51,19 +51,19 @@ jobs:
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
registry: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PUSH_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PUSH_TOKEN }}
- name: Login to proxy registry
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
registry: ${{ vars.DOCKER_PROXY_REGISTRY_URL }}
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PUSH_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PUSH_TOKEN }}
- uses: docker/setup-buildx-action@988b5a0280414f521da01fcc63a27aeeb4b104db # v3.6.1
- uses: docker/build-push-action@5176d81f87c23d6fc96624dfdbcd9f3830bbe445 # v6.5.0
- uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 # v6.9.0
with:
file: .github/docker/testing/Dockerfile.testing-plugins-${{ matrix.dockerfile }}
context: .

View File

@ -31,9 +31,15 @@ jobs:
- runner: ubuntu-22.04
dockerfile: bullseye
image: bullseye
- runner: ["self-hosted", "collect-arm64"]
dockerfile: bullseye
image: bullseye-arm64
- runner: ubuntu-22.04
dockerfile: bookworm
image: bookworm
- runner: ubuntu-22.04
dockerfile: jammy
image: jammy
runs-on: ${{ matrix.runner }}
@ -42,22 +48,22 @@ jobs:
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Login to Registry
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
registry: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PUSH_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PUSH_TOKEN }}
- name: Login to proxy registry
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
registry: ${{ vars.DOCKER_PROXY_REGISTRY_URL }}
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PUSH_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PUSH_TOKEN }}
- uses: docker/setup-buildx-action@d70bba72b1f3fd22344832f00baa16ece964efeb # v3.3.0
- uses: docker/setup-buildx-action@988b5a0280414f521da01fcc63a27aeeb4b104db # v3.6.1
- uses: docker/build-push-action@15560696de535e4014efeff63c48f16952e52dd1 # v6.2.0
- uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 # v6.9.0
with:
file: .github/docker/unit-tests/Dockerfile.unit-tests-${{ matrix.dockerfile }}
context: .

View File

@ -48,8 +48,8 @@ jobs:
container:
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}
credentials:
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PULL_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PULL_TOKEN }}
name: package ${{ matrix.distrib }}

View File

@ -162,8 +162,8 @@ jobs:
container:
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}:latest
credentials:
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PULL_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PULL_TOKEN }}
steps:
- if: ${{ contains(matrix.build_distribs, matrix.distrib) }}
@ -254,7 +254,7 @@ jobs:
shell: bash
- if: ${{ contains(matrix.build_distribs, matrix.distrib) }}
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: packages-${{ matrix.package_extension }}-${{ matrix.distrib }}-${{ steps.package-name.outputs.name_with_dash }}
path: ./*.${{ matrix.package_extension }}
@ -269,7 +269,7 @@ jobs:
steps:
- name: Merge Artifacts
uses: actions/upload-artifact/merge@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
uses: actions/upload-artifact/merge@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: packages-rpm-${{ matrix.distrib }}
pattern: packages-rpm-${{ matrix.distrib }}-*
@ -277,7 +277,7 @@ jobs:
retention-days: 1
- name: Delete merged artifacts
uses: geekyeggo/delete-artifact@24928e75e6e6590170563b8ddae9fac674508aa1 # v5.0.0
uses: geekyeggo/delete-artifact@f275313e70c08f6120db482d7a6b98377786765b # v5.1.0
with:
name: packages-rpm-${{ matrix.distrib }}-*
failOnError: false
@ -418,8 +418,8 @@ jobs:
container:
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}:latest
credentials:
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PULL_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PULL_TOKEN }}
steps:
- if: ${{ contains(matrix.build_distribs, matrix.distrib) }}
@ -500,7 +500,7 @@ jobs:
shell: bash
- if: ${{ contains(matrix.build_distribs, matrix.distrib) }}
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: packages-${{ matrix.package_extension }}-${{ matrix.distrib }}-${{ matrix.arch }}-${{ steps.package-name.outputs.name_with_dash}}
path: ./*.${{ matrix.package_extension }}
@ -515,7 +515,7 @@ jobs:
steps:
- name: Merge Artifacts
uses: actions/upload-artifact/merge@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
uses: actions/upload-artifact/merge@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: packages-deb-${{ matrix.distrib }}
pattern: packages-deb-${{ matrix.distrib }}-*
@ -523,7 +523,7 @@ jobs:
retention-days: 1
- name: Delete merged artifacts
uses: geekyeggo/delete-artifact@24928e75e6e6590170563b8ddae9fac674508aa1 # v5.0.0
uses: geekyeggo/delete-artifact@f275313e70c08f6120db482d7a6b98377786765b # v5.1.0
with:
name: packages-deb-${{ matrix.distrib }}-*
failOnError: false

View File

@ -68,8 +68,8 @@ jobs:
container:
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}:latest
credentials:
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PULL_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PULL_TOKEN }}
name: package ${{ matrix.distrib }} ${{ matrix.arch }}
@ -135,7 +135,7 @@ jobs:
# set condition to true if artifacts are needed
- if: ${{ false }}
name: Upload package artifacts
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: packages-${{ matrix.distrib }}-${{ matrix.arch }}
path: ./*.${{ matrix.package_extension}}

View File

@ -38,8 +38,8 @@ jobs:
container:
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}:latest
credentials:
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PULL_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PULL_TOKEN }}
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
@ -126,8 +126,8 @@ jobs:
container:
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}:latest
credentials:
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PULL_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PULL_TOKEN }}
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1

View File

@ -53,8 +53,8 @@ jobs:
container:
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}:latest
credentials:
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PULL_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PULL_TOKEN }}
name: package ${{ matrix.distrib }}
@ -120,7 +120,7 @@ jobs:
# set condition to true if artifacts are needed
- if: ${{ false }}
name: Upload package artifacts
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: packages-${{ matrix.distrib }}
path: ./*.${{ matrix.package_extension}}

View File

@ -53,8 +53,8 @@ jobs:
container:
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}:latest
credentials:
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PULL_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PULL_TOKEN }}
name: package ${{ matrix.distrib }}

View File

@ -66,8 +66,8 @@ jobs:
container:
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}:latest
credentials:
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PULL_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PULL_TOKEN }}
name: package ${{ matrix.distrib }} ${{ matrix.arch }}
@ -133,7 +133,7 @@ jobs:
# set condition to true if artifacts are needed
- if: ${{ false }}
name: Upload package artifacts
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: packages-${{ matrix.distrib }}-${{ matrix.arch }}
path: ./*.${{ matrix.package_extension}}

View File

@ -66,8 +66,8 @@ jobs:
container:
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}:latest
credentials:
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PULL_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PULL_TOKEN }}
name: package ${{ matrix.distrib }} ${{ matrix.arch }}
@ -133,7 +133,7 @@ jobs:
# set condition to true if artifacts are needed
- if: ${{ false }}
name: Upload package artifacts
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: packages-${{ matrix.distrib }}-${{ matrix.arch }}
path: ./*.${{ matrix.package_extension }}

View File

@ -64,8 +64,8 @@ jobs:
container:
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}:latest
credentials:
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PULL_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PULL_TOKEN }}
name: package ${{ matrix.distrib }} ${{ matrix.arch }}

View File

@ -88,8 +88,8 @@ jobs:
container:
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}
credentials:
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PULL_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PULL_TOKEN }}
name: package ${{ matrix.distrib }} ${{ matrix.arch }}

View File

@ -37,8 +37,8 @@ jobs:
container:
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}:latest
credentials:
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PULL_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PULL_TOKEN }}
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
@ -102,7 +102,7 @@ jobs:
path: ./*.rpm
key: ${{ github.sha }}-${{ github.run_id }}-rpm-${{ matrix.distrib }}
- uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
- uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: packages-${{ matrix.distrib }}
path: ./*.rpm

View File

@ -38,8 +38,8 @@ jobs:
container:
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}
credentials:
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PULL_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PULL_TOKEN }}
name: package ${{ matrix.distrib }}

View File

@ -37,7 +37,7 @@ jobs:
with:
fetch-depth: 0
- uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
- uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
with:
python-version: '3.9'
@ -92,7 +92,7 @@ jobs:
strategy:
fail-fast: false
matrix:
image: [unit-tests-alma8, unit-tests-alma9, unit-tests-bullseye, unit-tests-bookworm]
image: [unit-tests-alma8, unit-tests-alma9, unit-tests-bullseye, unit-tests-bullseye-arm64, unit-tests-bookworm, unit-tests-jammy]
include:
- runner_name: ubuntu-22.04
- package_extension: rpm
@ -104,16 +104,23 @@ jobs:
- package_extension: deb
image: unit-tests-bullseye
distrib: bullseye
- package_extension: deb
image: unit-tests-bullseye-arm64
runner_name: ["self-hosted", "collect-arm64"]
distrib: bullseye
- package_extension: deb
image: unit-tests-bookworm
distrib: bookworm
- package_extension: deb
image: unit-tests-jammy
distrib: jammy
runs-on: ${{ matrix.runner_name }}
container:
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}
credentials:
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PULL_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PULL_TOKEN }}
steps:
- name: Checkout sources
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
@ -123,10 +130,10 @@ jobs:
- name: Upload logs as artifacts if tests failed
if: failure()
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: plugin-installation-${{ matrix.distrib }}
path: /tmp/*.jsonl
path: ./lastlog.jsonl
retention-days: 1
fatpacker:
@ -140,7 +147,7 @@ jobs:
fetch-depth: 1
- name: Prepare FatPacker
uses: shogo82148/actions-setup-perl@f551dafcc94572adc179bbddbb409b3ada8f8ff5 # v1.30.0
uses: shogo82148/actions-setup-perl@9c1eca9952ccc07f9ca4a2097b63df93d9d138e9 # v1.31.3
with:
perl-version: '5.34'
install-modules-with: cpm
@ -186,8 +193,8 @@ jobs:
container:
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}
credentials:
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PULL_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PULL_TOKEN }}
name: "package ${{ matrix.distrib }}"
@ -323,8 +330,8 @@ jobs:
container:
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}
credentials:
username: ${{ secrets.DOCKER_REGISTRY_ID }}
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
username: ${{ secrets.HARBOR_CENTREON_PULL_USERNAME }}
password: ${{ secrets.HARBOR_CENTREON_PULL_TOKEN }}
steps:
- name: Checkout sources
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
@ -337,7 +344,7 @@ jobs:
- name: Upload apt/dnf logs as artifacts if tests failed
if: failure()
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: plugin-installation-${{ matrix.distrib }}
path: /var/log/robot-plugins-installation-tests.log

View File

@ -30,7 +30,7 @@ jobs:
- added|modified: 'src/**/*.pm'
- name: Install CPAN Libraries
uses: shogo82148/actions-setup-perl@f551dafcc94572adc179bbddbb409b3ada8f8ff5 # v1.30.0
uses: shogo82148/actions-setup-perl@9c1eca9952ccc07f9ca4a2097b63df93d9d138e9 # v1.31.3
with:
perl-version: '5.34'
install-modules-with: cpm

View File

@ -1,6 +1,5 @@
{
"dependencies": [
"libssh-session-perl",
"speedtest-cli"
"libssh-session-perl"
]
}

View File

@ -1,6 +1,5 @@
{
"dependencies": [
"perl(Libssh::Session)",
"speedtest-cli"
"perl(Libssh::Session)"
]
}

View File

@ -1,5 +1,6 @@
{
"dependencies": [
"libdatetime-perl",
"libsnmp-perl"
]
}

View File

@ -6,6 +6,9 @@
"centreon/plugins/script_custom.pm",
"centreon/plugins/script_snmp.pm",
"centreon/plugins/snmp.pm",
"storage/emc/DataDomain/"
"snmp_standard/mode/resources/",
"snmp_standard/mode/interfaces.pm",
"snmp_standard/mode/listinterfaces.pm",
"storage/emc/datadomain/snmp/"
]
}
}

View File

@ -1,5 +1,6 @@
{
"dependencies": [
"perl(DateTime)",
"perl(SNMP)"
]
}

View File

@ -30,7 +30,7 @@ use POSIX qw(floor);
sub new {
my ($class, %options) = @_;
my $self = $class->SUPER::new(package => __PACKAGE__, %options);
my $self = $class->SUPER::new(package => __PACKAGE__, %options);
bless $self, $class;
$options{options}->add_options(arguments => {
@ -70,12 +70,14 @@ sub custom_stringvalue_threshold {
my ($self, %options) = @_;
my $severity = 'ok';
my $value = $self->{result_values}->{stringvalue};
my $option_results = $self->{instance_mode}->{option_results};
foreach my $check_severity (('critical', 'warning', 'unknown')) {
next if (centreon::plugins::misc::is_empty($self->{option_results}->{$check_severity . '_regexp'}));
my $regexp = $self->{option_results}->{$check_severity . '_regexp'};
if (defined($self->{option_results}->{use_iregexp}) && $options{value} =~ /$regexp/i) {
next if (centreon::plugins::misc::is_empty($option_results->{$check_severity . '_regexp'}));
my $regexp = $option_results->{$check_severity . '_regexp'};
if (defined($option_results->{use_iregexp}) && $value =~ /$regexp/i) {
$severity = $check_severity;
} elsif (!defined($self->{option_results}->{use_iregexp}) && $options{value} =~ /$regexp/) {
} elsif (!defined($option_results->{use_iregexp}) && $value =~ /$regexp/) {
$severity = $check_severity;
}
}
@ -93,7 +95,7 @@ sub set_counters {
$self->{maps_counters}->{global} = [
{ label => 'generic',
set => {
key_values => [{ name => 'stringvalue' }],
key_values => [ { name => 'stringvalue' } ],
closure_custom_output => $self->can('custom_stringvalue_output'),
closure_custom_threshold_check => \&custom_stringvalue_threshold
}

View File

@ -52,11 +52,11 @@ sub set_counters {
];
$self->{maps_counters}->{servers} = [
{ label => 'authserver-roundtrip-time', nlabel => 'radius.authserver.roundtrip.time.milliseconds', set => {
{ label => 'authserver-roundtrip-time', nlabel => 'radius.authserver.roundtrip.time.microseconds', set => {
key_values => [ { name => 'round_trip_time' }, { name => 'name' } ],
output_template => 'round trip time: %s ms',
output_template => 'round trip time: %s µs',
perfdatas => [
{ template => '%s', min => 0, unit => 'ms', label_extra_instance => 1, instance_use => 'name' }
{ template => '%s', min => 0, unit => 'µs', label_extra_instance => 1, instance_use => 'name' }
]
}
},
@ -187,11 +187,46 @@ Example: --filter-counters='^total$'
Filter radius servers by name (can be a regexp).
=item B<--warning-*> B<--critical-*>
=item B<--warning-authservers-total>
Thresholds.
Can be: 'authservers-total', 'authserver-roundtrip-time', 'authserver-packets-access-requests',
'authserver-packets-access-accepts', 'authserver-clients-timeout'.
=item B<--critical-authservers-total>
Thresholds.
=item B<--warning-authserver-roundtrip-time>
Thresholds.
=item B<--critical-authserver-roundtrip-time>
Thresholds.
=item B<--warning-authserver-packets-access-requests>
Thresholds.
=item B<--critical-authserver-packets-access-requests>
Thresholds.
=item B<--warning-authserver-packets-access-accepts>
Thresholds.
=item B<--critical-authserver-packets-access-accepts>
Thresholds.
=item B<--warning-authserver-clients-timeout>
Thresholds.
=item B<--critical-authserver-clients-timeout>
Thresholds.
=back

View File

@ -981,7 +981,7 @@ sub cloudtrail_events_set_cmd {
return if (defined($self->{option_results}->{command_options}) && $self->{option_results}->{command_options} ne '');
my $cmd_options = "lookup-events --region $self->{option_results}->{region} --output json";
my $cmd_options = "cloudtrail lookup-events --region $self->{option_results}->{region} --output json";
if (defined($options{delta})) {
my $endtime = time();
my $starttime = $endtime - ($options{delta} * 60);
@ -1078,7 +1078,7 @@ Set AWS session token.
=item B<--aws-role-arn>
Set arn of the role to be assumed.
Set Amazon Resource Name of the role to be assumed.
=item B<--aws-profile>
@ -1102,7 +1102,7 @@ Set timeframe in seconds.
=item B<--statistic>
Set cloudwatch statistics (can be: 'minimum', 'maximum', 'average', 'sum').
Set CloudWatch statistics (can be: 'minimum', 'maximum', 'average', 'sum').
=item B<--zeroed>
@ -1139,7 +1139,7 @@ Proxy URL if any
Avoid certificate issuer verification. Useful when AWS resources are hosted by a third party.
Note that it strips all stderr from the command result. Debug will only display CLI instead of evreything.
Note that it strips all stderr from the command result. Debug will only display CLI instead of everything.
=back

View File

@ -222,7 +222,7 @@ sub check_slave {
$self->{servers}->{ $options{name} }->{thread_io} = {
display => $options{name},
running => $running,
error_message => defined($result->{Last_Error}) ? $result->{Last_Error} : ''
error_message => defined($result->{Last_IO_Error}) ? $result->{Last_IO_Error} : ''
};
}
if (defined($result->{Slave_SQL_Running})) {

View File

@ -89,7 +89,7 @@ sub run {
my $result = $options{sql}->fetchall_arrayref();
foreach my $row (@{$result}) {
if (defined($self->{option_results}->{exclude}) && $$row[2] !~ /$self->{option_results}->{exclude}/) {
if (defined($self->{option_results}->{exclude}) && $self->{option_results}->{exclude} ne '' && $$row[2] =~ /$self->{option_results}->{exclude}/) {
$self->{output}->output_add(long_msg => "Skipping database '" . $$row[2] . '"');
next;
}

View File

@ -87,7 +87,7 @@ sub run {
$new_datas->{$row->[2] . '_blks_hit'} = $row->[0];
$new_datas->{$row->[2] . '_blks_read'} = $row->[1];
if (defined($self->{option_results}->{exclude}) && $row->[2] !~ /$self->{option_results}->{exclude}/) {
if (defined($self->{option_results}->{exclude}) && $self->{option_results}->{exclude} ne '' && $row->[2] =~ /$self->{option_results}->{exclude}/) {
$self->{output}->output_add(long_msg => "Skipping database '" . $row->[2] . '"');
next;
}
@ -165,7 +165,7 @@ __END__
=head1 MODE
Check hitratio (in buffer cache) for databases.
Check hit ratio (in buffer cache) for databases.
=over 8

View File

@ -53,7 +53,7 @@ sub manage_selection {
);
$self->{list_db} = [];
while ((my $row = $self->{sql}->fetchrow_hashref())) {
if (defined($self->{option_results}->{exclude}) && $row->{datname} !~ /$self->{option_results}->{exclude}/) {
if (defined($self->{option_results}->{exclude}) && $self->{option_results}->{exclude} ne '' && $row->{datname} =~ /$self->{option_results}->{exclude}/) {
$self->{output}->output_add(long_msg => "Skipping database '" . $row->{datname} . "': no matching filter name");
next;
}

View File

@ -87,9 +87,7 @@ sub run {
my $dblocks = {};
foreach my $row (@{$result}) {
my ($granted, $mode, $dbname) = ($$row[0], $$row[1], $$row[2]);
if (defined($self->{option_results}->{exclude}) && $dbname !~ /$self->{option_results}->{exclude}/) {
next;
}
next if (defined($self->{option_results}->{exclude}) && $self->{option_results}->{exclude} ne '' && $dbname =~ /$self->{option_results}->{exclude}/);
if (!defined($dblocks->{$dbname})) {
$dblocks->{$dbname} = {total => 0, waiting => 0};
@ -155,12 +153,12 @@ Check locks for one or more databases
=item B<--warning>
Warning threshold. (example: "total=250,waiting=5,exclusive=20")
'total', 'waiting', or the name of a lock type used by Postgres.
'total', 'waiting', or the name of a lock type used by PostgreSQL.
=item B<--critical>
Critical threshold. (example: "total=250,waiting=5,exclusive=20")
'total', 'waiting', or the name of a lock type used by Postgres.
'total', 'waiting', or the name of a lock type used by PostgreSQL.
=item B<--exclude>

View File

@ -16,7 +16,7 @@
# 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.
#
package network::3com::snmp::plugin;
@ -47,6 +47,7 @@ __END__
=head1 PLUGIN DESCRIPTION
Check 3com equipment (old legacy. Maybe you should use 'network::h3c' plugin) in SNMP.
Monitors 3COM devices using the SNMP protocol.
These devices are not are not available for sale any more. You should probably use the 'network::h3c' plugin instead.
=cut

View File

@ -1,239 +0,0 @@
#
# Copyright 2024 Centreon (http://www.centreon.com/)
#
# Centreon is a full-fledged industry-strength solution that meets
# the needs in IT infrastructure and application monitoring for
# service performance.
#
# 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.
#
package storage::emc::DataDomain::mode::filesystem;
use base qw(centreon::plugins::templates::counter);
use strict;
use warnings;
use storage::emc::DataDomain::lib::functions;
sub custom_used_calc {
my ($self, %options) = @_;
$self->{result_values}->{display} = $options{new_datas}->{$self->{instance} . '_display'};
$self->{result_values}->{total} = $options{new_datas}->{$self->{instance} . '_free'} + $options{new_datas}->{$self->{instance} . '_used'};
return -10 if ($self->{result_values}->{total} == 0);
$self->{result_values}->{free} = $options{new_datas}->{$self->{instance} . '_free'};
$self->{result_values}->{used} = $options{new_datas}->{$self->{instance} . '_used'};
$self->{result_values}->{free_prct} = $self->{result_values}->{free} * 100 / $self->{result_values}->{total};
$self->{result_values}->{used_prct} = $self->{result_values}->{used} * 100 / $self->{result_values}->{total};
return 0;
}
sub custom_used_output {
my ($self, %options) = @_;
my ($total_value, $total_unit) = $self->{perfdata}->change_bytes(value => $self->{result_values}->{total});
my ($used_value, $used_unit) = $self->{perfdata}->change_bytes(value => $self->{result_values}->{used});
my ($free_value, $free_unit) = $self->{perfdata}->change_bytes(value => $self->{result_values}->{free});
return sprintf(
"Usage Total: %s Used: %s (%.2f%%) Free: %s (%.2f%%)",
$total_value . " " . $total_unit,
$used_value . " " . $used_unit, $self->{result_values}->{used_prct},
$free_value . " " . $free_unit, $self->{result_values}->{free_prct}
);
}
sub prefix_fs_output {
my ($self, %options) = @_;
return "Filesystem '" . $options{instance_value}->{display} . "' ";
}
sub set_counters {
my ($self, %options) = @_;
$self->{maps_counters_type} = [
{ name => 'fs', type => 1, cb_prefix_output => 'prefix_fs_output', message_multiple => 'All filesystems are ok', skipped_code => { -10 => 1 } }
];
$self->{maps_counters}->{fs} = [
{ label => 'usage', set => {
key_values => [ { name => 'free' }, { name => 'used' }, { name => 'display' } ],
closure_custom_calc => $self->can('custom_used_calc'),
closure_custom_output => $self->can('custom_used_output'),
threshold_use => 'used_prct', output_error_template => '%s',
perfdatas => [
{ label => 'used', value => 'used', cast_int => 1,
unit => 'B', min => 0, max => 'total', threshold_total => 'total',
label_extra_instance => 1, instance_use => 'display' }
]
}
}
];
}
sub new {
my ($class, %options) = @_;
my $self = $class->SUPER::new(package => __PACKAGE__, %options);
bless $self, $class;
$options{options}->add_options(arguments => {
'name' => { name => 'use_name' },
'filesystem:s' => { name => 'filesystem' },
'regexp' => { name => 'use_regexp' },
'regexp-isensitive' => { name => 'use_regexpi' }, # compatibility
'regexp-insensitive' => { name => 'use_regexpi' }
});
return $self;
}
my $oid_fileSystemSpaceEntry = '.1.3.6.1.4.1.19746.1.3.2.1.1';
my $oid_sysDescr = '.1.3.6.1.2.1.1.1.0'; # 'Data Domain OS 5.4.1.1-411752'
my ($oid_fileSystemResourceName, $oid_fileSystemSpaceUsed, $oid_fileSystemSpaceAvail);
sub add_result {
my ($self, %options) = @_;
$self->{fs}->{ $options{instance} } = {};
$self->{fs}->{ $options{instance} }->{display} = $options{snmp_result}->{$oid_fileSystemResourceName . '.' . $options{instance}};
$self->{fs}->{ $options{instance} }->{free} = int($options{snmp_result}->{$oid_fileSystemSpaceAvail . '.' . $options{instance}} * 1024 * 1024 * 1024);
$self->{fs}->{ $options{instance} }->{used} = int($options{snmp_result}->{$oid_fileSystemSpaceUsed . '.' . $options{instance}} * 1024 * 1024 * 1024);
}
sub manage_selection {
my ($self, %options) = @_;
my $snmp_result = $options{snmp}->get_leef(
oids => [ $oid_sysDescr ],
nothing_quit => 1
);
if (!($self->{os_version} = storage::emc::DataDomain::lib::functions::get_version(value => $snmp_result->{$oid_sysDescr}))) {
$self->{output}->output_add(
severity => 'UNKNOWN',
short_msg => 'Cannot get DataDomain OS version.'
);
$self->{output}->display();
$self->{output}->exit();
}
$snmp_result = $options{snmp}->get_table(
oid => $oid_fileSystemSpaceEntry,
nothing_quit => 1
);
if (centreon::plugins::misc::minimal_version($self->{os_version}, '5.x')) {
$oid_fileSystemResourceName = '.1.3.6.1.4.1.19746.1.3.2.1.1.3';
$oid_fileSystemSpaceUsed = '.1.3.6.1.4.1.19746.1.3.2.1.1.5';
$oid_fileSystemSpaceAvail = '.1.3.6.1.4.1.19746.1.3.2.1.1.6';
} else {
$oid_fileSystemResourceName = '.1.3.6.1.4.1.19746.1.3.2.1.1.2';
$oid_fileSystemSpaceUsed = '.1.3.6.1.4.1.19746.1.3.2.1.1.4';
$oid_fileSystemSpaceAvail = '.1.3.6.1.4.1.19746.1.3.2.1.1.5';
}
if (!defined($self->{option_results}->{use_name}) && defined($self->{option_results}->{filesystem})) {
if (!defined($snmp_result->{$oid_fileSystemResourceName . '.' . $self->{option_results}->{filesystem}})) {
$self->{output}->add_option_msg(short_msg => "No filesystem found for id '" . $self->{option_results}->{filesystem} . "'.");
$self->{output}->option_exit();
}
$self->add_result(instance => $self->{option_results}->{filesystem}, snmp_result => $snmp_result);
} else {
foreach my $oid (keys %$snmp_result) {
next if ($oid !~ /^$oid_fileSystemResourceName\.(\d+)$/);
my $instance = $1;
my $filter_name = $snmp_result->{$oid_fileSystemResourceName . '.' . $instance};
if (!defined($self->{option_results}->{filesystem})) {
$self->add_result(instance => $instance, snmp_result => $snmp_result);
next;
}
if (defined($self->{option_results}->{use_regexp}) && defined($self->{option_results}->{use_regexpi}) && $filter_name =~ /$self->{option_results}->{filesystem}/i) {
$self->add_result(instance => $instance, snmp_result => $snmp_result);
}
if (defined($self->{option_results}->{use_regexp}) && !defined($self->{option_results}->{use_regexpi}) && $filter_name =~ /$self->{option_results}->{filesystem}/) {
$self->add_result(instance => $instance, snmp_result => $snmp_result);
}
if (!defined($self->{option_results}->{use_regexp}) && !defined($self->{option_results}->{use_regexpi}) && $filter_name eq $self->{option_results}->{filesystem}) {
$self->add_result(instance => $instance, snmp_result => $snmp_result);
}
}
}
if (scalar(keys %{$self->{fs}}) <= 0 && !defined($options{disco})) {
if (defined($self->{option_results}->{device})) {
$self->{output}->add_option_msg(short_msg => "No filesystem found '" . $self->{option_results}->{filesystem} . "'.");
} else {
$self->{output}->add_option_msg(short_msg => 'No filesystem found.');
}
$self->{output}->option_exit();
}
}
sub disco_format {
my ($self, %options) = @_;
$self->{output}->add_disco_format(elements => ['name', 'deviceid']);
}
sub disco_show {
my ($self, %options) = @_;
$self->manage_selection(disco => 1, snmp => $options{snmp});
foreach (sort keys %{$self->{fs}}) {
$self->{output}->add_disco_entry(
name => $self->{fs}->{$_}->{display},
deviceid => $_
);
}
}
1;
__END__
=head1 MODE
Check filesystem usages.
=over 8
=item B<--warning-usage>
Warning threshold in percent.
=item B<--critical-usage>
Critical threshold in percent
=item B<--filesystem>
Set the filesystem (number expected) example: 1, 2,... (empty means 'check all filesystems').
=item B<--name>
Allows to use filesystem name with option --filesystem instead of devoce oid index.
=item B<--regexp>
Allows to use regexp to filter filesystems (with option --name).
=item B<--regexp-insensitive>
Allows to use regexp non case-sensitive to filter filesystems (with option --name).
=back
=cut

View File

@ -1,183 +0,0 @@
#
# Copyright 2024 Centreon (http://www.centreon.com/)
#
# Centreon is a full-fledged industry-strength solution that meets
# the needs in IT infrastructure and application monitoring for
# service performance.
#
# 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.
#
package storage::emc::DataDomain::mode::replication;
use base qw(centreon::plugins::templates::counter);
use strict;
use warnings;
use centreon::plugins::templates::catalog_functions qw(catalog_status_threshold_ng);
use storage::emc::DataDomain::lib::functions;
sub prefix_repl_output {
my ($self, %options) = @_;
return "Replication '" . $options{instance_value}->{display} . "' ";
}
sub set_counters {
my ($self, %options) = @_;
$self->{maps_counters_type} = [
{ name => 'repl', type => 1, cb_prefix_output => 'prefix_repl_output', message_multiple => 'All replications are ok' }
];
$self->{maps_counters}->{repl} = [
{
label => 'status',
type => 2,
warning_default => '%{state} =~ /initializing|recovering/i',
critical_default => '%{state} =~ /disabledNeedsResync|uninitialized/i',
set => {
key_values => [ { name => 'state' } ],
output_template => "status is '%s'",
output_use => 'state',
closure_custom_perfdata => sub { return 0; },
closure_custom_threshold_check => \&catalog_status_threshold_ng
}
},
{ label => 'offset', set => {
key_values => [ { name => 'offset' }, { name => 'display' } ],
output_template => 'last time peer sync : %s seconds ago',
perfdatas => [
{ label => 'offset', template => '%s',
label_extra_instance => 1, instance_use => 'display' }
]
}
}
];
}
sub new {
my ($class, %options) = @_;
my $self = $class->SUPER::new(package => __PACKAGE__, %options);
bless $self, $class;
$options{options}->add_options(arguments => {
});
return $self;
}
sub manage_selection {
my ($self, %options) = @_;
my $oid_sysDescr = '.1.3.6.1.2.1.1.1.0'; # 'Data Domain OS 5.4.1.1-411752'
my $oid_replicationInfoEntry = '.1.3.6.1.4.1.19746.1.8.1.1.1';
my $snmp_result = $options{snmp}->get_leef(
oids => [ $oid_sysDescr ],
nothing_quit => 1
);
if (!($self->{os_version} = storage::emc::DataDomain::lib::functions::get_version(value => $snmp_result->{$oid_sysDescr}))) {
$self->{output}->output_add(
severity => 'UNKNOWN',
short_msg => 'Cannot get DataDomain OS version.'
);
$self->{output}->display();
$self->{output}->exit();
}
$snmp_result = $options{snmp}->get_table(
oid => $oid_replicationInfoEntry,
nothing_quit => 1
);
my ($oid_replSource, $oid_replDestination, $oid_replState);
my %map_state = (
1 => 'enabled', 2 => 'disabled', 3 => 'disabledNeedsResync',
);
if (centreon::plugins::misc::minimal_version($self->{os_version}, '5.4')) {
%map_state = (
1 => 'initializing', 2 => 'normal', 3 => 'recovering', 4 => 'uninitialized',
);
$oid_replSource = '.1.3.6.1.4.1.19746.1.8.1.1.1.7';
$oid_replDestination = '.1.3.6.1.4.1.19746.1.8.1.1.1.8';
$oid_replState = '.1.3.6.1.4.1.19746.1.8.1.1.1.3';
} elsif (centreon::plugins::misc::minimal_version($self->{os_version}, '5.0')) {
$oid_replSource = '.1.3.6.1.4.1.19746.1.8.1.1.1.7';
$oid_replDestination = '.1.3.6.1.4.1.19746.1.8.1.1.1.8';
$oid_replState = '.1.3.6.1.4.1.19746.1.8.1.1.1.3';
} else {
$oid_replSource = '.1.3.6.1.4.1.19746.1.8.1.1.1.6';
$oid_replDestination = '.1.3.6.1.4.1.19746.1.8.1.1.1.7';
$oid_replState = '.1.3.6.1.4.1.19746.1.8.1.1.1.2';
}
my $mapping = {
replState => { oid => $oid_replState, map => \%map_state },
replSource => { oid => $oid_replSource },
replDestination => { oid => $oid_replDestination },
replSyncedAsOfTime => { oid => '.1.3.6.1.4.1.19746.1.8.1.1.1.14' }
};
$self->{repl} = {};
foreach my $oid (keys %$snmp_result) {
next if ($oid !~ /^$mapping->{replState}->{oid}\.(.*)$/);
my $instance = $1;
my $result = $options{snmp}->map_instance(mapping => $mapping, results => $snmp_result, instance => $instance);
$self->{repl}->{$instance} = {
display => $result->{replSource} . '/' . $result->{replDestination},
state => $result->{replState},
offset => (time() - $result->{replSyncedAsOfTime})
};
}
}
1;
__END__
=head1 MODE
Check replication.
=over 8
=item B<--filter-counters>
Only display some counters (regexp can be used).
Example: --filter-counters='^status$'
=item B<--unknown-status>
Define the conditions to match for the status to be UNKNOWN (default: none).
You can use the following variables: %{state}
=item B<--warning-status>
Define the conditions to match for the status to be WARNING (default: '%{state} =~ /initializing|recovering/i').
You can use the following variables: %{state}
=item B<--critical-status>
Define the conditions to match for the status to be CRITICAL (default: '%{state} =~ /disabledNeedsResync|uninitialized/i').
You can use the following variables: %{state}
=item B<--warning-*> B<--critical-*>
Thresholds.
Can be: 'offset'.
=back
=cut

View File

@ -18,7 +18,7 @@
# limitations under the License.
#
package storage::emc::DataDomain::lib::functions;
package storage::emc::datadomain::snmp::lib::functions;
sub get_version {
my (%options) = @_;

View File

@ -0,0 +1,139 @@
#
# Copyright 2024 Centreon (http://www.centreon.com/)
#
# Centreon is a full-fledged industry-strength solution that meets
# the needs in IT infrastructure and application monitoring for
# service performance.
#
# 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.
#
package storage::emc::datadomain::snmp::mode::alerts;
use base qw(centreon::plugins::templates::counter);
use strict;
use warnings;
use centreon::plugins::misc;
sub set_counters {
my ($self, %options) = @_;
$self->{maps_counters_type} = [
{ name => 'global', type => 0, skipped_code => { -10 => 1 } }
];
$self->{maps_counters}->{global} = [
{ label => 'alerts-current', nlabel => 'alerts.current.count', set => {
key_values => [ { name => 'current_alerts' } ],
output_template => 'current alerts: %s',
perfdatas => [
{ template => '%s', min => 0 }
]
}
}
]
}
sub new {
my ($class, %options) = @_;
my $self = $class->SUPER::new(package => __PACKAGE__, %options, force_new_perfdata => 1);
bless $self, $class;
$options{options}->add_options(arguments => {
'display-alerts' => { name => 'display_alerts' },
'truly-alert:s' => { name => 'truly_alert' }
});
return $self;
}
sub check_options {
my ($self, %options) = @_;
$self->SUPER::check_options(%options);
if (!defined($self->{option_results}->{truly_alert}) || $self->{option_results}->{truly_alert} eq '') {
$self->{option_results}->{truly_alert} = '%{severity} =~ /emergency|alert|warning|critical/i';
}
$self->{option_results}->{truly_alert} =~ s/%\{(.*?)\}/\$values->{$1}/g;
$self->{option_results}->{truly_alert} =~ s/%\((.*?)\)/\$values->{$1}/g;
}
sub manage_selection {
my ($self, %options) = @_;
my $mapping = {
timestamp => { oid => '.1.3.6.1.4.1.19746.1.4.1.1.1.2' },
description => { oid => '.1.3.6.1.4.1.19746.1.4.1.1.1.3' },
severity => { oid => '.1.3.6.1.4.1.19746.1.4.1.1.1.4' }
};
my $oid_currentAlertEntry = '.1.3.6.1.4.1.19746.1.4.1.1.1';
my $snmp_result = $options{snmp}->get_table(
oid => $oid_currentAlertEntry
);
$self->{global} = { current_alerts => 0 };
foreach my $oid (keys %$snmp_result) {
next if ($oid !~ /^$mapping->{timestamp}->{oid}\.(.*)$/);
my $instance = $1;
my $result = $options{snmp}->map_instance(mapping => $mapping, results => $snmp_result, instance => $instance);
$result->{severity} = lc($result->{severity});
if ($self->{output}->test_eval(
test => $self->{option_results}->{truly_alert},
values => $result)) {
$self->{global}->{current_alerts}++;
}
if (defined($self->{option_results}->{display_alerts})) {
$self->{output}->output_add(
long_msg => sprintf(
'alert [raised: %s] [severity: %s]: %s',
$result->{timestamp},
$result->{severity},
$result->{description}
)
);
}
}
}
1;
__END__
=head1 MODE
Check current alerts.
=over 8
=item B<--display-alerts>
Display alerts in verbose output.
=item B<--truly-alert>
Expression to define a truly alert (default: '%{severity} =~ /emergency|alert|warning|critical/i').
=item B<--warning-*> B<--critical-*>
Thresholds.
Can be: 'alerts-current'.
=back
=cut

View File

@ -0,0 +1,150 @@
#
# Copyright 2024 Centreon (http://www.centreon.com/)
#
# Centreon is a full-fledged industry-strength solution that meets
# the needs in IT infrastructure and application monitoring for
# service performance.
#
# 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.
#
package storage::emc::datadomain::snmp::mode::cleaning;
use base qw(centreon::plugins::templates::counter);
use strict;
use warnings;
use centreon::plugins::misc;
use POSIX;
use DateTime;
my $unitdiv = { s => 1, w => 604800, d => 86400, h => 3600, m => 60 };
my $unitdiv_long = { s => 'seconds', w => 'weeks', d => 'days', h => 'hours', m => 'minutes' };
sub custom_last_exec_perfdata {
my ($self, %options) = @_;
$self->{output}->perfdata_add(
nlabel => $self->{nlabel} . '.' . $unitdiv_long->{ $self->{instance_mode}->{option_results}->{unit} },
unit => $self->{instance_mode}->{option_results}->{unit},
value => $self->{result_values}->{lastExecSeconds} >= 0 ? floor($self->{result_values}->{lastExecSeconds} / $unitdiv->{ $self->{instance_mode}->{option_results}->{unit} }) : $self->{result_values}->{lastExecSeconds},
warning => $self->{perfdata}->get_perfdata_for_output(label => 'warning-' . $self->{thlabel}),
critical => $self->{perfdata}->get_perfdata_for_output(label => 'critical-' . $self->{thlabel}),
min => 0
);
}
sub custom_last_exec_threshold {
my ($self, %options) = @_;
return $self->{perfdata}->threshold_check(
value => $self->{result_values}->{lastExecSeconds} >= 0 ? floor($self->{result_values}->{lastExecSeconds} / $unitdiv->{ $self->{instance_mode}->{option_results}->{unit} }) : $self->{result_values}->{lastExecSeconds},
threshold => [
{ label => 'critical-' . $self->{thlabel}, exit_litteral => 'critical' },
{ label => 'warning-'. $self->{thlabel}, exit_litteral => 'warning' },
{ label => 'unknown-'. $self->{thlabel}, exit_litteral => 'unknown' }
]
);
}
sub set_counters {
my ($self, %options) = @_;
$self->{maps_counters_type} = [
{ name => 'global', type => 0 },
];
$self->{maps_counters}->{global} = [
{ label => 'last-cleaning-execution', nlabel => 'filesystems.cleaning.execution.last', set => {
key_values => [ { name => 'lastExecSeconds' }, { name => 'lastExecHuman' } ],
output_template => 'cleaning last execution: %s',
output_use => 'lastExecHuman',
closure_custom_perfdata => $self->can('custom_last_exec_perfdata'),
closure_custom_threshold_check => $self->can('custom_last_exec_threshold')
}
}
];
}
sub new {
my ($class, %options) = @_;
my $self = $class->SUPER::new(package => __PACKAGE__, %options, force_new_perfdata => 1);
bless $self, $class;
$options{options}->add_options(arguments => {
'unit:s' => { name => 'unit', default => 'd' }
});
return $self;
}
sub check_options {
my ($self, %options) = @_;
$self->SUPER::check_options(%options);
if ($self->{option_results}->{unit} eq '' || !defined($unitdiv->{$self->{option_results}->{unit}})) {
$self->{option_results}->{unit} = 'd';
}
}
sub manage_selection {
my ($self, %options) = @_;
# "Cleaning finished at 2024/08/27 13:58:59."
my $oid_fileSystemCleanStatus = '.1.3.6.1.4.1.19746.1.3.5.1.1.2';
my $snmp_result = $options{snmp}->get_table(
oid => $oid_fileSystemCleanStatus
);
my $ctime = time();
$self->{global} = { lastExecHuman => 'never', lastExecSeconds => -1 };
foreach my $oid (keys %$snmp_result) {
if ($snmp_result->{$oid} =~ /\s+(\d+)\/(\d+)\/(\d+)\s+(\d+):(\d+):(\d+)/) {
my $dt = DateTime->new(year => $1, month => $2, day => $3, hour => $4, minute => $5, second => $6);
my $lastExecSeconds = $ctime - $dt->epoch();
if ($self->{global}->{lastExecSeconds} == -1 || $self->{global}->{lastExecSeconds} > $lastExecSeconds) {
$self->{global}->{lastExecSeconds} = $lastExecSeconds;
}
}
}
if ($self->{global}->{lastExecSeconds} != -1) {
$self->{global}->{lastExecHuman} = centreon::plugins::misc::change_seconds(
value => $self->{global}->{lastExecSeconds}
);
}
}
1;
__END__
=head1 MODE
Check last time filesystems had been cleaned.
=over 8
=item B<--unit>
Select the time unit for thresholds. May be 's' for seconds, 'm' for minutes, 'h' for hours, 'd' for days, 'w' for weeks (default: 'd').
=item B<--warning-*> B<--critical-*>
Thresholds.
Can be: 'last-cleaning-execution'.
=back
=cut

View File

@ -18,7 +18,7 @@
# limitations under the License.
#
package storage::emc::DataDomain::mode::components::battery;
package storage::emc::datadomain::snmp::mode::components::battery;
use strict;
use warnings;
@ -68,10 +68,11 @@ sub check {
$self->{components}->{battery}->{total}++;
$self->{output}->output_add(
long_msg => sprintf(
"Nvram battery '%s' status is '%s'",
"nvram battery '%s' status is '%s'",
$instance, $batt_status
)
);
my $exit = $self->get_severity(section => 'battery', value => $batt_status);
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
$self->{output}->output_add(
@ -89,9 +90,10 @@ sub check {
short_msg => sprintf("Nvram battery '%s' charge is %s %%", $instance, $batt_value)
);
}
$self->{output}->perfdata_add(
label => 'nvram_battery', unit => '%',
nlabel => 'hardware.battery.nvram.charge.percentage',
unit => '%',
instances => $instance,
value => $batt_value,
warning => $warn,

View File

@ -18,7 +18,7 @@
# limitations under the License.
#
package storage::emc::DataDomain::mode::components::disk;
package storage::emc::datadomain::snmp::mode::components::disk;
use strict;
use warnings;
@ -69,10 +69,11 @@ sub check {
$self->{components}->{disk}->{total}++;
$self->{output}->output_add(
long_msg => sprintf(
"Disk '%s' status is '%s'",
"disk '%s' status is '%s'",
$instance, $disk_status
)
);
my $exit = $self->get_severity(section => 'disk', value => $disk_status);
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
$self->{output}->output_add(

View File

@ -18,7 +18,7 @@
# limitations under the License.
#
package storage::emc::DataDomain::mode::components::fan;
package storage::emc::datadomain::snmp::mode::components::fan;
use strict;
use warnings;
@ -77,10 +77,11 @@ sub check {
$self->{components}->{fan}->{total}++;
$self->{output}->output_add(
long_msg => sprintf(
"Fan '%s' status is '%s' [instance = %s, level = %s]",
"fan '%s' status is '%s' [instance: %s, level: %s]",
$fan_descr, $fan_status, $instance, $level_map{$fan_level}
)
);
my $exit = $self->get_severity(section => 'fan', value => $fan_status);
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
$self->{output}->output_add(

View File

@ -18,7 +18,7 @@
# limitations under the License.
#
package storage::emc::DataDomain::mode::components::psu;
package storage::emc::datadomain::snmp::mode::components::psu;
use strict;
use warnings;
@ -68,10 +68,11 @@ sub check {
$self->{components}->{psu}->{total}++;
$self->{output}->output_add(
long_msg => sprintf(
"Power Supply '%s' status is '%s' [description = %s]",
"power Supply '%s' status is '%s' [description: %s]",
$instance, $psu_status, $instance
)
);
my $exit = $self->get_severity(section => 'psu', value => $psu_status);
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
$self->{output}->output_add(

View File

@ -18,7 +18,7 @@
# limitations under the License.
#
package storage::emc::DataDomain::mode::components::temperature;
package storage::emc::datadomain::snmp::mode::components::temperature;
use strict;
use warnings;
@ -72,7 +72,7 @@ sub check {
$self->{components}->{temperature}->{total}++;
$self->{output}->output_add(
long_msg => sprintf(
"Temperature '%s' status is '%s' [instance = %s]",
"temperature '%s' status is '%s' [instance: %s]",
$temp_descr, $temp_status, $instance
)
);
@ -86,16 +86,17 @@ sub check {
if (defined($temp_value) && $temp_value =~ /[0-9]/) {
my ($exit, $warn, $crit) = $self->get_severity_numeric(section => 'temperature', instance => $instance, value => $temp_value);
$self->{output}->output_add(long_msg => sprintf("Temperature '%s' is %s degree centigrade", $temp_descr, $temp_value));
$self->{output}->output_add(long_msg => sprintf("temperature '%s' is %s degree centigrade", $temp_descr, $temp_value));
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
$self->{output}->output_add(
severity => $exit,
short_msg => sprintf("Temperature '%s' is %s degree centigrade", $temp_descr, $temp_value)
);
}
$self->{output}->perfdata_add(
label => 'temp', unit => 'C',
nlabel => 'hardware.temperature.celsius',
unit => 'C',
instances => $instance,
value => $temp_value,
warning => $warn,

View File

@ -0,0 +1,274 @@
#
# Copyright 2024 Centreon (http://www.centreon.com/)
#
# Centreon is a full-fledged industry-strength solution that meets
# the needs in IT infrastructure and application monitoring for
# service performance.
#
# 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.
#
package storage::emc::datadomain::snmp::mode::filesystems;
use base qw(centreon::plugins::templates::counter);
use strict;
use warnings;
use storage::emc::datadomain::snmp::lib::functions;
sub custom_disk_usage_output {
my ($self, %options) = @_;
my ($total_size_value, $total_size_unit) = $self->{perfdata}->change_bytes(value => $self->{result_values}->{total});
my ($total_used_value, $total_used_unit) = $self->{perfdata}->change_bytes(value => $self->{result_values}->{used});
my ($total_free_value, $total_free_unit) = $self->{perfdata}->change_bytes(value => $self->{result_values}->{free});
return sprintf(
'space usage total: %s used: %s (%.2f%%) free: %s (%.2f%%)',
$total_size_value . " " . $total_size_unit,
$total_used_value . " " . $total_used_unit, $self->{result_values}->{prct_used},
$total_free_value . " " . $total_free_unit, $self->{result_values}->{prct_free}
);
}
sub fs_long_output {
my ($self, %options) = @_;
return sprintf(
"checking filesystem '%s'",
$options{instance_value}->{name}
);
}
sub prefix_fs_output {
my ($self, %options) = @_;
return sprintf(
"filesystem '%s' ",
$options{instance_value}->{name}
);
}
sub prefix_global_output {
my ($self, %options) = @_;
return 'Number of filesystems ';
}
sub set_counters {
my ($self, %options) = @_;
$self->{maps_counters_type} = [
{ name => 'global', type => 0, cb_prefix_output => 'prefix_global_output' },
{
name => 'fs', type => 3, cb_prefix_output => 'prefix_fs_output', cb_long_output => 'fs_long_output', indent_long_output => ' ', message_multiple => 'All filesystems are ok',
group => [
{ name => 'space', type => 0, skipped_code => { -10 => 1 } },
{ name => 'precomp', type => 0, skipped_code => { -10 => 1 } },
{ name => 'cleanable', type => 0, skipped_code => { -10 => 1 } }
]
}
];
$self->{maps_counters}->{global} = [
{ label => 'fs-detected', display_ok => 0, nlabel => 'filesystems.detected.count', set => {
key_values => [ { name => 'detected' } ],
output_template => 'detected: %s',
perfdatas => [
{ template => '%s', min => 0 }
]
}
}
];
$self->{maps_counters}->{space} = [
{ label => 'space-usage', nlabel => 'filesystem.space.usage.bytes', set => {
key_values => [ { name => 'used' }, { name => 'free' }, { name => 'prct_used' }, { name => 'prct_free' }, { name => 'total' }, { name => 'name' } ],
closure_custom_output => $self->can('custom_disk_usage_output'),
perfdatas => [
{ template => '%d', min => 0, max => 'total', unit => 'B', cast_int => 1, label_extra_instance => 1, instance_use => 'name' }
]
}
},
{ label => 'space-usage-free', nlabel => 'filesystem.space.free.bytes', display_ok => 0, set => {
key_values => [ { name => 'free' }, { name => 'used' }, { name => 'prct_used' }, { name => 'prct_free' }, { name => 'total' }, { name => 'name' } ],
closure_custom_output => $self->can('custom_disk_usage_output'),
perfdatas => [
{ template => '%d', min => 0, max => 'total', unit => 'B', cast_int => 1, label_extra_instance => 1, instance_use => 'name' }
]
}
},
{ label => 'space-usage-prct', nlabel => 'filesystem.space.usage.percentage', display_ok => 0, set => {
key_values => [ { name => 'prct_used' }, { name => 'used' }, { name => 'free' }, { name => 'prct_free' }, { name => 'total' }, { name => 'name' } ],
closure_custom_output => $self->can('custom_disk_usage_output'),
perfdatas => [
{ template => '%.2f', min => 0, max => 100, unit => '%', label_extra_instance => 1, instance_use => 'name' }
]
}
}
];
$self->{maps_counters}->{precomp} = [
{ label => 'space-precompression-usage', nlabel => 'filesystem.precompression.space.usage.bytes', set => {
key_values => [ { name => 'size' }, { name => 'name' } ],
output_template => 'space precompression used: %s %s',
output_change_bytes => 1,
perfdatas => [
{ template => '%s', min => 0, unit => 'B', label_extra_instance => 1, instance_use => 'name' }
]
}
}
];
$self->{maps_counters}->{cleanable} = [
{ label => 'space-cleanable', nlabel => 'filesystem.space.cleanable.bytes', set => {
key_values => [ { name => 'space_cleanable' }, { name => 'name' } ],
output_template => 'space cleanable: %s%s',
output_change_bytes => 1,
perfdatas => [
{ template => '%s', min => 0, unit => 'B', label_extra_instance => 1, instance_use => 'name' }
]
}
}
];
}
sub new {
my ($class, %options) = @_;
my $self = $class->SUPER::new(package => __PACKAGE__, %options, force_new_perfdata => 1);
bless $self, $class;
$options{options}->add_options(arguments => {
'filter-fs-name:s' => { name => 'filter_fs_name' }
});
return $self;
}
my $oid_fileSystemSpaceEntry = '.1.3.6.1.4.1.19746.1.3.2.1.1';
my $oid_sysDescr = '.1.3.6.1.2.1.1.1.0'; # 'Data Domain OS 5.4.1.1-411752'
my ($oid_fileSystemResourceName, $oid_fileSystemSpaceUsed, $oid_fileSystemSpaceAvail);
my ($oid_fileSystemSpaceCleanable);
sub manage_selection {
my ($self, %options) = @_;
my $snmp_result = $options{snmp}->get_leef(
oids => [ $oid_sysDescr ],
nothing_quit => 1
);
if (!($self->{os_version} = storage::emc::datadomain::snmp::lib::functions::get_version(value => $snmp_result->{$oid_sysDescr}))) {
$self->{output}->output_add(
severity => 'UNKNOWN',
short_msg => 'Cannot get DataDomain OS version.'
);
$self->{output}->display();
$self->{output}->exit();
}
$snmp_result = $options{snmp}->get_table(
oid => $oid_fileSystemSpaceEntry,
nothing_quit => 1
);
if (centreon::plugins::misc::minimal_version($self->{os_version}, '5.x')) {
$oid_fileSystemResourceName = '.1.3.6.1.4.1.19746.1.3.2.1.1.3';
$oid_fileSystemSpaceUsed = '.1.3.6.1.4.1.19746.1.3.2.1.1.5';
$oid_fileSystemSpaceAvail = '.1.3.6.1.4.1.19746.1.3.2.1.1.6';
$oid_fileSystemSpaceCleanable = '.1.3.6.1.4.1.19746.1.3.2.1.1.8';
} else {
$oid_fileSystemResourceName = '.1.3.6.1.4.1.19746.1.3.2.1.1.2';
$oid_fileSystemSpaceUsed = '.1.3.6.1.4.1.19746.1.3.2.1.1.4';
$oid_fileSystemSpaceAvail = '.1.3.6.1.4.1.19746.1.3.2.1.1.5';
}
$self->{global} = { detected => 0 };
$self->{fs} = {};
foreach my $oid (keys %$snmp_result) {
next if ($oid !~ /^$oid_fileSystemResourceName\.(\d+)$/);
my $instance = $1;
my $name = $snmp_result->{$oid_fileSystemResourceName . '.' . $instance};
my $precomp = 0;
my $postcomp = 0;
$precomp = 1 if ($name =~ /:\s*pre-comp/);
$postcomp = 1 if ($name =~ /:\s*post-comp/);
$name =~ s/:\s*(pre-comp|post-comp).*//;
next if (defined($self->{option_results}->{filter_fs_name}) && $self->{option_results}->{filter_fs_name} ne '' &&
$name !~ /$self->{option_results}->{filter_fs_name}/);
my $used = int($snmp_result->{$oid_fileSystemSpaceUsed . '.' . $instance} * 1024 * 1024 * 1024);
my $free = int($snmp_result->{$oid_fileSystemSpaceAvail . '.' . $instance} * 1024 * 1024 * 1024);
my $total = $used + $free;
next if ($total == 0);
$self->{global}->{detected}++;
if (!defined($self->{fs}->{$name})) {
$self->{fs}->{$name} = {
name => $name,
space => {},
precomp => {},
cleanable => {}
};
}
if ($precomp == 0) {
$self->{fs}->{$name}->{space} = {
name => $name,
used => $used,
free => $free,
total => $total,
prct_used => $used * 100 / $total,
prct_free => $free * 100 / $total
};
if (defined($oid_fileSystemSpaceCleanable) && defined($snmp_result->{$oid_fileSystemSpaceCleanable . '.' . $instance})) {
$self->{fs}->{$name}->{cleanable} = {
name => $name,
space_cleanable => int($snmp_result->{$oid_fileSystemSpaceCleanable . '.' . $instance} * 1024 * 1024 * 1024)
};
}
} else {
$self->{fs}->{$name}->{precomp} = {
name => $name,
size => $used
};
}
}
}
1;
__END__
=head1 MODE
Check filesystems.
=over 8
=item B<--filter-fs-name>
Check filesystems by name.
=item B<--warning-*> B<--critical-*>
Thresholds.
Can be: 'fs-detected', 'space-usage, 'space-usage-free',
'space-usage-prct', 'space-precompression-usage', 'space-cleanable'.
=back
=cut

View File

@ -18,13 +18,13 @@
# limitations under the License.
#
package storage::emc::DataDomain::mode::hardware;
package storage::emc::datadomain::snmp::mode::hardware;
use base qw(centreon::plugins::templates::hardware);
use strict;
use warnings;
use storage::emc::DataDomain::lib::functions;
use storage::emc::datadomain::snmp::lib::functions;
sub set_system {
my ($self, %options) = @_;
@ -75,7 +75,7 @@ sub set_system {
]
};
$self->{components_path} = 'storage::emc::DataDomain::mode::components';
$self->{components_path} = 'storage::emc::datadomain::snmp::mode::components';
$self->{components_module} = ['fan', 'temperature', 'psu', 'disk', 'battery'];
}
@ -88,7 +88,7 @@ sub snmp_execute {
sub new {
my ($class, %options) = @_;
my $self = $class->SUPER::new(package => __PACKAGE__, %options);
my $self = $class->SUPER::new(package => __PACKAGE__, %options, force_new_perfdata => 1);
bless $self, $class;
$options{options}->add_options(arguments => {});
@ -101,7 +101,7 @@ sub get_version {
my $oid_sysDescr = '.1.3.6.1.2.1.1.1.0'; # 'Data Domain OS 5.4.1.1-411752'
my $result = $options{snmp}->get_leef(oids => [ $oid_sysDescr ]);
if (!($self->{os_version} = storage::emc::DataDomain::lib::functions::get_version(value => $result->{$oid_sysDescr}))) {
if (!($self->{os_version} = storage::emc::datadomain::snmp::lib::functions::get_version(value => $result->{$oid_sysDescr}))) {
$self->{output}->output_add(
severity => 'UNKNOWN',
short_msg => 'Cannot get DataDomain OS version.'

View File

@ -0,0 +1,180 @@
#
# Copyright 2024 Centreon (http://www.centreon.com/)
#
# Centreon is a full-fledged industry-strength solution that meets
# the needs in IT infrastructure and application monitoring for
# service performance.
#
# 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.
#
package storage::emc::datadomain::snmp::mode::interfaces;
use base qw(snmp_standard::mode::interfaces);
use strict;
use warnings;
sub new {
my ($class, %options) = @_;
my $self = $class->SUPER::new(package => __PACKAGE__, %options, force_new_perfdata => 1);
bless $self, $class;
return $self;
}
1;
__END__
=head1 MODE
Check interfaces.
=over 8
=item B<--add-global>
Check global port statistics (by default if no --add-* option is set).
=item B<--add-status>
Check interface status.
=item B<--add-duplex-status>
Check duplex status (with --warning-status and --critical-status).
=item B<--add-traffic>
Check interface traffic.
=item B<--add-errors>
Check interface errors.
=item B<--add-cast>
Check interface cast.
=item B<--add-speed>
Check interface speed.
=item B<--add-volume>
Check interface data volume between two checks (not supposed to be graphed, useful for BI reporting).
=item B<--check-metrics>
If the expression is true, metrics are checked (default: '%{opstatus} eq "up"').
=item B<--warning-status>
Define the conditions to match for the status to be WARNING.
You can use the following variables: %{admstatus}, %{opstatus}, %{duplexstatus}, %{display}
=item B<--critical-status>
Define the conditions to match for the status to be CRITICAL (default: '%{admstatus} eq "up" and %{opstatus} ne "up"').
You can use the following variables: %{admstatus}, %{opstatus}, %{duplexstatus}, %{display}
=item B<--warning-*> B<--critical-*>
Thresholds.
Can be: 'total-port', 'total-admin-up', 'total-admin-down', 'total-oper-up', 'total-oper-down',
'in-traffic', 'out-traffic', 'in-error', 'in-discard', 'out-error', 'out-discard',
'in-ucast', 'in-bcast', 'in-mcast', 'out-ucast', 'out-bcast', 'out-mcast',
'speed' (b/s).
=item B<--units-traffic>
Units of thresholds for the traffic (default: 'percent_delta') ('percent_delta', 'bps', 'counter').
=item B<--units-errors>
Units of thresholds for errors/discards (default: 'percent_delta') ('percent_delta', 'percent', 'delta', 'deltaps', 'counter').
=item B<--units-cast>
Units of thresholds for communication types (default: 'percent_delta') ('percent_delta', 'percent', 'delta', 'deltaps', 'counter').
=item B<--nagvis-perfdata>
Display traffic perfdata to be compatible with nagvis widget.
=item B<--interface>
Set the interface (number expected) example: 1,2,... (empty means 'check all interfaces').
=item B<--name>
Allows you to define the interface (in option --interface) by name instead of OID index. The name matching mode supports regular expressions.
=item B<--speed>
Set interface speed for incoming/outgoing traffic (in Mb).
=item B<--speed-in>
Set interface speed for incoming traffic (in Mb).
=item B<--speed-out>
Set interface speed for outgoing traffic (in Mb).
=item B<--map-speed-dsl>
Get interface speed configuration for interface type 'adsl' and 'vdsl2'.
Syntax: --map-speed-dsl=interface-src-name,interface-dsl-name
E.g: --map-speed-dsl=Et0.835,Et0-vdsl2
=item B<--force-counters64>
Force to use 64 bits counters only. Can be used to improve performance.
=item B<--force-counters32>
Force to use 32 bits counters (even in snmp v2c and v3). Should be used when 64 bits counters are buggy.
=item B<--reload-cache-time>
Time in minutes before reloading cache file (default: 180).
=item B<--oid-filter>
Define the OID to be used to filter interfaces (default: ifName) (values: ifDesc, ifAlias, ifName, IpAddr).
=item B<--oid-display>
Define the OID that will be used to name the interfaces (default: ifName) (values: ifDesc, ifAlias, ifName, IpAddr).
=item B<--oid-extra-display>
Add an OID to display.
=item B<--display-transform-src> B<--display-transform-dst>
Modify the interface name displayed by using a regular expression.
Example: adding --display-transform-src='eth' --display-transform-dst='ens' will replace all occurrences of 'eth' with 'ens'
=item B<--show-cache>
Display cache interface data.
=back
=cut

View File

@ -0,0 +1,158 @@
#
# Copyright 2024 Centreon (http://www.centreon.com/)
#
# Centreon is a full-fledged industry-strength solution that meets
# the needs in IT infrastructure and application monitoring for
# service performance.
#
# 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.
#
package storage::emc::datadomain::snmp::mode::listfilesystems;
use base qw(centreon::plugins::mode);
use strict;
use warnings;
use storage::emc::datadomain::snmp::lib::functions;
sub new {
my ($class, %options) = @_;
my $self = $class->SUPER::new(package => __PACKAGE__, %options);
bless $self, $class;
$options{options}->add_options(arguments => {
});
return $self;
}
sub check_options {
my ($self, %options) = @_;
$self->SUPER::init(%options);
}
my $oid_fileSystemSpaceEntry = '.1.3.6.1.4.1.19746.1.3.2.1.1';
my $oid_sysDescr = '.1.3.6.1.2.1.1.1.0'; # 'Data Domain OS 5.4.1.1-411752'
my ($oid_fileSystemResourceName, $oid_fileSystemSpaceUsed, $oid_fileSystemSpaceAvail);
my @mapping = ('name', 'total', 'used');
sub manage_selection {
my ($self, %options) = @_;
my $snmp_result = $options{snmp}->get_leef(
oids => [ $oid_sysDescr ],
nothing_quit => 1
);
if (!($self->{os_version} = storage::emc::datadomain::snmp::lib::functions::get_version(value => $snmp_result->{$oid_sysDescr}))) {
$self->{output}->output_add(
severity => 'UNKNOWN',
short_msg => 'Cannot get DataDomain OS version.'
);
$self->{output}->display();
$self->{output}->exit();
}
$snmp_result = $options{snmp}->get_table(
oid => $oid_fileSystemSpaceEntry,
nothing_quit => 1
);
if (centreon::plugins::misc::minimal_version($self->{os_version}, '5.x')) {
$oid_fileSystemResourceName = '.1.3.6.1.4.1.19746.1.3.2.1.1.3';
$oid_fileSystemSpaceUsed = '.1.3.6.1.4.1.19746.1.3.2.1.1.5';
$oid_fileSystemSpaceAvail = '.1.3.6.1.4.1.19746.1.3.2.1.1.6';
} else {
$oid_fileSystemResourceName = '.1.3.6.1.4.1.19746.1.3.2.1.1.2';
$oid_fileSystemSpaceUsed = '.1.3.6.1.4.1.19746.1.3.2.1.1.4';
$oid_fileSystemSpaceAvail = '.1.3.6.1.4.1.19746.1.3.2.1.1.5';
}
my $results = {};
foreach my $oid (keys %$snmp_result) {
next if ($oid !~ /^$oid_fileSystemResourceName\.(\d+)$/);
my $instance = $1;
my $name = $snmp_result->{$oid_fileSystemResourceName . '.' . $instance};
my $precomp = 0;
my $postcomp = 0;
$precomp = 1 if ($name =~ /:\s*pre-comp/);
$postcomp = 1 if ($name =~ /:\s*post-comp/);
$name =~ s/:\s*(pre-comp|post-comp).*//;
my $used = int($snmp_result->{$oid_fileSystemSpaceUsed . '.' . $instance} * 1024 * 1024 * 1024);
my $free = int($snmp_result->{$oid_fileSystemSpaceAvail . '.' . $instance} * 1024 * 1024 * 1024);
my $total = $used + $free;
next if ($total == 0 || $precomp == 1);
$results->{$name} = {
name => $name,
used => $used,
total => $total
};
}
return $results;
}
sub run {
my ($self, %options) = @_;
my $results = $self->manage_selection(snmp => $options{snmp});
foreach my $name (sort keys %$results) {
$self->{output}->output_add(long_msg =>
join('', map("[$_ = " . $results->{$name}->{$_} . ']', @mapping))
);
}
$self->{output}->output_add(
severity => 'OK',
short_msg => 'List filesystems:'
);
$self->{output}->display(nolabel => 1, force_ignore_perfdata => 1, force_long_output => 1);
$self->{output}->exit();
}
sub disco_format {
my ($self, %options) = @_;
$self->{output}->add_disco_format(elements => [@mapping]);
}
sub disco_show {
my ($self, %options) = @_;
my $results = $self->manage_selection(snmp => $options{snmp});
foreach (sort keys %$results) {
$self->{output}->add_disco_entry(
%{$results->{$_}}
);
}
}
1;
__END__
=head1 MODE
List filesystems.
=over 8
=back
=cut

View File

@ -0,0 +1,131 @@
#
# Copyright 2024 Centreon (http://www.centreon.com/)
#
# Centreon is a full-fledged industry-strength solution that meets
# the needs in IT infrastructure and application monitoring for
# service performance.
#
# 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.
#
package storage::emc::datadomain::snmp::mode::listmtrees;
use base qw(centreon::plugins::mode);
use strict;
use warnings;
sub new {
my ($class, %options) = @_;
my $self = $class->SUPER::new(package => __PACKAGE__, %options);
bless $self, $class;
$options{options}->add_options(arguments => {
});
return $self;
}
sub check_options {
my ($self, %options) = @_;
$self->SUPER::init(%options);
}
my @mapping = ('name', 'status');
sub manage_selection {
my ($self, %options) = @_;
my $oid_mtreeListEntry = '.1.3.6.1.4.1.19746.1.15.2.1.1';
my $snmp_result = $options{snmp}->get_table(
oid => $oid_mtreeListEntry,
nothing_quit => 1
);
my %map_status = (
1 => 'deleted',
2 => 'readOnly',
3 => 'readWrite',
4 => 'replicationDestination',
5 => 'retentionLockEnabled',
6 => 'retentionLockDisabled'
);
my $mapping = {
name => { oid => '.1.3.6.1.4.1.19746.1.15.2.1.1.2' }, # mtreeListMtreeName
status => { oid => '.1.3.6.1.4.1.19746.1.15.2.1.1.4', map => \%map_status } # mtreeListStatus
};
my $results = {};
foreach my $oid (keys %$snmp_result) {
next if ($oid !~ /^$mapping->{name}->{oid}\.(.*)$/);
my $instance = $1;
my $result = $options{snmp}->map_instance(mapping => $mapping, results => $snmp_result, instance => $instance);
$results->{$instance} = {
name => $result->{name},
status => $result->{status}
};
}
return $results;
}
sub run {
my ($self, %options) = @_;
my $results = $self->manage_selection(snmp => $options{snmp});
foreach my $name (sort keys %$results) {
$self->{output}->output_add(long_msg =>
join('', map("[$_ = " . $results->{$name}->{$_} . ']', @mapping))
);
}
$self->{output}->output_add(
severity => 'OK',
short_msg => 'List MTrees:'
);
$self->{output}->display(nolabel => 1, force_ignore_perfdata => 1, force_long_output => 1);
$self->{output}->exit();
}
sub disco_format {
my ($self, %options) = @_;
$self->{output}->add_disco_format(elements => [@mapping]);
}
sub disco_show {
my ($self, %options) = @_;
my $results = $self->manage_selection(snmp => $options{snmp});
foreach (sort keys %$results) {
$self->{output}->add_disco_entry(
%{$results->{$_}}
);
}
}
1;
__END__
=head1 MODE
List MTrees.
=over 8
=back
=cut

View File

@ -0,0 +1,194 @@
#
# Copyright 2024 Centreon (http://www.centreon.com/)
#
# Centreon is a full-fledged industry-strength solution that meets
# the needs in IT infrastructure and application monitoring for
# service performance.
#
# 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.
#
package storage::emc::datadomain::snmp::mode::listreplications;
use base qw(centreon::plugins::mode);
use strict;
use warnings;
use storage::emc::datadomain::snmp::lib::functions;
sub new {
my ($class, %options) = @_;
my $self = $class->SUPER::new(package => __PACKAGE__, %options);
bless $self, $class;
$options{options}->add_options(arguments => {
});
return $self;
}
sub check_options {
my ($self, %options) = @_;
$self->SUPER::init(%options);
}
my $oid_fileSystemSpaceEntry = '.1.3.6.1.4.1.19746.1.3.2.1.1';
my $oid_sysDescr = '.1.3.6.1.2.1.1.1.0'; # 'Data Domain OS 5.4.1.1-411752'
my ($oid_fileSystemResourceName, $oid_fileSystemSpaceUsed, $oid_fileSystemSpaceAvail);
my @mapping = ('index', 'type', 'source', 'destination', 'state', 'status', 'initiator');
sub manage_selection {
my ($self, %options) = @_;
my $oid_sysName = '.1.3.6.1.2.1.1.5.0';
my $oid_sysDescr = '.1.3.6.1.2.1.1.1.0'; # 'Data Domain OS 5.4.1.1-411752'
my $oid_replicationInfoEntry = '.1.3.6.1.4.1.19746.1.8.1.1.1';
my $snmp_result = $options{snmp}->get_leef(
oids => [ $oid_sysDescr, $oid_sysName ],
nothing_quit => 1
);
if (!($self->{os_version} = storage::emc::datadomain::snmp::lib::functions::get_version(value => $snmp_result->{$oid_sysDescr}))) {
$self->{output}->output_add(
severity => 'UNKNOWN',
short_msg => 'Cannot get DataDomain OS version.'
);
$self->{output}->display();
$self->{output}->exit();
}
my $sysname = $snmp_result->{$oid_sysName};
$snmp_result = $options{snmp}->get_table(
oid => $oid_replicationInfoEntry,
nothing_quit => 1
);
my ($oid_replSource, $oid_replDestination, $oid_replState, $oid_replStatus);
my %map_state = (
1 => 'enabled', 2 => 'disabled', 3 => 'disabledNeedsResync',
);
my %map_status = (
1 => 'connected', 2 => 'disconnected', 3 => 'migrating',
4 => 'suspended', 5 => 'neverConnected', 6 => 'idle'
);
if (centreon::plugins::misc::minimal_version($self->{os_version}, '5.4')) {
%map_state = (
1 => 'initializing', 2 => 'normal', 3 => 'recovering', 4 => 'uninitialized',
);
$oid_replSource = '.1.3.6.1.4.1.19746.1.8.1.1.1.7';
$oid_replDestination = '.1.3.6.1.4.1.19746.1.8.1.1.1.8';
$oid_replStatus = '.1.3.6.1.4.1.19746.1.8.1.1.1.4';
$oid_replState = '.1.3.6.1.4.1.19746.1.8.1.1.1.3';
} elsif (centreon::plugins::misc::minimal_version($self->{os_version}, '5.0')) {
$oid_replSource = '.1.3.6.1.4.1.19746.1.8.1.1.1.7';
$oid_replDestination = '.1.3.6.1.4.1.19746.1.8.1.1.1.8';
$oid_replStatus = '.1.3.6.1.4.1.19746.1.8.1.1.1.4';
$oid_replState = '.1.3.6.1.4.1.19746.1.8.1.1.1.3';
} else {
$oid_replSource = '.1.3.6.1.4.1.19746.1.8.1.1.1.6';
$oid_replDestination = '.1.3.6.1.4.1.19746.1.8.1.1.1.7';
$oid_replStatus = '.1.3.6.1.4.1.19746.1.8.1.1.1.3';
$oid_replState = '.1.3.6.1.4.1.19746.1.8.1.1.1.2';
}
my $mapping = {
replState => { oid => $oid_replState, map => \%map_state },
replStatus => { oid => $oid_replStatus, map => \%map_status },
replSource => { oid => $oid_replSource },
replDestination => { oid => $oid_replDestination }
};
my $results = {};
foreach my $oid (keys %$snmp_result) {
next if ($oid !~ /^$mapping->{replState}->{oid}\.(.*)$/);
my $instance = $1;
my $result = $options{snmp}->map_instance(mapping => $mapping, results => $snmp_result, instance => $instance);
$result->{replSource} =~ /^(.*?):\/\//;
my $type = $1;
$result->{replSource} =~ s/^(.*?):\/\///;
$result->{replDestination} =~ s/^(.*?):\/\///;
# /data/col1/ is always present (useless information)
$result->{replSource} =~ s/\/data\/col1//;
$result->{replDestination} =~ s/\/data\/col1//;
my $initiator = 0;
$initiator = 1 if ($result->{replSource} =~ /^$sysname/);
$results->{$instance} = {
index => $instance,
type => $type,
source => $result->{replSource},
destination => $result->{replDestination},
state => $result->{replState},
status => $result->{replStatus},
initiator => $initiator
};
}
return $results;
}
sub run {
my ($self, %options) = @_;
my $results = $self->manage_selection(snmp => $options{snmp});
foreach my $name (sort keys %$results) {
$self->{output}->output_add(long_msg =>
join('', map("[$_ = " . $results->{$name}->{$_} . ']', @mapping))
);
}
$self->{output}->output_add(
severity => 'OK',
short_msg => 'List replications:'
);
$self->{output}->display(nolabel => 1, force_ignore_perfdata => 1, force_long_output => 1);
$self->{output}->exit();
}
sub disco_format {
my ($self, %options) = @_;
$self->{output}->add_disco_format(elements => [@mapping]);
}
sub disco_show {
my ($self, %options) = @_;
my $results = $self->manage_selection(snmp => $options{snmp});
foreach (sort keys %$results) {
$self->{output}->add_disco_entry(
%{$results->{$_}}
);
}
}
1;
__END__
=head1 MODE
List replications.
=over 8
=back
=cut

View File

@ -0,0 +1,272 @@
#
# Copyright 2024 Centreon (http://www.centreon.com/)
#
# Centreon is a full-fledged industry-strength solution that meets
# the needs in IT infrastructure and application monitoring for
# service performance.
#
# 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.
#
package storage::emc::datadomain::snmp::mode::mtrees;
use base qw(centreon::plugins::templates::counter);
use strict;
use warnings;
use centreon::plugins::templates::catalog_functions qw(catalog_status_threshold_ng);
sub mtree_long_output {
my ($self, %options) = @_;
return sprintf(
"checking MTree '%s'",
$options{instance_value}->{name}
);
}
sub prefix_mtree_output {
my ($self, %options) = @_;
return sprintf(
"MTree '%s' ",
$options{instance_value}->{name}
);
}
sub prefix_daily_output {
my ($self, %options) = @_;
return 'daily data written ';
}
sub prefix_global_output {
my ($self, %options) = @_;
return 'Number of MTrees ';
}
sub set_counters {
my ($self, %options) = @_;
$self->{maps_counters_type} = [
{ name => 'global', type => 0, cb_prefix_output => 'prefix_global_output' },
{
name => 'mtrees', type => 3, cb_prefix_output => 'prefix_mtree_output', cb_long_output => 'mtree_long_output', indent_long_output => ' ', message_multiple => 'All MTrees are ok',
group => [
{ name => 'status', type => 0, skipped_code => { -10 => 1 } },
{ name => 'precomp', type => 0, skipped_code => { -10 => 1 } },
{ name => 'daily', type => 0, cb_prefix_output => 'prefix_daily_output', skipped_code => { -10 => 1 } }
]
}
];
$self->{maps_counters}->{global} = [
{ label => 'mtrees-detected', display_ok => 0, nlabel => 'mtrees.detected.count', set => {
key_values => [ { name => 'detected' } ],
output_template => 'detected: %s',
perfdatas => [
{ template => '%s', min => 0 }
]
}
}
];
$self->{maps_counters}->{status} = [
{
label => 'status',
type => 2,
set => {
key_values => [ { name => 'status' }, { name => 'name' } ],
output_template => 'status: %s',
closure_custom_perfdata => sub { return 0; },
closure_custom_threshold_check => \&catalog_status_threshold_ng
}
}
];
$self->{maps_counters}->{precomp} = [
{ label => 'space-precompression-usage', nlabel => 'mtree.precompression.space.usage.bytes', set => {
key_values => [ { name => 'preComp' }, { name => 'name' } ],
output_template => 'space precompression used: %s %s',
output_change_bytes => 1,
perfdatas => [
{ template => '%s', min => 0, unit => 'B', label_extra_instance => 1, instance_use => 'name' }
]
}
}
];
$self->{maps_counters}->{daily} = [
{ label => 'daily-precompression-data-written', nlabel => 'mtree.daily.precompression.data.written.bytes', set => {
key_values => [ { name => 'preComp' }, { name => 'name' } ],
output_template => 'precompression: %s %s',
output_change_bytes => 1,
perfdatas => [
{ template => '%s', min => 0, unit => 'B', label_extra_instance => 1, instance_use => 'name' }
]
}
},
{ label => 'daily-postcompression-data-written', nlabel => 'mtree.daily.postcompression.data.written.bytes', set => {
key_values => [ { name => 'postComp' }, { name => 'name' } ],
output_template => 'postcompression: %s %s',
output_change_bytes => 1,
perfdatas => [
{ template => '%s', min => 0, unit => 'B', label_extra_instance => 1, instance_use => 'name' }
]
}
}
];
}
sub new {
my ($class, %options) = @_;
my $self = $class->SUPER::new(package => __PACKAGE__, %options, force_new_perfdata => 1);
bless $self, $class;
$options{options}->add_options(arguments => {
'filter-mtree-name:s' => { name => 'filter_mtree_name' }
});
return $self;
}
sub load_daily_written {
my ($self, %options) = @_;
my $oid_mtreeCompressionEntry = '.1.3.6.1.4.1.19746.1.15.1.1.1';
my $snmp_result = $options{snmp}->get_table(
oid => $oid_mtreeCompressionEntry
);
my $mapping = {
name => { oid => '.1.3.6.1.4.1.19746.1.15.1.1.1.2' }, # mtreeCompressionMtreePath
preComp => { oid => '.1.3.6.1.4.1.19746.1.15.1.1.1.3' }, # mtreeCompressionPreCompGib
postComp => { oid => '.1.3.6.1.4.1.19746.1.15.1.1.1.4' }, # mtreeCompressionPostCompGib
timePeriod => { oid => '.1.3.6.1.4.1.19746.1.15.1.1.1.8' } # mtreeCompressionTimePeriod
};
my $daily_written = {};
foreach my $oid (keys %$snmp_result) {
next if ($oid !~ /^$mapping->{name}->{oid}\.(.*)$/);
my $instance = $1;
my $result = $options{snmp}->map_instance(mapping => $mapping, results => $snmp_result, instance => $instance);
next if ($result->{timePeriod} !~ /Last 24 hours/i);
$daily_written->{ $result->{name} } = {
preComp => int($result->{preComp} * 1024 * 1024 * 1024),
postComp => int($result->{postComp} * 1024 * 1024 * 1024)
};
}
return $daily_written;
}
sub manage_selection {
my ($self, %options) = @_;
my $oid_mtreeListEntry = '.1.3.6.1.4.1.19746.1.15.2.1.1';
my $snmp_result = $options{snmp}->get_table(
oid => $oid_mtreeListEntry,
nothing_quit => 1
);
my $daily_written = $self->load_daily_written(snmp => $options{snmp});
my %map_status = (
1 => 'deleted',
2 => 'readOnly',
3 => 'readWrite',
4 => 'replicationDestination',
5 => 'retentionLockEnabled',
6 => 'retentionLockDisabled'
);
my $mapping = {
name => { oid => '.1.3.6.1.4.1.19746.1.15.2.1.1.2' }, # mtreeListMtreeName
preComp => { oid => '.1.3.6.1.4.1.19746.1.15.2.1.1.3' }, # mtreeListPreCompGib
status => { oid => '.1.3.6.1.4.1.19746.1.15.2.1.1.4', map => \%map_status } # mtreeListStatus
};
$self->{global} = { detected => 0 };
$self->{mtrees} = {};
foreach my $oid (keys %$snmp_result) {
next if ($oid !~ /^$mapping->{name}->{oid}\.(.*)$/);
my $instance = $1;
my $result = $options{snmp}->map_instance(mapping => $mapping, results => $snmp_result, instance => $instance);
next if (defined($self->{option_results}->{filter_mtree_name}) && $self->{option_results}->{filter_mtree_name} ne '' &&
$result->{name} !~ /$self->{option_results}->{filter_mtree_name}/);
$self->{global}->{detected}++;
$self->{mtrees}->{$instance} = {
name => $result->{name},
status => {
name => $result->{name},
status => $result->{status}
},
precomp => {
name => $result->{name},
preComp => $result->{preComp} * 1024 * 1024 * 1024
},
daily => {
name => $result->{name},
%{$daily_written->{ $result->{name} }}
}
};
}
}
1;
__END__
=head1 MODE
Check MTrees.
=over 8
=item B<--filter-counters>
Only display some counters (regexp can be used).
Example: --filter-counters='status'
=item B<--filter-mtree-name>
Check MTress by name.
=item B<--unknown-status>
Define the conditions to match for the status to be UNKNOWN.
You can use the following variables: %{state}, %{status}, %{source}, %{destination}, %{type}
=item B<--warning-status>
Define the conditions to match for the status to be WARNING.
You can use the following variables: %{status}, %{name}
=item B<--critical-status>
Define the conditions to match for the status to be CRITICAL.
You can use the following variables: %{status}, %{name}
=item B<--warning-*> B<--critical-*>
Thresholds.
Can be: 'mtrees-detected', 'space-precompression-usage'.
=back
=cut

View File

@ -0,0 +1,213 @@
#
# Copyright 2024 Centreon (http://www.centreon.com/)
#
# Centreon is a full-fledged industry-strength solution that meets
# the needs in IT infrastructure and application monitoring for
# service performance.
#
# 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.
#
package storage::emc::datadomain::snmp::mode::process;
use base qw(centreon::plugins::templates::counter);
use strict;
use warnings;
use centreon::plugins::templates::catalog_functions qw(catalog_status_threshold_ng);
sub custom_vtl_status_output {
my ($self, %options) = @_;
return sprintf(
"VTL process state: %s [admin state: %s]",
$self->{result_values}->{vtlProcessState},
$self->{result_values}->{vtlAdminState}
);
}
sub set_counters {
my ($self, %options) = @_;
$self->{maps_counters_type} = [
{ name => 'global', type => 0, message_separator => ' - ' }
];
$self->{maps_counters}->{global} = [
{ label => 'nfs-status', type => 2, set => {
key_values => [
{ name => 'nfsStatus' }
],
output_template => 'NFS status: %s',
closure_custom_perfdata => sub { return 0; },
closure_custom_threshold_check => \&catalog_status_threshold_ng
}
},
{ label => 'cifs-status', type => 2, critical_default => '%{cifsStatus} =~ /enabledNotRunning/', set => {
key_values => [
{ name => 'cifsStatus' }
],
output_template => 'CIFS status: %s',
closure_custom_perfdata => sub { return 0; },
closure_custom_threshold_check => \&catalog_status_threshold_ng
}
},
{ label => 'ddboost-status', type => 2, set => {
key_values => [
{ name => 'ddboostStatus' }
],
output_template => 'DDBoost status: %s',
closure_custom_perfdata => sub { return 0; },
closure_custom_threshold_check => \&catalog_status_threshold_ng
}
},
{ label => 'vtl-status', type => 2, critical_default => '%{vtlAdminState} =~ /failed/', set => {
key_values => [
{ name => 'vtlAdminState' }, { name => 'vtlProcessState' }
],
closure_custom_output => $self->can('custom_vtl_status_output'),
closure_custom_perfdata => sub { return 0; },
closure_custom_threshold_check => \&catalog_status_threshold_ng
}
}
];
}
sub new {
my ($class, %options) = @_;
my $self = $class->SUPER::new(package => __PACKAGE__, %options, force_new_perfdata => 1);
bless $self, $class;
$options{options}->add_options(arguments => {
});
return $self;
}
my $map_nfs_status = { 1 => 'enabled', 2 => 'disabled' };
my $map_ddboost_status = { 1 => 'enabled', 2 => 'disabled' };
my $map_vtl_admin_state = {
0 => 'unknown',
1 => 'enabled',
2 => 'disabled',
3 => 'failed'
};
my $map_vtl_process_state = {
0 => 'unknown',
1 => 'stopped',
2 => 'starting',
3 => 'running',
4 => 'timingout',
5 => 'stopping',
6 => 'stuck'
};
my $map_cifs_status = {
1 => 'enabled',
2 => 'enabledRunning',
3 => 'enabledNotRunning',
4 => 'enabledWindbindNotRun',
5 => 'disabled'
};
my $mapping = {
nfsStatus => { oid => '.1.3.6.1.4.1.19746.1.9.1.1', map => $map_nfs_status },
cifsStatus => { oid => '.1.3.6.1.4.1.19746.1.10.1.1', map => $map_cifs_status },
vtlAdminState => { oid => '.1.3.6.1.4.1.19746.1.11.1.1', map => $map_vtl_admin_state },
vtlProcessState => { oid => '.1.3.6.1.4.1.19746.1.11.1.2', map => $map_vtl_process_state },
ddboostStatus => { oid => '.1.3.6.1.4.1.19746.1.12.1.1', map => $map_ddboost_status }
};
sub manage_selection {
my ($self, %options) = @_;
my $snmp_result = $options{snmp}->get_leef(
oids => [ map($_->{oid} . '.0', values(%$mapping)) ],
nothing_quit => 1
);
$self->{global} = $options{snmp}->map_instance(mapping => $mapping, results => $snmp_result, instance => 0);
}
1;
__END__
=head1 MODE
Check process status
=over 8
=item B<--unknown-cifs-status>
Define the conditions to match for the status to be UNKNOWN.
You can use the following variables: %{cifsStatus}
=item B<--warning-cifs-status>
Define the conditions to match for the status to be WARNING.
You can use the following variables: %{cifsStatus}
=item B<--critical-cifs-status>
Define the conditions to match for the status to be CRITICAL (default: '%{cifsStatus} =~ /enabledNotRunning/').
You can use the following variables: %{cifsStatus}
=item B<--unknown-ddboost-status>
Define the conditions to match for the status to be UNKNOWN.
You can use the following variables: %{ddboostStatus}
=item B<--warning-ddboost-status>
Define the conditions to match for the status to be WARNING.
You can use the following variables: %{ddboostStatus}
=item B<--critical-ddboost-status>
Define the conditions to match for the status to be CRITICAL.
You can use the following variables: %{ddboostStatus}
=item B<--unknown-nfs-status>
Define the conditions to match for the status to be UNKNOWN.
You can use the following variables: %{nfsStatus}
=item B<--warning-nfs-status>
Define the conditions to match for the status to be WARNING.
You can use the following variables: %{nfsStatus}
=item B<--critical-nfs-status>
Define the conditions to match for the status to be CRITICAL.
You can use the following variables: %{nfsStatus}
=item B<--unknown-vtl-status>
Define the conditions to match for the status to be UNKNOWN.
You can use the following variables: %{vtlAdminState}, %{vtlProcessState}
=item B<--warning-vtl-status>
Define the conditions to match for the status to be WARNING.
You can use the following variables: %{vtlAdminState}, %{vtlProcessState}
=item B<--critical-vtl-status>
Define the conditions to match for the status to be CRITICAL (default: '%{vtlAdminState} =~ /failed/').
You can use the following variables: %{vtlAdminState}, %{vtlProcessState}
=back
=cut

View File

@ -0,0 +1,400 @@
#
# Copyright 2024 Centreon (http://www.centreon.com/)
#
# Centreon is a full-fledged industry-strength solution that meets
# the needs in IT infrastructure and application monitoring for
# service performance.
#
# 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.
#
package storage::emc::datadomain::snmp::mode::replications;
use base qw(centreon::plugins::templates::counter);
use strict;
use warnings;
use centreon::plugins::templates::catalog_functions qw(catalog_status_threshold_ng);
use storage::emc::datadomain::snmp::lib::functions;
use centreon::plugins::misc;
use POSIX;
my $unitdiv = { s => 1, w => 604800, d => 86400, h => 3600, m => 60 };
my $unitdiv_long = { s => 'seconds', w => 'weeks', d => 'days', h => 'hours', m => 'minutes' };
sub custom_replication_perfdata {
my ($self) = @_;
my $instances = [];
foreach (@{$self->{instance_mode}->{custom_perfdata_instances}}) {
push @$instances, $self->{result_values}->{$_};
}
$self->{output}->perfdata_add(
nlabel => $self->{nlabel},
instances => $instances,
value => $self->{result_values}->{ $self->{key_values}->[0]->{name} },
warning => $self->{perfdata}->get_perfdata_for_output(label => 'warning-' . $self->{thlabel}),
critical => $self->{perfdata}->get_perfdata_for_output(label => 'critical-' . $self->{thlabel}),
min => 0
);
}
sub custom_sync_perfdata {
my ($self, %options) = @_;
my $instances = [];
foreach (@{$self->{instance_mode}->{custom_perfdata_instances}}) {
push @$instances, $self->{result_values}->{$_};
}
$self->{output}->perfdata_add(
nlabel => 'replication.last.insync.' . $unitdiv_long->{ $self->{instance_mode}->{option_results}->{unit} },
unit => $self->{instance_mode}->{option_results}->{unit},
instances => $instances,
value => floor($self->{result_values}->{offset_seconds} / $unitdiv->{ $self->{instance_mode}->{option_results}->{unit} }),
warning => $self->{perfdata}->get_perfdata_for_output(label => 'warning-' . $self->{thlabel}),
critical => $self->{perfdata}->get_perfdata_for_output(label => 'critical-' . $self->{thlabel}),
min => 0
);
}
sub custom_sync_threshold {
my ($self, %options) = @_;
return $self->{perfdata}->threshold_check(
value => floor($self->{result_values}->{offset_seconds} / $unitdiv->{ $self->{instance_mode}->{option_results}->{unit} }),
threshold => [
{ label => 'critical-' . $self->{thlabel}, exit_litteral => 'critical' },
{ label => 'warning-'. $self->{thlabel}, exit_litteral => 'warning' },
{ label => 'unknown-'. $self->{thlabel}, exit_litteral => 'unknown' }
]
);
}
sub custom_repl_output {
my ($self, %options) = @_;
return sprintf(
"state: %s, status: %s",
$self->{result_values}->{state},
$self->{result_values}->{status}
);
}
sub repl_long_output {
my ($self, %options) = @_;
return sprintf(
"checking replication source '%s' destination '%s' [type: %s]",
$options{instance_value}->{source},
$options{instance_value}->{destination},
$options{instance_value}->{type}
);
}
sub prefix_repl_output {
my ($self, %options) = @_;
return sprintf(
"replication source '%s' destination '%s' [type: %s] ",
$options{instance_value}->{source},
$options{instance_value}->{destination},
$options{instance_value}->{type}
);
}
sub prefix_global_output {
my ($self, %options) = @_;
return 'Number of replications ';
}
sub set_counters {
my ($self, %options) = @_;
$self->{maps_counters_type} = [
{ name => 'global', type => 0, cb_prefix_output => 'prefix_global_output' },
{
name => 'repl', type => 3, cb_prefix_output => 'prefix_repl_output', cb_long_output => 'repl_long_output', indent_long_output => ' ', message_multiple => 'All replications are ok',
group => [
{ name => 'status', type => 0, skipped_code => { -10 => 1 } },
{ name => 'precomp', type => 0, skipped_code => { -10 => 1 } },
{ name => 'sync', type => 0, skipped_code => { -10 => 1 } }
]
}
];
$self->{maps_counters}->{global} = [
{ label => 'repl-detected', display_ok => 0, nlabel => 'replications.detected.count', set => {
key_values => [ { name => 'detected' } ],
output_template => 'detected: %s',
perfdatas => [
{ template => '%s', min => 0 }
]
}
}
];
$self->{maps_counters}->{status} = [
{
label => 'status',
type => 2,
warning_default => '%{state} =~ /initializing|recovering/i',
critical_default => '%{state} =~ /disabledNeedsResync|uninitialized/i',
set => {
key_values => [ { name => 'state' }, { name => 'status' }, { name => 'source' }, { name => 'destination' }, { name => 'type' } ],
closure_custom_output => $self->can('custom_repl_output'),
closure_custom_perfdata => sub { return 0; },
closure_custom_threshold_check => \&catalog_status_threshold_ng
}
}
];
$self->{maps_counters}->{precomp} = [
{ label => 'precompression-data-remaining', nlabel => 'replication.precompression.data.remaining.bytes', set => {
key_values => [ { name => 'remaining' }, { name => 'source' }, { name => 'destination' }, { name => 'type' } ],
output_template => 'precompression data remaining: %s %s',
output_change_bytes => 1,
closure_custom_perfdata => $self->can('custom_replication_perfdata')
}
}
];
$self->{maps_counters}->{sync} = [
{ label => 'last-insync-time', set => {
key_values => [ { name => 'offset_seconds' }, { name => 'offset_human' }, { name => 'source' }, { name => 'destination' }, { name => 'type' } ],
output_template => 'last in sync time: %s',
output_use => 'offset_human',
closure_custom_perfdata => $self->can('custom_sync_perfdata'),
closure_custom_threshold_check => $self->can('custom_sync_threshold')
}
}
];
}
sub new {
my ($class, %options) = @_;
my $self = $class->SUPER::new(package => __PACKAGE__, %options, force_new_perfdata => 1);
bless $self, $class;
$options{options}->add_options(arguments => {
'filter-repl-index:s' => { name => 'filter_repl_index' },
'filter-repl-source:s' => { name => 'filter_repl_source' },
'filter-repl-destination:s' => { name => 'filter_repl_destination' },
'custom-perfdata-instances:s' => { name => 'custom_perfdata_instances' },
'unit:s' => { name => 'unit', default => 'd' }
});
return $self;
}
sub check_options {
my ($self, %options) = @_;
$self->SUPER::check_options(%options);
if ($self->{option_results}->{unit} eq '' || !defined($unitdiv->{$self->{option_results}->{unit}})) {
$self->{option_results}->{unit} = 'd';
}
if (!defined($self->{option_results}->{custom_perfdata_instances}) || $self->{option_results}->{custom_perfdata_instances} eq '') {
$self->{option_results}->{custom_perfdata_instances} = '%(type) %(source) %(destination)';
}
$self->{custom_perfdata_instances} = $self->custom_perfdata_instances(
option_name => '--custom-perfdata-instances',
instances => $self->{option_results}->{custom_perfdata_instances},
labels => { type => 1, source => 1, destination => 1 }
);
}
sub manage_selection {
my ($self, %options) = @_;
my $oid_sysDescr = '.1.3.6.1.2.1.1.1.0'; # 'Data Domain OS 5.4.1.1-411752'
my $oid_replicationInfoEntry = '.1.3.6.1.4.1.19746.1.8.1.1.1';
my $snmp_result = $options{snmp}->get_leef(
oids => [ $oid_sysDescr ],
nothing_quit => 1
);
if (!($self->{os_version} = storage::emc::datadomain::snmp::lib::functions::get_version(value => $snmp_result->{$oid_sysDescr}))) {
$self->{output}->output_add(
severity => 'UNKNOWN',
short_msg => 'Cannot get DataDomain OS version.'
);
$self->{output}->display();
$self->{output}->exit();
}
$snmp_result = $options{snmp}->get_table(
oid => $oid_replicationInfoEntry,
nothing_quit => 1
);
my ($oid_replSource, $oid_replDestination, $oid_replState, $oid_replStatus);
my %map_state = (
1 => 'enabled', 2 => 'disabled', 3 => 'disabledNeedsResync',
);
my %map_status = (
1 => 'connected', 2 => 'disconnected', 3 => 'migrating',
4 => 'suspended', 5 => 'neverConnected', 6 => 'idle'
);
if (centreon::plugins::misc::minimal_version($self->{os_version}, '5.4')) {
%map_state = (
1 => 'initializing', 2 => 'normal', 3 => 'recovering', 4 => 'uninitialized',
);
$oid_replSource = '.1.3.6.1.4.1.19746.1.8.1.1.1.7';
$oid_replDestination = '.1.3.6.1.4.1.19746.1.8.1.1.1.8';
$oid_replStatus = '.1.3.6.1.4.1.19746.1.8.1.1.1.4';
$oid_replState = '.1.3.6.1.4.1.19746.1.8.1.1.1.3';
} elsif (centreon::plugins::misc::minimal_version($self->{os_version}, '5.0')) {
$oid_replSource = '.1.3.6.1.4.1.19746.1.8.1.1.1.7';
$oid_replDestination = '.1.3.6.1.4.1.19746.1.8.1.1.1.8';
$oid_replStatus = '.1.3.6.1.4.1.19746.1.8.1.1.1.4';
$oid_replState = '.1.3.6.1.4.1.19746.1.8.1.1.1.3';
} else {
$oid_replSource = '.1.3.6.1.4.1.19746.1.8.1.1.1.6';
$oid_replDestination = '.1.3.6.1.4.1.19746.1.8.1.1.1.7';
$oid_replStatus = '.1.3.6.1.4.1.19746.1.8.1.1.1.3';
$oid_replState = '.1.3.6.1.4.1.19746.1.8.1.1.1.2';
}
my $mapping = {
replState => { oid => $oid_replState, map => \%map_state },
replStatus => { oid => $oid_replStatus, map => \%map_status },
replSource => { oid => $oid_replSource },
replDestination => { oid => $oid_replDestination },
replPreCompBytesRemaining => { oid => '.1.3.6.1.4.1.19746.1.8.1.1.1.11' },
replSyncedAsOfTime => { oid => '.1.3.6.1.4.1.19746.1.8.1.1.1.14' }
};
my $ctime = time();
$self->{global} = { detected => 0 };
$self->{repl} = {};
foreach my $oid (keys %$snmp_result) {
next if ($oid !~ /^$mapping->{replState}->{oid}\.(.*)$/);
my $instance = $1;
my $result = $options{snmp}->map_instance(mapping => $mapping, results => $snmp_result, instance => $instance);
$result->{replSource} =~ /^(.*?):\/\//;
my $type = $1;
$result->{replSource} =~ s/^(.*?):\/\///;
$result->{replDestination} =~ s/^(.*?):\/\///;
# /data/col1/ is always present (useless information)
$result->{replSource} =~ s/\/data\/col1//;
$result->{replDestination} =~ s/\/data\/col1//;
next if (defined($self->{option_results}->{filter_repl_index}) && $self->{option_results}->{filter_repl_index} ne '' &&
$instance !~ /$self->{option_results}->{filter_repl_index}/);
next if (defined($self->{option_results}->{filter_repl_source}) && $self->{option_results}->{filter_repl_source} ne '' &&
$result->{replSource} !~ /$self->{option_results}->{filter_repl_source}/);
next if (defined($self->{option_results}->{filter_repl_destination}) && $self->{option_results}->{filter_repl_destination} ne '' &&
$result->{replDestination} !~ /$self->{option_results}->{filter_repl_destination}/);
$self->{global}->{detected}++;
$self->{repl}->{$instance} = {
type => $type,
source => $result->{replSource},
destination => $result->{replDestination},
status => {
type => $type,
source => $result->{replSource},
destination => $result->{replDestination},
state => $result->{replState},
status => $result->{replStatus}
},
precomp => {
type => $type,
source => $result->{replSource},
destination => $result->{replDestination},
remaining => $result->{replPreCompBytesRemaining}
},
sync => {
type => $type,
source => $result->{replSource},
destination => $result->{replDestination}
}
};
$self->{repl}->{$instance}->{sync}->{offset_seconds} = $ctime - $result->{replSyncedAsOfTime};
$self->{repl}->{$instance}->{sync}->{offset_human} = centreon::plugins::misc::change_seconds(
value => $self->{repl}->{$instance}->{sync}->{offset_seconds}
);
}
}
1;
__END__
=head1 MODE
Check replication.
=over 8
=item B<--filter-counters>
Only display some counters (regexp can be used).
Example: --filter-counters='^status$'
=item B<--filter-repl-index>
Check replications by index.
=item B<--filter-repl-source>
Check replications by source.
=item B<--filter-repl-destination>
Check replications by destination.
=item B<--custom-perfdata-instances>
Customize the name composition rule for the instances the metrics will be attached to (default: '%(type) %(source) %(destination)').
You can use the following variables: %(type) %(source) %(destination)
=item B<--unit>
Select the time unit for thresholds. May be 's' for seconds, 'm' for minutes, 'h' for hours, 'd' for days, 'w' for weeks (default: 'd').
=item B<--unknown-status>
Define the conditions to match for the status to be UNKNOWN.
You can use the following variables: %{state}, %{status}, %{source}, %{destination}, %{type}
=item B<--warning-status>
Define the conditions to match for the status to be WARNING (default: '%{state} =~ /initializing|recovering/i').
You can use the following variables: %{state}, %{status}, %{source}, %{destination}, %{type}
=item B<--critical-status>
Define the conditions to match for the status to be CRITICAL (default: '%{state} =~ /disabledNeedsResync|uninitialized/i').
You can use the following variables: %{state}, %{status}, %{source}, %{destination}, %{type}
=item B<--warning-*> B<--critical-*>
Thresholds.
Can be: 'repl-detected', 'precompression-data-remaining', 'last-insync-time'.
=back
=cut

View File

@ -18,7 +18,7 @@
# limitations under the License.
#
package storage::emc::DataDomain::plugin;
package storage::emc::datadomain::snmp::plugin;
use strict;
use warnings;
@ -29,11 +29,19 @@ sub new {
my $self = $class->SUPER::new(package => __PACKAGE__, %options);
bless $self, $class;
$self->{version} = '1.0';
$self->{modes} = {
'hardware' => 'storage::emc::DataDomain::mode::hardware',
'filesystem-usage' => 'storage::emc::DataDomain::mode::filesystem',
'replication' => 'storage::emc::DataDomain::mode::replication'
'alerts' => 'storage::emc::datadomain::snmp::mode::alerts',
'cleaning' => 'storage::emc::datadomain::snmp::mode::cleaning',
'hardware' => 'storage::emc::datadomain::snmp::mode::hardware',
'filesystems' => 'storage::emc::datadomain::snmp::mode::filesystems',
'interfaces' => 'storage::emc::datadomain::snmp::mode::interfaces',
'list-filesystems' => 'storage::emc::datadomain::snmp::mode::listfilesystems',
'list-interfaces' => 'snmp_standard::mode::listinterfaces',
'list-mtrees' => 'storage::emc::datadomain::snmp::mode::listmtrees',
'list-replications' => 'storage::emc::datadomain::snmp::mode::listreplications',
'mtrees' => 'storage::emc::datadomain::snmp::mode::mtrees',
'process' => 'storage::emc::datadomain::snmp::mode::process',
'replications' => 'storage::emc::datadomain::snmp::mode::replications'
};
return $self;

View File

@ -175,6 +175,21 @@ sub request_api {
critical_status => ''
);
# Maybe token is invalid. so we retry
if (!defined($token) || $self->{http}->get_code() >= 400) {
$self->clean_token();
$token = $self->get_token();
$content = $self->{http}->request(
url_path => $options{endpoint},
get_param => $get_param,
header => [ 'X-HP3PAR-WSAPI-SessionKey: ' . $token ],
unknown_status => $self->{unknown_http_status},
warning_status => $self->{warning_http_status},
critical_status => $self->{critical_http_status}
);
}
if (!defined($content) || $content eq '') {
$self->{output}->add_option_msg(short_msg => "API returns empty content [code: '" . $self->{http}->get_code() . "'] [message: '" . $self->{http}->get_message() . "']");
$self->{output}->option_exit();

View File

@ -0,0 +1,4 @@
.1.3.6.1.4.1.43.45.1.2.23.1.9.1.1.1.1.65536 = INTEGER: 65536
.1.3.6.1.4.1.43.45.1.2.23.1.9.1.1.1.1.196611 = INTEGER: 196611
.1.3.6.1.4.1.43.45.1.2.23.1.9.1.1.1.2.65536 = INTEGER: 1
.1.3.6.1.4.1.43.45.1.2.23.1.9.1.1.1.2.196611 = INTEGER: 2

View File

@ -0,0 +1,30 @@
*** Settings ***
Documentation Check 3com equipment (old legacy. Maybe you should use 'network::h3c'plugin) in SNMP.
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Test Timeout 120s
*** Variables ***
${CMD} ${CENTREON_PLUGINS} --plugin=network::3com::snmp::plugin
*** Test Cases ***
hardware ${tc}
[Tags] network citrix snmp
${command} Catenate
... ${CMD}
... --mode=hardware
... --hostname=${HOSTNAME}
... --snmp-port=${SNMPPORT}
... --snmp-community=network/3com/snmp/3com-hardware-fake
... ${extra_options}
Ctn Run Command And Check Result As Strings ${command} ${expected_result}
Examples: tc extra_options expected_result --
... 1 --verbose CRITICAL: Fan '196611' status is deactive | 'count_fan'=2;;;; ${SPACE} Checking power supplies ${SPACE}Checking fans ${SPACE}Fan '65536' status is 'active' [instance: 65536] ${SPACE}Fan '196611' status is 'deactive' [instance: 196611]
... 2 --absent-problem=fan,2 CRITICAL: Fan '196611' status is deactive | 'count_fan'=2;;;;
... 3 --no-component CRITICAL: Fan '196611' status is deactive | 'count_fan'=2;;;;
... 4 --threshold-overload='' CRITICAL: Fan '196611' status is deactive | 'count_fan'=2;;;;

View File

@ -34,4 +34,4 @@ arp ${tc}
... 6 --critical-duplicate-macaddr OK: total entries 3 - duplicate mac address 0 - duplicate ip address 0 | 'arp.total.entries.count'=3;;;0; 'arp.duplicate.macaddr.count'=0;;;0; 'arp.duplicate.ipaddr.count'=0;;;0;
... 7 --warning-duplicate-ipaddr OK: total entries 3 - duplicate mac address 0 - duplicate ip address 0 | 'arp.total.entries.count'=3;;;0; 'arp.duplicate.macaddr.count'=0;;;0; 'arp.duplicate.ipaddr.count'=0;;;0;
... 8 --warning-duplicate-macaddr OK: total entries 3 - duplicate mac address 0 - duplicate ip address 0 | 'arp.total.entries.count'=3;;;0; 'arp.duplicate.macaddr.count'=0;;;0; 'arp.duplicate.ipaddr.count'=0;;;0;
... 9 ${EMPTY} OK: total entries 3 - duplicate mac address 0 - duplicate ip address 0 | 'arp.total.entries.count'=3;;;0; 'arp.duplicate.macaddr.count'=0;;;0; 'arp.duplicate.ipaddr.count'=0;;;0;
... 9 ${EMPTY} OK: total entries 3 - duplicate mac address 0 - duplicate ip address 0 | 'arp.total.entries.count'=3;;;0; 'arp.duplicate.macaddr.count'=0;;;0; 'arp.duplicate.ipaddr.count'=0;;;0;

View File

@ -3,6 +3,7 @@ Documentation Check cpu table
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
@ -46,4 +47,4 @@ cpu-detailed ${tc}
... 18 --critical-kernel OK: CPU Usage: user : counter not moved, nice : counter not moved, system : counter not moved, idle : counter not moved, wait : counter not moved, kernel : counter not moved, interrupt : counter not moved, softirq : counter not moved, steal : counter not moved, guest : counter not moved, guestnice : counter not moved
... 19 --critical-interrupt OK: CPU Usage: user : counter not moved, nice : counter not moved, system : counter not moved, idle : counter not moved, wait : counter not moved, kernel : counter not moved, interrupt : counter not moved, softirq : counter not moved, steal : counter not moved, guest : counter not moved, guestnice : counter not moved
... 20 --critical-softirq OK: CPU Usage: user : counter not moved, nice : counter not moved, system : counter not moved, idle : counter not moved, wait : counter not moved, kernel : counter not moved, interrupt : counter not moved, softirq : counter not moved, steal : counter not moved, guest : counter not moved, guestnice : counter not moved
... 21 --critical-steal OK: CPU Usage: user : counter not moved, nice : counter not moved, system : counter not moved, idle : counter not moved, wait : counter not moved, kernel : counter not moved, interrupt : counter not moved, softirq : counter not moved, steal : counter not moved, guest : counter not moved, guestnice : counter not moved
... 21 --critical-steal OK: CPU Usage: user : counter not moved, nice : counter not moved, system : counter not moved, idle : counter not moved, wait : counter not moved, kernel : counter not moved, interrupt : counter not moved, softirq : counter not moved, steal : counter not moved, guest : counter not moved, guestnice : counter not moved

View File

@ -3,6 +3,7 @@ Documentation Check cpu table
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
@ -35,4 +36,4 @@ cpu ${tc}
... 7 --warning-average='0' WARNING: 1 CPU(s) average usage is 2.00 % | 'total_cpu_avg'=2.00%;0:0;;0;100 'cpu'=2.00%;;;0;100
... 8 --critical-average='0' CRITICAL: 1 CPU(s) average usage is 2.00 % | 'total_cpu_avg'=2.00%;;0:0;0;100 'cpu'=2.00%;;;0;100
... 9 --warning-core='0' WARNING: CPU '0' usage : 2.00 % | 'total_cpu_avg'=2.00%;;;0;100 'cpu'=2.00%;0:0;;0;100
... 10 --critical-core='0' CRITICAL: CPU '0' usage : 2.00 % | 'total_cpu_avg'=2.00%;;;0;100 'cpu'=2.00%;;0:0;0;100
... 10 --critical-core='0' CRITICAL: CPU '0' usage : 2.00 % | 'total_cpu_avg'=2.00%;;;0;100 'cpu'=2.00%;;0:0;0;100

View File

@ -3,6 +3,7 @@ Documentation Check disk-usage table
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
@ -51,4 +52,4 @@ disk-usage ${tc}
... 23 --filter-disk-path='/run' OK: All partitions are ok | 'count'=3;;;0; 'used_/run'=532480B;;;0;206262272 'free_/run'=205729792B;;;0;206262272 'used_prct_/run'=0.26%;;;0;100 'inodes_/run'=0%;;;0;100 'used_/run/lock'=0B;;;0;5242880 'free_/run/lock'=5242880B;;;0;5242880 'used_prct_/run/lock'=0.00%;;;0;100 'inodes_/run/lock'=0%;;;0;100 'used_/run/user/0'=0B;;;0;206258176 'free_/run/user/0'=206258176B;;;0;206258176 'used_prct_/run/user/0'=0.00%;;;0;100 'inodes_/run/user/0'=0%;;;0;100
... 24 --filter-disk-path='/run/lock' OK: Partition '/run/lock' usage total: 5.00 MB used: 0.00 B (0.00%) free: 5.00 MB (100.00%), Inodes used: 0 % | 'count'=1;;;0; 'used'=0B;;;0;5242880 'free'=5242880B;;;0;5242880 'used_prct'=0.00%;;;0;100 'inodes'=0%;;;0;100
... 25 --filter-disk-path='/' OK: All partitions are ok | 'count'=5;;;0; 'used_/'=7394013184B;;;0;105088212992 'free_/'=97694199808B;;;0;105088212992 'used_prct_/'=7.04%;;;0;100 'inodes_/'=6%;;;0;100 'used_/dev/shm'=0B;;;0;1031299072 'free_/dev/shm'=1031299072B;;;0;1031299072 'used_prct_/dev/shm'=0.00%;;;0;100 'inodes_/dev/shm'=0%;;;0;100 'used_/run'=532480B;;;0;206262272 'free_/run'=205729792B;;;0;206262272 'used_prct_/run'=0.26%;;;0;100 'inodes_/run'=0%;;;0;100 'used_/run/lock'=0B;;;0;5242880 'free_/run/lock'=5242880B;;;0;5242880 'used_prct_/run/lock'=0.00%;;;0;100 'inodes_/run/lock'=0%;;;0;100 'used_/run/user/0'=0B;;;0;206258176 'free_/run/user/0'=206258176B;;;0;206258176 'used_prct_/run/user/0'=0.00%;;;0;100 'inodes_/run/user/0'=0%;;;0;100
... 26 --filter-disk-path='/run/user/0' OK: Partition '/run/user/0' usage total: 196.70 MB used: 0.00 B (0.00%) free: 196.70 MB (100.00%), Inodes used: 0 % | 'count'=1;;;0; 'used'=0B;;;0;206258176 'free'=206258176B;;;0;206258176 'used_prct'=0.00%;;;0;100 'inodes'=0%;;;0;100
... 26 --filter-disk-path='/run/user/0' OK: Partition '/run/user/0' usage total: 196.70 MB used: 0.00 B (0.00%) free: 196.70 MB (100.00%), Inodes used: 0 % | 'count'=1;;;0; 'used'=0B;;;0;206258176 'free'=206258176B;;;0;206258176 'used_prct'=0.00%;;;0;100 'inodes'=0%;;;0;100

View File

@ -3,6 +3,7 @@ Documentation Check diskio table
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
@ -40,4 +41,4 @@ diskio ${tc}
... 12 --device='222' UNKNOWN: No device found for id '222'.
... 13 --name OK: All devices [Read I/O : 0.00 B/s, Write I/O : 0.00 B/s, Read IOPs : 0.00, Write IOPs : 0.00] - Server overall [R+W I/O : 0.00 B/s, R+W IOPs : 0.00] - All devices are ok | 'total_read'=0B/s;;;0; 'total_write'=0B/s;;;0; 'total_read_iops'=0.00iops;;;0; 'total_write_iops'=0.00iops;;;0; 'sum_read_write'=0B/s;;;0; 'sum_read_write_iops'=0.00iops;;;0; 'read_sda'=0B/s;;;0; 'write_sda'=0B/s;;;0; 'read_iops_sda'=0.00iops;;;0; 'write_iops_sda'=0.00iops;;;0; 'read_sda1'=0B/s;;;0; 'write_sda1'=0B/s;;;0; 'read_iops_sda1'=0.00iops;;;0; 'write_iops_sda1'=0.00iops;;;0;
... 14 --regexp OK: All devices [Read I/O : 0.00 B/s, Write I/O : 0.00 B/s, Read IOPs : 0.00, Write IOPs : 0.00] - Server overall [R+W I/O : 0.00 B/s, R+W IOPs : 0.00] - All devices are ok | 'total_read'=0B/s;;;0; 'total_write'=0B/s;;;0; 'total_read_iops'=0.00iops;;;0; 'total_write_iops'=0.00iops;;;0; 'sum_read_write'=0B/s;;;0; 'sum_read_write_iops'=0.00iops;;;0; 'read_sda'=0B/s;;;0; 'write_sda'=0B/s;;;0; 'read_iops_sda'=0.00iops;;;0; 'write_iops_sda'=0.00iops;;;0; 'read_sda1'=0B/s;;;0; 'write_sda1'=0B/s;;;0; 'read_iops_sda1'=0.00iops;;;0; 'write_iops_sda1'=0.00iops;;;0;
... 15 --regexp-insensitive OK: All devices [Read I/O : 0.00 B/s, Write I/O : 0.00 B/s, Read IOPs : 0.00, Write IOPs : 0.00] - Server overall [R+W I/O : 0.00 B/s, R+W IOPs : 0.00] - All devices are ok | 'total_read'=0B/s;;;0; 'total_write'=0B/s;;;0; 'total_read_iops'=0.00iops;;;0; 'total_write_iops'=0.00iops;;;0; 'sum_read_write'=0B/s;;;0; 'sum_read_write_iops'=0.00iops;;;0; 'read_sda'=0B/s;;;0; 'write_sda'=0B/s;;;0; 'read_iops_sda'=0.00iops;;;0; 'write_iops_sda'=0.00iops;;;0; 'read_sda1'=0B/s;;;0; 'write_sda1'=0B/s;;;0; 'read_iops_sda1'=0.00iops;;;0; 'write_iops_sda1'=0.00iops;;;0;
... 15 --regexp-insensitive OK: All devices [Read I/O : 0.00 B/s, Write I/O : 0.00 B/s, Read IOPs : 0.00, Write IOPs : 0.00] - Server overall [R+W I/O : 0.00 B/s, R+W IOPs : 0.00] - All devices are ok | 'total_read'=0B/s;;;0; 'total_write'=0B/s;;;0; 'total_read_iops'=0.00iops;;;0; 'total_write_iops'=0.00iops;;;0; 'sum_read_write'=0B/s;;;0; 'sum_read_write_iops'=0.00iops;;;0; 'read_sda'=0B/s;;;0; 'write_sda'=0B/s;;;0; 'read_iops_sda'=0.00iops;;;0; 'write_iops_sda'=0.00iops;;;0; 'read_sda1'=0B/s;;;0; 'write_sda1'=0B/s;;;0; 'read_iops_sda1'=0.00iops;;;0; 'write_iops_sda1'=0.00iops;;;0;

View File

@ -3,6 +3,7 @@ Documentation Check inodes table
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s

File diff suppressed because it is too large Load Diff

View File

@ -3,6 +3,7 @@ Documentation Check the list-diskio mode
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s

View File

@ -3,6 +3,7 @@ Documentation Check list-diskspath table
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s

View File

@ -3,6 +3,7 @@ Documentation Check list-interfaces table
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
@ -30,4 +31,4 @@ list-interfaces ${tc}
... 2 --add-extra-oid='' List interfaces: ${SPACE}'lo' [speed = 10][status = up][id = 1][type = softwareLoopback] ${SPACE} 'eth0' [speed = 1000][status = up][id = 2][type = ethernetCsmacd] ${SPACE}'eth1' [speed = 1000][status = up][id = 3][type = ethernetCsmacd]
... 3 --add-mac-address='' List interfaces: ${SPACE}'lo' [speed = 10][status = up][id = 1][macaddress = ][type = softwareLoopback] ${SPACE} 'eth0' [speed = 1000][status = up][id = 2][macaddress = 08:00:27:8d:c0:4d][type = ethernetCsmacd] ${SPACE} 'eth1' [speed = 1000][status = up][id = 3][macaddress = 08:00:27:af:8a:b1][type = ethernetCsmacd]
... 4 --display-transform-src='eth' List interfaces:${SPACE} 'lo' [speed = 10][status = up][id = 1][type = softwareLoopback] ${SPACE} '0' [speed = 1000][status = up][id = 2][type = ethernetCsmacd] ${SPACE} '1' [speed = 1000][status = up][id = 3][type = ethernetCsmacd]
... 5 --display-transform-dst='ens' List interfaces:${SPACE} 'lo' [speed = 10][status = up][id = 1][type = softwareLoopback]${SPACE} 'eth0' [speed = 1000][status = up][id = 2][type = ethernetCsmacd] ${SPACE} 'eth1' [speed = 1000][status = up][id = 3][type = ethernetCsmacd]
... 5 --display-transform-dst='ens' List interfaces:${SPACE} 'lo' [speed = 10][status = up][id = 1][type = softwareLoopback]${SPACE} 'eth0' [speed = 1000][status = up][id = 2][type = ethernetCsmacd] ${SPACE} 'eth1' [speed = 1000][status = up][id = 3][type = ethernetCsmacd]

View File

@ -3,6 +3,7 @@ Documentation Check list-processes table
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
@ -29,4 +30,4 @@ list-processes ${tc}
... 2 --filter-name='centreontrapd' List processes: [name = centreontrapd] [path = /usr/bin/perl] [parameters = /usr/share/centreon/bin/centreontrapd --logfile=/var/log/centreon/centreontrapd.log --severity=error --config=/etc/centreon/conf] [type = application] [pid = 317] [status = runnable]
... 3 --filter-name='systemd-udevd' List processes: [name = systemd-udevd] [path = /lib/systemd/systemd-udevd] [parameters = ] [type = application] [pid = 235] [status = runnable]
... 4 --filter-name='kdevtmpfs' List processes: [name = kdevtmpfs] [path = ] [parameters = ] [type = operatingSystem] [pid = 26] [status = runnable]
... 5 --filter-name='gorgone-dbclean' List processes: [name = gorgone-dbclean] [path = gorgone-dbcleaner] [parameters = ] [type = application] [pid = 760] [status = runnable]
... 5 --filter-name='gorgone-dbclean' List processes: [name = gorgone-dbclean] [path = gorgone-dbcleaner] [parameters = ] [type = application] [pid = 760] [status = runnable]

View File

@ -3,6 +3,7 @@ Documentation Check list-storages table
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
@ -29,4 +30,4 @@ list-storages ${tc}
... 1 --display-transform-src='dev' List storage: ${SPACE}Skipping storage 'Physical memory': no type or no matching filter type ${SPACE}Skipping storage 'Swap space': no type or no matching filter type ${SPACE}Skipping storage 'Available memory': no type or no matching filter type ${SPACE}Skipping storage 'Virtual memory': no type or no matching filter type ${SPACE}'/run' [size = 206262272B] [id = 35] ${SPACE} '/' [size = 105088212992B] [id = 36] ${SPACE} '//shm' [size = 1031299072B] [id = 38] ${SPACE} '/run/lock' [size = 5242880B] [id = 39] ${SPACE}'/run/user/0' [size = 206258176B] [id = 55] ${SPACE} Skipping storage 'Memory buffers': no type or no matching filter type ${SPACE} Skipping storage 'Cached memory': no type or no matching filter type ${SPACE} Skipping storage 'Shared memory': no type or no matching filter type
... 2 --display-transform-dst='run' List storage: ${SPACE}Skipping storage 'Physical memory': no type or no matching filter type ${SPACE}Skipping storage 'Swap space': no type or no matching filter type ${SPACE}Skipping storage 'Available memory': no type or no matching filter type ${SPACE}Skipping storage 'Virtual memory': no type or no matching filter type ${SPACE}'/run' [size = 206262272B] [id = 35] ${SPACE}'/' [size = 105088212992B] [id = 36] ${SPACE}'/dev/shm' [size = 1031299072B] [id = 38] ${SPACE}'/run/lock' [size = 5242880B] [id = 39] ${SPACE}'/run/user/0' [size = 206258176B] [id = 55] ${SPACE}Skipping storage 'Memory buffers': no type or no matching filter type Skipping storage 'Cached memory': no type or no matching filter type ${SPACE}Skipping storage 'Shared memory': no type or no matching filter type
... 3 --filter-storage-type='' List storage: ${SPACE}'Physical memory' [size = 2062598144B] [id = 1] ${SPACE}'Swap space' [size = 0B] [id = 10] ${SPACE}'Available memory' [size = 1143980032B] [id = 11]${SPACE} 'Virtual memory' [size = 2062598144B] [id = 3] ${SPACE}'/run' [size = 206262272B] [id = 35] '/' [size = 105088212992B] [id = 36] ${SPACE}'/dev/shm' [size = 1031299072B] [id = 38] ${SPACE}'/run/lock' [size = 5242880B] [id = 39] ${SPACE}'/run/user/0' [size = 206258176B] [id = 55] ${SPACE}'Memory buffers' [size = 2062598144B] [id = 6] ${SPACE}'Cached memory' [size = 523030528B] [id = 7] ${SPACE}'Shared memory' [size = 30310400B] [id = 8]
... 4 --filter-storage-type='^(hrStorageFixedDisk|hrStorageNetworkDisk|hrFSBerkeleyFFS)$' List storage: ${SPACE}Skipping storage 'Physical memory': no type or no matching filter type ${SPACE}Skipping storage 'Swap space': no type or no matching filter type ${SPACE}Skipping storage 'Available memory': no type or no matching filter type ${SPACE}Skipping storage 'Virtual memory': no type or no matching filter type ${SPACE}'/run' [size = 206262272B] [id = 35]${SPACE} '/' [size = 105088212992B] [id = 36] ${SPACE}'/dev/shm' [size = 1031299072B] [id = 38] ${SPACE}'/run/lock' [size = 5242880B] [id = 39] ${SPACE}'/run/user/0' [size = 206258176B] [id = 55] ${SPACE}Skipping storage 'Memory buffers': no type or no matching filter type ${SPACE}Skipping storage 'Cached memory': no type or no matching filter type ${SPACE}Skipping storage 'Shared memory': no type or no matching filter type
... 4 --filter-storage-type='^(hrStorageFixedDisk|hrStorageNetworkDisk|hrFSBerkeleyFFS)$' List storage: ${SPACE}Skipping storage 'Physical memory': no type or no matching filter type ${SPACE}Skipping storage 'Swap space': no type or no matching filter type ${SPACE}Skipping storage 'Available memory': no type or no matching filter type ${SPACE}Skipping storage 'Virtual memory': no type or no matching filter type ${SPACE}'/run' [size = 206262272B] [id = 35]${SPACE} '/' [size = 105088212992B] [id = 36] ${SPACE}'/dev/shm' [size = 1031299072B] [id = 38] ${SPACE}'/run/lock' [size = 5242880B] [id = 39] ${SPACE}'/run/user/0' [size = 206258176B] [id = 55] ${SPACE}Skipping storage 'Memory buffers': no type or no matching filter type ${SPACE}Skipping storage 'Cached memory': no type or no matching filter type ${SPACE}Skipping storage 'Shared memory': no type or no matching filter type

View File

@ -3,6 +3,7 @@ Documentation Check memory table
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s

View File

@ -3,6 +3,7 @@ Documentation Network table
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s

View File

@ -3,6 +3,7 @@ Documentation Check processcount table
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
@ -27,6 +28,6 @@ processcount ${tc}
Examples: tc extra_options expected_result --
... 1 --critical-cpu-total OK: Number of current processes running: 86 | 'nbproc'=86;;;0;
... 2 --top OK: Number of current processes running: 86 | 'nbproc'=86;;;0; 'top_gorgone-proxy'=324349952B;;;0; 'top_mariadbd'=298323968B;;;0; 'top_apache2'=251240448B;;;0; 'top_telegraf'=127754240B;;;0; 'top_perl'=126619648B;;;0;
... 2 --top OK: Number of current processes running: 86 | 'nbproc'=86;;;0; 'top_gorgone-proxy'=324349952B;;;0; 'top_Anonymized 068'=298323968B;;;0; 'top_Anonymized 148'=127754240B;;;0; 'top_Anonymized 054'=79663104B;;;0; 'top_gorgone-autodis'=72368128B;;;0;
... 3 --top-num OK: Number of current processes running: 86 | 'nbproc'=86;;;0;
... 4 --top-size OK: Number of current processes running: 86 | 'nbproc'=86;;;0;
... 4 --top-size OK: Number of current processes running: 86 | 'nbproc'=86;;;0;

View File

@ -3,6 +3,7 @@ Documentation Check storage table
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s

View File

@ -3,6 +3,7 @@ Documentation Check swap table
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
@ -36,4 +37,4 @@ swap ${tc}
... 2 '' ${EMPTY} ${EMPTY} ${EMPTY} ${EMPTY} ${EMPTY} ${EMPTY} OK: Swap Total: 976.00 MB Used: 0.00 B (0.00%) Free: 976.00 MB (100.00%) | 'used'=0B;;;0;1023406080 'free'=1023406080B;;;0;1023406080 'used_prct'=0.00%;;;0;100
... 3 ${EMPTY} ${EMPTY} '10' ${EMPTY} ${EMPTY} '30' ${EMPTY} CRITICAL: Swap Total: 976.00 MB Used: 0.00 B (0.00%) Free: 976.00 MB (100.00%) | 'used'=0B;;;0;1023406080 'free'=1023406080B;0:10;0:30;0;1023406080 'used_prct'=0.00%;;;0;100
... 4 ${EMPTY} '100' ${EMPTY} ${EMPTY} '100' ${EMPTY} ${EMPTY} OK: Swap Total: 976.00 MB Used: 0.00 B (0.00%) Free: 976.00 MB (100.00%) | 'used'=0B;0:100;0:100;0;1023406080 'free'=1023406080B;;;0;1023406080 'used_prct'=0.00%;;;0;100
... 5 ${EMPTY} ${EMPTY} '100' ${EMPTY} ${EMPTY} ${EMPTY} ${EMPTY} WARNING: Swap Total: 976.00 MB Used: 0.00 B (0.00%) Free: 976.00 MB (100.00%) | 'used'=0B;;;0;1023406080 'free'=1023406080B;0:100;;0;1023406080 'used_prct'=0.00%;;;0;100
... 5 ${EMPTY} ${EMPTY} '100' ${EMPTY} ${EMPTY} ${EMPTY} ${EMPTY} WARNING: Swap Total: 976.00 MB Used: 0.00 B (0.00%) Free: 976.00 MB (100.00%) | 'used'=0B;;;0;1023406080 'free'=1023406080B;0:100;;0;1023406080 'used_prct'=0.00%;;;0;100

View File

@ -3,6 +3,7 @@ Documentation Check uptime table
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
@ -29,10 +30,10 @@ uptime ${tc}
... 1 --warning-uptime='2' WARNING: System uptime is: 38m 39s | 'uptime'=2319.00s;0:2;;0;
... 2 --warning-uptime='1' WARNING: System uptime is: 38m 39s | 'uptime'=2319.00s;0:1;;0;
... 3 --critical-uptime='2' CRITICAL: System uptime is: 38m 39s | 'uptime'=2319.00s;;0:2;0;
... 4 --add-sysdesc OK: System uptime is: 38m 39s, Linux central-deb-24-04 6.1.0-23-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.99-1 (2024-07-15) x86_64 | 'uptime'=2319.00s;;;0;
... 4 --add-sysdesc OK: System uptime is: 38m 39s, Anonymized 023 | 'uptime'=2319.00s;;;0;
... 5 --critical-uptime='1' CRITICAL: System uptime is: 38m 39s | 'uptime'=2319.00s;;0:1;0;
... 6 --check-overload OK: System uptime is: 38m 39s | 'uptime'=2319.00s;;;0;
... 7 --reboot-window OK: System uptime is: 38m 39s | 'uptime'=2319.00s;;;0;
... 8 --unit='h' OK: System uptime is: 38m 39s | 'uptime'=0.64h;;;0;
... 9 --unit='m' OK: System uptime is: 38m 39s | 'uptime'=38.65m;;;0;
... 10 --unit='s' OK: System uptime is: 38m 39s | 'uptime'=2319.00s;;;0;
... 10 --unit='s' OK: System uptime is: 38m 39s | 'uptime'=2319.00s;;;0;

View File

@ -0,0 +1,36 @@
*** Settings ***
Documentation Check Windows operating systems in SNMP.
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
*** Variables ***
${CMD} ${CENTREON_PLUGINS}
*** Test Cases ***
cpu ${tc}
[Tags] os Windows
${command} Catenate
... ${CMD}
... --plugin=os::windows::snmp::plugin
... --mode=cpu
... --hostname=${HOSTNAME}
... --snmp-version=${SNMPVERSION}
... --snmp-port=${SNMPPORT}
... --snmp-community=os/windows/snmp/windows_anon
... --snmp-timeout=1
... --critical-average=${critical-average}
... --warning-average=${warning-average}
... --warning-core=${warning-core}
... --critical-core=${critical-core}
Ctn Run Command And Check Result As Strings ${command} ${expected_result}
Examples: tc critical-average warning-average warning-core critical-core expected_result --
... 2 '90' '80' ${EMPTY} ${EMPTY} OK: 2 CPU(s) average usage is 0.50 % | 'total_cpu_avg'=0.50%;0:80;0:90;0;100 'cpu_0'=1.00%;;;0;100 'cpu_1'=0.00%;;;0;100
... 3 '1180' '0' ${EMPTY} ${EMPTY} WARNING: 2 CPU(s) average usage is 0.50 % | 'total_cpu_avg'=0.50%;0:0;0:1180;0;100 'cpu_0'=1.00%;;;0;100 'cpu_1'=0.00%;;;0;100
... 4 ${EMPTY} ${EMPTY} '0' '0' CRITICAL: CPU '0' usage : 1.00 % | 'total_cpu_avg'=0.50%;;;0;100 'cpu_0'=1.00%;0:0;0:0;0;100 'cpu_1'=0.00%;0:0;0:0;0;100
... 5 '0' '0' ${EMPTY} ${EMPTY} CRITICAL: 2 CPU(s) average usage is 0.50 % | 'total_cpu_avg'=0.50%;0:0;0:0;0;100 'cpu_0'=1.00%;;;0;100 'cpu_1'=0.00%;;;0;100

View File

@ -0,0 +1,33 @@
*** Settings ***
Documentation Check Windows operating systems in SNMP.
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
*** Variables ***
${CMD} ${CENTREON_PLUGINS}
*** Test Cases ***
interfaces ${tc}
[Tags] os Windows
${command} Catenate
... ${CMD}
... --plugin=os::windows::snmp::plugin
... --mode=interfaces
... --hostname=${HOSTNAME}
... --snmp-version=${SNMPVERSION}
... --snmp-port=${SNMPPORT}
... --snmp-community=os/windows/snmp/interfaces
... --snmp-timeout=1
... ${extra_options}
Ctn Run Command And Check Result As Strings ${command} ${expected_result}
Examples: tc extra_options expected_result --
... 1 --verbose CRITICAL: Interface 'Anonymized 232' Status : down (admin: up) - Interface 'Anonymized 184' Status : down (admin: up) - Interface 'Anonymized 101' Status : down (admin: up) - Interface 'Anonymized 012' Status : down (admin: up) - Interface 'Anonymized 232' Status : down (admin: up) - Interface 'Anonymized 072' Status : down (admin: up)${SPACE}Interface 'Anonymized 250' Status : up (admin: up)${SPACE}Interface 'Anonymized 012' Status : notPresent (admin: down)${SPACE}Interface 'Anonymized 118' Status : notPresent (admin: down)${SPACE}Interface 'Anonymized 073' Status : up (admin: up)${SPACE}Interface 'Anonymized 071' Status : up (admin: up)${SPACE}Interface 'Anonymized 073' Status : up (admin: up)${SPACE}Interface 'Anonymized 232' Status : down (admin: up)${SPACE}Interface 'Anonymized 191' Status : up (admin: up)${SPACE}Interface 'Anonymized 242' Status : up (admin: up)${SPACE}Interface 'Anonymized 175' Status : up (admin: up)${SPACE}Interface 'Anonymized 128' Status : up (admin: up)${SPACE}Interface 'Anonymized 037' Status : notPresent (admin: down)${SPACE}Interface 'Anonymized 080' Status : up (admin: up)${SPACE}Interface 'Anonymized 229' Status : up (admin: up)${SPACE}Interface 'Anonymized 248' Status : up (admin: up)${SPACE}Interface 'Anonymized 092' Status : up (admin: up)${SPACE}Interface 'Anonymized 187' Status : up (admin: up)${SPACE}Interface 'Anonymized 184' Status : down (admin: up)${SPACE}Interface 'Anonymized 101' Status : down (admin: up)${SPACE}Interface 'Anonymized 252' Status : notPresent (admin: down)${SPACE}Interface 'Anonymized 012' Status : down (admin: up)${SPACE}Interface 'Anonymized 232' Status : down (admin: up)${SPACE}Interface 'Anonymized 072' Status : down (admin: up)${SPACE}Interface 'Anonymized 037' Status : up (admin: up)
... 2 --display-transform-src='eth' --display-transform-dst='ens' CRITICAL: Interface 'Anonymized 232' Status : down (admin: up) - Interface 'Anonymized 184' Status : down (admin: up) - Interface 'Anonymized 101' Status : down (admin: up) - Interface 'Anonymized 012' Status : down (admin: up) - Interface 'Anonymized 232' Status : down (admin: up) - Interface 'Anonymized 072' Status : down (admin: up)
... 3 --oid-display='ifName' CRITICAL: Interface 'Anonymized 232' Status : down (admin: up) - Interface 'Anonymized 184' Status : down (admin: up) - Interface 'Anonymized 101' Status : down (admin: up) - Interface 'Anonymized 012' Status : down (admin: up) - Interface 'Anonymized 232' Status : down (admin: up) - Interface 'Anonymized 072' Status : down (admin: up)
... 4 --oid-extra-display='ifDesc' CRITICAL: Interface 'Anonymized 232' [ WAN Miniport (L2TP) ] Status : down (admin: up) - Interface 'Anonymized 184' [ WAN Miniport (IKEv2) ] Status : down (admin: up) - Interface 'Anonymized 101' [ WAN Miniport (SSTP) ] Status : down (admin: up) - Interface 'Anonymized 012' [ WAN Miniport (GRE) ] Status : down (admin: up) - Interface 'Anonymized 232' [ WAN Miniport (PPPOE) ] Status : down (admin: up) - Interface 'Anonymized 072' [ WAN Miniport (PPTP) ] Status : down (admin: up)

View File

@ -0,0 +1,626 @@
.1.3.6.1.2.1.2.2.1.2.1 = Hex-STRING: 53 6F 66 74 77 61 72 65 20 4C 6F 6F 70 62 61 63 6B 20 49 6E 74 65 72 66 61 63 65 20 31 00
.1.3.6.1.2.1.2.2.1.2.2 = Hex-STRING: 4D 69 63 72 6F 73 6F 66 74 20 36 74 6F 34 20 41 64 61 70 74 65 72 00
.1.3.6.1.2.1.2.2.1.2.3 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 49 4B 45 76 32 29 00
.1.3.6.1.2.1.2.2.1.2.4 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 53 53 54 50 29 00
.1.3.6.1.2.1.2.2.1.2.5 = Hex-STRING: 4D 69 63 72 6F 73 6F 66 74 20 49 50 2D 48 54 54 50 53 20 50 6C 61 74 66 6F 72 6D 20 41 64 61 70 74 65 72 00
.1.3.6.1.2.1.2.2.1.2.6 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 47 52 45 29 00
.1.3.6.1.2.1.2.2.1.2.7 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 50 50 50 4F 45 29 00
.1.3.6.1.2.1.2.2.1.2.8 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 50 50 54 50 29 00
.1.3.6.1.2.1.2.2.1.2.9 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 49 50 76 36 29 00
.1.3.6.1.2.1.2.2.1.2.10 = Hex-STRING: 4D 69 63 72 6F 73 6F 66 74 20 4B 65 72 6E 65 6C 20 44 65 62 75 67 20 4E 65 74 77 6F 72 6B 20 41 64 61 70 74 65 72 00
.1.3.6.1.2.1.2.2.1.2.11 = Hex-STRING: 4D 69 63 72 6F 73 6F 66 74 20 54 65 72 65 64 6F 20 54 75 6E 6E 65 6C 69 6E 67 20 41 64 61 70 74 65 72 00
.1.3.6.1.2.1.2.2.1.2.12 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 4E 65 74 77 6F 72 6B 20 4D 6F 6E 69 74 6F 72 29 00
.1.3.6.1.2.1.2.2.1.2.13 = Hex-STRING: 49 6E 74 65 6C 28 52 29 20 38 32 35 37 34 4C 20 47 69 67 61 62 69 74 20 4E 65 74 77 6F 72 6B 20 43 6F 6E 6E 65 63 74 69 6F 6E 00
.1.3.6.1.2.1.2.2.1.2.14 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 49 50 29 00
.1.3.6.1.2.1.2.2.1.2.15 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 4C 32 54 50 29 00
.1.3.6.1.2.1.2.2.1.2.16 = Hex-STRING: 49 6E 74 65 6C 28 52 29 20 38 32 35 37 34 4C 20 47 69 67 61 62 69 74 20 4E 65 74 77 6F 72 6B 20 43 6F 6E 6E 65 63 74 69 6F 6E 2D 57 46 50 20 4E 61 74 69 76 65 20 4D 41 43 20 4C 61 79 65 72 20 4C 69 67 68 74 57 65 69 67 68 74 20 46 69 6C 74 65 72 2D 30 30 30 30 00
.1.3.6.1.2.1.2.2.1.2.17 = Hex-STRING: 49 6E 74 65 6C 28 52 29 20 38 32 35 37 34 4C 20 47 69 67 61 62 69 74 20 4E 65 74 77 6F 72 6B 20 43 6F 6E 6E 65 63 74 69 6F 6E 2D 51 6F 53 20 50 61 63 6B 65 74 20 53 63 68 65 64 75 6C 65 72 2D 30 30 30 30 00
.1.3.6.1.2.1.2.2.1.2.18 = Hex-STRING: 49 6E 74 65 6C 28 52 29 20 38 32 35 37 34 4C 20
.1.3.6.1.2.1.2.2.1.2.19 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 49 50
.1.3.6.1.2.1.2.2.1.2.20 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 49 50
.1.3.6.1.2.1.2.2.1.2.21 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 49 50
.1.3.6.1.2.1.2.2.1.2.22 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 49 50
.1.3.6.1.2.1.2.2.1.2.23 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 4E 65
.1.3.6.1.2.1.2.2.1.2.24 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 4E 65
.1.3.6.1.2.1.2.2.1.3.1 = INTEGER: 24
.1.3.6.1.2.1.2.2.1.3.2 = INTEGER: 131
.1.3.6.1.2.1.2.2.1.3.3 = INTEGER: 131
.1.3.6.1.2.1.2.2.1.3.4 = INTEGER: 131
.1.3.6.1.2.1.2.2.1.3.5 = INTEGER: 131
.1.3.6.1.2.1.2.2.1.3.6 = INTEGER: 131
.1.3.6.1.2.1.2.2.1.3.7 = INTEGER: 23
.1.3.6.1.2.1.2.2.1.3.8 = INTEGER: 131
.1.3.6.1.2.1.2.2.1.3.9 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.10 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.11 = INTEGER: 131
.1.3.6.1.2.1.2.2.1.3.12 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.13 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.14 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.15 = INTEGER: 131
.1.3.6.1.2.1.2.2.1.3.16 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.17 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.18 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.19 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.20 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.21 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.22 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.23 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.24 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.5.1 = Gauge32: 1073741824
.1.3.6.1.2.1.2.2.1.5.2 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.3 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.4 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.5 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.6 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.7 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.8 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.9 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.10 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.11 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.12 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.13 = Gauge32: 1000000000
.1.3.6.1.2.1.2.2.1.5.14 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.15 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.16 = Gauge32: 1000000000
.1.3.6.1.2.1.2.2.1.5.17 = Gauge32: 1000000000
.1.3.6.1.2.1.2.2.1.5.18 = Gauge32: 1000000000
.1.3.6.1.2.1.2.2.1.5.19 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.20 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.21 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.22 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.23 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.24 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.7.1 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.2 = INTEGER: 2
.1.3.6.1.2.1.2.2.1.7.3 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.4 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.5 = INTEGER: 2
.1.3.6.1.2.1.2.2.1.7.6 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.7 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.8 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.9 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.10 = INTEGER: 2
.1.3.6.1.2.1.2.2.1.7.11 = INTEGER: 2
.1.3.6.1.2.1.2.2.1.7.12 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.13 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.14 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.15 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.16 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.17 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.18 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.19 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.20 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.21 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.22 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.23 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.24 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.1 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.2 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.8.3 = INTEGER: 2
.1.3.6.1.2.1.2.2.1.8.4 = INTEGER: 2
.1.3.6.1.2.1.2.2.1.8.5 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.8.6 = INTEGER: 2
.1.3.6.1.2.1.2.2.1.8.7 = INTEGER: 2
.1.3.6.1.2.1.2.2.1.8.8 = INTEGER: 2
.1.3.6.1.2.1.2.2.1.8.9 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.10 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.8.11 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.8.12 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.13 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.14 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.15 = INTEGER: 2
.1.3.6.1.2.1.2.2.1.8.16 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.17 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.18 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.19 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.20 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.21 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.22 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.23 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.24 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.10.1 = Counter32: 0
.1.3.6.1.2.1.2.2.1.10.2 = Counter32: 0
.1.3.6.1.2.1.2.2.1.10.3 = Counter32: 0
.1.3.6.1.2.1.2.2.1.10.4 = Counter32: 0
.1.3.6.1.2.1.2.2.1.10.5 = Counter32: 0
.1.3.6.1.2.1.2.2.1.10.6 = Counter32: 0
.1.3.6.1.2.1.2.2.1.10.7 = Counter32: 0
.1.3.6.1.2.1.2.2.1.10.8 = Counter32: 0
.1.3.6.1.2.1.2.2.1.10.9 = Counter32: 0
.1.3.6.1.2.1.2.2.1.10.10 = Counter32: 0
.1.3.6.1.2.1.2.2.1.10.11 = Counter32: 0
.1.3.6.1.2.1.2.2.1.10.12 = Counter32: 0
.1.3.6.1.2.1.2.2.1.10.13 = Counter32: 14239162
.1.3.6.1.2.1.2.2.1.10.14 = Counter32: 0
.1.3.6.1.2.1.2.2.1.10.15 = Counter32: 0
.1.3.6.1.2.1.2.2.1.10.16 = Counter32: 14239162
.1.3.6.1.2.1.2.2.1.10.17 = Counter32: 14239162
.1.3.6.1.2.1.2.2.1.10.18 = Counter32: 14239162
.1.3.6.1.2.1.2.2.1.10.19 = Counter32: 0
.1.3.6.1.2.1.2.2.1.10.20 = Counter32: 0
.1.3.6.1.2.1.2.2.1.10.21 = Counter32: 0
.1.3.6.1.2.1.2.2.1.10.22 = Counter32: 0
.1.3.6.1.2.1.2.2.1.10.23 = Counter32: 0
.1.3.6.1.2.1.2.2.1.10.24 = Counter32: 0
.1.3.6.1.2.1.2.2.1.11.1 = Counter32: 0
.1.3.6.1.2.1.2.2.1.11.2 = Counter32: 0
.1.3.6.1.2.1.2.2.1.11.3 = Counter32: 0
.1.3.6.1.2.1.2.2.1.11.4 = Counter32: 0
.1.3.6.1.2.1.2.2.1.11.5 = Counter32: 0
.1.3.6.1.2.1.2.2.1.11.6 = Counter32: 0
.1.3.6.1.2.1.2.2.1.11.7 = Counter32: 0
.1.3.6.1.2.1.2.2.1.11.8 = Counter32: 0
.1.3.6.1.2.1.2.2.1.11.9 = Counter32: 0
.1.3.6.1.2.1.2.2.1.11.10 = Counter32: 0
.1.3.6.1.2.1.2.2.1.11.11 = Counter32: 0
.1.3.6.1.2.1.2.2.1.11.12 = Counter32: 0
.1.3.6.1.2.1.2.2.1.11.13 = Counter32: 92632
.1.3.6.1.2.1.2.2.1.11.14 = Counter32: 0
.1.3.6.1.2.1.2.2.1.11.15 = Counter32: 0
.1.3.6.1.2.1.2.2.1.11.16 = Counter32: 92632
.1.3.6.1.2.1.2.2.1.11.17 = Counter32: 92632
.1.3.6.1.2.1.2.2.1.11.18 = Counter32: 92632
.1.3.6.1.2.1.2.2.1.11.19 = Counter32: 0
.1.3.6.1.2.1.2.2.1.11.20 = Counter32: 0
.1.3.6.1.2.1.2.2.1.11.21 = Counter32: 0
.1.3.6.1.2.1.2.2.1.11.22 = Counter32: 0
.1.3.6.1.2.1.2.2.1.11.23 = Counter32: 0
.1.3.6.1.2.1.2.2.1.11.24 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.1 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.2 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.3 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.4 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.5 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.6 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.7 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.8 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.9 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.10 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.11 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.12 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.13 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.14 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.15 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.16 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.17 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.18 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.19 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.20 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.21 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.22 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.23 = Counter32: 0
.1.3.6.1.2.1.2.2.1.13.24 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.1 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.2 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.3 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.4 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.5 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.6 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.7 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.8 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.9 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.10 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.11 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.12 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.13 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.14 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.15 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.16 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.17 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.18 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.19 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.20 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.21 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.22 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.23 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.24 = Counter32: 0
.1.3.6.1.2.1.2.2.1.16.1 = Counter32: 0
.1.3.6.1.2.1.2.2.1.16.2 = Counter32: 0
.1.3.6.1.2.1.2.2.1.16.3 = Counter32: 0
.1.3.6.1.2.1.2.2.1.16.4 = Counter32: 0
.1.3.6.1.2.1.2.2.1.16.5 = Counter32: 0
.1.3.6.1.2.1.2.2.1.16.6 = Counter32: 0
.1.3.6.1.2.1.2.2.1.16.7 = Counter32: 0
.1.3.6.1.2.1.2.2.1.16.8 = Counter32: 0
.1.3.6.1.2.1.2.2.1.16.9 = Counter32: 0
.1.3.6.1.2.1.2.2.1.16.10 = Counter32: 0
.1.3.6.1.2.1.2.2.1.16.11 = Counter32: 0
.1.3.6.1.2.1.2.2.1.16.12 = Counter32: 0
.1.3.6.1.2.1.2.2.1.16.13 = Counter32: 3805868
.1.3.6.1.2.1.2.2.1.16.14 = Counter32: 0
.1.3.6.1.2.1.2.2.1.16.15 = Counter32: 0
.1.3.6.1.2.1.2.2.1.16.16 = Counter32: 3805868
.1.3.6.1.2.1.2.2.1.16.17 = Counter32: 3805868
.1.3.6.1.2.1.2.2.1.16.18 = Counter32: 3805868
.1.3.6.1.2.1.2.2.1.16.19 = Counter32: 0
.1.3.6.1.2.1.2.2.1.16.20 = Counter32: 0
.1.3.6.1.2.1.2.2.1.16.21 = Counter32: 0
.1.3.6.1.2.1.2.2.1.16.22 = Counter32: 0
.1.3.6.1.2.1.2.2.1.16.23 = Counter32: 0
.1.3.6.1.2.1.2.2.1.16.24 = Counter32: 0
.1.3.6.1.2.1.2.2.1.17.1 = Counter32: 0
.1.3.6.1.2.1.2.2.1.17.2 = Counter32: 0
.1.3.6.1.2.1.2.2.1.17.3 = Counter32: 0
.1.3.6.1.2.1.2.2.1.17.4 = Counter32: 0
.1.3.6.1.2.1.2.2.1.17.5 = Counter32: 0
.1.3.6.1.2.1.2.2.1.17.6 = Counter32: 0
.1.3.6.1.2.1.2.2.1.17.7 = Counter32: 0
.1.3.6.1.2.1.2.2.1.17.8 = Counter32: 0
.1.3.6.1.2.1.2.2.1.17.9 = Counter32: 0
.1.3.6.1.2.1.2.2.1.17.10 = Counter32: 0
.1.3.6.1.2.1.2.2.1.17.11 = Counter32: 0
.1.3.6.1.2.1.2.2.1.17.12 = Counter32: 0
.1.3.6.1.2.1.2.2.1.17.13 = Counter32: 44005
.1.3.6.1.2.1.2.2.1.17.14 = Counter32: 0
.1.3.6.1.2.1.2.2.1.17.15 = Counter32: 0
.1.3.6.1.2.1.2.2.1.17.16 = Counter32: 44005
.1.3.6.1.2.1.2.2.1.17.17 = Counter32: 44005
.1.3.6.1.2.1.2.2.1.17.18 = Counter32: 44005
.1.3.6.1.2.1.2.2.1.17.19 = Counter32: 0
.1.3.6.1.2.1.2.2.1.17.20 = Counter32: 0
.1.3.6.1.2.1.2.2.1.17.21 = Counter32: 0
.1.3.6.1.2.1.2.2.1.17.22 = Counter32: 0
.1.3.6.1.2.1.2.2.1.17.23 = Counter32: 0
.1.3.6.1.2.1.2.2.1.17.24 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.1 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.2 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.3 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.4 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.5 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.6 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.7 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.8 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.9 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.10 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.11 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.12 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.13 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.14 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.15 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.16 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.17 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.18 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.19 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.20 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.21 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.22 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.23 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.24 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.1 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.2 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.3 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.4 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.5 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.6 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.7 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.8 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.9 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.10 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.11 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.12 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.13 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.14 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.15 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.16 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.17 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.18 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.19 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.20 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.21 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.22 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.23 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.24 = Counter32: 0
.1.3.6.1.2.1.2.2.1.21.1 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.2 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.3 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.4 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.5 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.6 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.7 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.8 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.9 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.10 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.11 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.12 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.13 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.14 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.15 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.16 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.17 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.18 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.19 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.20 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.21 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.22 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.23 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.24 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.22.1 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.2 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.3 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.4 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.5 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.6 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.7 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.8 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.9 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.10 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.11 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.12 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.13 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.14 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.15 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.16 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.17 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.18 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.19 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.20 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.21 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.22 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.23 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.24 = OID: .0.0
.1.3.6.1.2.1.4.20.1.2.127.0.0.1 = INTEGER: 1
.1.3.6.1.2.1.4.20.1.2.172.16.20.120 = INTEGER: 13
.1.3.6.1.2.1.31.1.1.1.1.1 = STRING: Anonymized 250
.1.3.6.1.2.1.31.1.1.1.1.2 = STRING: Anonymized 037
.1.3.6.1.2.1.31.1.1.1.1.3 = STRING: Anonymized 184
.1.3.6.1.2.1.31.1.1.1.1.4 = STRING: Anonymized 101
.1.3.6.1.2.1.31.1.1.1.1.5 = STRING: Anonymized 252
.1.3.6.1.2.1.31.1.1.1.1.6 = STRING: Anonymized 012
.1.3.6.1.2.1.31.1.1.1.1.7 = STRING: Anonymized 232
.1.3.6.1.2.1.31.1.1.1.1.8 = STRING: Anonymized 072
.1.3.6.1.2.1.31.1.1.1.1.9 = STRING: Anonymized 037
.1.3.6.1.2.1.31.1.1.1.1.10 = STRING: Anonymized 012
.1.3.6.1.2.1.31.1.1.1.1.11 = STRING: Anonymized 118
.1.3.6.1.2.1.31.1.1.1.1.12 = STRING: Anonymized 073
.1.3.6.1.2.1.31.1.1.1.1.13 = STRING: Anonymized 071
.1.3.6.1.2.1.31.1.1.1.1.14 = STRING: Anonymized 073
.1.3.6.1.2.1.31.1.1.1.1.15 = STRING: Anonymized 232
.1.3.6.1.2.1.31.1.1.1.1.16 = STRING: Anonymized 191
.1.3.6.1.2.1.31.1.1.1.1.17 = STRING: Anonymized 242
.1.3.6.1.2.1.31.1.1.1.1.18 = STRING: Anonymized 175
.1.3.6.1.2.1.31.1.1.1.1.19 = STRING: Anonymized 128
.1.3.6.1.2.1.31.1.1.1.1.20 = STRING: Anonymized 080
.1.3.6.1.2.1.31.1.1.1.1.21 = STRING: Anonymized 229
.1.3.6.1.2.1.31.1.1.1.1.22 = STRING: Anonymized 248
.1.3.6.1.2.1.31.1.1.1.1.23 = STRING: Anonymized 092
.1.3.6.1.2.1.31.1.1.1.1.24 = STRING: Anonymized 187
.1.3.6.1.2.1.31.1.1.1.2.1 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.2.2 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.2.3 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.2.4 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.2.5 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.2.6 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.2.7 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.2.8 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.2.9 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.2.10 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.2.11 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.2.12 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.2.13 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.2.14 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.2.15 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.2.16 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.2.17 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.2.18 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.2.19 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.2.20 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.2.21 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.2.22 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.2.23 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.2.24 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.1 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.2 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.3 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.4 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.5 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.6 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.7 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.8 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.9 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.10 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.11 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.12 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.13 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.14 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.15 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.16 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.17 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.18 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.19 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.20 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.21 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.22 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.23 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.3.24 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.1 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.2 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.3 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.4 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.5 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.6 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.7 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.8 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.9 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.10 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.11 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.12 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.13 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.14 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.15 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.16 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.17 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.18 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.19 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.20 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.21 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.22 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.23 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.4.24 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.1 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.2 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.3 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.4 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.5 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.6 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.7 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.8 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.9 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.10 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.11 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.12 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.13 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.14 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.15 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.16 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.17 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.18 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.19 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.20 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.21 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.22 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.23 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.5.24 = Counter32: 0
.1.3.6.1.2.1.31.1.1.1.14.1 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.2 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.3 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.4 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.5 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.6 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.7 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.8 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.9 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.10 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.11 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.12 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.13 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.14 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.15 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.16 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.17 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.18 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.19 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.20 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.21 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.22 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.23 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.24 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.15.1 = Gauge32: 1073
.1.3.6.1.2.1.31.1.1.1.15.2 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.3 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.4 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.5 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.6 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.7 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.8 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.9 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.10 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.11 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.12 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.13 = Gauge32: 1000
.1.3.6.1.2.1.31.1.1.1.15.14 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.15 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.16 = Gauge32: 1000
.1.3.6.1.2.1.31.1.1.1.15.17 = Gauge32: 1000
.1.3.6.1.2.1.31.1.1.1.15.18 = Gauge32: 1000
.1.3.6.1.2.1.31.1.1.1.15.19 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.20 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.21 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.22 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.23 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.24 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.16.1 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.2 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.3 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.4 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.5 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.6 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.7 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.8 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.9 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.10 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.11 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.12 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.13 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.14 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.15 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.16 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.17 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.18 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.19 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.20 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.21 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.22 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.23 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.24 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.1 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.2 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.3 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.4 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.5 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.6 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.7 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.8 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.9 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.10 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.11 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.12 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.13 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.17.14 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.15 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.16 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.17 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.18 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.19 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.20 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.21 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.22 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.23 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.24 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.18.1 = STRING: Anonymized 154
.1.3.6.1.2.1.31.1.1.1.18.2 = STRING: Anonymized 242
.1.3.6.1.2.1.31.1.1.1.18.3 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73 65 61 75 20 6C 6F 63 61 6C 2A 20 32
.1.3.6.1.2.1.31.1.1.1.18.4 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73 65 61 75 20 6C 6F 63 61 6C 2A 20 31
.1.3.6.1.2.1.31.1.1.1.18.5 = STRING: Anonymized 149
.1.3.6.1.2.1.31.1.1.1.18.6 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73 65 61 75 20 6C 6F 63 61 6C 2A 20 36
.1.3.6.1.2.1.31.1.1.1.18.7 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73 65 61 75 20 6C 6F 63 61 6C 2A 20 35
.1.3.6.1.2.1.31.1.1.1.18.8 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73 65 61 75 20 6C 6F 63 61 6C 2A 20 34
.1.3.6.1.2.1.31.1.1.1.18.9 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73 65 61 75 20 6C 6F 63 61 6C 2A 20 38
.1.3.6.1.2.1.31.1.1.1.18.10 = Hex-STRING: 45 74 68 65 72 6E 65 74 20 28 64 E9 62 6F 67 75 65 75 72 20 64 75 20 6E 6F 79 61 75 29
.1.3.6.1.2.1.31.1.1.1.18.11 = STRING: Anonymized 017
.1.3.6.1.2.1.31.1.1.1.18.12 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73 65 61 75 20 6C 6F 63 61 6C 2A 20 39
.1.3.6.1.2.1.31.1.1.1.18.13 = STRING: Anonymized 137
.1.3.6.1.2.1.31.1.1.1.18.14 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73 65 61 75 20 6C 6F 63 61 6C 2A 20 37
.1.3.6.1.2.1.31.1.1.1.18.15 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73 65 61 75 20 6C 6F 63 61 6C 2A 20 33
.1.3.6.1.2.1.31.1.1.1.18.16 = STRING: Anonymized 173
.1.3.6.1.2.1.31.1.1.1.18.17 = STRING: Anonymized 161
.1.3.6.1.2.1.31.1.1.1.18.18 = STRING: Anonymized 135
.1.3.6.1.2.1.31.1.1.1.18.19 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73
.1.3.6.1.2.1.31.1.1.1.18.20 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73
.1.3.6.1.2.1.31.1.1.1.18.21 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73
.1.3.6.1.2.1.31.1.1.1.18.22 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73
.1.3.6.1.2.1.31.1.1.1.18.23 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73
.1.3.6.1.2.1.31.1.1.1.18.24 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73
.1.3.6.1.2.1.31.1.1.1.19.1 = 0
.1.3.6.1.2.1.31.1.1.1.19.2 = 0
.1.3.6.1.2.1.31.1.1.1.19.3 = 0
.1.3.6.1.2.1.31.1.1.1.19.4 = 0
.1.3.6.1.2.1.31.1.1.1.19.5 = 0
.1.3.6.1.2.1.31.1.1.1.19.6 = 0
.1.3.6.1.2.1.31.1.1.1.19.7 = 0
.1.3.6.1.2.1.31.1.1.1.19.8 = 0
.1.3.6.1.2.1.31.1.1.1.19.9 = 0
.1.3.6.1.2.1.31.1.1.1.19.10 = 0
.1.3.6.1.2.1.31.1.1.1.19.11 = 0
.1.3.6.1.2.1.31.1.1.1.19.12 = 0
.1.3.6.1.2.1.31.1.1.1.19.13 = 0
.1.3.6.1.2.1.31.1.1.1.19.14 = 0
.1.3.6.1.2.1.31.1.1.1.19.15 = 0
.1.3.6.1.2.1.31.1.1.1.19.16 = 0
.1.3.6.1.2.1.31.1.1.1.19.17 = 0
.1.3.6.1.2.1.31.1.1.1.19.18 = 0
.1.3.6.1.2.1.31.1.1.1.19.19 = 0
.1.3.6.1.2.1.31.1.1.1.19.20 = 0
.1.3.6.1.2.1.31.1.1.1.19.21 = 0
.1.3.6.1.2.1.31.1.1.1.19.22 = 0
.1.3.6.1.2.1.31.1.1.1.19.23 = 0
.1.3.6.1.2.1.31.1.1.1.19.24 = 0

View File

@ -0,0 +1,31 @@
*** Settings ***
Documentation Check Windows operating systems in SNMP.
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
*** Variables ***
${CMD} ${CENTREON_PLUGINS} --plugin=os::windows::snmp::plugin
*** Test Cases ***
list-interfaces ${tc}
[Tags] os Windows
${command} Catenate
... ${CMD}
... --mode=list-interfaces
... --hostname=${HOSTNAME}
... --snmp-version=${SNMPVERSION}
... --snmp-port=${SNMPPORT}
... --snmp-community=os/windows/snmp/list-interfaces
... ${extra_options}
Ctn Verify Command Output ${command} ${expected_result}
Examples: tc extra_options expected_result --
... 1 --add-extra-oid='alias,.1.3.6.1.2.1.31.1.1.1.18' List interfaces:${SPACE}'loopback_0' [speed = 1073][status = up][id = 1][alias = Loopback Pseudo-Interface 1][type = softwareLoopback]
... 2 --add-extra-oid='vlan,.1.3.6.1.2.1.31.19,\\\%{instance}\..*' List interfaces:${SPACE}'loopback_0' [speed = 1073][status = up][id = 1][type = softwareLoopback]${SPACE}'ethernet_32768' [speed = ][status = notPresent][id = 10][type = ethernetCsmacd]
... 3 --add-mac-address='' List interfaces:${SPACE}'loopback_0' [speed = 1073][status = up][id = 1][macaddress = ][type = softwareLoopback]${SPACE}'ethernet_32768' [speed = ][status = notPresent][id = 10][macaddress = ][type = ethernetCsmacd]${SPACE}'tunnel_32512' [speed = ][status = notPresent][id = 11][macaddress = ][type = tunnel]${SPACE}'ethernet_32772' [speed = ][status = up][id = 12][macaddress = ][type = ethernetCsmacd]${SPACE}'ethernet_32769' [speed = 1000][status = up][id = 13][macaddress = 00:50:56:ab:a2:f7][type = ethernetCsmacd]${SPACE}'ethernet_32770' [speed = ][status = up][id = 14][macaddress = ][type = ethernetCsmacd]
... 4 --display-transform-src='eth' --display-transform-dst='ens' List interfaces:${SPACE}'loopback_0' [speed = 1073][status = up][id = 1][type = softwareLoopback]${SPACE}'ensernet_32768' [speed = ][status = notPresent][id = 10][type = ethernetCsmacd]${SPACE}'tunnel_32512' [speed = ][status = notPresent][id = 11][type = tunnel]${SPACE}'ensernet_32772' [speed = ][status = up][id = 12][type = ethernetCsmacd]${SPACE}'ensernet_32769' [speed = 1000][status = up][id = 13][type = ethernetCsmacd]${SPACE}'ensernet_32770' [speed = ][status = up][id = 14][type = ethernetCsmacd]${SPACE}'tunnel_32770' [speed = ][status = down][id = 15][type = tunnel]${SPACE}'ensernet_0' [speed = 1000][status = up][id = 16][type = ethernetCsmacd]${SPACE}'ensernet_1' [speed = 1000][status = up][id = 17][type = ethernetCsmacd]${SPACE}'ensernet_2' [speed = 1000][status = up][id = 18][type = ethernetCsmacd]${SPACE}'ensernet_3' [speed = ][status = up][id = 19][type = ethernetCsmacd]${SPACE}'tunnel_32514' [speed = ][status = notPresent][id = 2][type = tunnel]${SPACE}'ensernet_4' [speed = ][status = up][id = 20][type = ethernetCsmacd]${SPACE}'ensernet_5' [speed = ][status = up][id = 21][type = ethernetCsmacd]${SPACE}'ensernet_6' [speed = ][status = up][id = 22][type = ethernetCsmacd]${SPACE}'ensernet_7' [speed = ][status = up][id = 23][type = ethernetCsmacd]${SPACE}'ensernet_8' [speed = ][status = up][id = 24][type = ethernetCsmacd]${SPACE}'tunnel_32769' [speed = ][status = down][id = 3][type = tunnel]${SPACE}'tunnel_32768' [speed = ][status = down][id = 4][type = tunnel]${SPACE}'tunnel_32513' [speed = ][status = notPresent][id = 5][type = tunnel]${SPACE}'tunnel_32772' [speed = ][status = down][id = 6][type = tunnel]${SPACE}'ppp_32768' [speed = ][status = down][id = 7][type = ppp]${SPACE}'tunnel_32771' [speed = ][status = down][id = 8][type = tunnel]${SPACE}'ensernet_32771' [speed = ][status = up][id = 9][type = ethernetCsmacd]

View File

@ -0,0 +1,384 @@
.1.3.6.1.2.1.2.2.1.2.1 = Hex-STRING: 53 6F 66 74 77 61 72 65 20 4C 6F 6F 70 62 61 63 6B 20 49 6E 74 65 72 66 61 63 65 20 31 00
.1.3.6.1.2.1.2.2.1.2.2 = Hex-STRING: 4D 69 63 72 6F 73 6F 66 74 20 36 74 6F 34 20 41 64 61 70 74 65 72 00
.1.3.6.1.2.1.2.2.1.2.3 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 49 4B 45 76 32 29 00
.1.3.6.1.2.1.2.2.1.2.4 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 53 53 54 50 29 00
.1.3.6.1.2.1.2.2.1.2.5 = Hex-STRING: 4D 69 63 72 6F 73 6F 66 74 20 49 50 2D 48 54 54 50 53 20 50 6C 61 74 66 6F 72 6D 20 41 64 61 70 74 65 72 00
.1.3.6.1.2.1.2.2.1.2.6 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 47 52 45 29 00
.1.3.6.1.2.1.2.2.1.2.7 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 50 50 50 4F 45 29 00
.1.3.6.1.2.1.2.2.1.2.8 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 50 50 54 50 29 00
.1.3.6.1.2.1.2.2.1.2.9 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 49 50 76 36 29 00
.1.3.6.1.2.1.2.2.1.2.10 = Hex-STRING: 4D 69 63 72 6F 73 6F 66 74 20 4B 65 72 6E 65 6C 20 44 65 62 75 67 20 4E 65 74 77 6F 72 6B 20 41 64 61 70 74 65 72 00
.1.3.6.1.2.1.2.2.1.2.11 = Hex-STRING: 4D 69 63 72 6F 73 6F 66 74 20 54 65 72 65 64 6F 20 54 75 6E 6E 65 6C 69 6E 67 20 41 64 61 70 74 65 72 00
.1.3.6.1.2.1.2.2.1.2.12 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 4E 65 74 77 6F 72 6B 20 4D 6F 6E 69 74 6F 72 29 00
.1.3.6.1.2.1.2.2.1.2.13 = Hex-STRING: 49 6E 74 65 6C 28 52 29 20 38 32 35 37 34 4C 20 47 69 67 61 62 69 74 20 4E 65 74 77 6F 72 6B 20 43 6F 6E 6E 65 63 74 69 6F 6E 00
.1.3.6.1.2.1.2.2.1.2.14 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 49 50 29 00
.1.3.6.1.2.1.2.2.1.2.15 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 4C 32 54 50 29 00
.1.3.6.1.2.1.2.2.1.2.16 = Hex-STRING: 49 6E 74 65 6C 28 52 29 20 38 32 35 37 34 4C 20 47 69 67 61 62 69 74 20 4E 65 74 77 6F 72 6B 20 43 6F 6E 6E 65 63 74 69 6F 6E 2D 57 46 50 20 4E 61 74 69 76 65 20 4D 41 43 20 4C 61 79 65 72 20 4C 69 67 68 74 57 65 69 67 68 74 20 46 69 6C 74 65 72 2D 30 30 30 30 00
.1.3.6.1.2.1.2.2.1.2.17 = Hex-STRING: 49 6E 74 65 6C 28 52 29 20 38 32 35 37 34 4C 20 47 69 67 61 62 69 74 20 4E 65 74 77 6F 72 6B 20 43 6F 6E 6E 65 63 74 69 6F 6E 2D 51 6F 53 20 50 61 63 6B 65 74 20 53 63 68 65 64 75 6C 65 72 2D 30 30 30 30 00
.1.3.6.1.2.1.2.2.1.2.18 = Hex-STRING: 49 6E 74 65 6C 28 52 29 20 38 32 35 37 34 4C 20
.1.3.6.1.2.1.2.2.1.2.19 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 49 50
.1.3.6.1.2.1.2.2.1.2.20 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 49 50
.1.3.6.1.2.1.2.2.1.2.21 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 49 50
.1.3.6.1.2.1.2.2.1.2.22 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 49 50
.1.3.6.1.2.1.2.2.1.2.23 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 4E 65
.1.3.6.1.2.1.2.2.1.2.24 = Hex-STRING: 57 41 4E 20 4D 69 6E 69 70 6F 72 74 20 28 4E 65
.1.3.6.1.2.1.2.2.1.3.1 = INTEGER: 24
.1.3.6.1.2.1.2.2.1.3.2 = INTEGER: 131
.1.3.6.1.2.1.2.2.1.3.3 = INTEGER: 131
.1.3.6.1.2.1.2.2.1.3.4 = INTEGER: 131
.1.3.6.1.2.1.2.2.1.3.5 = INTEGER: 131
.1.3.6.1.2.1.2.2.1.3.6 = INTEGER: 131
.1.3.6.1.2.1.2.2.1.3.7 = INTEGER: 23
.1.3.6.1.2.1.2.2.1.3.8 = INTEGER: 131
.1.3.6.1.2.1.2.2.1.3.9 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.10 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.11 = INTEGER: 131
.1.3.6.1.2.1.2.2.1.3.12 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.13 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.14 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.15 = INTEGER: 131
.1.3.6.1.2.1.2.2.1.3.16 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.17 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.18 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.19 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.20 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.21 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.22 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.23 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.3.24 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.5.1 = Gauge32: 1073741824
.1.3.6.1.2.1.2.2.1.5.2 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.3 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.4 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.5 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.6 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.7 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.8 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.9 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.10 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.11 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.12 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.13 = Gauge32: 1000000000
.1.3.6.1.2.1.2.2.1.5.14 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.15 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.16 = Gauge32: 1000000000
.1.3.6.1.2.1.2.2.1.5.17 = Gauge32: 1000000000
.1.3.6.1.2.1.2.2.1.5.18 = Gauge32: 1000000000
.1.3.6.1.2.1.2.2.1.5.19 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.20 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.21 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.22 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.23 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.5.24 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.6.1 = ""
.1.3.6.1.2.1.2.2.1.6.2 = ""
.1.3.6.1.2.1.2.2.1.6.3 = ""
.1.3.6.1.2.1.2.2.1.6.4 = ""
.1.3.6.1.2.1.2.2.1.6.5 = ""
.1.3.6.1.2.1.2.2.1.6.6 = ""
.1.3.6.1.2.1.2.2.1.6.7 = ""
.1.3.6.1.2.1.2.2.1.6.8 = ""
.1.3.6.1.2.1.2.2.1.6.9 = ""
.1.3.6.1.2.1.2.2.1.6.10 = ""
.1.3.6.1.2.1.2.2.1.6.11 = ""
.1.3.6.1.2.1.2.2.1.6.12 = ""
.1.3.6.1.2.1.2.2.1.6.13 = Hex-STRING: 00 50 56 AB A2 F7
.1.3.6.1.2.1.2.2.1.6.14 = ""
.1.3.6.1.2.1.2.2.1.6.15 = ""
.1.3.6.1.2.1.2.2.1.6.16 = Hex-STRING: 00 50 56 AB A2 F7
.1.3.6.1.2.1.2.2.1.6.17 = Hex-STRING: 00 50 56 AB A2 F7
.1.3.6.1.2.1.2.2.1.6.18 = Hex-STRING: 00 50 56 AB A2 F7
.1.3.6.1.2.1.2.2.1.6.19 = ""
.1.3.6.1.2.1.2.2.1.6.20 = ""
.1.3.6.1.2.1.2.2.1.6.21 = ""
.1.3.6.1.2.1.2.2.1.6.22 = ""
.1.3.6.1.2.1.2.2.1.6.23 = ""
.1.3.6.1.2.1.2.2.1.6.24 = ""
.1.3.6.1.2.1.2.2.1.7.1 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.2 = INTEGER: 2
.1.3.6.1.2.1.2.2.1.7.3 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.4 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.5 = INTEGER: 2
.1.3.6.1.2.1.2.2.1.7.6 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.7 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.8 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.9 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.10 = INTEGER: 2
.1.3.6.1.2.1.2.2.1.7.11 = INTEGER: 2
.1.3.6.1.2.1.2.2.1.7.12 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.13 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.14 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.15 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.16 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.17 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.18 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.19 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.20 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.21 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.22 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.23 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.24 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.1 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.2 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.8.3 = INTEGER: 2
.1.3.6.1.2.1.2.2.1.8.4 = INTEGER: 2
.1.3.6.1.2.1.2.2.1.8.5 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.8.6 = INTEGER: 2
.1.3.6.1.2.1.2.2.1.8.7 = INTEGER: 2
.1.3.6.1.2.1.2.2.1.8.8 = INTEGER: 2
.1.3.6.1.2.1.2.2.1.8.9 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.10 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.8.11 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.8.12 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.13 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.14 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.15 = INTEGER: 2
.1.3.6.1.2.1.2.2.1.8.16 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.17 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.18 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.19 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.20 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.21 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.22 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.23 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.24 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.20.1 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.2 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.3 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.4 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.5 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.6 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.7 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.8 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.9 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.10 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.11 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.12 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.13 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.14 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.15 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.16 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.17 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.18 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.19 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.20 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.21 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.22 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.23 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.24 = Counter32: 0
.1.3.6.1.2.1.2.2.1.21.1 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.2 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.3 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.4 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.5 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.6 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.7 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.8 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.9 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.10 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.11 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.12 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.13 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.14 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.15 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.16 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.17 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.18 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.19 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.20 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.21 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.22 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.23 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.21.24 = Gauge32: 0
.1.3.6.1.2.1.2.2.1.22.1 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.2 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.3 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.4 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.5 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.6 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.7 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.8 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.9 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.10 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.11 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.12 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.13 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.14 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.15 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.16 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.17 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.18 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.19 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.20 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.21 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.22 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.23 = OID: .0.0
.1.3.6.1.2.1.2.2.1.22.24 = OID: .0.0
.1.3.6.1.2.1.31.1.1.1.1.1 = STRING: "loopback_0"
.1.3.6.1.2.1.31.1.1.1.1.2 = STRING: "tunnel_32514"
.1.3.6.1.2.1.31.1.1.1.1.3 = STRING: "tunnel_32769"
.1.3.6.1.2.1.31.1.1.1.1.4 = STRING: "tunnel_32768"
.1.3.6.1.2.1.31.1.1.1.1.5 = STRING: "tunnel_32513"
.1.3.6.1.2.1.31.1.1.1.1.6 = STRING: "tunnel_32772"
.1.3.6.1.2.1.31.1.1.1.1.7 = STRING: "ppp_32768"
.1.3.6.1.2.1.31.1.1.1.1.8 = STRING: "tunnel_32771"
.1.3.6.1.2.1.31.1.1.1.1.9 = STRING: "ethernet_32771"
.1.3.6.1.2.1.31.1.1.1.1.10 = STRING: "ethernet_32768"
.1.3.6.1.2.1.31.1.1.1.1.11 = STRING: "tunnel_32512"
.1.3.6.1.2.1.31.1.1.1.1.12 = STRING: "ethernet_32772"
.1.3.6.1.2.1.31.1.1.1.1.13 = STRING: "ethernet_32769"
.1.3.6.1.2.1.31.1.1.1.1.14 = STRING: "ethernet_32770"
.1.3.6.1.2.1.31.1.1.1.1.15 = STRING: "tunnel_32770"
.1.3.6.1.2.1.31.1.1.1.1.16 = STRING: "ethernet_0"
.1.3.6.1.2.1.31.1.1.1.1.17 = STRING: "ethernet_1"
.1.3.6.1.2.1.31.1.1.1.1.18 = STRING: "ethernet_2"
.1.3.6.1.2.1.31.1.1.1.1.19 = STRING: "ethernet_3"
.1.3.6.1.2.1.31.1.1.1.1.20 = STRING: "ethernet_4"
.1.3.6.1.2.1.31.1.1.1.1.21 = STRING: "ethernet_5"
.1.3.6.1.2.1.31.1.1.1.1.22 = STRING: "ethernet_6"
.1.3.6.1.2.1.31.1.1.1.1.23 = STRING: "ethernet_7"
.1.3.6.1.2.1.31.1.1.1.1.24 = STRING: "ethernet_8"
.1.3.6.1.2.1.31.1.1.1.14.1 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.2 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.3 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.4 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.5 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.6 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.7 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.8 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.9 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.10 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.11 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.12 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.13 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.14 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.15 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.16 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.17 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.18 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.19 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.20 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.21 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.22 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.23 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.14.24 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.15.1 = Gauge32: 1073
.1.3.6.1.2.1.31.1.1.1.15.2 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.3 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.4 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.5 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.6 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.7 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.8 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.9 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.10 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.11 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.12 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.13 = Gauge32: 1000
.1.3.6.1.2.1.31.1.1.1.15.14 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.15 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.16 = Gauge32: 1000
.1.3.6.1.2.1.31.1.1.1.15.17 = Gauge32: 1000
.1.3.6.1.2.1.31.1.1.1.15.18 = Gauge32: 1000
.1.3.6.1.2.1.31.1.1.1.15.19 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.20 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.21 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.22 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.23 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.15.24 = Gauge32: 0
.1.3.6.1.2.1.31.1.1.1.16.1 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.2 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.3 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.4 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.5 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.6 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.7 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.8 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.9 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.10 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.11 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.12 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.13 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.14 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.15 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.16 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.17 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.18 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.19 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.20 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.21 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.22 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.23 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.16.24 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.1 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.2 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.3 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.4 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.5 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.6 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.7 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.8 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.9 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.10 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.11 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.12 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.13 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.17.14 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.15 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.16 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.17 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.18 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.19 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.20 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.21 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.22 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.23 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.17.24 = INTEGER: 2
.1.3.6.1.2.1.31.1.1.1.18.1 = STRING: "Loopback Pseudo-Interface 1"
.1.3.6.1.2.1.31.1.1.1.18.2 = STRING: "6to4 Adapter"
.1.3.6.1.2.1.31.1.1.1.18.3 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73 65 61 75 20 6C 6F 63 61 6C 2A 20 32
.1.3.6.1.2.1.31.1.1.1.18.4 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73 65 61 75 20 6C 6F 63 61 6C 2A 20 31
.1.3.6.1.2.1.31.1.1.1.18.5 = STRING: "Microsoft IP-HTTPS Platform Interface"
.1.3.6.1.2.1.31.1.1.1.18.6 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73 65 61 75 20 6C 6F 63 61 6C 2A 20 36
.1.3.6.1.2.1.31.1.1.1.18.7 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73 65 61 75 20 6C 6F 63 61 6C 2A 20 35
.1.3.6.1.2.1.31.1.1.1.18.8 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73 65 61 75 20 6C 6F 63 61 6C 2A 20 34
.1.3.6.1.2.1.31.1.1.1.18.9 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73 65 61 75 20 6C 6F 63 61 6C 2A 20 38
.1.3.6.1.2.1.31.1.1.1.18.10 = Hex-STRING: 45 74 68 65 72 6E 65 74 20 28 64 E9 62 6F 67 75 65 75 72 20 64 75 20 6E 6F 79 61 75 29
.1.3.6.1.2.1.31.1.1.1.18.11 = STRING: "Teredo Tunneling Pseudo-Interface"
.1.3.6.1.2.1.31.1.1.1.18.12 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73 65 61 75 20 6C 6F 63 61 6C 2A 20 39
.1.3.6.1.2.1.31.1.1.1.18.13 = STRING: "Ethernet0"
.1.3.6.1.2.1.31.1.1.1.18.14 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73 65 61 75 20 6C 6F 63 61 6C 2A 20 37
.1.3.6.1.2.1.31.1.1.1.18.15 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73 65 61 75 20 6C 6F 63 61 6C 2A 20 33
.1.3.6.1.2.1.31.1.1.1.18.16 = STRING: "Ethernet0-WFP Native MAC Layer LightWeight Filter-0000"
.1.3.6.1.2.1.31.1.1.1.18.17 = STRING: "Ethernet0-QoS Packet Scheduler-0000"
.1.3.6.1.2.1.31.1.1.1.18.18 = STRING: "Ethernet0-WFP 802.3 MAC Layer LightWeight Filter-0000"
.1.3.6.1.2.1.31.1.1.1.18.19 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73
.1.3.6.1.2.1.31.1.1.1.18.20 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73
.1.3.6.1.2.1.31.1.1.1.18.21 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73
.1.3.6.1.2.1.31.1.1.1.18.22 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73
.1.3.6.1.2.1.31.1.1.1.18.23 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73
.1.3.6.1.2.1.31.1.1.1.18.24 = Hex-STRING: 43 6F 6E 6E 65 78 69 6F 6E 20 61 75 20 72 E9 73
.1.3.6.1.2.1.31.1.1.1.19.1 = 0
.1.3.6.1.2.1.31.1.1.1.19.2 = 0
.1.3.6.1.2.1.31.1.1.1.19.3 = 0
.1.3.6.1.2.1.31.1.1.1.19.4 = 0
.1.3.6.1.2.1.31.1.1.1.19.5 = 0
.1.3.6.1.2.1.31.1.1.1.19.6 = 0
.1.3.6.1.2.1.31.1.1.1.19.7 = 0
.1.3.6.1.2.1.31.1.1.1.19.8 = 0
.1.3.6.1.2.1.31.1.1.1.19.9 = 0
.1.3.6.1.2.1.31.1.1.1.19.10 = 0
.1.3.6.1.2.1.31.1.1.1.19.11 = 0
.1.3.6.1.2.1.31.1.1.1.19.12 = 0
.1.3.6.1.2.1.31.1.1.1.19.13 = 0
.1.3.6.1.2.1.31.1.1.1.19.14 = 0
.1.3.6.1.2.1.31.1.1.1.19.15 = 0
.1.3.6.1.2.1.31.1.1.1.19.16 = 0
.1.3.6.1.2.1.31.1.1.1.19.17 = 0
.1.3.6.1.2.1.31.1.1.1.19.18 = 0
.1.3.6.1.2.1.31.1.1.1.19.19 = 0
.1.3.6.1.2.1.31.1.1.1.19.20 = 0
.1.3.6.1.2.1.31.1.1.1.19.21 = 0
.1.3.6.1.2.1.31.1.1.1.19.22 = 0
.1.3.6.1.2.1.31.1.1.1.19.23 = 0
.1.3.6.1.2.1.31.1.1.1.19.24 = 0

View File

@ -0,0 +1,37 @@
*** Settings ***
Documentation Check Windows operating systems in SNMP.
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
*** Variables ***
${CMD} ${CENTREON_PLUGINS}
*** Test Cases ***
list-processes ${tc}
[Tags] os Windows
${command} Catenate
... ${CMD}
... --plugin=os::windows::snmp::plugin
... --mode=list-processes
... --hostname=${HOSTNAME}
... --snmp-version=${SNMPVERSION}
... --snmp-port=${SNMPPORT}
... --snmp-community=os/windows/snmp/list-processes
... ${extra_options}
${output} Run ${command}
${output} Strip String ${output}
Should Contain
... ${output}
... ${expected_result}
... Wrong output result for command:\n${command}\n\nObtained:\n${output}\n\nExpected:\n${expected_result}\n
... values=False
... collapse_spaces=True
Examples: tc extra_options expected_result --
... 1 --filter-name='Anonymized 159' [name = Anonymized 159] [path = ] [parameters = Anonymized 087] [type = application] [pid = 3320] [status = running]
... 2 --add-stats='running' [name = Anonymized 165] [path = Anonymized 071] [parameters = Anonymized 245] [type = application] [pid = 3800] [status = running] [cpu = 3] [mem = 13992]

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,30 @@
*** Settings ***
Documentation Check Windows operating systems in SNMP.
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
*** Variables ***
${CMD} ${CENTREON_PLUGINS}
*** Test Cases ***
list-services ${tc}
[Tags] os Windows
${command} Catenate
... ${CMD}
... --plugin=os::windows::snmp::plugin
... --mode=list-services
... --hostname=${HOSTNAME}
... --snmp-version=${SNMPVERSION}
... --snmp-port=${SNMPPORT}
... --snmp-community=os/windows/snmp/services-en
... ${extra_options}
Ctn Run Command And Check Result As Strings ${command} ${expected_result}
Examples: tc extra_options expected_result --
... 1 --filter-name='Windows Security Service' List services: [name = Windows Security Service] [operating = active] [installed = installed]
... 2 --filter-name='AVCTP service' List services: [name = AVCTP service] [operating = active] [installed = installed]

View File

@ -0,0 +1,32 @@
*** Settings ***
Documentation Check Windows operating systems in SNMP.
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
*** Variables ***
${CMD} ${CENTREON_PLUGINS}
*** Test Cases ***
list-storages ${tc}
[Tags] os Windows
${command} Catenate
... ${CMD}
... --plugin=os::windows::snmp::plugin
... --mode=list-storages
... --hostname=${HOSTNAME}
... --snmp-version=${SNMPVERSION}
... --snmp-port=${SNMPPORT}
... --snmp-community=os/windows/snmp/windows_anon
... --snmp-timeout=1
... ${extra_options}
Ctn Run Command And Check Result As Strings ${command} ${expected_result}
Examples: tc extra_options expected_result --
... 1 --display-transform-src='dev' List storage: 'Serial Number 5a987053' [size = 63720910848B] [id = 1] Skipping storage 'D:\\\\ Label:SSS_X64FRE_FR-FR_DV9 Serial Number cf70e675': no type or no matching filter type Skipping storage 'Virtual Memory': no type or no matching filter type Skipping storage 'Physical Memory': no type or no matching filter type
... 2 -display-transform-dst='run' List storage: 'Serial Number 5a987053' [size = 63720910848B] [id = 1] Skipping storage 'D:\\\\ Label:SSS_X64FRE_FR-FR_DV9 Serial Number cf70e675': no type or no matching filter type Skipping storage 'Virtual Memory': no type or no matching filter type Skipping storage 'Physical Memory': no type or no matching filter type
... 3 --filter-storage-type='^(hrStorageFixedDisk|hrStorageNetworkDisk|hrFSBerkeleyFFS)$' List storage: 'Serial Number 5a987053' [size = 63720910848B] [id = 1] Skipping storage 'D:\\\\ Label:SSS_X64FRE_FR-FR_DV9 Serial Number cf70e675': no type or no matching filter type Skipping storage 'Virtual Memory': no type or no matching filter type Skipping storage 'Physical Memory': no type or no matching filter type

View File

@ -0,0 +1,400 @@
.1.3.6.1.4.1.77.1.2.3.1.1.7.83.101.114.118.101.117.114 = STRING: Anonymized 150
.1.3.6.1.4.1.77.1.2.3.1.1.7.83.121.115.77.97.105.110 = STRING: Anonymized 021
.1.3.6.1.4.1.77.1.2.3.1.1.7.84.104.195.168.109.101.115 = Hex-STRING: 54 68 C3 A8 6D 65 73
.1.3.6.1.4.1.77.1.2.3.1.1.10.67.108.105.101.110.116.32.68.78.83 = STRING: Anonymized 237
.1.3.6.1.4.1.77.1.2.3.1.1.11.67.108.105.101.110.116.32.68.72.67.80 = STRING: Anonymized 024
.1.3.6.1.4.1.77.1.2.3.1.1.12.65.108.105.109.101.110.116.97.116.105.111.110 = STRING: Anonymized 025
.1.3.6.1.4.1.77.1.2.3.1.1.12.83.101.114.118.105.99.101.32.83.78.77.80 = STRING: Anonymized 059
.1.3.6.1.4.1.77.1.2.3.1.1.12.86.77.119.97.114.101.32.84.111.111.108.115 = STRING: Anonymized 143
.1.3.6.1.4.1.77.1.2.3.1.1.13.65.115.115.105.115.116.97.110.99.101.32.73.80 = STRING: Anonymized 076
.1.3.6.1.4.1.77.1.2.3.1.1.13.67.111.114.101.77.101.115.115.97.103.105.110.103 = STRING: Anonymized 089
.1.3.6.1.4.1.77.1.2.3.1.1.13.80.108.117.103.45.97.110.100.45.80.108.97.121 = STRING: Anonymized 173
.1.3.6.1.4.1.77.1.2.3.1.1.13.84.101.109.112.115.32.87.105.110.100.111.119.115 = STRING: Anonymized 093
.1.3.6.1.4.1.77.1.2.3.1.1.14.87.105.110.100.111.119.115.32.85.112.100.97.116.101 = STRING: Anonymized 142
.1.3.6.1.4.1.77.1.2.3.1.1.18.83.116.97.116.105.111.110.32.100.101.32.116.114.97.118.97.105.108 = STRING: Anonymized 134
.1.3.6.1.4.1.77.1.2.3.1.1.19.83.101.114.118.105.99.101.32.100.101.32.115.116.111.99.107.97.103.101 = STRING: Anonymized 193
.1.3.6.1.4.1.77.1.2.3.1.1.20.82.101.103.105.115.116.114.101.32.195.160.32.100.105.115.116.97.110.99.101 = Hex-STRING: 52 65 67 69 73 74 72 65 20 C3 A0 20 64 69 73 74 61 6E 63 65
.1.3.6.1.4.1.77.1.2.3.1.1.21.73.115.111.108.97.116.105.111.110.32.100.101.32.99.108.195.169.32.67.78.71 = Hex-STRING: 49 73 6F 6C 61 74 69 6F 6E 20 64 65 20 63 6C C3 A9 20 43 4E 47
.1.3.6.1.4.1.77.1.2.3.1.1.23.83.101.114.118.105.99.101.115.32.100.101.32.99.104.105.102.102.114.101.109.101.110.116 = STRING: Anonymized 162
.1.3.6.1.4.1.77.1.2.3.1.1.23.83.112.111.117.108.101.117.114.32.100.226.128.153.105.109.112.114.101.115.115.105.111.110 = Hex-STRING: 53 70 6F 75 6C 65 75 72 20 64 E2 80 99 69 6D 70 72 65 73 73 69 6F 6E
.1.3.6.1.4.1.77.1.2.3.1.1.24.80.108.97.110.105.102.105.99.97.116.101.117.114.32.100.101.32.116.195.162.99.104.101.115 = Hex-STRING: 50 6C 61 6E 69 66 69 63 61 74 65 75 72 20 64 65 20 74 C3 A2 63 68 65 73
.1.3.6.1.4.1.77.1.2.3.1.1.25.65.112.112.108.105.99.97.116.105.111.110.32.115.121.115.116.195.168.109.101.32.67.79.77.43 = Hex-STRING: 41 70 70 6C 69 63 61 74 69 6F 6E 20 73 79 73 74 C3 A8 6D 65 20 43 4F 4D 2B
.1.3.6.1.4.1.77.1.2.3.1.1.25.79.112.116.105.109.105.115.97.116.105.111.110.32.100.101.32.108.105.118.114.97.105.115.111.110 = STRING: Anonymized 252
.1.3.6.1.4.1.77.1.2.3.1.1.25.80.97.114.101.45.102.101.117.32.87.105.110.100.111.119.115.32.68.101.102.101.110.100.101.114 = STRING: Anonymized 021
.1.3.6.1.4.1.77.1.2.3.1.1.26.68.195.169.116.101.99.116.105.111.110.32.109.97.116.195.169.114.105.101.108.32.110.111.121.97.117 = Hex-STRING: 44 C3 A9 74 65 63 74 69 6F 6E 20 6D 61 74 C3 A9 72 69 65 6C 20 6E 6F 79 61 75
.1.3.6.1.4.1.77.1.2.3.1.1.26.77.111.116.101.117.114.32.100.101.32.102.105.108.116.114.97.103.101.32.100.101.32.98.97.115.101 = STRING: Anonymized 252
.1.3.6.1.4.1.77.1.2.3.1.1.26.83.101.114.118.105.99.101.32.76.105.115.116.101.32.100.101.115.32.114.195.169.115.101.97.117.120 = Hex-STRING: 53 65 72 76 69 63 65 20 4C 69 73 74 65 20 64 65 73 20 72 C3 A9 73 65 61 75 78
.1.3.6.1.4.1.77.1.2.3.1.1.27.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.32.99.111.109.112.116.101.115.32.119.101.98 = STRING: Anonymized 053
.1.3.6.1.4.1.77.1.2.3.1.1.27.78.83.67.108.105.101.110.116.43.43.32.77.111.110.105.116.111.114.105.110.103.32.65.103.101.110.116 = STRING: Anonymized 186
.1.3.6.1.4.1.77.1.2.3.1.1.29.65.115.115.105.115.116.97.110.99.101.32.78.101.116.66.73.79.83.32.115.117.114.32.84.67.80.47.73.80 = STRING: Anonymized 144
.1.3.6.1.4.1.77.1.2.3.1.1.29.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.115.32.117.116.105.108.105.115.97.116.101.117.114.115 = STRING: Anonymized 067
.1.3.6.1.4.1.77.1.2.3.1.1.29.83.101.114.118.105.99.101.32.100.101.32.112.114.111.102.105.108.32.117.116.105.108.105.115.97.116.101.117.114 = STRING: Anonymized 245
.1.3.6.1.4.1.77.1.2.3.1.1.29.83.121.115.116.195.168.109.101.32.100.226.128.153.195.169.118.195.169.110.101.109.101.110.116.32.67.79.77.43 = Hex-STRING: 53 79 73 74 C3 A8 6D 65 20 64 E2 80 99 C3 A9 76 C3 A9 6E 65 6D 65 6E 74 20 43 4F 4D 2B
.1.3.6.1.4.1.77.1.2.3.1.1.30.67.108.105.101.110.116.32.100.101.32.115.116.114.97.116.195.169.103.105.101.32.100.101.32.103.114.111.117.112.101 = Hex-STRING: 43 6C 69 65 6E 74 20 64 65 20 73 74 72 61 74 C3 A9 67 69 65 20 64 65 20 67 72 6F 75 70 65
.1.3.6.1.4.1.77.1.2.3.1.1.30.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.32.115.101.115.115.105.111.110.32.108.111.99.97.108.101 = STRING: Anonymized 167
.1.3.6.1.4.1.77.1.2.3.1.1.32.74.111.117.114.110.97.108.32.100.226.128.153.195.169.118.195.169.110.101.109.101.110.116.115.32.87.105.110.100.111.119.115 = Hex-STRING: 4A 6F 75 72 6E 61 6C 20 64 E2 80 99 C3 A9 76 C3 A9 6E 65 6D 65 6E 74 73 20 57 69 6E 64 6F 77 73
.1.3.6.1.4.1.77.1.2.3.1.1.33.73.110.102.114.97.115.116.114.117.99.116.117.114.101.32.100.101.32.103.101.115.116.105.111.110.32.87.105.110.100.111.119.115 = STRING: Anonymized 106
.1.3.6.1.4.1.77.1.2.3.1.1.33.76.97.110.99.101.117.114.32.100.101.32.112.114.111.99.101.115.115.117.115.32.115.101.114.118.101.117.114.32.68.67.79.77 = STRING: Anonymized 194
.1.3.6.1.4.1.77.1.2.3.1.1.33.83.101.114.118.105.99.101.32.100.101.32.115.116.114.97.116.195.169.103.105.101.32.100.39.97.102.102.105.99.104.97.103.101 = Hex-STRING: 53 65 72 76 69 63 65 20 64 65 20 73 74 72 61 74 C3 A9 67 69 65 20 64 27 61 66 66 69 63 68 61 67 65
.1.3.6.1.4.1.77.1.2.3.1.1.34.65.112.112.101.108.32.100.101.32.112.114.111.99.195.169.100.117.114.101.32.100.105.115.116.97.110.116.101.32.40.82.80.67.41 = Hex-STRING: 41 70 70 65 6C 20 64 65 20 70 72 6F 63 C3 A9 64 75 72 65 20 64 69 73 74 61 6E 74 65 20 28 52 50 43 29
.1.3.6.1.4.1.77.1.2.3.1.1.34.67.108.105.101.110.116.32.100.101.32.115.117.105.118.105.32.100.101.32.108.105.101.110.32.100.105.115.116.114.105.98.117.195.169 = Hex-STRING: 43 6C 69 65 6E 74 20 64 65 20 73 75 69 76 69 20 64 65 20 6C 69 65 6E 20 64 69 73 74 72 69 62 75 C3 A9
.1.3.6.1.4.1.77.1.2.3.1.1.34.83.101.114.118.105.99.101.32.100.101.32.99.97.99.104.101.32.100.101.32.112.111.108.105.99.101.32.87.105.110.100.111.119.115 = STRING: Anonymized 071
.1.3.6.1.4.1.77.1.2.3.1.1.35.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.115.32.99.111.110.110.101.120.105.111.110.115.32.87.105.110.100.111.119.115 = STRING: Anonymized 211
.1.3.6.1.4.1.77.1.2.3.1.1.35.77.97.112.112.101.117.114.32.100.101.32.112.111.105.110.116.32.100.101.32.116.101.114.109.105.110.97.105.115.111.110.32.82.80.67 = STRING: Anonymized 015
.1.3.6.1.4.1.77.1.2.3.1.1.35.83.101.114.118.105.99.101.32.100.101.32.115.116.114.97.116.195.169.103.105.101.32.100.101.32.100.105.97.103.110.111.115.116.105.99 = Hex-STRING: 53 65 72 76 69 63 65 20 64 65 20 73 74 72 61 74 C3 A9 67 69 65 20 64 65 20 64 69 61 67 6E 6F 73 74 69 63
.1.3.6.1.4.1.77.1.2.3.1.1.36.83.101.114.118.105.99.101.32.73.110.116.101.114.102.97.99.101.32.100.117.32.109.97.103.97.115.105.110.32.114.195.169.115.101.97.117 = Hex-STRING: 53 65 72 76 69 63 65 20 49 6E 74 65 72 66 61 63 65 20 64 75 20 6D 61 67 61 73 69 6E 20 72 C3 A9 73 65 61 75
.1.3.6.1.4.1.77.1.2.3.1.1.36.83.101.114.118.105.99.101.32.97.110.116.105.118.105.114.117.115.32.77.105.99.114.111.115.111.102.116.32.68.101.102.101.110.100.101.114 = STRING: Anonymized 227
.1.3.6.1.4.1.77.1.2.3.1.1.37.67.111.110.110.97.105.115.115.97.110.99.101.32.100.101.115.32.101.109.112.108.97.99.101.109.101.110.116.115.32.114.195.169.115.101.97.117 = Hex-STRING: 43 6F 6E 6E 61 69 73 73 61 6E 63 65 20 64 65 73 20 65 6D 70 6C 61 63 65 6D 65 6E 74 73 20 72 C3 A9 73 65 61 75
.1.3.6.1.4.1.77.1.2.3.1.1.37.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.32.99.111.109.112.116.101.115.32.100.101.32.115.195.169.99.117.114.105.116.195.169 = Hex-STRING: 47 65 73 74 69 6F 6E 6E 61 69 72 65 20 64 65 20 63 6F 6D 70 74 65 73 20 64 65 20 73 C3 A9 63 75 72 69 74 C3 A9
.1.3.6.1.4.1.77.1.2.3.1.1.38.77.101.116.116.114.101.32.195.160.32.106.111.117.114.32.108.101.32.115.101.114.118.105.99.101.32.79.114.99.104.101.115.116.114.97.116.111.114 = Hex-STRING: 4D 65 74 74 72 65 20 C3 A0 20 6A 6F 75 72 20 6C 65 20 73 65 72 76 69 63 65 20 4F 72 63 68 65 73 74 72 61 74 6F 72
.1.3.6.1.4.1.77.1.2.3.1.1.38.83.101.114.118.105.99.101.32.100.101.32.100.195.169.112.108.111.105.101.109.101.110.116.32.65.112.112.88.32.40.65.112.112.88.83.86.67.41 = Hex-STRING: 53 65 72 76 69 63 65 20 64 65 20 64 C3 A9 70 6C 6F 69 65 6D 65 6E 74 20 41 70 70 58 20 28 41 70 70 58 53 56 43 29
.1.3.6.1.4.1.77.1.2.3.1.1.39.86.77.119.97.114.101.32.65.108.105.97.115.32.77.97.110.97.103.101.114.32.97.110.100.32.84.105.99.107.101.116.32.83.101.114.118.105.99.101 = STRING: Anonymized 051
.1.3.6.1.4.1.77.1.2.3.1.1.40.83.101.114.118.101.117.114.32.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.32.108.105.99.101.110.99.101.115.32.87.105.110.100.111.119.115 = STRING: Anonymized 226
.1.3.6.1.4.1.77.1.2.3.1.1.40.83.101.114.118.105.99.101.32.66.114.111.107.101.114.32.100.101.115.32.195.169.118.195.169.110.101.109.101.110.116.115.32.115.121.115.116.195.168.109.101 = Hex-STRING: 53 65 72 76 69 63 65 20 42 72 6F 6B 65 72 20 64 65 73 20 C3 A9 76 C3 A9 6E 65 6D 65 6E 74 73 20 73 79 73 74 C3 A8 6D 65
.1.3.6.1.4.1.77.1.2.3.1.1.41.67.111.111.114.100.105.110.97.116.101.117.114.32.100.101.32.116.114.97.110.115.97.99.116.105.111.110.115.32.100.105.115.116.114.105.98.117.195.169.101.115 = Hex-STRING: 43 6F 6F 72 64 69 6E 61 74 65 75 72 20 64 65 20 74 72 61 6E 73 61 63 74 69 6F 6E 73 20 64 69 73 74 72 69 62 75 C3 A9 65 73
.1.3.6.1.4.1.77.1.2.3.1.1.42.83.101.114.118.105.99.101.32.66.114.111.107.101.114.32.112.111.117.114.32.108.101.115.32.99.111.110.110.101.120.105.111.110.115.32.114.195.169.115.101.97.117 = Hex-STRING: 53 65 72 76 69 63 65 20 42 72 6F 6B 65 72 20 70 6F 75 72 20 6C 65 73 20 63 6F 6E 6E 65 78 69 6F 6E 73 20 72 C3 A9 73 65 61 75
.1.3.6.1.4.1.77.1.2.3.1.1.42.83.101.114.118.105.99.101.32.83.116.97.116.101.32.82.101.112.111.115.105.116.111.114.121.32.40.83.116.97.116.101.82.101.112.111.115.105.116.111.114.121.41 = STRING: Anonymized 127
.1.3.6.1.4.1.77.1.2.3.1.1.43.83.101.114.118.105.99.101.32.117.116.105.108.105.115.97.116.101.117.114.32.100.117.32.80.114.101.115.115.101.45.112.97.112.105.101.114.115.95.55.54.99.51.102 = STRING: Anonymized 134
.1.3.6.1.4.1.77.1.2.3.1.1.44.65.115.115.105.115.116.97.110.116.32.67.111.110.110.101.120.105.111.110.32.97.118.101.99.32.117.110.32.99.111.109.112.116.101.32.77.105.99.114.111.115.111.102.116 = STRING: Anonymized 198
.1.3.6.1.4.1.77.1.2.3.1.1.44.71.101.115.116.105.111.110.32.195.160.32.100.105.115.116.97.110.99.101.32.100.101.32.87.105.110.100.111.119.115.32.40.71.101.115.116.105.111.110.32.87.83.77.41 = Hex-STRING: 47 65 73 74 69 6F 6E 20 C3 A0 20 64 69 73 74 61 6E 63 65 20 64 65 20 57 69 6E 64 6F 77 73 20 28 47 65 73 74 69 6F 6E 20 57 53 4D 29
.1.3.6.1.4.1.77.1.2.3.1.1.45.83.101.114.118.105.99.101.32.66.114.111.107.101.114.32.112.111.117.114.32.108.101.115.32.195.169.118.195.169.110.101.109.101.110.116.115.32.104.111.114.97.105.114.101.115 = Hex-STRING: 53 65 72 76 69 63 65 20 42 72 6F 6B 65 72 20 70 6F 75 72 20 6C 65 73 20 C3 A9 76 C3 A9 6E 65 6D 65 6E 74 73 20 68 6F 72 61 69 72 65 73
.1.3.6.1.4.1.77.1.2.3.1.1.46.77.111.100.117.108.101.115.32.100.101.32.103.195.169.110.195.169.114.97.116.105.111.110.32.100.101.32.99.108.195.169.115.32.73.75.69.32.101.116.32.65.117.116.104.73.80 = Hex-STRING: 4D 6F 64 75 6C 65 73 20 64 65 20 67 C3 A9 6E C3 A9 72 61 74 69 6F 6E 20 64 65 20 63 6C C3 A9 73 20 49 4B 45 20 65 74 20 41 75 74 68 49 50
.1.3.6.1.4.1.77.1.2.3.1.1.46.83.101.114.118.105.99.101.32.100.101.32.112.108.97.116.101.102.111.114.109.101.32.100.101.115.32.97.112.112.97.114.101.105.108.115.32.99.111.110.110.101.99.116.195.169.115 = Hex-STRING: 53 65 72 76 69 63 65 20 64 65 20 70 6C 61 74 65 66 6F 72 6D 65 20 64 65 73 20 61 70 70 61 72 65 69 6C 73 20 63 6F 6E 6E 65 63 74 C3 A9 73
.1.3.6.1.4.1.77.1.2.3.1.1.47.71.101.115.116.105.111.110.110.97.105.114.101.32.100.226.128.153.105.110.115.116.97.108.108.97.116.105.111.110.32.100.101.32.112.195.169.114.105.112.104.195.169.114.105.113.117.101 = Hex-STRING: 47 65 73 74 69 6F 6E 6E 61 69 72 65 20 64 E2 80 99 69 6E 73 74 61 6C 6C 61 74 69 6F 6E 20 64 65 20 70 C3 A9 72 69 70 68 C3 A9 72 69 71 75 65
.1.3.6.1.4.1.77.1.2.3.1.1.48.72.195.180.116.101.32.100.117.32.102.111.117.114.110.105.115.115.101.117.114.32.100.101.32.100.195.169.99.111.117.118.101.114.116.101.32.100.101.32.102.111.110.99.116.105.111.110.115 = Hex-STRING: 48 C3 B4 74 65 20 64 75 20 66 6F 75 72 6E 69 73 73 65 75 72 20 64 65 20 64 C3 A9 63 6F 75 76 65 72 74 65 20 64 65 20 66 6F 6E 63 74 69 6F 6E 73
.1.3.6.1.4.1.77.1.2.3.1.1.48.83.101.114.118.105.99.101.32.100.101.32.106.111.117.114.110.97.108.105.115.97.116.105.111.110.32.100.101.115.32.97.99.99.195.168.115.32.117.116.105.108.105.115.97.116.101.117.114 = Hex-STRING: 53 65 72 76 69 63 65 20 64 65 20 6A 6F 75 72 6E 61 6C 69 73 61 74 69 6F 6E 20 64 65 73 20 61 63 63 C3 A8 73 20 75 74 69 6C 69 73 61 74 65 75 72
.1.3.6.1.4.1.77.1.2.3.1.1.48.83.101.114.118.105.99.101.194.160.83.83.84.80.32.40.83.101.99.117.114.101.32.83.111.99.107.101.116.32.84.117.110.110.101.108.105.110.103.32.80.114.111.116.111.99.111.108.41 = Hex-STRING: 53 65 72 76 69 63 65 C2 A0 53 53 54 50 20 28 53 65 63 75 72 65 20 53 6F 63 6B 65 74 20 54 75 6E 6E 65 6C 69 6E 67 20 50 72 6F 74 6F 63 6F 6C 29
.1.3.6.1.4.1.77.1.2.3.1.1.49.83.101.114.118.105.99.101.32.100.101.32.110.111.116.105.102.105.99.97.116.105.111.110.32.100.226.128.153.195.169.118.195.169.110.101.109.101.110.116.115.32.115.121.115.116.195.168.109.101 = Hex-STRING: 53 65 72 76 69 63 65 20 64 65 20 6E 6F 74 69 66 69 63 61 74 69 6F 6E 20 64 E2 80 99 C3 A9 76 C3 A9 6E 65 6D 65 6E 74 73 20 73 79 73 74 C3 A8 6D 65
.1.3.6.1.4.1.77.1.2.3.1.1.49.83.101.114.118.105.99.101.32.100.101.32.116.114.97.110.115.102.101.114.116.32.105.110.116.101.108.108.105.103.101.110.116.32.101.110.32.97.114.114.105.195.168.114.101.45.112.108.97.110 = Hex-STRING: 53 65 72 76 69 63 65 20 64 65 20 74 72 61 6E 73 66 65 72 74 20 69 6E 74 65 6C 6C 69 67 65 6E 74 20 65 6E 20 61 72 72 69 C3 A8 72 65 2D 70 6C 61 6E
.1.3.6.1.4.1.77.1.2.3.1.1.49.83.101.114.118.105.99.101.32.100.117.32.115.121.115.116.195.168.109.101.32.100.101.32.110.111.116.105.102.105.99.97.116.105.111.110.115.32.80.117.115.104.32.87.105.110.100.111.119.115 = Hex-STRING: 53 65 72 76 69 63 65 20 64 75 20 73 79 73 74 C3 A8 6D 65 20 64 65 20 6E 6F 74 69 66 69 63 61 74 69 6F 6E 73 20 50 75 73 68 20 57 69 6E 64 6F 77 73
.1.3.6.1.4.1.77.1.2.3.1.1.50.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.115.32.99.111.110.110.101.120.105.111.110.115.32.100.226.128.153.97.99.99.195.168.115.32.195.160.32.100.105.115.116.97.110.99.101 = Hex-STRING: 47 65 73 74 69 6F 6E 6E 61 69 72 65 20 64 65 73 20 63 6F 6E 6E 65 78 69 6F 6E 73 20 64 E2 80 99 61 63 63 C3 A8 73 20 C3 A0 20 64 69 73 74 61 6E 63 65
.1.3.6.1.4.1.77.1.2.3.1.1.52.83.101.114.118.105.99.101.32.71.101.115.116.105.111.110.110.97.105.114.101.32.100.226.128.153.97.99.99.195.168.115.32.97.117.120.32.102.111.110.99.116.105.111.110.110.97.108.105.116.195.169.115 = Hex-STRING: 53 65 72 76 69 63 65 20 47 65 73 74 69 6F 6E 6E 61 69 72 65 20 64 E2 80 99 61 63 63 C3 A8 73 20 61 75 78 20 66 6F 6E 63 74 69 6F 6E 6E 61 6C 69 74 C3 A9 73
.1.3.6.1.4.1.77.1.2.3.1.1.54.80.117.98.108.105.99.97.116.105.111.110.32.100.101.115.32.114.101.115.115.111.117.114.99.101.115.32.100.101.32.100.195.169.99.111.117.118.101.114.116.101.32.100.101.32.102.111.110.99.116.105.111.110.115 = Hex-STRING: 50 75 62 6C 69 63 61 74 69 6F 6E 20 64 65 73 20 72 65 73 73 6F 75 72 63 65 73 20 64 65 20 64 C3 A9 63 6F 75 76 65 72 74 65 20 64 65 20 66 6F 6E 63 74 69 6F 6E 73
.1.3.6.1.4.1.77.1.2.3.1.1.54.83.101.114.118.105.99.101.32.100.101.32.108.226.128.153.65.115.115.105.115.116.97.110.116.32.67.111.109.112.97.116.105.98.105.108.105.116.195.169.32.100.101.115.32.112.114.111.103.114.97.109.109.101.115 = Hex-STRING: 53 65 72 76 69 63 65 20 64 65 20 6C E2 80 99 41 73 73 69 73 74 61 6E 74 20 43 6F 6D 70 61 74 69 62 69 6C 69 74 C3 A9 20 64 65 73 20 70 72 6F 67 72 61 6D 6D 65 73
.1.3.6.1.4.1.77.1.2.3.1.1.55.83.101.114.118.105.99.101.32.100.226.128.153.105.110.102.114.97.115.116.114.117.99.116.117.114.101.32.100.101.115.32.116.195.162.99.104.101.115.32.101.110.32.97.114.114.105.195.168.114.101.45.112.108.97.110 = Hex-STRING: 53 65 72 76 69 63 65 20 64 E2 80 99 69 6E 66 72 61 73 74 72 75 63 74 75 72 65 20 64 65 73 20 74 C3 A2 63 68 65 73 20 65 6E 20 61 72 72 69 C3 A8 72 65 2D 70 6C 61 6E
.1.3.6.1.4.1.77.1.2.3.1.1.55.83.101.114.118.105.99.101.32.117.116.105.108.105.115.97.116.101.117.114.32.100.101.32.110.111.116.105.102.105.99.97.116.105.111.110.115.32.80.117.115.104.32.87.105.110.100.111.119.115.95.55.54.99.51.102 = STRING: Anonymized 037
.1.3.6.1.4.1.77.1.2.3.1.1.57.69.120.112.195.169.114.105.101.110.99.101.115.32.100.101.115.32.117.116.105.108.105.115.97.116.101.117.114.115.32.99.111.110.110.101.99.116.195.169.115.32.101.116.32.116.195.169.108.195.169.109.195.169.116.114.105.101 = Hex-STRING: 45 78 70 C3 A9 72 69 65 6E 63 65 73 20 64 65 73 20 75 74 69 6C 69 73 61 74 65 75 72 73 20 63 6F 6E 6E 65 63 74 C3 A9 73 20 65 74 20 74 C3 A9 6C C3 A9 6D C3 A9 74 72 69 65
.1.3.6.1.4.1.77.1.2.3.1.1.63.83.101.114.118.105.99.101.32.100.117.32.99.108.97.118.105.101.114.32.116.97.99.116.105.108.101.32.101.116.32.100.117.32.118.111.108.101.116.32.100.226.128.153.195.169.99.114.105.116.117.114.101.32.109.97.110.117.115.99.114.105.116.101 = Hex-STRING: 53 65 72 76 69 63 65 20 64 75 20 63 6C 61 76 69 65 72 20 74 61 63 74 69 6C 65 20 65 74 20 64 75 20 76 6F 6C 65 74 20 64 E2 80 99 C3 A9 63 72 69 74 75 72 65 20 6D 61 6E 75 73 63 72 69 74 65
.1.3.6.1.4.1.77.1.2.3.1.1.66.83.101.114.118.105.99.101.32.100.226.128.153.105.110.115.112.101.99.116.105.111.110.32.114.195.169.115.101.97.117.32.100.101.32.108.226.128.153.97.110.116.105.118.105.114.117.115.32.77.105.99.114.111.115.111.102.116.32.68.101.102.101.110.100.101.114 = Hex-STRING: 53 65 72 76 69 63 65 20 64 E2 80 99 69 6E 73 70 65 63 74 69 6F 6E 20 72 C3 A9 73 65 61 75 20 64 65 20 6C E2 80 99 61 6E 74 69 76 69 72 75 73 20 4D 69 63 72 6F 73 6F 66 74 20 44 65 66 65 6E 64 65 72
.1.3.6.1.4.1.77.1.2.3.1.1.69.83.101.114.118.105.99.101.32.112.111.117.114.32.117.116.105.108.105.115.97.116.101.117.114.32.100.101.32.112.108.97.116.101.102.111.114.109.101.32.100.226.128.153.97.112.112.97.114.101.105.108.115.32.99.111.110.110.101.99.116.195.169.115.95.55.54.99.51.102 = Hex-STRING: 53 65 72 76 69 63 65 20 70 6F 75 72 20 75 74 69 6C 69 73 61 74 65 75 72 20 64 65 20 70 6C 61 74 65 66 6F 72 6D 65 20 64 E2 80 99 61 70 70 61 72 65 69 6C 73 20 63 6F 6E 6E 65 63 74 C3 A9 73 5F 37 36 63 33 66
.1.3.6.1.4.1.77.1.2.3.1.1.78.83.101.114.118.105.99.101.32.100.101.32.100.195.169.99.111.117.118.101.114.116.101.32.97.117.116.111.109.97.116.105.113.117.101.32.100.101.32.80.114.111.120.121.32.87.101.98.32.112.111.117.114.32.108.101.115.32.115.101.114.118.105.99.101.115.32.72.84.84.80.32.87.105.110.100.111.119.115 = Hex-STRING: 53 65 72 76 69 63 65 20 64 65 20 64 C3 A9 63 6F 75 76 65 72 74 65 20 61 75 74 6F 6D 61 74 69 71 75 65 20 64 65 20 50 72 6F 78 79 20 57 65 62 20 70 6F 75 72 20 6C 65 73 20 73 65 72 76 69 63 65 73 20 48 54 54 50 20 57 69 6E 64 6F 77 73
.1.3.6.1.4.1.77.1.2.3.1.2.7.83.101.114.118.101.117.114 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.7.83.121.115.77.97.105.110 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.7.84.104.195.168.109.101.115 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.10.67.108.105.101.110.116.32.68.78.83 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.11.67.108.105.101.110.116.32.68.72.67.80 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.12.65.108.105.109.101.110.116.97.116.105.111.110 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.12.83.101.114.118.105.99.101.32.83.78.77.80 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.12.86.77.119.97.114.101.32.84.111.111.108.115 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.13.65.115.115.105.115.116.97.110.99.101.32.73.80 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.13.67.111.114.101.77.101.115.115.97.103.105.110.103 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.13.80.108.117.103.45.97.110.100.45.80.108.97.121 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.13.84.101.109.112.115.32.87.105.110.100.111.119.115 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.14.87.105.110.100.111.119.115.32.85.112.100.97.116.101 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.18.83.116.97.116.105.111.110.32.100.101.32.116.114.97.118.97.105.108 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.19.83.101.114.118.105.99.101.32.100.101.32.115.116.111.99.107.97.103.101 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.20.82.101.103.105.115.116.114.101.32.195.160.32.100.105.115.116.97.110.99.101 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.21.73.115.111.108.97.116.105.111.110.32.100.101.32.99.108.195.169.32.67.78.71 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.23.83.101.114.118.105.99.101.115.32.100.101.32.99.104.105.102.102.114.101.109.101.110.116 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.23.83.112.111.117.108.101.117.114.32.100.226.128.153.105.109.112.114.101.115.115.105.111.110 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.24.80.108.97.110.105.102.105.99.97.116.101.117.114.32.100.101.32.116.195.162.99.104.101.115 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.25.65.112.112.108.105.99.97.116.105.111.110.32.115.121.115.116.195.168.109.101.32.67.79.77.43 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.25.79.112.116.105.109.105.115.97.116.105.111.110.32.100.101.32.108.105.118.114.97.105.115.111.110 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.25.80.97.114.101.45.102.101.117.32.87.105.110.100.111.119.115.32.68.101.102.101.110.100.101.114 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.26.68.195.169.116.101.99.116.105.111.110.32.109.97.116.195.169.114.105.101.108.32.110.111.121.97.117 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.26.77.111.116.101.117.114.32.100.101.32.102.105.108.116.114.97.103.101.32.100.101.32.98.97.115.101 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.26.83.101.114.118.105.99.101.32.76.105.115.116.101.32.100.101.115.32.114.195.169.115.101.97.117.120 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.27.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.32.99.111.109.112.116.101.115.32.119.101.98 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.27.78.83.67.108.105.101.110.116.43.43.32.77.111.110.105.116.111.114.105.110.103.32.65.103.101.110.116 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.29.65.115.115.105.115.116.97.110.99.101.32.78.101.116.66.73.79.83.32.115.117.114.32.84.67.80.47.73.80 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.29.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.115.32.117.116.105.108.105.115.97.116.101.117.114.115 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.29.83.101.114.118.105.99.101.32.100.101.32.112.114.111.102.105.108.32.117.116.105.108.105.115.97.116.101.117.114 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.29.83.121.115.116.195.168.109.101.32.100.226.128.153.195.169.118.195.169.110.101.109.101.110.116.32.67.79.77.43 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.30.67.108.105.101.110.116.32.100.101.32.115.116.114.97.116.195.169.103.105.101.32.100.101.32.103.114.111.117.112.101 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.30.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.32.115.101.115.115.105.111.110.32.108.111.99.97.108.101 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.32.74.111.117.114.110.97.108.32.100.226.128.153.195.169.118.195.169.110.101.109.101.110.116.115.32.87.105.110.100.111.119.115 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.33.73.110.102.114.97.115.116.114.117.99.116.117.114.101.32.100.101.32.103.101.115.116.105.111.110.32.87.105.110.100.111.119.115 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.33.76.97.110.99.101.117.114.32.100.101.32.112.114.111.99.101.115.115.117.115.32.115.101.114.118.101.117.114.32.68.67.79.77 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.33.83.101.114.118.105.99.101.32.100.101.32.115.116.114.97.116.195.169.103.105.101.32.100.39.97.102.102.105.99.104.97.103.101 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.34.65.112.112.101.108.32.100.101.32.112.114.111.99.195.169.100.117.114.101.32.100.105.115.116.97.110.116.101.32.40.82.80.67.41 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.34.67.108.105.101.110.116.32.100.101.32.115.117.105.118.105.32.100.101.32.108.105.101.110.32.100.105.115.116.114.105.98.117.195.169 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.34.83.101.114.118.105.99.101.32.100.101.32.99.97.99.104.101.32.100.101.32.112.111.108.105.99.101.32.87.105.110.100.111.119.115 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.35.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.115.32.99.111.110.110.101.120.105.111.110.115.32.87.105.110.100.111.119.115 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.35.77.97.112.112.101.117.114.32.100.101.32.112.111.105.110.116.32.100.101.32.116.101.114.109.105.110.97.105.115.111.110.32.82.80.67 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.35.83.101.114.118.105.99.101.32.100.101.32.115.116.114.97.116.195.169.103.105.101.32.100.101.32.100.105.97.103.110.111.115.116.105.99 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.36.83.101.114.118.105.99.101.32.73.110.116.101.114.102.97.99.101.32.100.117.32.109.97.103.97.115.105.110.32.114.195.169.115.101.97.117 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.36.83.101.114.118.105.99.101.32.97.110.116.105.118.105.114.117.115.32.77.105.99.114.111.115.111.102.116.32.68.101.102.101.110.100.101.114 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.37.67.111.110.110.97.105.115.115.97.110.99.101.32.100.101.115.32.101.109.112.108.97.99.101.109.101.110.116.115.32.114.195.169.115.101.97.117 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.37.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.32.99.111.109.112.116.101.115.32.100.101.32.115.195.169.99.117.114.105.116.195.169 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.38.77.101.116.116.114.101.32.195.160.32.106.111.117.114.32.108.101.32.115.101.114.118.105.99.101.32.79.114.99.104.101.115.116.114.97.116.111.114 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.38.83.101.114.118.105.99.101.32.100.101.32.100.195.169.112.108.111.105.101.109.101.110.116.32.65.112.112.88.32.40.65.112.112.88.83.86.67.41 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.2.39.86.77.119.97.114.101.32.65.108.105.97.115.32.77.97.110.97.103.101.114.32.97.110.100.32.84.105.99.107.101.116.32.83.101.114.118.105.99.101 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.40.83.101.114.118.101.117.114.32.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.32.108.105.99.101.110.99.101.115.32.87.105.110.100.111.119.115 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.40.83.101.114.118.105.99.101.32.66.114.111.107.101.114.32.100.101.115.32.195.169.118.195.169.110.101.109.101.110.116.115.32.115.121.115.116.195.168.109.101 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.41.67.111.111.114.100.105.110.97.116.101.117.114.32.100.101.32.116.114.97.110.115.97.99.116.105.111.110.115.32.100.105.115.116.114.105.98.117.195.169.101.115 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.42.83.101.114.118.105.99.101.32.66.114.111.107.101.114.32.112.111.117.114.32.108.101.115.32.99.111.110.110.101.120.105.111.110.115.32.114.195.169.115.101.97.117 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.42.83.101.114.118.105.99.101.32.83.116.97.116.101.32.82.101.112.111.115.105.116.111.114.121.32.40.83.116.97.116.101.82.101.112.111.115.105.116.111.114.121.41 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.43.83.101.114.118.105.99.101.32.117.116.105.108.105.115.97.116.101.117.114.32.100.117.32.80.114.101.115.115.101.45.112.97.112.105.101.114.115.95.55.54.99.51.102 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.44.65.115.115.105.115.116.97.110.116.32.67.111.110.110.101.120.105.111.110.32.97.118.101.99.32.117.110.32.99.111.109.112.116.101.32.77.105.99.114.111.115.111.102.116 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.44.71.101.115.116.105.111.110.32.195.160.32.100.105.115.116.97.110.99.101.32.100.101.32.87.105.110.100.111.119.115.32.40.71.101.115.116.105.111.110.32.87.83.77.41 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.45.83.101.114.118.105.99.101.32.66.114.111.107.101.114.32.112.111.117.114.32.108.101.115.32.195.169.118.195.169.110.101.109.101.110.116.115.32.104.111.114.97.105.114.101.115 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.46.77.111.100.117.108.101.115.32.100.101.32.103.195.169.110.195.169.114.97.116.105.111.110.32.100.101.32.99.108.195.169.115.32.73.75.69.32.101.116.32.65.117.116.104.73.80 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.46.83.101.114.118.105.99.101.32.100.101.32.112.108.97.116.101.102.111.114.109.101.32.100.101.115.32.97.112.112.97.114.101.105.108.115.32.99.111.110.110.101.99.116.195.169.115 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.47.71.101.115.116.105.111.110.110.97.105.114.101.32.100.226.128.153.105.110.115.116.97.108.108.97.116.105.111.110.32.100.101.32.112.195.169.114.105.112.104.195.169.114.105.113.117.101 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.48.72.195.180.116.101.32.100.117.32.102.111.117.114.110.105.115.115.101.117.114.32.100.101.32.100.195.169.99.111.117.118.101.114.116.101.32.100.101.32.102.111.110.99.116.105.111.110.115 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.48.83.101.114.118.105.99.101.32.100.101.32.106.111.117.114.110.97.108.105.115.97.116.105.111.110.32.100.101.115.32.97.99.99.195.168.115.32.117.116.105.108.105.115.97.116.101.117.114 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.48.83.101.114.118.105.99.101.194.160.83.83.84.80.32.40.83.101.99.117.114.101.32.83.111.99.107.101.116.32.84.117.110.110.101.108.105.110.103.32.80.114.111.116.111.99.111.108.41 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.49.83.101.114.118.105.99.101.32.100.101.32.110.111.116.105.102.105.99.97.116.105.111.110.32.100.226.128.153.195.169.118.195.169.110.101.109.101.110.116.115.32.115.121.115.116.195.168.109.101 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.49.83.101.114.118.105.99.101.32.100.101.32.116.114.97.110.115.102.101.114.116.32.105.110.116.101.108.108.105.103.101.110.116.32.101.110.32.97.114.114.105.195.168.114.101.45.112.108.97.110 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.49.83.101.114.118.105.99.101.32.100.117.32.115.121.115.116.195.168.109.101.32.100.101.32.110.111.116.105.102.105.99.97.116.105.111.110.115.32.80.117.115.104.32.87.105.110.100.111.119.115 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.50.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.115.32.99.111.110.110.101.120.105.111.110.115.32.100.226.128.153.97.99.99.195.168.115.32.195.160.32.100.105.115.116.97.110.99.101 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.52.83.101.114.118.105.99.101.32.71.101.115.116.105.111.110.110.97.105.114.101.32.100.226.128.153.97.99.99.195.168.115.32.97.117.120.32.102.111.110.99.116.105.111.110.110.97.108.105.116.195.169.115 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.54.80.117.98.108.105.99.97.116.105.111.110.32.100.101.115.32.114.101.115.115.111.117.114.99.101.115.32.100.101.32.100.195.169.99.111.117.118.101.114.116.101.32.100.101.32.102.111.110.99.116.105.111.110.115 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.54.83.101.114.118.105.99.101.32.100.101.32.108.226.128.153.65.115.115.105.115.116.97.110.116.32.67.111.109.112.97.116.105.98.105.108.105.116.195.169.32.100.101.115.32.112.114.111.103.114.97.109.109.101.115 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.55.83.101.114.118.105.99.101.32.100.226.128.153.105.110.102.114.97.115.116.114.117.99.116.117.114.101.32.100.101.115.32.116.195.162.99.104.101.115.32.101.110.32.97.114.114.105.195.168.114.101.45.112.108.97.110 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.55.83.101.114.118.105.99.101.32.117.116.105.108.105.115.97.116.101.117.114.32.100.101.32.110.111.116.105.102.105.99.97.116.105.111.110.115.32.80.117.115.104.32.87.105.110.100.111.119.115.95.55.54.99.51.102 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.57.69.120.112.195.169.114.105.101.110.99.101.115.32.100.101.115.32.117.116.105.108.105.115.97.116.101.117.114.115.32.99.111.110.110.101.99.116.195.169.115.32.101.116.32.116.195.169.108.195.169.109.195.169.116.114.105.101 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.63.83.101.114.118.105.99.101.32.100.117.32.99.108.97.118.105.101.114.32.116.97.99.116.105.108.101.32.101.116.32.100.117.32.118.111.108.101.116.32.100.226.128.153.195.169.99.114.105.116.117.114.101.32.109.97.110.117.115.99.114.105.116.101 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.66.83.101.114.118.105.99.101.32.100.226.128.153.105.110.115.112.101.99.116.105.111.110.32.114.195.169.115.101.97.117.32.100.101.32.108.226.128.153.97.110.116.105.118.105.114.117.115.32.77.105.99.114.111.115.111.102.116.32.68.101.102.101.110.100.101.114 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.69.83.101.114.118.105.99.101.32.112.111.117.114.32.117.116.105.108.105.115.97.116.101.117.114.32.100.101.32.112.108.97.116.101.102.111.114.109.101.32.100.226.128.153.97.112.112.97.114.101.105.108.115.32.99.111.110.110.101.99.116.195.169.115.95.55.54.99.51.102 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.2.78.83.101.114.118.105.99.101.32.100.101.32.100.195.169.99.111.117.118.101.114.116.101.32.97.117.116.111.109.97.116.105.113.117.101.32.100.101.32.80.114.111.120.121.32.87.101.98.32.112.111.117.114.32.108.101.115.32.115.101.114.118.105.99.101.115.32.72.84.84.80.32.87.105.110.100.111.119.115 = INTEGER: 4
.1.3.6.1.4.1.77.1.2.3.1.3.7.83.101.114.118.101.117.114 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.7.83.121.115.77.97.105.110 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.7.84.104.195.168.109.101.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.10.67.108.105.101.110.116.32.68.78.83 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.11.67.108.105.101.110.116.32.68.72.67.80 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.12.65.108.105.109.101.110.116.97.116.105.111.110 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.12.83.101.114.118.105.99.101.32.83.78.77.80 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.12.86.77.119.97.114.101.32.84.111.111.108.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.13.65.115.115.105.115.116.97.110.99.101.32.73.80 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.13.67.111.114.101.77.101.115.115.97.103.105.110.103 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.13.80.108.117.103.45.97.110.100.45.80.108.97.121 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.13.84.101.109.112.115.32.87.105.110.100.111.119.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.14.87.105.110.100.111.119.115.32.85.112.100.97.116.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.18.83.116.97.116.105.111.110.32.100.101.32.116.114.97.118.97.105.108 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.19.83.101.114.118.105.99.101.32.100.101.32.115.116.111.99.107.97.103.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.20.82.101.103.105.115.116.114.101.32.195.160.32.100.105.115.116.97.110.99.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.21.73.115.111.108.97.116.105.111.110.32.100.101.32.99.108.195.169.32.67.78.71 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.23.83.101.114.118.105.99.101.115.32.100.101.32.99.104.105.102.102.114.101.109.101.110.116 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.23.83.112.111.117.108.101.117.114.32.100.226.128.153.105.109.112.114.101.115.115.105.111.110 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.24.80.108.97.110.105.102.105.99.97.116.101.117.114.32.100.101.32.116.195.162.99.104.101.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.25.65.112.112.108.105.99.97.116.105.111.110.32.115.121.115.116.195.168.109.101.32.67.79.77.43 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.25.79.112.116.105.109.105.115.97.116.105.111.110.32.100.101.32.108.105.118.114.97.105.115.111.110 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.25.80.97.114.101.45.102.101.117.32.87.105.110.100.111.119.115.32.68.101.102.101.110.100.101.114 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.26.68.195.169.116.101.99.116.105.111.110.32.109.97.116.195.169.114.105.101.108.32.110.111.121.97.117 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.26.77.111.116.101.117.114.32.100.101.32.102.105.108.116.114.97.103.101.32.100.101.32.98.97.115.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.26.83.101.114.118.105.99.101.32.76.105.115.116.101.32.100.101.115.32.114.195.169.115.101.97.117.120 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.27.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.32.99.111.109.112.116.101.115.32.119.101.98 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.27.78.83.67.108.105.101.110.116.43.43.32.77.111.110.105.116.111.114.105.110.103.32.65.103.101.110.116 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.29.65.115.115.105.115.116.97.110.99.101.32.78.101.116.66.73.79.83.32.115.117.114.32.84.67.80.47.73.80 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.29.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.115.32.117.116.105.108.105.115.97.116.101.117.114.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.29.83.101.114.118.105.99.101.32.100.101.32.112.114.111.102.105.108.32.117.116.105.108.105.115.97.116.101.117.114 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.29.83.121.115.116.195.168.109.101.32.100.226.128.153.195.169.118.195.169.110.101.109.101.110.116.32.67.79.77.43 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.30.67.108.105.101.110.116.32.100.101.32.115.116.114.97.116.195.169.103.105.101.32.100.101.32.103.114.111.117.112.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.30.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.32.115.101.115.115.105.111.110.32.108.111.99.97.108.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.32.74.111.117.114.110.97.108.32.100.226.128.153.195.169.118.195.169.110.101.109.101.110.116.115.32.87.105.110.100.111.119.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.33.73.110.102.114.97.115.116.114.117.99.116.117.114.101.32.100.101.32.103.101.115.116.105.111.110.32.87.105.110.100.111.119.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.33.76.97.110.99.101.117.114.32.100.101.32.112.114.111.99.101.115.115.117.115.32.115.101.114.118.101.117.114.32.68.67.79.77 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.33.83.101.114.118.105.99.101.32.100.101.32.115.116.114.97.116.195.169.103.105.101.32.100.39.97.102.102.105.99.104.97.103.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.34.65.112.112.101.108.32.100.101.32.112.114.111.99.195.169.100.117.114.101.32.100.105.115.116.97.110.116.101.32.40.82.80.67.41 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.34.67.108.105.101.110.116.32.100.101.32.115.117.105.118.105.32.100.101.32.108.105.101.110.32.100.105.115.116.114.105.98.117.195.169 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.34.83.101.114.118.105.99.101.32.100.101.32.99.97.99.104.101.32.100.101.32.112.111.108.105.99.101.32.87.105.110.100.111.119.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.35.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.115.32.99.111.110.110.101.120.105.111.110.115.32.87.105.110.100.111.119.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.35.77.97.112.112.101.117.114.32.100.101.32.112.111.105.110.116.32.100.101.32.116.101.114.109.105.110.97.105.115.111.110.32.82.80.67 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.35.83.101.114.118.105.99.101.32.100.101.32.115.116.114.97.116.195.169.103.105.101.32.100.101.32.100.105.97.103.110.111.115.116.105.99 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.36.83.101.114.118.105.99.101.32.73.110.116.101.114.102.97.99.101.32.100.117.32.109.97.103.97.115.105.110.32.114.195.169.115.101.97.117 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.36.83.101.114.118.105.99.101.32.97.110.116.105.118.105.114.117.115.32.77.105.99.114.111.115.111.102.116.32.68.101.102.101.110.100.101.114 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.37.67.111.110.110.97.105.115.115.97.110.99.101.32.100.101.115.32.101.109.112.108.97.99.101.109.101.110.116.115.32.114.195.169.115.101.97.117 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.37.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.32.99.111.109.112.116.101.115.32.100.101.32.115.195.169.99.117.114.105.116.195.169 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.38.77.101.116.116.114.101.32.195.160.32.106.111.117.114.32.108.101.32.115.101.114.118.105.99.101.32.79.114.99.104.101.115.116.114.97.116.111.114 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.38.83.101.114.118.105.99.101.32.100.101.32.100.195.169.112.108.111.105.101.109.101.110.116.32.65.112.112.88.32.40.65.112.112.88.83.86.67.41 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.39.86.77.119.97.114.101.32.65.108.105.97.115.32.77.97.110.97.103.101.114.32.97.110.100.32.84.105.99.107.101.116.32.83.101.114.118.105.99.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.40.83.101.114.118.101.117.114.32.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.32.108.105.99.101.110.99.101.115.32.87.105.110.100.111.119.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.40.83.101.114.118.105.99.101.32.66.114.111.107.101.114.32.100.101.115.32.195.169.118.195.169.110.101.109.101.110.116.115.32.115.121.115.116.195.168.109.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.41.67.111.111.114.100.105.110.97.116.101.117.114.32.100.101.32.116.114.97.110.115.97.99.116.105.111.110.115.32.100.105.115.116.114.105.98.117.195.169.101.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.42.83.101.114.118.105.99.101.32.66.114.111.107.101.114.32.112.111.117.114.32.108.101.115.32.99.111.110.110.101.120.105.111.110.115.32.114.195.169.115.101.97.117 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.42.83.101.114.118.105.99.101.32.83.116.97.116.101.32.82.101.112.111.115.105.116.111.114.121.32.40.83.116.97.116.101.82.101.112.111.115.105.116.111.114.121.41 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.43.83.101.114.118.105.99.101.32.117.116.105.108.105.115.97.116.101.117.114.32.100.117.32.80.114.101.115.115.101.45.112.97.112.105.101.114.115.95.55.54.99.51.102 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.44.65.115.115.105.115.116.97.110.116.32.67.111.110.110.101.120.105.111.110.32.97.118.101.99.32.117.110.32.99.111.109.112.116.101.32.77.105.99.114.111.115.111.102.116 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.44.71.101.115.116.105.111.110.32.195.160.32.100.105.115.116.97.110.99.101.32.100.101.32.87.105.110.100.111.119.115.32.40.71.101.115.116.105.111.110.32.87.83.77.41 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.45.83.101.114.118.105.99.101.32.66.114.111.107.101.114.32.112.111.117.114.32.108.101.115.32.195.169.118.195.169.110.101.109.101.110.116.115.32.104.111.114.97.105.114.101.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.46.77.111.100.117.108.101.115.32.100.101.32.103.195.169.110.195.169.114.97.116.105.111.110.32.100.101.32.99.108.195.169.115.32.73.75.69.32.101.116.32.65.117.116.104.73.80 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.46.83.101.114.118.105.99.101.32.100.101.32.112.108.97.116.101.102.111.114.109.101.32.100.101.115.32.97.112.112.97.114.101.105.108.115.32.99.111.110.110.101.99.116.195.169.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.47.71.101.115.116.105.111.110.110.97.105.114.101.32.100.226.128.153.105.110.115.116.97.108.108.97.116.105.111.110.32.100.101.32.112.195.169.114.105.112.104.195.169.114.105.113.117.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.48.72.195.180.116.101.32.100.117.32.102.111.117.114.110.105.115.115.101.117.114.32.100.101.32.100.195.169.99.111.117.118.101.114.116.101.32.100.101.32.102.111.110.99.116.105.111.110.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.48.83.101.114.118.105.99.101.32.100.101.32.106.111.117.114.110.97.108.105.115.97.116.105.111.110.32.100.101.115.32.97.99.99.195.168.115.32.117.116.105.108.105.115.97.116.101.117.114 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.48.83.101.114.118.105.99.101.194.160.83.83.84.80.32.40.83.101.99.117.114.101.32.83.111.99.107.101.116.32.84.117.110.110.101.108.105.110.103.32.80.114.111.116.111.99.111.108.41 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.49.83.101.114.118.105.99.101.32.100.101.32.110.111.116.105.102.105.99.97.116.105.111.110.32.100.226.128.153.195.169.118.195.169.110.101.109.101.110.116.115.32.115.121.115.116.195.168.109.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.49.83.101.114.118.105.99.101.32.100.101.32.116.114.97.110.115.102.101.114.116.32.105.110.116.101.108.108.105.103.101.110.116.32.101.110.32.97.114.114.105.195.168.114.101.45.112.108.97.110 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.49.83.101.114.118.105.99.101.32.100.117.32.115.121.115.116.195.168.109.101.32.100.101.32.110.111.116.105.102.105.99.97.116.105.111.110.115.32.80.117.115.104.32.87.105.110.100.111.119.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.50.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.115.32.99.111.110.110.101.120.105.111.110.115.32.100.226.128.153.97.99.99.195.168.115.32.195.160.32.100.105.115.116.97.110.99.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.52.83.101.114.118.105.99.101.32.71.101.115.116.105.111.110.110.97.105.114.101.32.100.226.128.153.97.99.99.195.168.115.32.97.117.120.32.102.111.110.99.116.105.111.110.110.97.108.105.116.195.169.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.54.80.117.98.108.105.99.97.116.105.111.110.32.100.101.115.32.114.101.115.115.111.117.114.99.101.115.32.100.101.32.100.195.169.99.111.117.118.101.114.116.101.32.100.101.32.102.111.110.99.116.105.111.110.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.54.83.101.114.118.105.99.101.32.100.101.32.108.226.128.153.65.115.115.105.115.116.97.110.116.32.67.111.109.112.97.116.105.98.105.108.105.116.195.169.32.100.101.115.32.112.114.111.103.114.97.109.109.101.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.55.83.101.114.118.105.99.101.32.100.226.128.153.105.110.102.114.97.115.116.114.117.99.116.117.114.101.32.100.101.115.32.116.195.162.99.104.101.115.32.101.110.32.97.114.114.105.195.168.114.101.45.112.108.97.110 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.55.83.101.114.118.105.99.101.32.117.116.105.108.105.115.97.116.101.117.114.32.100.101.32.110.111.116.105.102.105.99.97.116.105.111.110.115.32.80.117.115.104.32.87.105.110.100.111.119.115.95.55.54.99.51.102 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.57.69.120.112.195.169.114.105.101.110.99.101.115.32.100.101.115.32.117.116.105.108.105.115.97.116.101.117.114.115.32.99.111.110.110.101.99.116.195.169.115.32.101.116.32.116.195.169.108.195.169.109.195.169.116.114.105.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.63.83.101.114.118.105.99.101.32.100.117.32.99.108.97.118.105.101.114.32.116.97.99.116.105.108.101.32.101.116.32.100.117.32.118.111.108.101.116.32.100.226.128.153.195.169.99.114.105.116.117.114.101.32.109.97.110.117.115.99.114.105.116.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.66.83.101.114.118.105.99.101.32.100.226.128.153.105.110.115.112.101.99.116.105.111.110.32.114.195.169.115.101.97.117.32.100.101.32.108.226.128.153.97.110.116.105.118.105.114.117.115.32.77.105.99.114.111.115.111.102.116.32.68.101.102.101.110.100.101.114 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.69.83.101.114.118.105.99.101.32.112.111.117.114.32.117.116.105.108.105.115.97.116.101.117.114.32.100.101.32.112.108.97.116.101.102.111.114.109.101.32.100.226.128.153.97.112.112.97.114.101.105.108.115.32.99.111.110.110.101.99.116.195.169.115.95.55.54.99.51.102 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.3.78.83.101.114.118.105.99.101.32.100.101.32.100.195.169.99.111.117.118.101.114.116.101.32.97.117.116.111.109.97.116.105.113.117.101.32.100.101.32.80.114.111.120.121.32.87.101.98.32.112.111.117.114.32.108.101.115.32.115.101.114.118.105.99.101.115.32.72.84.84.80.32.87.105.110.100.111.119.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.4.7.83.101.114.118.101.117.114 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.7.83.121.115.77.97.105.110 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.7.84.104.195.168.109.101.115 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.10.67.108.105.101.110.116.32.68.78.83 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.4.11.67.108.105.101.110.116.32.68.72.67.80 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.12.65.108.105.109.101.110.116.97.116.105.111.110 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.4.12.83.101.114.118.105.99.101.32.83.78.77.80 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.12.86.77.119.97.114.101.32.84.111.111.108.115 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.13.65.115.115.105.115.116.97.110.99.101.32.73.80 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.13.67.111.114.101.77.101.115.115.97.103.105.110.103 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.4.13.80.108.117.103.45.97.110.100.45.80.108.97.121 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.13.84.101.109.112.115.32.87.105.110.100.111.119.115 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.14.87.105.110.100.111.119.115.32.85.112.100.97.116.101 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.18.83.116.97.116.105.111.110.32.100.101.32.116.114.97.118.97.105.108 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.19.83.101.114.118.105.99.101.32.100.101.32.115.116.111.99.107.97.103.101 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.20.82.101.103.105.115.116.114.101.32.195.160.32.100.105.115.116.97.110.99.101 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.21.73.115.111.108.97.116.105.111.110.32.100.101.32.99.108.195.169.32.67.78.71 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.23.83.101.114.118.105.99.101.115.32.100.101.32.99.104.105.102.102.114.101.109.101.110.116 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.23.83.112.111.117.108.101.117.114.32.100.226.128.153.105.109.112.114.101.115.115.105.111.110 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.24.80.108.97.110.105.102.105.99.97.116.101.117.114.32.100.101.32.116.195.162.99.104.101.115 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.25.65.112.112.108.105.99.97.116.105.111.110.32.115.121.115.116.195.168.109.101.32.67.79.77.43 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.25.79.112.116.105.109.105.115.97.116.105.111.110.32.100.101.32.108.105.118.114.97.105.115.111.110 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.25.80.97.114.101.45.102.101.117.32.87.105.110.100.111.119.115.32.68.101.102.101.110.100.101.114 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.4.26.68.195.169.116.101.99.116.105.111.110.32.109.97.116.195.169.114.105.101.108.32.110.111.121.97.117 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.26.77.111.116.101.117.114.32.100.101.32.102.105.108.116.114.97.103.101.32.100.101.32.98.97.115.101 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.26.83.101.114.118.105.99.101.32.76.105.115.116.101.32.100.101.115.32.114.195.169.115.101.97.117.120 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.27.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.32.99.111.109.112.116.101.115.32.119.101.98 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.27.78.83.67.108.105.101.110.116.43.43.32.77.111.110.105.116.111.114.105.110.103.32.65.103.101.110.116 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.29.65.115.115.105.115.116.97.110.99.101.32.78.101.116.66.73.79.83.32.115.117.114.32.84.67.80.47.73.80 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.29.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.115.32.117.116.105.108.105.115.97.116.101.117.114.115 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.29.83.101.114.118.105.99.101.32.100.101.32.112.114.111.102.105.108.32.117.116.105.108.105.115.97.116.101.117.114 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.29.83.121.115.116.195.168.109.101.32.100.226.128.153.195.169.118.195.169.110.101.109.101.110.116.32.67.79.77.43 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.30.67.108.105.101.110.116.32.100.101.32.115.116.114.97.116.195.169.103.105.101.32.100.101.32.103.114.111.117.112.101 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.30.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.32.115.101.115.115.105.111.110.32.108.111.99.97.108.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.4.32.74.111.117.114.110.97.108.32.100.226.128.153.195.169.118.195.169.110.101.109.101.110.116.115.32.87.105.110.100.111.119.115 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.33.73.110.102.114.97.115.116.114.117.99.116.117.114.101.32.100.101.32.103.101.115.116.105.111.110.32.87.105.110.100.111.119.115 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.33.76.97.110.99.101.117.114.32.100.101.32.112.114.111.99.101.115.115.117.115.32.115.101.114.118.101.117.114.32.68.67.79.77 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.4.33.83.101.114.118.105.99.101.32.100.101.32.115.116.114.97.116.195.169.103.105.101.32.100.39.97.102.102.105.99.104.97.103.101 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.34.65.112.112.101.108.32.100.101.32.112.114.111.99.195.169.100.117.114.101.32.100.105.115.116.97.110.116.101.32.40.82.80.67.41 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.4.34.67.108.105.101.110.116.32.100.101.32.115.117.105.118.105.32.100.101.32.108.105.101.110.32.100.105.115.116.114.105.98.117.195.169 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.34.83.101.114.118.105.99.101.32.100.101.32.99.97.99.104.101.32.100.101.32.112.111.108.105.99.101.32.87.105.110.100.111.119.115 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.35.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.115.32.99.111.110.110.101.120.105.111.110.115.32.87.105.110.100.111.119.115 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.35.77.97.112.112.101.117.114.32.100.101.32.112.111.105.110.116.32.100.101.32.116.101.114.109.105.110.97.105.115.111.110.32.82.80.67 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.4.35.83.101.114.118.105.99.101.32.100.101.32.115.116.114.97.116.195.169.103.105.101.32.100.101.32.100.105.97.103.110.111.115.116.105.99 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.36.83.101.114.118.105.99.101.32.73.110.116.101.114.102.97.99.101.32.100.117.32.109.97.103.97.115.105.110.32.114.195.169.115.101.97.117 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.36.83.101.114.118.105.99.101.32.97.110.116.105.118.105.114.117.115.32.77.105.99.114.111.115.111.102.116.32.68.101.102.101.110.100.101.114 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.37.67.111.110.110.97.105.115.115.97.110.99.101.32.100.101.115.32.101.109.112.108.97.99.101.109.101.110.116.115.32.114.195.169.115.101.97.117 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.37.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.32.99.111.109.112.116.101.115.32.100.101.32.115.195.169.99.117.114.105.116.195.169 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.4.38.77.101.116.116.114.101.32.195.160.32.106.111.117.114.32.108.101.32.115.101.114.118.105.99.101.32.79.114.99.104.101.115.116.114.97.116.111.114 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.38.83.101.114.118.105.99.101.32.100.101.32.100.195.169.112.108.111.105.101.109.101.110.116.32.65.112.112.88.32.40.65.112.112.88.83.86.67.41 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.4.39.86.77.119.97.114.101.32.65.108.105.97.115.32.77.97.110.97.103.101.114.32.97.110.100.32.84.105.99.107.101.116.32.83.101.114.118.105.99.101 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.40.83.101.114.118.101.117.114.32.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.32.108.105.99.101.110.99.101.115.32.87.105.110.100.111.119.115 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.40.83.101.114.118.105.99.101.32.66.114.111.107.101.114.32.100.101.115.32.195.169.118.195.169.110.101.109.101.110.116.115.32.115.121.115.116.195.168.109.101 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.41.67.111.111.114.100.105.110.97.116.101.117.114.32.100.101.32.116.114.97.110.115.97.99.116.105.111.110.115.32.100.105.115.116.114.105.98.117.195.169.101.115 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.42.83.101.114.118.105.99.101.32.66.114.111.107.101.114.32.112.111.117.114.32.108.101.115.32.99.111.110.110.101.120.105.111.110.115.32.114.195.169.115.101.97.117 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.42.83.101.114.118.105.99.101.32.83.116.97.116.101.32.82.101.112.111.115.105.116.111.114.121.32.40.83.116.97.116.101.82.101.112.111.115.105.116.111.114.121.41 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.43.83.101.114.118.105.99.101.32.117.116.105.108.105.115.97.116.101.117.114.32.100.117.32.80.114.101.115.115.101.45.112.97.112.105.101.114.115.95.55.54.99.51.102 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.44.65.115.115.105.115.116.97.110.116.32.67.111.110.110.101.120.105.111.110.32.97.118.101.99.32.117.110.32.99.111.109.112.116.101.32.77.105.99.114.111.115.111.102.116 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.44.71.101.115.116.105.111.110.32.195.160.32.100.105.115.116.97.110.99.101.32.100.101.32.87.105.110.100.111.119.115.32.40.71.101.115.116.105.111.110.32.87.83.77.41 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.45.83.101.114.118.105.99.101.32.66.114.111.107.101.114.32.112.111.117.114.32.108.101.115.32.195.169.118.195.169.110.101.109.101.110.116.115.32.104.111.114.97.105.114.101.115 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.46.77.111.100.117.108.101.115.32.100.101.32.103.195.169.110.195.169.114.97.116.105.111.110.32.100.101.32.99.108.195.169.115.32.73.75.69.32.101.116.32.65.117.116.104.73.80 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.46.83.101.114.118.105.99.101.32.100.101.32.112.108.97.116.101.102.111.114.109.101.32.100.101.115.32.97.112.112.97.114.101.105.108.115.32.99.111.110.110.101.99.116.195.169.115 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.47.71.101.115.116.105.111.110.110.97.105.114.101.32.100.226.128.153.105.110.115.116.97.108.108.97.116.105.111.110.32.100.101.32.112.195.169.114.105.112.104.195.169.114.105.113.117.101 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.48.72.195.180.116.101.32.100.117.32.102.111.117.114.110.105.115.115.101.117.114.32.100.101.32.100.195.169.99.111.117.118.101.114.116.101.32.100.101.32.102.111.110.99.116.105.111.110.115 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.48.83.101.114.118.105.99.101.32.100.101.32.106.111.117.114.110.97.108.105.115.97.116.105.111.110.32.100.101.115.32.97.99.99.195.168.115.32.117.116.105.108.105.115.97.116.101.117.114 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.48.83.101.114.118.105.99.101.194.160.83.83.84.80.32.40.83.101.99.117.114.101.32.83.111.99.107.101.116.32.84.117.110.110.101.108.105.110.103.32.80.114.111.116.111.99.111.108.41 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.49.83.101.114.118.105.99.101.32.100.101.32.110.111.116.105.102.105.99.97.116.105.111.110.32.100.226.128.153.195.169.118.195.169.110.101.109.101.110.116.115.32.115.121.115.116.195.168.109.101 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.49.83.101.114.118.105.99.101.32.100.101.32.116.114.97.110.115.102.101.114.116.32.105.110.116.101.108.108.105.103.101.110.116.32.101.110.32.97.114.114.105.195.168.114.101.45.112.108.97.110 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.49.83.101.114.118.105.99.101.32.100.117.32.115.121.115.116.195.168.109.101.32.100.101.32.110.111.116.105.102.105.99.97.116.105.111.110.115.32.80.117.115.104.32.87.105.110.100.111.119.115 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.50.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.115.32.99.111.110.110.101.120.105.111.110.115.32.100.226.128.153.97.99.99.195.168.115.32.195.160.32.100.105.115.116.97.110.99.101 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.52.83.101.114.118.105.99.101.32.71.101.115.116.105.111.110.110.97.105.114.101.32.100.226.128.153.97.99.99.195.168.115.32.97.117.120.32.102.111.110.99.116.105.111.110.110.97.108.105.116.195.169.115 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.54.80.117.98.108.105.99.97.116.105.111.110.32.100.101.115.32.114.101.115.115.111.117.114.99.101.115.32.100.101.32.100.195.169.99.111.117.118.101.114.116.101.32.100.101.32.102.111.110.99.116.105.111.110.115 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.54.83.101.114.118.105.99.101.32.100.101.32.108.226.128.153.65.115.115.105.115.116.97.110.116.32.67.111.109.112.97.116.105.98.105.108.105.116.195.169.32.100.101.115.32.112.114.111.103.114.97.109.109.101.115 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.55.83.101.114.118.105.99.101.32.100.226.128.153.105.110.102.114.97.115.116.114.117.99.116.117.114.101.32.100.101.115.32.116.195.162.99.104.101.115.32.101.110.32.97.114.114.105.195.168.114.101.45.112.108.97.110 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.4.55.83.101.114.118.105.99.101.32.117.116.105.108.105.115.97.116.101.117.114.32.100.101.32.110.111.116.105.102.105.99.97.116.105.111.110.115.32.80.117.115.104.32.87.105.110.100.111.119.115.95.55.54.99.51.102 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.57.69.120.112.195.169.114.105.101.110.99.101.115.32.100.101.115.32.117.116.105.108.105.115.97.116.101.117.114.115.32.99.111.110.110.101.99.116.195.169.115.32.101.116.32.116.195.169.108.195.169.109.195.169.116.114.105.101 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.63.83.101.114.118.105.99.101.32.100.117.32.99.108.97.118.105.101.114.32.116.97.99.116.105.108.101.32.101.116.32.100.117.32.118.111.108.101.116.32.100.226.128.153.195.169.99.114.105.116.117.114.101.32.109.97.110.117.115.99.114.105.116.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.4.66.83.101.114.118.105.99.101.32.100.226.128.153.105.110.115.112.101.99.116.105.111.110.32.114.195.169.115.101.97.117.32.100.101.32.108.226.128.153.97.110.116.105.118.105.114.117.115.32.77.105.99.114.111.115.111.102.116.32.68.101.102.101.110.100.101.114 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.69.83.101.114.118.105.99.101.32.112.111.117.114.32.117.116.105.108.105.115.97.116.101.117.114.32.100.101.32.112.108.97.116.101.102.111.114.109.101.32.100.226.128.153.97.112.112.97.114.101.105.108.115.32.99.111.110.110.101.99.116.195.169.115.95.55.54.99.51.102 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.4.78.83.101.114.118.105.99.101.32.100.101.32.100.195.169.99.111.117.118.101.114.116.101.32.97.117.116.111.109.97.116.105.113.117.101.32.100.101.32.80.114.111.120.121.32.87.101.98.32.112.111.117.114.32.108.101.115.32.115.101.114.118.105.99.101.115.32.72.84.84.80.32.87.105.110.100.111.119.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.7.83.101.114.118.101.117.114 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.7.83.121.115.77.97.105.110 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.7.84.104.195.168.109.101.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.10.67.108.105.101.110.116.32.68.78.83 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.11.67.108.105.101.110.116.32.68.72.67.80 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.12.65.108.105.109.101.110.116.97.116.105.111.110 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.12.83.101.114.118.105.99.101.32.83.78.77.80 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.12.86.77.119.97.114.101.32.84.111.111.108.115 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.5.13.65.115.115.105.115.116.97.110.99.101.32.73.80 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.13.67.111.114.101.77.101.115.115.97.103.105.110.103 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.13.80.108.117.103.45.97.110.100.45.80.108.97.121 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.13.84.101.109.112.115.32.87.105.110.100.111.119.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.14.87.105.110.100.111.119.115.32.85.112.100.97.116.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.18.83.116.97.116.105.111.110.32.100.101.32.116.114.97.118.97.105.108 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.5.19.83.101.114.118.105.99.101.32.100.101.32.115.116.111.99.107.97.103.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.20.82.101.103.105.115.116.114.101.32.195.160.32.100.105.115.116.97.110.99.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.21.73.115.111.108.97.116.105.111.110.32.100.101.32.99.108.195.169.32.67.78.71 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.23.83.101.114.118.105.99.101.115.32.100.101.32.99.104.105.102.102.114.101.109.101.110.116 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.23.83.112.111.117.108.101.117.114.32.100.226.128.153.105.109.112.114.101.115.115.105.111.110 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.24.80.108.97.110.105.102.105.99.97.116.101.117.114.32.100.101.32.116.195.162.99.104.101.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.25.65.112.112.108.105.99.97.116.105.111.110.32.115.121.115.116.195.168.109.101.32.67.79.77.43 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.25.79.112.116.105.109.105.115.97.116.105.111.110.32.100.101.32.108.105.118.114.97.105.115.111.110 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.25.80.97.114.101.45.102.101.117.32.87.105.110.100.111.119.115.32.68.101.102.101.110.100.101.114 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.26.68.195.169.116.101.99.116.105.111.110.32.109.97.116.195.169.114.105.101.108.32.110.111.121.97.117 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.26.77.111.116.101.117.114.32.100.101.32.102.105.108.116.114.97.103.101.32.100.101.32.98.97.115.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.26.83.101.114.118.105.99.101.32.76.105.115.116.101.32.100.101.115.32.114.195.169.115.101.97.117.120 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.27.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.32.99.111.109.112.116.101.115.32.119.101.98 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.27.78.83.67.108.105.101.110.116.43.43.32.77.111.110.105.116.111.114.105.110.103.32.65.103.101.110.116 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.29.65.115.115.105.115.116.97.110.99.101.32.78.101.116.66.73.79.83.32.115.117.114.32.84.67.80.47.73.80 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.29.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.115.32.117.116.105.108.105.115.97.116.101.117.114.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.29.83.101.114.118.105.99.101.32.100.101.32.112.114.111.102.105.108.32.117.116.105.108.105.115.97.116.101.117.114 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.29.83.121.115.116.195.168.109.101.32.100.226.128.153.195.169.118.195.169.110.101.109.101.110.116.32.67.79.77.43 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.30.67.108.105.101.110.116.32.100.101.32.115.116.114.97.116.195.169.103.105.101.32.100.101.32.103.114.111.117.112.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.30.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.32.115.101.115.115.105.111.110.32.108.111.99.97.108.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.32.74.111.117.114.110.97.108.32.100.226.128.153.195.169.118.195.169.110.101.109.101.110.116.115.32.87.105.110.100.111.119.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.33.73.110.102.114.97.115.116.114.117.99.116.117.114.101.32.100.101.32.103.101.115.116.105.111.110.32.87.105.110.100.111.119.115 = INTEGER: 2
.1.3.6.1.4.1.77.1.2.3.1.5.33.76.97.110.99.101.117.114.32.100.101.32.112.114.111.99.101.115.115.117.115.32.115.101.114.118.101.117.114.32.68.67.79.77 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.33.83.101.114.118.105.99.101.32.100.101.32.115.116.114.97.116.195.169.103.105.101.32.100.39.97.102.102.105.99.104.97.103.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.34.65.112.112.101.108.32.100.101.32.112.114.111.99.195.169.100.117.114.101.32.100.105.115.116.97.110.116.101.32.40.82.80.67.41 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.34.67.108.105.101.110.116.32.100.101.32.115.117.105.118.105.32.100.101.32.108.105.101.110.32.100.105.115.116.114.105.98.117.195.169 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.34.83.101.114.118.105.99.101.32.100.101.32.99.97.99.104.101.32.100.101.32.112.111.108.105.99.101.32.87.105.110.100.111.119.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.35.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.115.32.99.111.110.110.101.120.105.111.110.115.32.87.105.110.100.111.119.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.35.77.97.112.112.101.117.114.32.100.101.32.112.111.105.110.116.32.100.101.32.116.101.114.109.105.110.97.105.115.111.110.32.82.80.67 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.35.83.101.114.118.105.99.101.32.100.101.32.115.116.114.97.116.195.169.103.105.101.32.100.101.32.100.105.97.103.110.111.115.116.105.99 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.36.83.101.114.118.105.99.101.32.73.110.116.101.114.102.97.99.101.32.100.117.32.109.97.103.97.115.105.110.32.114.195.169.115.101.97.117 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.36.83.101.114.118.105.99.101.32.97.110.116.105.118.105.114.117.115.32.77.105.99.114.111.115.111.102.116.32.68.101.102.101.110.100.101.114 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.37.67.111.110.110.97.105.115.115.97.110.99.101.32.100.101.115.32.101.109.112.108.97.99.101.109.101.110.116.115.32.114.195.169.115.101.97.117 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.37.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.32.99.111.109.112.116.101.115.32.100.101.32.115.195.169.99.117.114.105.116.195.169 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.38.77.101.116.116.114.101.32.195.160.32.106.111.117.114.32.108.101.32.115.101.114.118.105.99.101.32.79.114.99.104.101.115.116.114.97.116.111.114 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.38.83.101.114.118.105.99.101.32.100.101.32.100.195.169.112.108.111.105.101.109.101.110.116.32.65.112.112.88.32.40.65.112.112.88.83.86.67.41 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.39.86.77.119.97.114.101.32.65.108.105.97.115.32.77.97.110.97.103.101.114.32.97.110.100.32.84.105.99.107.101.116.32.83.101.114.118.105.99.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.40.83.101.114.118.101.117.114.32.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.32.108.105.99.101.110.99.101.115.32.87.105.110.100.111.119.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.40.83.101.114.118.105.99.101.32.66.114.111.107.101.114.32.100.101.115.32.195.169.118.195.169.110.101.109.101.110.116.115.32.115.121.115.116.195.168.109.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.41.67.111.111.114.100.105.110.97.116.101.117.114.32.100.101.32.116.114.97.110.115.97.99.116.105.111.110.115.32.100.105.115.116.114.105.98.117.195.169.101.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.42.83.101.114.118.105.99.101.32.66.114.111.107.101.114.32.112.111.117.114.32.108.101.115.32.99.111.110.110.101.120.105.111.110.115.32.114.195.169.115.101.97.117 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.42.83.101.114.118.105.99.101.32.83.116.97.116.101.32.82.101.112.111.115.105.116.111.114.121.32.40.83.116.97.116.101.82.101.112.111.115.105.116.111.114.121.41 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.43.83.101.114.118.105.99.101.32.117.116.105.108.105.115.97.116.101.117.114.32.100.117.32.80.114.101.115.115.101.45.112.97.112.105.101.114.115.95.55.54.99.51.102 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.44.65.115.115.105.115.116.97.110.116.32.67.111.110.110.101.120.105.111.110.32.97.118.101.99.32.117.110.32.99.111.109.112.116.101.32.77.105.99.114.111.115.111.102.116 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.44.71.101.115.116.105.111.110.32.195.160.32.100.105.115.116.97.110.99.101.32.100.101.32.87.105.110.100.111.119.115.32.40.71.101.115.116.105.111.110.32.87.83.77.41 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.45.83.101.114.118.105.99.101.32.66.114.111.107.101.114.32.112.111.117.114.32.108.101.115.32.195.169.118.195.169.110.101.109.101.110.116.115.32.104.111.114.97.105.114.101.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.46.77.111.100.117.108.101.115.32.100.101.32.103.195.169.110.195.169.114.97.116.105.111.110.32.100.101.32.99.108.195.169.115.32.73.75.69.32.101.116.32.65.117.116.104.73.80 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.46.83.101.114.118.105.99.101.32.100.101.32.112.108.97.116.101.102.111.114.109.101.32.100.101.115.32.97.112.112.97.114.101.105.108.115.32.99.111.110.110.101.99.116.195.169.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.47.71.101.115.116.105.111.110.110.97.105.114.101.32.100.226.128.153.105.110.115.116.97.108.108.97.116.105.111.110.32.100.101.32.112.195.169.114.105.112.104.195.169.114.105.113.117.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.48.72.195.180.116.101.32.100.117.32.102.111.117.114.110.105.115.115.101.117.114.32.100.101.32.100.195.169.99.111.117.118.101.114.116.101.32.100.101.32.102.111.110.99.116.105.111.110.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.48.83.101.114.118.105.99.101.32.100.101.32.106.111.117.114.110.97.108.105.115.97.116.105.111.110.32.100.101.115.32.97.99.99.195.168.115.32.117.116.105.108.105.115.97.116.101.117.114 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.48.83.101.114.118.105.99.101.194.160.83.83.84.80.32.40.83.101.99.117.114.101.32.83.111.99.107.101.116.32.84.117.110.110.101.108.105.110.103.32.80.114.111.116.111.99.111.108.41 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.49.83.101.114.118.105.99.101.32.100.101.32.110.111.116.105.102.105.99.97.116.105.111.110.32.100.226.128.153.195.169.118.195.169.110.101.109.101.110.116.115.32.115.121.115.116.195.168.109.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.49.83.101.114.118.105.99.101.32.100.101.32.116.114.97.110.115.102.101.114.116.32.105.110.116.101.108.108.105.103.101.110.116.32.101.110.32.97.114.114.105.195.168.114.101.45.112.108.97.110 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.49.83.101.114.118.105.99.101.32.100.117.32.115.121.115.116.195.168.109.101.32.100.101.32.110.111.116.105.102.105.99.97.116.105.111.110.115.32.80.117.115.104.32.87.105.110.100.111.119.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.50.71.101.115.116.105.111.110.110.97.105.114.101.32.100.101.115.32.99.111.110.110.101.120.105.111.110.115.32.100.226.128.153.97.99.99.195.168.115.32.195.160.32.100.105.115.116.97.110.99.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.52.83.101.114.118.105.99.101.32.71.101.115.116.105.111.110.110.97.105.114.101.32.100.226.128.153.97.99.99.195.168.115.32.97.117.120.32.102.111.110.99.116.105.111.110.110.97.108.105.116.195.169.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.54.80.117.98.108.105.99.97.116.105.111.110.32.100.101.115.32.114.101.115.115.111.117.114.99.101.115.32.100.101.32.100.195.169.99.111.117.118.101.114.116.101.32.100.101.32.102.111.110.99.116.105.111.110.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.54.83.101.114.118.105.99.101.32.100.101.32.108.226.128.153.65.115.115.105.115.116.97.110.116.32.67.111.109.112.97.116.105.98.105.108.105.116.195.169.32.100.101.115.32.112.114.111.103.114.97.109.109.101.115 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.55.83.101.114.118.105.99.101.32.100.226.128.153.105.110.102.114.97.115.116.114.117.99.116.117.114.101.32.100.101.115.32.116.195.162.99.104.101.115.32.101.110.32.97.114.114.105.195.168.114.101.45.112.108.97.110 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.55.83.101.114.118.105.99.101.32.117.116.105.108.105.115.97.116.101.117.114.32.100.101.32.110.111.116.105.102.105.99.97.116.105.111.110.115.32.80.117.115.104.32.87.105.110.100.111.119.115.95.55.54.99.51.102 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.57.69.120.112.195.169.114.105.101.110.99.101.115.32.100.101.115.32.117.116.105.108.105.115.97.116.101.117.114.115.32.99.111.110.110.101.99.116.195.169.115.32.101.116.32.116.195.169.108.195.169.109.195.169.116.114.105.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.63.83.101.114.118.105.99.101.32.100.117.32.99.108.97.118.105.101.114.32.116.97.99.116.105.108.101.32.101.116.32.100.117.32.118.111.108.101.116.32.100.226.128.153.195.169.99.114.105.116.117.114.101.32.109.97.110.117.115.99.114.105.116.101 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.66.83.101.114.118.105.99.101.32.100.226.128.153.105.110.115.112.101.99.116.105.111.110.32.114.195.169.115.101.97.117.32.100.101.32.108.226.128.153.97.110.116.105.118.105.114.117.115.32.77.105.99.114.111.115.111.102.116.32.68.101.102.101.110.100.101.114 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.69.83.101.114.118.105.99.101.32.112.111.117.114.32.117.116.105.108.105.115.97.116.101.117.114.32.100.101.32.112.108.97.116.101.102.111.114.109.101.32.100.226.128.153.97.112.112.97.114.101.105.108.115.32.99.111.110.110.101.99.116.195.169.115.95.55.54.99.51.102 = INTEGER: 1
.1.3.6.1.4.1.77.1.2.3.1.5.78.83.101.114.118.105.99.101.32.100.101.32.100.195.169.99.111.117.118.101.114.116.101.32.97.117.116.111.109.97.116.105.113.117.101.32.100.101.32.80.114.111.120.121.32.87.101.98.32.112.111.117.114.32.108.101.115.32.115.101.114.118.105.99.101.115.32.72.84.84.80.32.87.105.110.100.111.119.115 = INTEGER: 1

View File

@ -0,0 +1,36 @@
*** Settings ***
Documentation Check Windows operating systems in SNMP.
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
*** Variables ***
${CMD} ${CENTREON_PLUGINS}
*** Test Cases ***
memory ${tc}
[Tags] os Windows
${command} Catenate
... ${CMD}
... --plugin=os::windows::snmp::plugin
... --mode=memory
... --hostname=${HOSTNAME}
... --snmp-version=${SNMPVERSION}
... --snmp-port=${SNMPPORT}
... --snmp-community=os/windows/snmp/windows_anon
... --snmp-timeout=1
... ${extra_options}
Ctn Run Command And Check Result As Strings ${command} ${expected_result}
Examples: tc extra_options expected_result --
... 1 --verbose OK: Ram Total: 4.00GB Used: 557.94MB (13.62%) Free: 3.45GB (86.38%) | 'used'=585039872B;;;0;4294377472
... 2 --warning-memory='80' OK: Ram Total: 4.00GB Used: 557.94MB (13.62%) Free: 3.45GB (86.38%) | 'used'=585039872B;0:3435501977;;0;4294377472
... 3 --units OK: Ram Total: 4.00GB Used: 557.94MB (13.62%) Free: 3.45GB (86.38%) | 'used'=585039872B;;;0;4294377472
... 4 --free OK: Ram Total: 4.00GB Used: 557.94MB (13.62%) Free: 3.45GB (86.38%) | 'memory.free.bytes'=3709337600B;;;0;4294377472
... 5 --critical-memory='90' --warning-memory='80' OK: Ram Total: 4.00GB Used: 557.94MB (13.62%) Free: 3.45GB (86.38%) | 'used'=585039872B;0:3435501977;0:3864939724;0;4294377472
... 6 --critical-memory='0' CRITICAL: Ram Total: 4.00GB Used: 557.94MB (13.62%) Free: 3.45GB (86.38%) | 'used'=585039872B;;0:0;0;4294377472
... 7 --warning-memory='0' WARNING: Ram Total: 4.00GB Used: 557.94MB (13.62%) Free: 3.45GB (86.38%) | 'used'=585039872B;0:0;;0;4294377472

View File

@ -0,0 +1,33 @@
*** Settings ***
Documentation Check Windows operating systems in SNMP.
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
*** Variables ***
${CMD} ${CENTREON_PLUGINS}
*** Test Cases ***
processcount ${tc}
[Tags] os Windows
${command} Catenate
... ${CMD}
... --plugin=os::windows::snmp::plugin
... --mode=processcount
... --hostname=${HOSTNAME}
... --snmp-version=${SNMPVERSION}
... --snmp-port=${SNMPPORT}
... --snmp-community=os/windows/snmp/processcount
... --snmp-timeout=1
... ${extra_options}
Ctn Run Command And Check Result As Strings ${command} ${expected_result}
Examples: tc extra_options expected_result --
... 1 --critical-cpu-total OK: Number of current processes running: 317 | 'nbproc'=317;;;0;
... 2 --top OK: Number of current processes running: 317 | 'nbproc'=317;;;0; 'top_Anonymized 073'=132067328B;;;0; 'top_Anonymized 023'=122327040B;;;0; 'top_Anonymized 079'=109248512B;;;0; 'top_Anonymized 137'=108720128B;;;0; 'top_Anonymized 072'=93343744B;;;0;
... 3 --top-num OK: Number of current processes running: 317 | 'nbproc'=317;;;0;
... 4 --top-size OK: Number of current processes running: 317 | 'nbproc'=317;;;0;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,35 @@
*** Settings ***
Documentation Check Windows operating systems in SNMP.
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
*** Variables ***
${CMD} ${CENTREON_PLUGINS}
... --plugin=os::windows::snmp::plugin
... --mode=service
... --hostname=${HOSTNAME}
... --snmp-port=${SNMPPORT}
*** Test Cases ***
Windows Services EN ${tc}
[Documentation] Full ASCII
[Tags] os Windows local
${command} Catenate
... ${CMD}
... --snmp-community=os/windows/snmp/services-en
... --filter-name='${filter}'
... ${extra_option}
Ctn Run Command And Check Result As Strings ${command} ${expected_result}
Examples: tc filter extra_option expected_result --
... 1 ${EMPTY} ${EMPTY} OK: All services are ok | 'services.total.count'=168;;;0; 'services.active.count'=168;;;0; 'services.continue.pending.count'=0;;;0; 'services.pause.pending.count'=0;;;0; 'services.paused.count'=0;;;0;
... 2 toto ${EMPTY} OK: ${SPACE}| 'services.total.count'=0;;;0; 'services.active.count'=0;;;0; 'services.continue.pending.count'=0;;;0; 'services.pause.pending.count'=0;;;0; 'services.paused.count'=0;;;0;
... 3 toto --critical-active=1: CRITICAL: Number of services active: 0 | 'services.total.count'=0;;;0; 'services.active.count'=0;;1:;0; 'services.continue.pending.count'=0;;;0; 'services.pause.pending.count'=0;;;0; 'services.paused.count'=0;;;0;
... 4 ${EMPTY} --critical-active=1: OK: All services are ok | 'services.total.count'=168;;;0; 'services.active.count'=168;;1:;0; 'services.continue.pending.count'=0;;;0; 'services.pause.pending.count'=0;;;0; 'services.paused.count'=0;;;0;
... 5 ${EMPTY} --critical-active=1:1 CRITICAL: Number of services active: 168 | 'services.total.count'=168;;;0; 'services.active.count'=168;;1:1;0; 'services.continue.pending.count'=0;;;0; 'services.pause.pending.count'=0;;;0; 'services.paused.count'=0;;;0;

View File

@ -1,8 +1,9 @@
*** Settings ***
Documentation Linux Local Systemd-sc-status
Documentation Check Windows operating systems in SNMP.
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
@ -15,27 +16,9 @@ ${CMD} ${CENTREON_PLUGINS}
*** Test Cases ***
Windows Services EN ${tc}
[Documentation] Full ASCII
[Tags] os linux local
${command} Catenate
... ${CMD}
... --snmp-community=os/windows/snmp/services-en
... --filter-name='${filter}'
... ${extra_option}
Ctn Run Command And Check Result As Strings ${command} ${expected_result}
Examples: tc filter extra_option expected_result --
... 1 ${EMPTY} ${EMPTY} OK: All services are ok | 'services.total.count'=168;;;0; 'services.active.count'=168;;;0; 'services.continue.pending.count'=0;;;0; 'services.pause.pending.count'=0;;;0; 'services.paused.count'=0;;;0;
... 2 toto ${EMPTY} OK: ${SPACE}| 'services.total.count'=0;;;0; 'services.active.count'=0;;;0; 'services.continue.pending.count'=0;;;0; 'services.pause.pending.count'=0;;;0; 'services.paused.count'=0;;;0;
... 3 toto --critical-active=1: CRITICAL: Number of services active: 0 | 'services.total.count'=0;;;0; 'services.active.count'=0;;1:;0; 'services.continue.pending.count'=0;;;0; 'services.pause.pending.count'=0;;;0; 'services.paused.count'=0;;;0;
... 4 ${EMPTY} --critical-active=1: OK: All services are ok | 'services.total.count'=168;;;0; 'services.active.count'=168;;1:;0; 'services.continue.pending.count'=0;;;0; 'services.pause.pending.count'=0;;;0; 'services.paused.count'=0;;;0;
... 5 ${EMPTY} --critical-active=1:1 CRITICAL: Number of services active: 168 | 'services.total.count'=168;;;0; 'services.active.count'=168;;1:1;0; 'services.continue.pending.count'=0;;;0; 'services.pause.pending.count'=0;;;0; 'services.paused.count'=0;;;0;
Windows Services FR ${tc}/x
Windows Services FR ${tc}
[Documentation] Systemd version < 248
[Tags] os linux local
[Tags] os Windows local
${command} Catenate
... ${CMD}
... --snmp-community=os/windows/snmp/services-fr
@ -49,7 +32,7 @@ Windows Services FR ${tc}/x
... ${expected_result}
... \nWrong output result for command:\n${command}\n\nExpected:\n${expected_result}\nCommand output:\n${output}\n\n
Examples: tc filter extra_option expected_result --
Examples: tc filter extra_option expected_result --
... 1 ${EMPTY} ${EMPTY} OK: All services are ok | 'services.total.count'=80;;;0; 'services.active.count'=80;;;0; 'services.continue.pending.count'=0;;;0; 'services.pause.pending.count'=0;;;0; 'services.paused.count'=0;;;0;
... 2 toto ${EMPTY} OK: ${SPACE}| 'services.total.count'=0;;;0; 'services.active.count'=0;;;0; 'services.continue.pending.count'=0;;;0; 'services.pause.pending.count'=0;;;0; 'services.paused.count'=0;;;0;
... 3 toto --critical-active=1: CRITICAL: Number of services active: 0 | 'services.total.count'=0;;;0; 'services.active.count'=0;;1:;0; 'services.continue.pending.count'=0;;;0; 'services.pause.pending.count'=0;;;0; 'services.paused.count'=0;;;0;

View File

@ -0,0 +1,31 @@
*** Settings ***
Documentation Check Windows operating systems in SNMP.
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
*** Variables ***
${CMD} ${CENTREON_PLUGINS}
*** Test Cases ***
storage ${tc}
[Tags] os Windows
${command} Catenate
... ${CMD}
... --plugin=os::windows::snmp::plugin
... --mode=storage
... --hostname=${HOSTNAME}
... --snmp-version=${SNMPVERSION}
... --snmp-port=${SNMPPORT}
... --snmp-community=os/windows/snmp/windows_anon
... --snmp-timeout=1
... ${extra_options}
Ctn Run Command And Check Result As Strings ${command} ${expected_result}
Examples: tc extra_options expected_result --
... 1 --filter-storage-type OK: All storages are ok | 'count'=4;;;0; 'used_Serial Number 5a987053'=31299354624B;;;0;63720910848 'used_D:\\\\ Label:SSS_X64FRE_FR-FR_DV9 Serial Number cf70e675'=5566558208B;;;0;5566558208 'used_Virtual Memory'=493027328B;;;0;5099683840 'used_Physical Memory'=585039872B;;;0;4294377472
... 2 --filter-duplicate OK: Storage 'Serial Number 5a987053' Usage Total: 59.34 GB Used: 29.15 GB (49.12%) Free: 30.19 GB (50.88%) | 'count'=1;;;0; 'used'=31299354624B;;;0;63720910848

View File

@ -0,0 +1,33 @@
*** Settings ***
Documentation Check Windows operating systems in SNMP.
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
*** Variables ***
${CMD} ${CENTREON_PLUGINS}
*** Test Cases ***
swap ${tc}
[Tags] os Windows
${command} Catenate
... ${CMD}
... --plugin=os::windows::snmp::plugin
... --mode=swap
... --hostname=${HOSTNAME}
... --snmp-version=${SNMPVERSION}
... --snmp-port=${SNMPPORT}
... --snmp-community=os/windows/snmp/windows_anon
... ${extra_options}
Ctn Run Command And Check Result As Strings ${command} ${expected_result}
Examples: tc extra_options expected_result --
... 1 --real-swap=0 OK: Swap Total: 4.75 GB Used: 470.19 MB (9.67%) Free: 4.29 GB (90.33%) | 'used'=493027328B;;;0;5099683840
... 2 --warning='80' OK: Swap Total: 4.75 GB Used: 470.19 MB (9.67%) Free: 4.29 GB (90.33%) | 'used'=493027328B;0:4079747072;;0;5099683840
... 3 --critical='90' OK: Swap Total: 4.75 GB Used: 470.19 MB (9.67%) Free: 4.29 GB (90.33%) | 'used'=493027328B;;0:4589715456;0;5099683840
... 4 --critical='0' CRITICAL: Swap Total: 4.75 GB Used: 470.19 MB (9.67%) Free: 4.29 GB (90.33%) | 'used'=493027328B;;0:0;0;5099683840
... 5 --warning='0' WARNING: Swap Total: 4.75 GB Used: 470.19 MB (9.67%) Free: 4.29 GB (90.33%) | 'used'=493027328B;0:0;;0;5099683840

View File

@ -0,0 +1,35 @@
*** Settings ***
Documentation Check Windows operating systems in SNMP.
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
*** Variables ***
${CMD} ${CENTREON_PLUGINS} --plugin=os::windows::snmp::plugin
*** Test Cases ***
time ${tc}
[Tags] os Windows
${command} Catenate
... ${CMD}
... --mode=time
... --hostname=${HOSTNAME}
... --snmp-version=${SNMPVERSION}
... --snmp-port=${SNMPPORT}
... --snmp-community=os/windows/snmp/windows_anon
... --snmp-timeout=1
... ${extra_options}
${output} Run ${command}
${output} Strip String ${output}
Should Match Regexp ${output} ${expected_result}
Examples: tc extra_options expected_result --
... 1 --oid='' OK: Time offset (-?\\\\d+) second\\\\(s\\\\): Local Time : (\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}) \\\\(\\\\+\\\\d{4}\\\\) \\\\| 'offset'=(-?\\\\d+)s;.*$
... 2 --warning-offset='0' WARNING: Time offset (-?\\\\d+) second\\\\(s\\\\): Local Time : (\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}) \\\\(\\\\+\\\\d{4}\\\\) \\\\| 'offset'=(-?\\\\d+)s;.*$
... 3 --critical-offset='125' CRITICAL: Time offset (-?\\\\d+) second\\\\(s\\\\): Local Time : (\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}) \\\\(\\\\+\\\\d{4}\\\\) \\\\| 'offset'=(-?\\\\d+)s;.*$
... 4 --ntp-port=123 OK: Time offset (-?\\\\d+) second\\\\(s\\\\): Local Time : (\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}) \\\\(\\\\+\\\\d{4}\\\\) \\\\| 'offset'=(-?\\\\d+)s;.*$
... 5 --timezone='+0100' OK: Time offset (-?\\\\d+) second\\\\(s\\\\): Local Time : (\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}) \\\\(\\\\+\\\\d{4}\\\\) \\\\| 'offset'=(-?\\\\d+)s;.*$

View File

@ -0,0 +1,41 @@
*** Settings ***
Documentation Check Windows operating systems in SNMP.
Resource ${CURDIR}${/}..${/}..${/}..${/}resources/import.resource
Suite Setup Ctn Generic Suite Setup
Test Timeout 120s
*** Variables ***
${CMD} ${CENTREON_PLUGINS}
*** Test Cases ***
uptime ${tc}
[Tags] os Windows
${command} Catenate
... ${CMD}
... --plugin=os::windows::snmp::plugin
... --mode=uptime
... --hostname=${HOSTNAME}
... --snmp-version=${SNMPVERSION}
... --snmp-port=${SNMPPORT}
... --snmp-community=os/windows/snmp/windows_anon
... --snmp-timeout=1
... ${extra_options}
Ctn Run Command And Check Result As Strings ${command} ${expected_result}
Examples: tc extra_options expected_result --
... 1 --warning-uptime='2' WARNING: System uptime is: 18m 37s | 'uptime'=1117.00s;0:2;;0;
... 2 --warning-uptime='1' WARNING: System uptime is: 18m 37s | 'uptime'=1117.00s;0:1;;0;
... 3 --critical-uptime='2' CRITICAL: System uptime is: 18m 37s | 'uptime'=1117.00s;;0:2;0;
... 4 --add-sysdesc OK: System uptime is: 18m 37s, - | 'uptime'=1117.00s;;;0;
... 5 --critical-uptime='1' CRITICAL: System uptime is: 18m 37s | 'uptime'=1117.00s;;0:1;0;
... 6 --check-overload OK: System uptime is: 18m 37s | 'uptime'=1117.00s;;;0;
... 7 --reboot-window OK: System uptime is: 18m 37s | 'uptime'=1117.00s;;;0;
... 8 --unit='h' OK: System uptime is: 18m 37s | 'uptime'=0.31h;;;0;
... 9 --unit='m' OK: System uptime is: 18m 37s | 'uptime'=18.62m;;;0;
... 10 --unit='s' OK: System uptime is: 18m 37s | 'uptime'=1117.00s;;;0;

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