Hi Antony,
You can try this: 1. vi /etc/icinga2/functions.conf 2. Paste globals.get_display_name = function(h) { d = get_host(h).display_name if (d) { log(LogInformation, "get_display_name", "Display name found!") return d } log(LogWarning, "get_display_name", "Display name not found!") return "None" } 3. vi /etc/icinga2/icinga2.conf 4. Add include "functions.conf" under include "constants.conf" /** * The constants.conf defines global constants. */ include "constants.conf" include "functions.conf" 5. service icinga2 reload 6. use can now use get_display_name("hostname") Kind Regards, Ivo Kidze Sr. IT Analyst - Monitoring Team Lead Duke University OIT 334 Blackwell St, Suite 2109 Durham, NC 27701 Mobile: (919) 987-6364 ivo.ki...@duke.edu I am committed to providing you with the highest quality service. Keep in touch. -----Original Message----- From: icinga-users [mailto:icinga-users-boun...@lists.icinga.org] On Behalf Of Antony Stone Sent: Monday, March 18, 2019 11:31 AM To: Icinga User's Corner <icinga-users@lists.icinga.org> Subject: Re: [icinga-users] Get attributes of a host by reference? On Monday 18 March 2019 at 16:09:27, Václav Mach wrote: > Hi, > > have you tried debugging this using the icinga2 console? Yes. > If I'm correct the documentation suggests something like: > > ICINGA2_API_USERNAME=your_user ICINGA2_API_PASSWORD=your_pass icinga2 > console --connect > 'https://urldefense.proofpoint.com/v2/url?u=https-3A__icingaweb2-40localhost-3A5665_&d=DwIFbA&c=imBPVzF25OnBgGmVOlcsiEgHoG1i6YHLR0Sj_gZ4adc&r=dLhm7TMuuUAhZaaelXPoEPyMbTqxkar-G5Ayny5-yLE&m=5OuMETuzhUdDcMUfQweHVCEllAdzX4AqRSzGCKbbJVU&s=yiSUjVU5KsgtOGgbnJ8UyFJpU0b6x6CkxcnvQmYRDmA&e=' Right. You can also do icinga2 console --connect 'https://urldefense.proofpoint.com/v2/url?u=https-3A__your-5Fuser-3Ayour-5Fpass-40localhost-3A5665_&d=DwIFbA&c=imBPVzF25OnBgGmVOlcsiEgHoG1i6YHLR0Sj_gZ4adc&r=dLhm7TMuuUAhZaaelXPoEPyMbTqxkar-G5Ayny5-yLE&m=5OuMETuzhUdDcMUfQweHVCEllAdzX4AqRSzGCKbbJVU&s=2RUDJpS2NBOOAxKGNDdBIkuCXGHuviJ2xHaVgfu0ViI&e=' so long as you don't mind the password being visible in a process listing to other users on the machine. > After connecting you can interact with your running configuration. I > think this can help you a lot while using the icinga2 library reference. Agreed (in principle, anyway). > You can try to start by running 'get_host("your_host")' and then > continue with more complex stuff based on properties you get. Yes, I can do everything I want to there: <1> => a=get_host("first.server.com").vars.neighbour null <2> => a "second.server.com" <3> => b=get_host(get_host("first.server.com").vars.neighbour).display_name null <4> => b "HA Pair: Berlin" And, "HA Pair: Berlin" is indeed the display_name for "second.server.com", which you can see is the value in vars.neighbour for "first.server.com" So, I can get what I want in the console; it just doesn't work inside the code. > Hope this helps, cheers. Nice idea, but I'm still stuck about how to implement these commands where Ineed them to work :( Antony. -- Schrödinger's rule of data integrity: the condition of any backup is unknown until a restore is attempted. Please reply to the list; please *don't* CC me. _______________________________________________ icinga-users mailing list icinga-users@lists.icinga.org<mailto:icinga-users@lists.icinga.org> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.icinga.org_mailman_listinfo_icinga-2Dusers&d=DwIFbA&c=imBPVzF25OnBgGmVOlcsiEgHoG1i6YHLR0Sj_gZ4adc&r=dLhm7TMuuUAhZaaelXPoEPyMbTqxkar-G5Ayny5-yLE&m=5OuMETuzhUdDcMUfQweHVCEllAdzX4AqRSzGCKbbJVU&s=zoClzI7Ytr29q6RjULu3-GEhtxxCbs2X4goqRFS0Ck8&e=
_______________________________________________ icinga-users mailing list icinga-users@lists.icinga.org https://lists.icinga.org/mailman/listinfo/icinga-users