Nagios – monitor interSeptor Temperature and Humidity

Jakarta interSeptor is a server room grade temperature and humidity monitoring device that offers SNMP access:
https://www.jacarta.com/interseptor/

To manually check your temp and humidity run:
temperature:
/usr/local/nagios/libexec/check_snmp -H _interSeptor_IP_ -C _Community_String_ -o .1.3.6.1.4.1.19011.1.3.1.1.3.2.1.3.1
humidity
/usr/local/nagios/libexec//check_snmp -H _interSeptor_IP_ -C _Community_String_ -o .1.3.6.1.4.1.19011.1.3.1.1.3.2.1.5.1

the output will look like this:
SNMP OK – 207 | iso.3.6.1.4.1.19011.1.3.1.1.3.2.1.3.1=207

Please note that all temperature and humidity values are multiplied by ten when retrieved.
Therefore the returned values should be divided by ten once retrieved to attain the actual
reading.

To deal with that problem in the: /usr/local/nagios/libexec/ folder create check_interSeptor.sh file then paste this:

#!/bin/bash
# $1 - hostname
# $2 - SNMP community string
# $3 - oid
# $4 - Header
# temp oid =.1.3.6.1.4.1.19011.1.3.1.1.3.2.1.3.1
# humidity oid = .1.3.6.1.4.1.19011.1.3.1.1.3.2.1.5.1
# oid details: https://www.jacarta.com/wp-content/uploads/interSeptor-Alarm-OIDs.pdf

snmp=$(/usr/local/nagios/libexec/check_snmp -H $1 -C $2 -o $3|cut -b 11-14)
var=$(echo "scale=2; $snmp/10" | bc )
output=$(echo "$4 - $var | $4=$var" )
echo $output

save the file and make it executable then test it:
/usr/local/nagios/libexec/check_interSeptopr.sh _interSeptor_IP_ _Community_String_ .1.3.6.1.4.1.19011.1.3.1.1.3.2.1.5.1 Humidity

Humidity – 42.20 | Humidity=42.20

Now back to Nagios:
in the commands.cfg define command:

define command {
    command_name    check_interSeptor
    command_line    $USER1$/check_interSeptopr.sh $HOSTADDRESS$ $ARG1$ $ARG2$ $ARG3$
}

then define services:

define service{
        use                     generic-service
        host_name               interseptor
        service_description     Temperature
        check_command           check_interSeptor!BVFB2unUAX!.1.3.6.1.4.1.19011.1.3.1.1.3.2.1.3.1!Temperature
        }

define service{
        use                     generic-service
        host_name               interseptor
        service_description     Humidity
        check_command           check_interSeptor!BVFB2unUAX!.1.3.6.1.4.1.19011.1.3.1.1.3.2.1.5.1!Humidity
        }

snmpd: error on subcontainer ‘ia_addr’ insert (-1)

On Debian 10 system – syslog is flooded with:

snmpd[6578]: error on subcontainer ‘ia_addr’ insert (-1)
snmpd[6578]: error on subcontainer ‘ia_addr’ insert (-1)
snmpd[6578]: error on subcontainer ‘ia_addr’ insert (-1)
This seems to be a bug and to fix it edit systemd unit file:

# cp /lib/systemd/system/snmpd.service /etc/systemd/system/snmpd.service
# sed -i "s|-Lsd|-LS6d|" /etc/systemd/system/snmpd.service
# systemctl daemon-reload
# systemctl restart snmpd

VMware – esxtop – troubleshooting VM CPU performance

To display VM only press V (VM only view):

then to expand specific VM press e (expand) then enter the GID number:

As this VM has 3 CPU I can see CPU usage on all of them, RDY, USED and CSTP times.

%RDY is a Key Performance Indicator!  This one defines how much time your virtual machine wanted to execute CPU cycles but could not get access to the physical CPU. It tells you how much time did you spend in a “queue”. I normally expect this value to be better than 5%. In this case we can see that this VM is struggling a bit or it is very busy.

%USED tells you how much time did the virtual machine spend executing CPU cycles on the physical CPU.

%CSTP tells you how much time a virtual machine is waiting for a virtual machine with multiple vCPU to catch up. If this number is higher than 3% you should consider lowering the amount of vCPU in your virtual machine.

Linux – Network Manager – change static IP via nmcli

1 . Display available network adapters

[root@HOST]# nmcli conn show
NAME UUID TYPE DEVICE
Wired connection 2 7d08ebcc-94a7-337f-9b74-edecb7cbfd37 ethernet ens192

2. Change the IP address, gateway and DNS:

