Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CTOR 1176: Plugin(os::freebsd::snmp) - Mode(storage): add default ZFS support + tests #5296

Merged
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"dependencies": [
"libsnmp-perl",
"libdatetime-perl"
"libdatetime-perl",
"libnet-ntp-perl"
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,15 @@
"snmp_standard/mode/loadaverage.pm",
"snmp_standard/mode/listdiskspath.pm",
"snmp_standard/mode/listinterfaces.pm",
"snmp_standard/mode/resources/",
"snmp_standard/mode/listprocesses.pm",
"snmp_standard/mode/resources/",
"snmp_standard/mode/listprocesses.pm",
"snmp_standard/mode/liststorages.pm",
"snmp_standard/mode/processcount.pm",
"snmp_standard/mode/storage.pm",
"snmp_standard/mode/swap.pm",
"snmp_standard/mode/tcpcon.pm",
"snmp_standard/mode/uptime.pm",
"snmp_standard/mode/ntp.pm",
"os/freebsd/snmp/"
]
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"dependencies": [
"perl(SNMP)",
"perl(DateTime)"
"perl(DateTime)",
"perl(Net::NTP)"
]
}
132 changes: 132 additions & 0 deletions src/os/freebsd/snmp/mode/storage.pm
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
#
# 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 os::freebsd::snmp::mode::storage;

use base qw(snmp_standard::mode::storage);

use strict;
use warnings;

sub default_storage_type {
my ($self, %options) = @_;

return '^(hrStorageFixedDisk|hrStorageNetworkDisk|hrFSBerkeleyFFS|hrFSOther)$';
}

1;

__END__

=head1 MODE

Check storage system.

=over 8

=item B<--warning-usage>

Warning threshold.

=item B<--critical-usage>

Critical threshold.

=item B<--warning-access>

Warning threshold.

=item B<--critical-access>

Critical threshold.
Check if storage is readOnly: --critical-access=readOnly

=item B<--add-access>

Check storage access (readOnly, readWrite).

=item B<--units>

Units of thresholds (default: '%') ('%', 'B').

=item B<--free>

Thresholds are on free space left.

=item B<--storage>

Define the storage filter on IDs (OID indexes, e.g.: 1,2,...). If empty, all storage systems will be monitored.
To filter on storage names, see --name.

=item B<--name>

Allows to use storage name with option --storage instead of storage OID index.

=item B<--regexp>

Allows to use regexp to filter storage (with option --name).

=item B<--regexp-insensitive>

Allows to use regexp non case-sensitive (with --regexp).

=item B<--path-best-match>

Allows to select best path mount point (with --name).

=item B<--reload-cache-time>

Time in minutes before reloading cache file (default: 180).

=item B<--oid-filter>

Choose OID used to filter storage (default: hrStorageDescr) (values: hrStorageDescr, hrFSMountPoint).

=item B<--oid-display>

Choose OID used to display storage (default: hrStorageDescr) (values: hrStorageDescr, hrFSMountPoint).

=item B<--display-transform-src> B<--display-transform-dst>

Modify the storage name displayed by using a regular expression.

Example: adding --display-transform-src='dev' --display-transform-dst='run' will replace all occurrences of 'dev' with 'run'

=item B<--show-cache>

Display cache storage data.

=item B<--space-reservation>

Some filesystem has space reserved (like ext4 for root).
The value is in percent of total (default: none) (results like 'df' command).

=item B<--filter-duplicate>

Filter duplicate storages (in used size and total size).

=item B<--filter-storage-type>

Filter storage types with a regexp (default: '^(hrStorageFixedDisk|hrStorageNetworkDisk|hrFSBerkeleyFFS|hrFSOther)$').
'hrFSOther' is needed when the default file system is ZFS.

=back

=cut
2 changes: 1 addition & 1 deletion src/os/freebsd/snmp/plugin.pm
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ sub new {
'list-storages' => 'snmp_standard::mode::liststorages',
'memory' => 'os::freebsd::snmp::mode::memory',
'processcount' => 'snmp_standard::mode::processcount',
'storage' => 'snmp_standard::mode::storage',
'storage' => 'os::freebsd::snmp::mode::storage',
'swap' => 'snmp_standard::mode::swap',
'time' => 'snmp_standard::mode::ntp',
'tcpcon' => 'snmp_standard::mode::tcpcon',
Expand Down
Loading
Loading