Page 4 of 4
Re: Bulk Clone from Command line
Posted: Thu Jun 11, 2015 7:22 am
by peter.zanetti
peter.zanetti wrote:That was the issue. I figured it out right about the same time you posted back.
Now to throw another curveball in this, if we wanted to add a device but give it two host groups, is that possible?
Would it be as easy as adding a set of E's on the template, adding a fifth value in the CSV and adding one more hostgroup echo and cut and throwing the argument in the sed such as:
Code: Select all
# Original (base) template
define host{
use xiwizard_windowsdesktop_host
host_name AAAA
address BBBB
alias CCCC
hostgroups DDDD,EEEE
}
Code: Select all
#!/bin/bash
/bin/cat /usr/local/nagiosxi/scripts/new-hosts.csv | while read LINE
do
Name=`/bin/echo $LINE | /bin/cut -d, -f1`
Address=`/bin/echo $LINE | /bin/cut -d, -f2`
Description=`/bin/echo $LINE | /bin/cut -d, -f3`
Hostgroup1=`/bin/echo $LINE | /bin/cut -d, -f4`
Hostgroup2=`/bin/echo $LINE | /bin/cut -d, -f5`
sed -e "s/AAAA/$Name/g; s/BBBB/$Address/g; s/CCCC/$Description/g; s/DDDD
/$Hostgroup1/g; s/EEEE/$Hostgroup2/g" /usr/local/nagiosxi/scripts/base-template.cfg > /usr/local/nagios
/etc/import/$Name.cfg
done
cd /usr/local/nagiosxi/scripts
./reconfigure_nagios.sh
Re: Bulk Clone from Command line
Posted: Thu Jun 11, 2015 8:17 am
by peter.zanetti
Just tested that and it was successful!
Re: Bulk Clone from Command line
Posted: Thu Jun 11, 2015 9:43 am
by lmiltchev
Great! Let us know if it is safe to lock this topic and mark it as resolved.
Re: Bulk Clone from Command line
Posted: Thu Jun 11, 2015 10:19 am
by peter.zanetti
There is one last thing. We set up some custom check commands and intervals on the actual template itself before running the script.
custom host check tmp.PNG
custom check settings tmp.PNG
But when we look at the device the script created both in the home GUI and configure GUI none of the information shows up.
host check host.PNG
Is there a reason for this? Is there a way to fix this?
Re: Bulk Clone from Command line
Posted: Thu Jun 11, 2015 10:20 am
by peter.zanetti
second screenshot for the host settings, wouldn't let me post more than three.
Re: Bulk Clone from Command line
Posted: Thu Jun 11, 2015 1:52 pm
by lmiltchev
These values should be inherited from the template. Open the "/usr/local/nagios/var/objects.cache" in a text editor, find the "K4283696" host and see what is the actual check_command that is used.
Re: Bulk Clone from Command line
Posted: Fri Jun 12, 2015 7:23 am
by peter.zanetti
This is what that got me. It doesnt look like it inherited the right check command or check intervals.
Code: Select all
define service {
host_name K4283696
service_description DisplayAuditWCF.svc
check_period workhours
check_command check_xi_service_http! -f ok -I $HOSTADDRESS$ -u '/Displ
ayAuditWCF.svc?singleWsdl' -p 35002!!!!!!!
notification_period xi_timeperiod_24x7
initial_state o
importance 0
check_interval 15.000000
retry_interval 2.000000
max_check_attempts 3
is_volatile 0
parallelize_check 1
active_checks_enabled 1
passive_checks_enabled 1
obsess 1
event_handler_enabled 1
low_flap_threshold 0.000000
high_flap_threshold 0.000000
flap_detection_enabled 1
flap_detection_options a
freshness_threshold 0
check_freshness 0
notification_options a
notifications_enabled 1
notification_interval 60.000000
first_notification_delay 0.000000
stalking_options n
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
}
Re: Bulk Clone from Command line
Posted: Fri Jun 12, 2015 8:55 am
by lmiltchev
Can you upload the actual base template that you are using? In the template you uploaded earlier, you didn't have a service defined at all...
Code: Select all
# Original (base) template
define host{
use xiwizard_windowsdesktop_host
host_name AAAA
address BBBB
alias CCCC
hostgroups DDDD
}
If you modified the "xiwizard_windowsdesktop_host" template, the mods will be applied to the host, not to the service as this is a host template. If you had a service in your "base" template, for example:
Code: Select all
# Original (base) template
define host{
use xiwizard_generic_host
host_name AAAA
address BBBB
alias CCCC
hostgroups DDDD
}
define service{
use xiwizard_generic_service
host_name AAAA
service_description DisplayAuditWCF.svc
}
and you wanted to modify the check command this service is using, you would need to modify the "xiwizard_generic_service" template.
Note: This is a service, not host template.
What you showed us in your previous post is a service definition:
define service {
host_name K4283696
service_description DisplayAuditWCF.svc
check_period workhours
The host template changes won't apply to the service...
Re: Bulk Clone from Command line
Posted: Mon Jun 15, 2015 10:01 am
by peter.zanetti
We figured out a solution. On the template we manually have the service and intervals defined while leaving the other fields be fed by the CSV and script.
Re: Bulk Clone from Command line
Posted: Mon Jun 15, 2015 10:16 am
by lmiltchev
Sounds good! I will be locking this topic how. If you have any more questions, please start a new thread.