[root@HOST]# nmcli connection modify 7d08ebcc-94a7-337f-9b74-edecb7cbfd37 ipv4.address 192.168.101.200/24
[root@HOST]# nmcli conn modify 7d08ebcc-94a7-337f-9b74-edecb7cbfd37 ipv4.gateway 192.168.101.254
[root@HOST]# nmcli conn mod 7d08ebcc-94a7-337f-9b74-edecb7cbfd37 ipv4.method manual
[root@HOST]# nmcli conn mod 7d08ebcc-94a7-337f-9b74-edecb7cbfd37 ipv4.dns 192.168.1.74
[root@HOST]# nmcli conn up 7d08ebcc-94a7-337f-9b74-edecb7cbfd37
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/11)

Linux – Adding and extending LVM disk

Current config:

#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_HOST-lv_root
                       50G   47G  554M  99% /
tmpfs                 1.9G   76K  1.9G   1% /dev/shm
/dev/sda1             477M   40M  412M   9% /boot
/dev/mapper/vg_HOST-lv_home
                      5.5G   12M  5.2G   1% /home

I have added 10 GB and want to extend the root drive

1. Rescan to find the new space (this will be different for different systems – first find out what SCSI devices you have) – in my case:

[root@HOST ~]# echo 1 > /sys/class/scsi_device/2\:0\:0\:0/device/rescan
[root@HOST ~]# echo 1 > /sys/class/scsi_device/3\:0\:0\:0/device/rescan

2. Use cfdisk to create new partition from the newly added space – type 8e

3. Run partprobe to detect the new partition (in my case it was /dev/sda3)

# partprobe -s
Warning: WARNING: the kernel failed to re-read the partition table on /dev/sda (Device or resource busy).  As a result, it may not reflect all of your changes until after reboot.

#fdisk -l

Disk /dev/sda: 75.2 GB, 75161927680 bytes
255 heads, 63 sectors/track, 9137 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00024dad

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        7833    62401536   8e  Linux LVM
/dev/sda3            7833        9138    10485760   8e  Linux LVM

# vgextend vg_HOST /dev/sda3
  Device /dev/sda3 not found (or ignored by filtering).
  Unable to add physical volume '/dev/sda3' to volume group 'vg_HOST'.

4. because Partprobe failed I am unable to use vgextend and I don’t want to reboot that system – solution is to use partx command

# partx -l /dev/sda
# 1:      2048-  1026047 (  1024000 sectors,    524 MB)
# 2:   1026048-125829119 (124803072 sectors,  63899 MB)
# 3: 125829120-146800639 ( 20971520 sectors,  10737 MB)
# 4:         0-       -1 (        0 sectors,      0 MB)


# partx -a /dev/sda
BLKPG: Device or resource busy
error adding partition 1
BLKPG: Device or resource busy
error adding partition 2

5. Extend volume group

# vgextend vg_HOST /dev/sda3
  Physical volume "/dev/sda3" successfully created
  Volume group "vg_HOST" successfully extended

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_HOST-lv_root
                       50G   47G  555M  99% /
tmpfs                 1.9G   80K  1.9G   1% /dev/shm
/dev/sda1             477M   40M  412M   9% /boot
/dev/mapper/vg_HOST-lv_home
                      5.5G   12M  5.2G   1% /home

6. Extend Logical volume

NOTE: to avoid errors – always use size that is bit smaller then the size we want – so instead 10G I use 9950M – googole it if you want to know why

# lvextend -L+9950M /dev/mapper/vg_HOST-lv_root
  Rounding size to boundary between physical extents: 9.72 GiB.
  Size of logical volume vg_HOST/lv_root changed from 50.00 GiB (12800 extents) to 59.72 GiB (15288 extents).
  Logical volume lv_root successfully resized.

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_HOST-lv_root
                       50G   47G  555M  99% /
tmpfs                 1.9G   80K  1.9G   1% /dev/shm
/dev/sda1             477M   40M  412M   9% /boot
/dev/mapper/vg_HOST-lv_home
                      5.5G   12M  5.2G   1% /home

7. Resize the disk

# resize2fs /dev/mapper/vg_HOST-lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/vg_HOST-lv_root is mounted on /; on-line resizing required
old desc_blocks = 4, new_desc_blocks = 4
Performing an on-line resize of /dev/mapper/vg_HOST-lv_root to 15654912 (4k) blocks.
The filesystem on /dev/mapper/vg_HOST-lv_root is now 15654912 blocks long.

[root@HOST ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_HOST-lv_root
                       59G   47G  9.7G  83% /
tmpfs                 1.9G   80K  1.9G   1% /dev/shm
/dev/sda1             477M   40M  412M   9% /boot
/dev/mapper/vg_HOST-lv_home
                      5.5G   12M  5.2G   1% /home