What kind of skill set that ITOM guy should have to implement CMDB discovery for non-windows devices

Mihir Y
Tera Contributor

There is a need to discovery devices other than Windows like Unix, Linux or whatever applicable. I wanted to know is there any specific skillset required to implement discovery on these devices? Does the person should be aware of Linux, Unix machines configuration? How different is this from Identifying windows machines?

1 ACCEPTED SOLUTION

Hayo Lubbers
Kilo Sage

Hi @Mihir Y ,

 

Discovery needs to be implemented in consultation with the server owners, in this case the Linux server admins.

It is a desirable that the ITOM person has basic knowledge of the systems that need to be discovered, but you can't expect a platform developer to have in-depth knowledge of all different types of hardware (servers, network, firewalls) and software.

 

The discovery itself is very similar to the Windows machine discovery. It logs in and executes a bunch of command to retrieve and process the information. The processing of the information is at the same location in the ServiceNow platform.

 

For the commands that will be executed, have a look at:

https://docs.servicenow.com/bundle/xanadu-it-operations-management/page/product/discovery/reference/...

 

You will find a list of the attribute that is searched for and with which command it is trying to retrieve this information.

 

I've made my own little more detailed list a while ago (Paris version), but it probably hasn't changed much.

FieldName

Command / Source

Example

Additional Info

Operating System

uname

Linux

uname.split(/ /)[0]

Host Name

uname -a

VM_UbunutuTest

uname.split(/ /)[1]  + some formatting

OS Version

uname -a or cat /etc/*release

5

uname.split(/ /)[2] or cat /etc/*release | grep -v ID_LIKE
Full Version. Release tag, except Ubuntu, there Version tag

Serial number(s)

dmidecode

 

sudo dmidecode -t 1 | cat >> system_serial && uuid_serial
motherboard_serial via sudo dmidecode -t 2 | cat
chassis_serial_number via sudo dmidecode -t 3 | cat

Model ID

dmidecode

 

sudo dmidecode -t 1

Manufacturer

dmidecode

inntotek GmbH

sudo dmidecode -t 1

FQDN

linux_fqdn.sh

vm_ubuntutest.internal.com

-

DNS Domain

DNS, NBT

internal.com

Extracted from FQDN

Kernel Release

uname -r |cut -d'.' -f1

5

Example: uname -r = 5.8.0.53-generic would result in kernel version : 5

IP Address

ifconfig or ip address show

134.27.224.127

IPv4 Kernel version till v3 : ifconfig -a, every inet is stored
IPv4 Kernel version > 3 : ip -4 -o addr show
IP v6 : ip -6 -o addr show

MAC Address

ifconfig or ip address show

  

Default Gateway

ip r or route -n

134.27.224.1

Kernel version till v3 : route -n
Kernel version >3 : ip r

Disk space (GB)

/proc/ide, /proc/scsi, /var/log/dmesg

550

The value is an aggregation of the disk space for all non-removable disk
including both directly attached and SAN storage.

RAM (MB)

cat /proc/meminfo

24,576

 

CPU Speed (Mhz)

cat /proc/cpuinfo

2,594

cpu Mhz

CPU name

cat /proc/cpuinfo

Intel(R) Xeon(R) CPU
E5-2690 v3 @ 2.60GHz

model name

CPU count

cat /proc/cpuinfo

4

physical_id count or 1

CPU core count

cat /proc/cpuinfo

4

cpu cores

Is Virtual

grep hypervisor /proc/cpuinfo

true/false

True for all non physicial servers

 

Hope this helps,

Hayo

 

Please mark this response as correct or helpful if it assisted you with your question.

View solution in original post

1 REPLY 1

Hayo Lubbers
Kilo Sage

Hi @Mihir Y ,

 

Discovery needs to be implemented in consultation with the server owners, in this case the Linux server admins.

It is a desirable that the ITOM person has basic knowledge of the systems that need to be discovered, but you can't expect a platform developer to have in-depth knowledge of all different types of hardware (servers, network, firewalls) and software.

 

The discovery itself is very similar to the Windows machine discovery. It logs in and executes a bunch of command to retrieve and process the information. The processing of the information is at the same location in the ServiceNow platform.

 

For the commands that will be executed, have a look at:

https://docs.servicenow.com/bundle/xanadu-it-operations-management/page/product/discovery/reference/...

 

You will find a list of the attribute that is searched for and with which command it is trying to retrieve this information.

 

I've made my own little more detailed list a while ago (Paris version), but it probably hasn't changed much.

FieldName

Command / Source

Example

Additional Info

Operating System

uname

Linux

uname.split(/ /)[0]

Host Name

uname -a

VM_UbunutuTest

uname.split(/ /)[1]  + some formatting

OS Version

uname -a or cat /etc/*release

5

uname.split(/ /)[2] or cat /etc/*release | grep -v ID_LIKE
Full Version. Release tag, except Ubuntu, there Version tag

Serial number(s)

dmidecode

 

sudo dmidecode -t 1 | cat >> system_serial && uuid_serial
motherboard_serial via sudo dmidecode -t 2 | cat
chassis_serial_number via sudo dmidecode -t 3 | cat

Model ID

dmidecode

 

sudo dmidecode -t 1

Manufacturer

dmidecode

inntotek GmbH

sudo dmidecode -t 1

FQDN

linux_fqdn.sh

vm_ubuntutest.internal.com

-

DNS Domain

DNS, NBT

internal.com

Extracted from FQDN

Kernel Release

uname -r |cut -d'.' -f1

5

Example: uname -r = 5.8.0.53-generic would result in kernel version : 5

IP Address

ifconfig or ip address show

134.27.224.127

IPv4 Kernel version till v3 : ifconfig -a, every inet is stored
IPv4 Kernel version > 3 : ip -4 -o addr show
IP v6 : ip -6 -o addr show

MAC Address

ifconfig or ip address show

  

Default Gateway

ip r or route -n

134.27.224.1

Kernel version till v3 : route -n
Kernel version >3 : ip r

Disk space (GB)

/proc/ide, /proc/scsi, /var/log/dmesg

550

The value is an aggregation of the disk space for all non-removable disk
including both directly attached and SAN storage.

RAM (MB)

cat /proc/meminfo

24,576

 

CPU Speed (Mhz)

cat /proc/cpuinfo

2,594

cpu Mhz

CPU name

cat /proc/cpuinfo

Intel(R) Xeon(R) CPU
E5-2690 v3 @ 2.60GHz

model name

CPU count

cat /proc/cpuinfo

4

physical_id count or 1

CPU core count

cat /proc/cpuinfo

4

cpu cores

Is Virtual

grep hypervisor /proc/cpuinfo

true/false

True for all non physicial servers

 

Hope this helps,

Hayo

 

Please mark this response as correct or helpful if it assisted you with your question.