Custom Wizards,Components and Dashlets     in Nagios XI                     Troy Lea                  troy@box293.com     ...
About Me   IT Consultant     Strategic Group       http://www.strategicgroup.net.au/   Cloud Computing Specialist     VAUL...
Why  Why Nagios XI?  It’s a virtual appliance - ready to go  Why customize?      Improve functionality      To help others...
Configuration Wizards - Current Portfolio Wizard                                             Downloads Box293 Demonstratio...
Configuration Wizards - My Documentation   Existing Documentation Created By Me     Tips For Customising Configuration Wiz...
Nagios XI Service Relationship Map                      2012           6
Configuration Wizards - Official Documentation   Official Documentation     Writing Custom Wizards For Nagios XI       htt...
Configuration Wizards - Customizing   Key Concepts     Provide help / documentation at the start       This can be in coll...
Configuration Wizards - Stages   Step 1     This is the list of all the available wizards                                 ...
Configuration Wizards - Stages    Step 1        The information that is presented here is taken from the $args        arra...
Configuration Wizards - Stages   Before Step 2     Fresh Wizard Run?       Define variables     User is returning from Ste...
Configuration Wizards - Stages                      2012       12
Configuration Wizards - Stages   Step 2       CONFIGWIZARD_MODE_GETSTAGE1HTML       This is the first step you can customi...
Configuration Wizards - Stages   Between Step 2 and Step 3       CONFIGWIZARD_MODE_VALIDATESTAGE1DATA       Is the user re...
Configuration Wizards - Stages                      2012       15
Configuration Wizards - Stages                      2012       16
Configuration Wizards - Stages   Step 3       CONFIGWIZARD_MODE_GETSTAGE2HTML       Completely customisable except for the...
Configuration Wizards - Stages     User coming from Step 2?       Check for Step 2 data and populate/manipulate          S...
Configuration Wizards - Stages   Between Step 3 and Step 4       CONFIGWIZARD_MODE_VALIDATESTAGE2DATA       Is the user re...
Configuration Wizards - Stages                      2012       20
Configuration Wizards - Stages   Between Step 3 and Step 4       CONFIGWIZARD_MODE_GETSTAGE3OPTS       Optional, does not ...
Configuration Wizards - Stages   Step 4       CONFIGWIZARD_MODE_GETSTAGE3HTML            Any additional html here will app...
Configuration Wizards - Stages   Between Step 4 and Step 5       CONFIGWIZARD_MODE_VALIDATESTAGE3DATA       Nothing you re...
Configuration Wizards - Stages                      2012       24
Configuration Wizards - Stages   Between Step 4 and Step 5       CONFIGWIZARD_MODE_GETSTAGE4OPTS       Optional, does not ...
Configuration Wizards - Stages   Step 5       Options for Notification Settings            As per the previous slide these...
Configuration Wizards - Stages   Step 6       Options for Groups       and Parents       This Step CANNOT       be modifie...
Configuration Wizards - Stages   Final Step       CONFIGWIZARD_MODE_GETFINALSTAGEHTML       You can add additional code to...
Configuration Wizards - Stages   Creating the Host and Service Objects       CONFIGWIZARD_MODE_GETOBJECTS       Using all ...
Configuration Wizards - Templates   Adding a Command Definition           Youve supplied a plugin with your wizard        ...
Components - Current Portfolio Component                       Downloads History Tab                     37,000+          ...
Components  Official Documentation    Nagios XI Component Development      http://library.nagios.com/library/products/nagi...
Dashlets and Dashboards - Overview   Extract from the user guide:     Dashboards are designed to provide individual users ...
Dashboards Tab                 2012   34
Dashlets - Current Portfolio Dashlet                       Downloads Text Dashlet                  24,000+ Status Info Das...
Dashlets - Modes   There are four parts to creating a Dashlet     DASHLET_MODE_PREVIEW     DASHLET_MODE_GETCONFIGHTML     ...
Dashlets - Modes   DASHLET_MODE_PREVIEW     This is for when you click the Available Dashlets link                        ...
Dashlets - Modes   DASHLET_MODE_GETCONFIGHTML     When you click on the "Add This To A Dashboard"     icon, DASHLET_MODE_G...
Dashlets - Modes   DASHLET_MODE_GETCONFIGHTML   Here you can specify the options you   require for your dashlet   There is...
Dashlets - Modes DASHLET_MODE_GETCONFIGHTML In the Status Info Dashlet I implement my own error checking by providing a pr...
Dashlets - Modes   DASHLET_MODE_INBOARD   This is the section that makes the dashlet appear on any   dashboard you add it ...
Dashlets - Modes   DASHLET_MODE_OUTBOARD     This is for some dashlets that are built into the pages of Nagios XI         ...
Discount Offer   But wait, theres more ...   Get a 10% discount on your Nagios XI Unlimited   Nodes license when purchased...
Questions   Questions ?                 2012   44
Upcoming SlideShare
Loading in …5
×

