Kick Off Meeting OMi Management Pack Development Workshop 23rd May 2016
Agenda OMi Management Pack Workshop Workshop Overview Community Content on HPE Live Network ITOM Insiders Introduction to OMi Management Packs Overview of OMi Management Pack DevKit Management Pack Source Code Walkthrough Deploying and monitoring in a production setup Q&A 2
Workshop Overview 3
Free Community Workshop: Management Pack Development Get the skills, resources, and support Develop your Management Pack Submit it to the community Get highlighted in the OpsBridge Blog Earn points on ITOM Insiders along the way Learn Develop Submit For HPE and HPE Channel Partner Internal Use 4
The Process Registration Live Kickoff Webinar Live Webinar Meet the Experts Submit your Management Pack Submit registration form Receive more details Select the Management Pack you will implement Setup GitHub repository Earn points Introduction & Overview Step by step process Training presentation Live Coding Q & A Earn points Discuss questions Get advice for coding Validate your approach Q & A Earn points Submit your Management Pack to the HPE Live Network as community content Earn a lot of points! Required for participation Coding & Learning Week Support from the Experts (Forum) For HPE and HPE Channel Partner Internal Use 5
Community Content on the HPE Live Network login to HPE Live Network creating community content is an easy task involving few clicks only any HP Passport will work For HPE and HPE Channel Partner Internal Use 6
Useful Resources for OMi/OpsBridge on the HPE Live Network For HPE and HPE Channel Partner Internal Use 7
HPE ITOM Insiders Offers exclusive benefits and networking opportunities for customers and partners using HPE IT Operations Management products How it works You choose which activities to participate in Social media, attend webinars, volunteer to be a reference, test drive our products and more Earn points for completing activities, pick up badges, and move up in user status as you progress Points can be redeemed for items that will benefit you and your organization We have special challenges for this workshop: Earn points for registration, webinar attendance and content submission. Not a member yet? Send us an e-mail to receive your invitation.
Help & Resources R&D Experts will answer your questions Operations Manager i Integrations Forum Meet the experts in another live session on Wednesday See your welcome e-mail for the invitation links Find more content and free resources Operations Manager i @ HPE Live Network Operations Bridge @.HPE Live Network General questions about the workshop? Send an e-mail to management.pack.workshop@hpe.com Watch out for more information via e-mail. For HPE and HPE Channel Partner Internal Use 9
Introduction to OMi Management Packs 10
Overview of HPE OMi Management Pack Management Templates It is responsible for monitoring an applications. e.g. Essential Oracle Management Template, Extensive Oracle Management Template It is responsible for monitoring an aspect of an application. e.g. Oracle Query Performance, Oracle Tablespace Health, etc Aspects Templates It is complete configuration set with parameters. e.g. OracleConfiguration, OracleListener, etc. Parameters It is an enhancement to monitoring policy wherein monitoring can be adjusted on the fly using it. e.g. Oracle Instance Username, Oracle Instance Collection, etc.
What is HPE OMi Management Pack? Simplified, next generation, topology based end-to-end monitoring solution Templates Aspects Management Templates HPE OMi Management Pack Parameters Parameters Parameters
Automatic monitoring Simple configuration Easy-to-tune Reporting
Overview of OMi Management Pack DevKit 14
Developing an OMi MP using the DevKit START Identify what aspects to monitor for the application. Note: The development and testing of the monitoring solution can be completed without having to install or depend on HP OMi or HP Operations Agent. It can be done, for example, on a laptop. Technically each step of the development process can be owned by a different developer. For example, an SME with Perl skills can focus on developing the monitoring solution and an OMi expert can take ownership of certifying it on OMi/Agent setup. Identify the interfaces/techniques to discover application components and to collect metrics Develop and test iteratively the monitoring solution using the MP DevKit Compile the source code artifacts in to an OMi Management Pack using the MP DevKit END Validate/Tune OMi Management Pack developed in an HPE OMi /OA set up.
Development Phase & Production Phase Development Phase Production Phase OMi Management Pack for App-X OMi Management Pack for App-X Development Kit Monitor Framework Content Pack
Running the monitoring solution MP DevKit Runtime (Same as the Monitor Framework Runtime) Read Run Configuration File (YAML file) Perl Module
Three steps to develop MP using the DevKit Extract the MP DevKit to a folder of your choice Develop and Test the monitoring solution Compile the monitoring solution in to an OMi MP Primary artifacts: monitorframework.pl (The framework that executes your Perl module) Collector.pm (The parent class for your Perl module) Important commands: perl monitorframework.pl <Application.pm> ( Reads <Application.yml>. Executes the run() method of your Perl module) perl monitorframework.pl -topology <Application.pm> ( Reads <Application.yml>. Executes the topology() method from your Perl module) Important commands: ContentCreator -yml <Full path to YAML file> (OMi MP is created in the folder <YAML Folder>/Output) Example: ContentCreator -yml PostGresMonitor/PostgresMonitor.yml (Above command results in: PostGresMonitor/Output/OMi_MP_PostG resmonitor.zip )
Management Pack Code WalkThrough 19
Compiling the monitoring solution
DevKit supported artifacts - 1
DevKit supported artifacts - 2
DevKit supported artifacts - 3
Writing your source code
DevKit APIs
Invoking your monitoring solution Mode Normal Developer Production Invoked as perl monitorframework.pl perl monitorframework.pl -developer perl monitorframework.pl -production Function Invoked as run () method perl monitorframework.pl [+ - debug option] [+ - <Application.pm>] perl monitorframework.pl production [+ - debug option] [+ - <Application.pm>] perl monitorframework.pl developer [+ - <Application.pm>] topology () method perl monitorframework.pl -topology [+ - debug option] [+ - <Application.pm>] perl monitorframework.pl production topology [+ - debug option] [+ - <Application.pm>] perl monitorframework.pl developer -topology [+ - <Application.pm>]
Submitting your metrics
Submitting Event and Availability Status
Managing Log Messages The run time log level is checked against the log level of a message. For the run time log level of DEBUG, both INFO and DEBUG level log messages are logged. For the run time log level of INFO, only the INFO level log messages are logged.
Submitting Topology Information my @topology = (); my $instance1 = {}; $instance1->{name} = <name of instance1>; $instance1->{application} = <value of the attribute application> $instance1->{vendor} = <value of the attribute vendor> $instance1->{type} = <value of the CI type of instance1> $instance1->{issecure}{value} = <value e.g. true> # Technique for specifying data type $instance1->{issecure}{type} = <value of data type e.g. bool> # boolean also works. $instance1->{application_port}{value} = <value of port of the application. e.g. 1234> $instance1->{application_port}{type} = <value of data type. e.g. int>; # integer or numeric also work $instance1->{requires} = <value of the key to the required entity> $instance1->{uses} = <value of the key to the used entity> $instance1->{member_of} = <value of the key to the entity to which member of> $instance1->{add_node_rootcontainer} = "true"; #Causes local node to be added as the root container push(@topology, $instance1); return @topology;
Additional Perl Modules
Non Perl artifact support
YAML File Syntax --- application: HTTPEndPoint domain: Protocol description: URL monitor script: HTTPCollector.pm generate_availability: false generate_discovery: false interval: Very High --- proxy: proxy_port: proxy_user: proxy_password: --- instances: - url: expected_string: expected_status: 200 ---- # proxy: string, Proxy Name, Name of the proxy to use [optional] # proxy_port: int, Proxy Port, Port of the proxy to use [optional] # proxy_user: string, Proxy User, Username necessary to authenticate with proxy [optional] # proxy_password: password, Proxy Password, Password necessary to authenticate with proxy [optional] # url: string, URL, Full URL to monitor # expected_string: string, Expected Text, Expected text that should be inside the returned body [optional] # expected_status: int, Expected HTTP Status, Expected HTTP status code returned by the URL [optional] ---
Event YAML File Syntax - 1
Event YAML File Syntax - 2
Complete a challenge! You have registered for this workshop, but you have not earned the points? Complete the challenge on ITOM Insiders to get 100 points: https://itominsiders.influitive.com/challenges/1287 Not a member yet? Send us an e-mail to receive your invitation. 36
...or two? Get another 150 points on ITOM Insiders for having attended the kick off session: https://itominsiders.influitive.com/challenges/1317 Not a member yet? Send us an e-mail to receive your invitation. 37
Thank you 38