Nagios Conference 2012 - Troy Lea - Custom Wizards, Components and Dashlets in Nagios XI

1,435 views
1,307 views

Published on

Troy Lea's presentation on creating custom addons for Nagios XI.
The presentation was given during the Nagios World Conference North America held Sept 25-28th, 2012 in Saint Paul, MN. For more information on the conference (including photos and videos), visit: http://go.nagios.com/nwcna

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,435
On SlideShare
0
From Embeds
0
Number of Embeds
55
Actions
Shares
0
Downloads
31
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Good morning all and thank you for coming to my session. My name is Troy Lea and I'm here to talk to you about custom configuration wizards, components and dashlets in Nagios XI.
  • Before I take you through my presentation I wanted to spend a few moments telling you about who I am and how I've come to speak to you at this conference. Who am I? I am just like you, I am passionate about IT and everyday I get to work for an organisation where I can make a difference in the value that my company delivers to our clients. The company I work for is called Strategic Group, and as you can tell by my accent we are Australian. I have spent the last seven years of my life with Strategic Group. My journey with Strategic Group started with helping clients by supporting their onsite infrastructure and creating solutions around that. The last few years have been quite different, in 2005, as a company we made a decision to jump into the cloud with both feet. We designed and created a complete server replacement platform that we call VAULT. I think the irony with this is, that while we called it VAULT, the world would soon catch up and call this cloud. Nagios XI is the monitoring solution we use for VAULT. The value it has brought to VAULT has been in the historical data that we can observe to understand the baseline performance of our environment. Additionally receiving a text message on my cell phone when the comms room temperature is increasing is somewhat handy. Although the VAULT journey has been exciting in itself, VAULT has grown and matured by taking our clients feedback and utilising our expertise to make VAULT a complete solution. It's this approach that sets us apart from the rest, some of us at the company like to think that it was good planning, some of us will admit that it was good luck when we came across the idea for VAULT, but it's how we've approached everyday after that that has defined who we are as an organisation. And it's this approach that I'm excited to contribute to, it's helped defined who I am as a technician and how I approach my work. At the beginning of this year I was awarded one of eight Nagios MVP awards for my contributions to the Nagios worldwide community for 2011 and it's one of the key reasons how I've come to be in front of you today.
  • Why Nagios XI? My journey started ... actually I tend to use the word journey a lot because I see life as a series of journeys, now where was I? Thats right, when I played with Nagios a couple of months before Nagios XI was released, I liked it and I could see it was a very powerful monitoring solution however I knew very little about Linux and that became a barrier for me.   But it got to me, a few months later Nagios was still lingering in my head, something was telling me to have another look at it. So I did what anyone of us would do, I jumped on google cause google knows everything ... and I did a search for Nagios. Google and it's infinite wisdom told me that Nagios XI had just been released. I love Nagios XI, why do i love it? Because it took away that barrier of the Linux component. I love how I can just download Nagios XI and instantly you have a fully . functional . monitoring . product . I believe this is a perfect example of what a virtual appliance should be. Out of all the things you can do with Nagios XI, why did I choose to focus on customising and creating configuration wizards? To an administrator that is new to Nagios XI it can get a bit confusing trying to learn how to configure Nagios. So lets say you have an xyz device you want to monitor, I guess that sounds like something everyone in this room would want to do. You would search the Nagios Exchange and find a plugin for xyz device and download it. Then you would have to learn how to test the plugin at the CLI. Then you would have to learn how to add a command to Nagios XI. Then you would have to learn how to add a service to Nagios XI using the command you just defined. That sounds like a lot of things for a beginner to learn with a new product. So what's the point of all of this? When I work out how to monitor xyz device in my environment, I am then able to turn around and write a Configuration Wizard for that xyz device. For you, that Configuration Wizard will automate the whole process and ONLY after a few mouse clicks you are monitoring the same xyz device in your environment.
  • Here is a summary of the Configuration Wizards I have created so far. The host creation tool is one that I am particularly proud of, because not only does it have a few downloads, it was the inspiration for the Bulk Host Import wizard that Nagios Enterprises developed. In 2010 the the VMware Monitoring wizard I created helped me win the Nagios Seedcamp competition. These are all available for download at the Nagios Exchange, and if you can’t find them I'm sure google will be more than happy to tell you where to go.
  • When I first started out there was no available documentation on how to create Configuration Wizards. So after playing around a bit and creating a couple of Wizards I made some notes about how I did it and published this on the Nagios Exchange. They are now out-dated, as the official documentation is more current however the service relationship map is a very handy diagram, I'll show you this on the next slide. I do plan on updating these documents. The Box293 Demonstration Wizard is what I will focus on in this presentation. I kind of call this documentation as when you look through the code you'll find it is heavily commented, this makes it very easy for anyone to understand how it all works.
  • This is the Nagios XI Service Relationship Map. I can remember the day when all of this started to fall into place. The reason why I created this was so I wouldn't forget how it all fitted together but also this is a handy reference for any new administrator to Nagios XI. It shows how a plugin / command relationship works. You can see how monitoring a windows performance counter object translates against a command, service and also inside of the configuration wizard. Even if you aren't creating custom configuration wizards this map is still very helpful. I also think it would be helpful to a Nagios admin that is migrating to Nagios XI. This will get updated to reflect the new core configuration manager interface that is being released soon as part of Nagios XI 2012.
  • Since then Nagios Enterprises has released official documentation which is a must read. Also the Component Development document has handy information about querying the backend databases.
  • Lets talk about configuration wizards. Firstly I will say that a lot of what I am going to talk about might seem like programming common sense. I'm the first to admit that I'm not a real programmer, so some of the stuff I will go over are things that I have learnt through my journey. One of the key concepts I aim for with a configuration wizard is putting all of the help on the first page of the wizard. This means the end user doesn't have to go off and find a separate manual. Things like how to configure SNMP on a Windows server. Its these little extra configuration steps that remove the barriers for a new admin to Nagios XI. It's all in hidden DIVs that are expandable/collapsible; so it's not like this information "gets in the way" every time you run the wizard. I strive to provide all the steps required to make the wizard work in your environment.   There are multiple stages that you are stepped through to collect information about the object that you want to monitor. It is important that you program your configuration wizard to preserve the data the end user has already entered. If a user clicks the Back button then they won't need to choose all their options again.   Where possible you should automate the data collection process. The Network Switch/Router configuration wizard is a great example of this between step 2 and 3. It talks to the Switch or Router and finds out what ports are active, gets information about them and then presents this in a nice table in step 3, with check boxes to select the desired monitoring options. This just makes things easier for the end user. An example where I did not do this and should have was with my VMware Monitoring Wizard. Instead I ask the user to type some information in and there is no validation to ensure that information exists in vCenter, a big revamp is planned for this wizard. Some of my configurations wizards need to be updated to reflect the current best practices, as outlined in official documentation and clearly demonstrated in my Box293 Demonstration Wizard.
  • Now I am going to delve into how configuration wizards work and how they can be customized. From the Configure tab in Nagios XI you can run the monitoring wizard. Step 1 presents you with the list of all the available wizards on your Nagios XI host. As we go through the different Steps in the configuration wizard, you will see that these do not directly correlate with the stage numbers in the php code, I will show you this. Why? I’m not entirely sure to be honest but it’s important that you know about this to avoid confusion.
  • Step 1 Inside each configuration wizard php file is the $args array. The information here is used in Step 1 and also on the Manage Config Wizards page Once you click on a wizard you want to run, you are taken to Step 2.
  • Before I can talk about Step 2 there is the following to consider. Is this the first time the wizard has been run? If so we define the variables that have default values. Or was the user on step 3 and they clicked the back button? If so we need to repopulate the data originally provided when on Step 2. Or did the user provided data on step 2 fail the required error checking? If so we need to repopulate the data provided when on Step 2, so they can correct it. For example they may have used invalid characters or left fields empty.
  • Here is step 2. Firstly you will see what I was talking about earlier where the step and stage numbers are not aligned. The Overview, Discount Offer, License and Project Hours are examples of the hidden DIVs that are expandable/collapsible. Here you can see we are asking for an IP Address or FQDN of the host we want to monitor. Also there is a select option for demonstration purposes. You will notice throughout the Box293 Configuration Wizard there is a lot of text that explains what each step is all about.
  • Step 2 This is the first step you can customise, it is completely customisable except for the Back and Next buttons. As I talked about earlier, you should put all of your overview, help and configuration steps here. I made the mistake in one of my earlier wizards by putting all this stuff at step 3 and it wasn't a logical place to put it.
  • Before Step 3 we have a validation stage. Firstly there should be a check performed to see if the user pressed the back button to go from Step 3 to Step 2. If they did this then there is no need for data validation on the Step 2 data as this would have already been done when they proceeded from Step 2 to Step 3. Otherwise the user is proceeding to Step 3 so there needs to be reality checks on the information provided in Step 2. For example the IP Address / FQDN field may not be populated. Some configuration wizards like the Network Switch/Router will use the address to contact the device and gather information, if it's not provided or its incorrect then the wizard is not going to work. If supplied data is not correct the wizard will go back to Step 2 informing them of the problem.
  • Here is Step 3. This is the Box293 Demonstration Wizard. You can see that the IP address from Step 2 is populated, also a DNS lookup was done and this information has been populated in the Host Name field.
  • The picture on the left is the Network Switch/Router wizard. This is an example of how the data collection process has been automated like I talked about before. The picture on the right is taken from the Dell OpenManage Monitoring Wizard. With this wizard it's just a simple list of check boxes the user can select.
  • Step 3 This step is completely customisable except for the Back and Next buttons.   This should be the section that you get the user to select what options they want to monitor. If I refer back to the last slide, these may all be populated based on what the device you queried returned or predefined.
  • Additionally there is the following to consider. Is the user coming from on step 2? Check for Step 2 data and manipulate or populate. Or was the user on step 4 and they clicked the back button? If so we need to repopulate the data originally provided when on Step 3. Or did the user provided data on step 3 fail the required error checking? If so we need to repopulate the data provided when on Step 3, so they can correct it. For example they may have used invalid characters or left fields empty.
  • Before Step 4 we have a validation stage. Firstly there should be a check performed to see if the user pressed the back button to go from Step 4 to Step 3. If they did this then there is no need for data validation on the Step 3 data as this would have already been done when they proceeded from Step 3 to Step 4. Otherwise the user is proceeding to Step 4 so there needs to be reality checks on the information provided in Step 3. Things like allowed characters or specific options selected but their sub options were not defined. If supplied data is not correct the wizard will go back to Step 3 informing them of the problem.
  • Step 4 You can see the standard monitoring settings on the top image. The bottom image shows how these can be hidden.
  • In step 4 you are asked for Monitor Settings. Sometimes you don't want to ask the user this and actually program that in yourself. Refer to the code in the Box293 Demonstration Wizard on how to do this.
  • Step 4 In this step you are asked how often you want to monitor the device. As per the previous slide these can be hidden. Any additional html here will appear on the "Monitoring Settings" step, "Notification Settings" step, "Host Groups/Service Groups/Parent Host" step and the "Final" step.   This step will always be titled "Monitoring Settings"
  • Before Step 5 we have a validation stage. There is nothing you need to put here unless you asked the user to provide more settings in step 4. If you did do this then there should also be reality checks on the Step 4 data as shown on previous slides.
  • Step 5 You can see the standard notification settings on the left image. The right image shows how these can be hidden.
  • In step 5 you are asked for Notification Settings. Sometimes you don't want to ask the user this and actually program that in yourself. Several components can be hidden. Refer to the code in the Box293 Demonstration Wizard on how to do this.
  • Step 5   You CANNOT add additional code to this step and it will always be titled "Notification Settings"
  • In Step 6 you are asked about group memberships.   You CANNOT modify or hide this step.
  • This is the final summary screen.   You can add additional code to this screen if you want however it will always be titled "Final Settings"   If you wanted you could provide a summary of what is being monitored.
  • Using all the data you have gathered you "create" all the host and service objects and add them to an array. I won't go into details here because I don't have the time today, however refer to the Box293 Demonstration Wizard for detailed information or talk to me here at the conference. But be careful, if you didn't do reality checks on the data then it's possible that an invalid configuration will be applied and fail. There's a simple rule to this, test, test and test again! Then do some more testing.
  • If you supply a plugin with your wizard then you'll need to also define the command. Defining the command is done in a .cfg file referenced in the config.xml file. Something that I need you to take note of here, make sure you define your commands with all of the $ARG?$ values. This allow others to manipulate the command they way they see fit. Other objects like Groups can also be defined Refer to official documentation for more information about the config.xml file, this is all covered in the Wizard File Structure Overview section.
  • This takes us to components. I understand some of you may have questions about configuration wizards and I'll be happy to answer all of these at the end. The only component I have created so far is the History tab. Although I'm not going to spend a lot of time speaking about this, it's one of those components that I can't do without, as it makes it really easy to see the comment and acknowledgement history for the host or service I am currently looking at.
  • I won't delve into component development as it's quite complex and is a whole topic in itself, but like anything I'll be happy to talk to people about it offline. Here is the link for the official documentation for Nagios XI Component Development.
  • Moving onto Dashlets and Dashboards Dashboards are designed to provide individual users with customized information they find useful, they do this by adding dashlets to them. Each user can create their own unique set of dashboards to customize Nagios XI to fit their needs They can be deployed to multiple users and can be kept synced with the original
  • Here is the Dashboards tab. By default when you click on the Dashboards tab the Home Page dashboard is displayed
  • I have created two dashlets so far. The Text Dashlet simply allows you to create some HTML formatted text to be displayed on a Dashboard. I created the text dashlet as an exercise in understanding how I can create my own Dashlets. I already had the concept of the Status Info Dashlet in my head but I was a little overwhelmed with how I would actually make it work. As you can see, the Status Info Dashlet allows you to take a service and display it's current status information as a Dashlet, formatted they way you want. You can even remove part of the status information, in the example above you can see I removed "OK - " from the beginning. I love the Status Info Dashlet, it's right up there as one of my favorite projects I've created so far! I will explain the basics of how Dashlets can be created using the Text Dashlet, as this is a very simple Dashlet.
  • There are four parts to a Dashlet, in the next slides I will explain each one.
  • DASHLET_MODE_PREVIEW When you click the Available Dashlets link, the PREVIEW mode contains all the code that explains the purpose of your dashlet along with a screenshot.
  • DASHLET_MODE_GETCONFIGHTML When you click on the "Add This To A Dashboard" icon, DASHLET_MODE_GETCONFIGHTML is used
  • DASHLET_MODE_GETCONFIGHTML This is what is displayed. Here you can specify the options you require for your dashlet.   There is no error checking when you click the Add It button. So if you had a field that the user needed to type into, and they left it blank, then that part of the dashlet is not going to work when it is on a dashboard. This can lead to lots of errors in the log every time that dashlet is refreshed.
  • DASHLET_MODE_GETCONFIGHTML One way of working around this is to provide a preview function in this section. For example in my Status Info Dashlet, the user can see exactly what the Dashlet will look like when they click the preview tab. If they haven't selected a required option then a message will appear telling them this.
  • DASHLET_MODE_INBOARD This is the section that makes the dashlet appear on any dashboard you add it to. For example with the text dashlet, it gets the options the user chose such as the font size, weight, style, variant and color. It then applies these to the text that the user typed in and presents this in the dashlet. The Status Info Dashlet uses the same basic concept except it is much more complicated due to the amount of options available that allows the user to manipulate the output.
  • DASHLET_MODE_OUTBOARD This is for some dashlets that are built into the pages of XI. When you see the Service Status Summary table on the Service Details page, that's a dashlet that's in OUTBOARD mode, but if you add it to one of your dashboards, it would then be using the INBOARD mode.
  • This about wraps up my presentation, thank you all for coming. If you are interested in buying Nagios XI then you can get a 10% discount off the price by purchasing it through this link.
  • Does anyone have any questions?
  • Nagios Conference 2012 - Troy Lea - Custom Wizards, Components and Dashlets in Nagios XI

    1. 1. Custom Wizards,Components and Dashlets in Nagios XI Troy Lea troy@box293.com Twitter: @Box293 http://exchange.nagios.org/directory/Owner/Box293/1
    2. 2. About Me IT Consultant Strategic Group http://www.strategicgroup.net.au/ Cloud Computing Specialist VAULT http://www.my-vault.com.au/ One of Australias most mature cloud computing solutions 2012 2
    3. 3. Why Why Nagios XI? It’s a virtual appliance - ready to go Why customize? Improve functionality To help others / share the knowledge 2012 3
    4. 4. Configuration Wizards - Current Portfolio Wizard Downloads Box293 Demonstration Wizard 2,300+ Dell OpenManage 46,000+ Dell UPS Monitoring Wizard 42,000+ EMC CLARiiON Monitoring Wizard 78,000+ Available for adoption Group Creation Tool 42,000+ Host Creation Tool 115,000+ Plugin Tool 40,000+ VMware ESX / vSphere / vCenter Monitoring Wizard 70,000+ 2012 4
    5. 5. Configuration Wizards - My Documentation Existing Documentation Created By Me Tips For Customising Configuration Wizards http://exchange.nagios.org/directory/Documentation/Nagios-XI-Documentation/Tips NOTE: Outdated Nagios XI Service Relationship Map http://exchange.nagios.org/directory/Documentation/Nagios-XI- Documentation/Nagios-XI-Service-Relationship-Map/details Box293 Demonstration Wizard http://exchange.nagios.org/directory/Addons/Configuration/Configuration- Wizards/Box293-Demonstration-Wizard/details This is the wizard I will focus on in this presentation 2012 5
    6. 6. Nagios XI Service Relationship Map 2012 6
    7. 7. Configuration Wizards - Official Documentation Official Documentation Writing Custom Wizards For Nagios XI http://library.nagios.com/library/products/nagiosxi/documentation/480-writing- custom-wizards-for-nagios-xi Box293 Demonstration Wizard was derived from this documentation Nagios XI Component Development http://library.nagios.com/library/products/nagiosxi/documentation/551-nagios- xi-component-development 2012 7
    8. 8. Configuration Wizards - Customizing Key Concepts Provide help / documentation at the start This can be in collapsible / expandable DIVs The more help you provide, the less road blocks there are Preserve existing data user has entered No-one likes re-populating multiple fields Automate the data collection process Where possible Good Example: Network Switch / Router wizard Bad Example: VMware ESX / vSphere / vCenter Monitoring Wizard (revamp planned) 2012 8
    9. 9. Configuration Wizards - Stages Step 1 This is the list of all the available wizards 2012 9
    10. 10. Configuration Wizards - Stages Step 1 The information that is presented here is taken from the $args array defined at the beginning of the configuration wizard Information also used on the Manage Config Wizards page $args=array( CONFIGWIZARD_NAME => $name, CONFIGWIZARD_TYPE => CONFIGWIZARD_TYPE_MONITORING, CONFIGWIZARD_DESCRIPTION => This wizard is an example of how to code ..., CONFIGWIZARD_DISPLAYTITLE => Box293 Demonstration Wizard, CONFIGWIZARD_FUNCTION => box293demo_configwizard_func, CONFIGWIZARD_PREVIEWIMAGE => screen2.png, CONFIGWIZARD_VERSION => 2012-08-05, CONFIGWIZARD_DATE => 2012-08-05, CONFIGWIZARD_AUTHOR => Troy Lea aka Box293, ); 2012 10
    11. 11. Configuration Wizards - Stages Before Step 2 Fresh Wizard Run? Define variables User is returning from Step 3? Check for existing Step 2 data and re-populate Step 2 ← Step 3 User provided data on Step 2 failed error checking? Check for Step 2 data and re-populate Step 2 ← Step 2 Validation 2012 11
    12. 12. Configuration Wizards - Stages 2012 12
    13. 13. Configuration Wizards - Stages Step 2 CONFIGWIZARD_MODE_GETSTAGE1HTML This is the first step you can customise Completely customisable except for the Back and Next buttons Put all of your overview, help and configuration steps here This will educate the end user about how the wizard works and also informs them of the requirements / pre-requisites Youll need to get the IP Address or FQDN of the host you want to monitor along with anything else you require 2012 13
    14. 14. Configuration Wizards - Stages Between Step 2 and Step 3 CONFIGWIZARD_MODE_VALIDATESTAGE1DATA Is the user returning from Step 3? If so, no data validation required on Step 2 data Reality checks on Step 2 data If supplied data is not correct the wizard will go back to Step 2 Refer to the code in the Box293 Demonstration Wizard to see how the error checking is performed 2012 14
    15. 15. Configuration Wizards - Stages 2012 15
    16. 16. Configuration Wizards - Stages 2012 16
    17. 17. Configuration Wizards - Stages Step 3 CONFIGWIZARD_MODE_GETSTAGE2HTML Completely customisable except for the Back and Next buttons You can use data gathered in Step 2 to query the device, manipulate the results and present them to the user Example: Network Switch/Router wizard Alternatively you may have pre-defined options Example: Dell OpenManage Wizard 2012 17
    18. 18. Configuration Wizards - Stages User coming from Step 2? Check for Step 2 data and populate/manipulate Step 2 → Step 3 User is returning from Step 4? Check for existing Step 3 data and re-populate Step 3 ← Step 4 User provided data on Step 3 failed error checking? Check for Step 3 user data and re-populate Step 3 ← Step 3 Validation 2012 18
    19. 19. Configuration Wizards - Stages Between Step 3 and Step 4 CONFIGWIZARD_MODE_VALIDATESTAGE2DATA Is the user returning from Step 4? If so, no data validation required on Step 3 data Reality checks on Step 3 data If supplied data is not correct the wizard will go back to Step 3 Things like: Allowed characters Specific options selected but their sub-options are not defined Empty fields Refer to the code in the Box293 Demonstration Wizard to see how the error checking is performed 2012 19
    20. 20. Configuration Wizards - Stages 2012 20
    21. 21. Configuration Wizards - Stages Between Step 3 and Step 4 CONFIGWIZARD_MODE_GETSTAGE3OPTS Optional, does not need to exist Allows you to hide the Monitoring Settings in Step 4 This was ideal for the Plugin Tool 2012 21
    22. 22. Configuration Wizards - Stages Step 4 CONFIGWIZARD_MODE_GETSTAGE3HTML Any additional html here will appear on the "Monitoring Settings" step, "Notification Settings" step, "Host Groups/Service Groups/Parent Host" step and the "Final" step Options for how often you want to monitor the device As per the previous slide these can be hidden This step will always be titled "Monitoring Settings" 2012 22
    23. 23. Configuration Wizards - Stages Between Step 4 and Step 5 CONFIGWIZARD_MODE_VALIDATESTAGE3DATA Nothing you really need to put here unless you gathered more data in Step 4 If so dont forget to do reality checks on Step 4 data 2012 23
    24. 24. Configuration Wizards - Stages 2012 24
    25. 25. Configuration Wizards - Stages Between Step 4 and Step 5 CONFIGWIZARD_MODE_GETSTAGE4OPTS Optional, does not need to exist Allows you to hide the Notification Settings in Step 5 This was ideal for the Plugin Tool 2012 25
    26. 26. Configuration Wizards - Stages Step 5 Options for Notification Settings As per the previous slide these can be hidden You CANNOT add additional code to this screen It will always be titled "Notification Settings" 2012 26
    27. 27. Configuration Wizards - Stages Step 6 Options for Groups and Parents This Step CANNOT be modified This Step CANNOT be hidden 2012 27
    28. 28. Configuration Wizards - Stages Final Step CONFIGWIZARD_MODE_GETFINALSTAGEHTML You can add additional code to this screen however it will always be titled "Final Settings" 2012 28
    29. 29. Configuration Wizards - Stages Creating the Host and Service Objects CONFIGWIZARD_MODE_GETOBJECTS Using all the data you have gathered you "create" all the host and service objects and add them to an $objs array If you didnt do reality checks on the data then its possible that an invalid configuration will be applied and fail 2012 29
    30. 30. Configuration Wizards - Templates Adding a Command Definition Youve supplied a plugin with your wizard Defining the command is done in a .cfg file referenced in the config.xml Other objects like Groups can also be defined Refer to official documentation about the config.xml file # check_dell_ups command definition define command{ command_name check_dell_ups command_line $USER1$/check_dell_ups.pl -H $HOSTADDRESS$ -C $ARG1$ -T $ARG2$ $ARG3$ $ARG4$ $ARG5$ $ARG6$ $ARG7$ $ARG8$ } 2012 30
    31. 31. Components - Current Portfolio Component Downloads History Tab 37,000+ 2012 31
    32. 32. Components Official Documentation Nagios XI Component Development http://library.nagios.com/library/products/nagiosxi/documentation/551-nagios-xi- component-development 2012 32
    33. 33. Dashlets and Dashboards - Overview Extract from the user guide: Dashboards are designed to provide individual users with customized information they find useful Dashboards are often used to display important, relevant information where it is needed most Dashboards are specific to individual Nagios XI users. Each user can create their own unique set of dashboards to customize Nagios XI to fit their needs Dashboards can be deployed to multiple users and can be kept synced with the original Dashlets are added to Dashboards 2012 33
    34. 34. Dashboards Tab 2012 34
    35. 35. Dashlets - Current Portfolio Dashlet Downloads Text Dashlet 24,000+ Status Info Dashlet 4,000+ 2012 35
    36. 36. Dashlets - Modes There are four parts to creating a Dashlet DASHLET_MODE_PREVIEW DASHLET_MODE_GETCONFIGHTML DASHLET_MODE_INBOARD DASHLET_MODE_OUTBOARD 2012 36
    37. 37. Dashlets - Modes DASHLET_MODE_PREVIEW This is for when you click the Available Dashlets link 2012 37
    38. 38. Dashlets - Modes DASHLET_MODE_GETCONFIGHTML When you click on the "Add This To A Dashboard" icon, DASHLET_MODE_GETCONFIGHTML is used 2012 38
    39. 39. Dashlets - Modes DASHLET_MODE_GETCONFIGHTML Here you can specify the options you require for your dashlet There is no error checking when you click the Add It button 2012 39
    40. 40. Dashlets - Modes DASHLET_MODE_GETCONFIGHTML In the Status Info Dashlet I implement my own error checking by providing a preview function Play around with the Status Info Dashlet to see how this can be achieved 2012 40
    41. 41. Dashlets - Modes DASHLET_MODE_INBOARD This is the section that makes the dashlet appear on any dashboard you add it to 2012 41
    42. 42. Dashlets - Modes DASHLET_MODE_OUTBOARD This is for some dashlets that are built into the pages of Nagios XI 2012 42
    43. 43. Discount Offer But wait, theres more ... Get a 10% discount on your Nagios XI Unlimited Nodes license when purchased through this link: http://www.nagios.com/nagiosxi10?ref=box293 Dont miss out as stocks are limited* *Stocks are not limited 2012 43
    44. 44. Questions Questions ? 2012 44

    ×