{"id":2750,"date":"2013-03-26T11:44:56","date_gmt":"2013-03-26T15:44:56","guid":{"rendered":"http:\/\/dougmcclure.net\/blog\/?p=2750"},"modified":"2013-09-27T20:49:34","modified_gmt":"2013-09-28T00:49:34","slug":"from-zero-to-search-in-15-minutes-using-vagrant-to-explore-ibm-log-analytics","status":"publish","type":"post","link":"https:\/\/dougmcclure.net\/blog\/2013\/03\/from-zero-to-search-in-15-minutes-using-vagrant-to-explore-ibm-log-analytics\/","title":{"rendered":"From Zero to Search in 15 Minutes: Using Vagrant to Explore IBM Log Analytics"},"content":{"rendered":"<p>Many application development, support and operations environments are undergoing significant transformation from programs and initiatives such as DevOps, Agile\/Lean, Virtualization and Cloud Computing. Over the past few years, companies, communities and people have rapidly sprouted up and created entirely new categories of technologies, tools and operational practices that are enabling them to leap frog traditional slow to transform incumbents. Terms like &#8220;born on Internet&#8221; or &#8220;born on Cloud&#8221; nicely describes the differences here.<\/p>\n<p>There are dozens of exciting new technologies and tools emerging from the DevOps community that are now being widely adopted by not only those &#8220;born on Internet\/Cloud&#8221; type companies but traditional enterprises as they mature through their technology transformation programs like Cloud. Vendors like IBM are now openly embracing the same to radically simplify and accelerate application delivery, support and operations by adopting those same tools and techniques enabling broader integration and adoption. Many of these are now being seen through IBM&#8217;s participation in industry groups like OpenStack or OSLC and exposed in open, transparent beta programs like Jazz for Service Management, Cloud Consumer Monitoring and the new <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics<\/a> open beta programs.<\/p>\n<p>With that, I&#8217;ve been spending a lot of time in this area getting close to application developer, support and operations teams to really understand how they work today in both traditional and emerging technology environments. I&#8217;ve started exploring and applying these same tools and technologies with the simple goal of how to introduce a repeatable process they can use for exploring <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics<\/a> using tools and techniques they&#8217;re likely already familiar with. I want to remove any barriers to participation in our open beta program. For more information on <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics<\/a> and the open beta program, please visit this <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" title=\"IBM Log Analytics Open Beta\" target=\"_blank\">webpage<\/a>.<\/p>\n<p>Vagrant is one of these new tools. From the project website, &#8220;Vagrant provides easy to configure, reproducible, and portable work environments built on top of industry-standard technology and controlled by a single consistent workflow to help maximize the productivity and flexibility of you and your team. To achieve its magic, Vagrant stands on the shoulders of giants. Machines are provisioned on top of VirtualBox, VMware, AWS, or any other provider. Then, industry-standard provisioning tools such as shell scripts, Chef, or Puppet, can be used to automatically install and configure software on the machine.&#8221;<\/p>\n<p>The following blog post describes how I have used Vagrant and VirtualBox to go from a bare bones image to fully installed, ready to use instance of <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics<\/a> open beta milestone driver in just about 15 minutes right on my laptop. If you are one of our targeted end users in an application development, support or operations groups or a subject matter expert on a WebSphere or DB2 team this approach will allow you to quickly get started in the <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics<\/a> open beta program. By the way, you do not need to be an IBM customer &#8211; just sign up for a My IBM account <a href=\"http:\/\/www.ibm.com\/account\/us\/en\/\" title=\"My IBM Account\" target=\"_blank\">here<\/a> (upper right corner).<\/p>\n<p>Lets get started!<\/p>\n<p><strong>Install VirtualBox<\/strong><\/p>\n<p>Vagrant uses a provider concept which is simply the back end virtualization platform providing key image or \u201cbox\u201d administration and operation capabilities. VirtualBox looks pretty similar to VMWare Workstation to me so I was pretty familiar with using it. Support for the use of VirtualBox is provided with Vagrant so we\u2019ll use this as our base virtualization capability.<\/p>\n<p>Swing your browser over to the Virtual Box website located <a href=\"https:\/\/www.virtualbox.org\/\" title=\"VirtualBox\" target=\"_blank\">here<\/a>. I installed the Windows version but it\u2019s also supported on Linux and Mac so all of the common application developer and support engineer bases should be covered.<\/p>\n<p><strong>Install Vagrant<\/strong><\/p>\n<p>The Vagrant installation is quick and installation packages are available <a href=\"http:\/\/www.vagrantup.com\/\" title=\"Vagrant\" target=\"_blank\">here<\/a> for all of the preferred application developer and support engineer OS platforms. In my scenario, I chose the Windows package. Vagrant is a command line based interface for creating and managing boxes so you won\u2019t find a GUI for Vagrant. You\u2019ll be working in your terminal window when using Vagrant along with your favorite editor when creating your Vagrantfile and provisioning scripts.<\/p>\n<p><strong>Create and Initialize a Vagrant Project Directory<\/strong><\/p>\n<p>To get started with VirtualBox and Vagrant we begin by creating a new Vagrant project directory and running the <em><strong>vagrant init<\/strong><\/em> command within that directory. This initializes the current directory to be a Vagrant environment and creates a default Vagrantfile within that directory.<\/p>\n<p><strong>Customize Project Vagrantfile<\/strong><\/p>\n<p>The beauty of Vagrant comes from the ability to describe our virtualized system (\u201cbox\u201d) and how we want it built and provisioned with desired environment, packages and software within the Vagrantfile and associated provisioners. Some refer to this as \u201cinfrastructure as code\u201d as we\u2019re automating every aspect of building our development, test and operations environment in a configuration file or script.<\/p>\n<p>I&#8217;ve placed the Vagrantfile that I&#8217;ve used on my git repository <a href=\"https:\/\/github.com\/dougmcclure\/ILA-Open-Beta\/tree\/master\/centOS58%20based%20box%20with%20OpenBeta%20Driver%201\" title=\"Vagrantfile\" target=\"_blank\">here<\/a>.<\/p>\n<p><strong>Specify a Box<\/strong><\/p>\n<p>There are a number of publicly available \u201cboxes\u201d available on the Internet that you can use to bootstrap your Vagrant environment. At this time, <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics<\/a> is only supported on Red Hat 5 &#038; 6 64bit systems. If your organization actively uses Red Hat you likely have the required licenses and support agreements in place and you can create Red Hat images for Vagrant. If you don\u2019t, then an unofficial alternative is to use CentOS 5 &#038; 6 64bit. <\/p>\n<p>For those who may not know about CentOS here\u2019s a brief introduction from the CentOS <a href=\"http:\/\/www.centos.org\/\" title=\"CentOS\" target=\"_blank\">website<\/a>. <\/p>\n<p><em>CentOS is an Enterprise-class Linux Distribution derived from sources freely provided to the public by a prominent North American Enterprise Linux vendor.  CentOS conforms fully with the upstream vendor&#8217;s redistribution policy and aims to be 100% binary compatible. (CentOS mainly changes packages to remove upstream vendor branding and artwork.)  CentOS is free. <\/em><\/p>\n<p>In most cases, all that\u2019s required to successfully use CentOS instead of Red Hat is to spoof the installation manager by modifying the \/etc\/redhat-release file to reflect a supported Red Hat version.<\/p>\n<p>If you want to create your own Vagrant \u201cbox\u201d based on Red Hat or CentOS, I recommend installing <a href=\"https:\/\/github.com\/jedi4ever\/veewee\" title=\"veewee\" target=\"_blank\">veewee<\/a> and following any of the great tutorials on the Internet. For the purposes of my experiments, I\u2019m using a CentOS 5.8 64bit box provided by Puppetlabs. Other boxes are available <a href=\"http:\/\/www.vagrantbox.es\/\" title=\"Vagrant Boxes\" target=\"_blank\">here<\/a>.<\/p>\n<p>Add the following line to your Vagrantfile to specify the name of the box to be used.<\/p>\n<p><code>config.vm.box = \"Puppetlabs CentOS 5.8 x86_64\"<\/code><\/p>\n<p><strong>Specify Box Location<\/strong><\/p>\n<p>As I\u2019m using a publicly hosted base box, I need to specify where Vagrant will download the box from. When Vagrant is started using the up command for the first time, this base box is downloaded and stored in a location outside of your specified project directory. The box image is always kept whole and is now available for any number of Vagrant projects you decide to spin up. Every project that I create and use the box name from above will simply import the previously downloaded box and use a copy of that.<\/p>\n<p>Add the following line to your Vagrantfile to specify where to download the box. <\/p>\n<p><code>config.vm.box_url = \"hhttp:\/\/puppet-vagrant-boxes.puppetlabs.com\/centos-58-x64.box\"<\/code><\/p>\n<p><strong>Configure Port Forwarding<\/strong><\/p>\n<p>By default, Vagrant will spin up the box with basic localhost (127.0.0.1) networking support. To access the guest image we need to configure port forwarding from the host to the guest for any of the ports we may need access to. SSH forwarding to port 22 is set up automatically. We\u2019ll just need to setup port forwarding for the main <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics<\/a> port 9988.<\/p>\n<p>If you get hooked on Vagrant and spin up multiple boxes like I have been, you\u2019re going to run into port collisions. Vagrant will automatically detect port collisions and set new ports for you nicely telling you during start up what the new ports are. You can always change these in your Vagrantfile or in the VirtualBox admin GUI.<\/p>\n<p>Add the following line to your Vagrantfile to configure port forwarding.<\/p>\n<p><code>config.vm.network :forwarded_port, guest: 9988, host: 9988<\/code><\/p>\n<p><strong>Customize the Box<\/strong><\/p>\n<p>Every Vagrant base box is preconfigured with a specific number of CPUs, memory, disk and other typical system specifics. The base image I\u2019m working with comes with 1 CPU and 384MB of memory which isn\u2019t practical for doing much with <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics<\/a>. At a minimum you should provision your base box to start with 2 CPUs and 4GB of memory. Depending on what you plan to do and what system resources you have on your host system, adding more will not hurt! For more base box customization options, review this <a href=\"http:\/\/www.virtualbox.org\/manual\/ch08.html#vboxmanage-modifyvm\" title=\"Modify VM Options\" target=\"_blank\">page<\/a>.<\/p>\n<p>Add the following lines to your Vagrant file to provision the base box for this project.<\/p>\n<p><code>config.vm.provider :virtualbox do |vb|<br \/>\nvb.customize [\"modifyvm\", :id, \"--name\", \"scla-driver1\", \"--memory\", \"4000\", \"--cpus\", \"2\"]<br \/>\nend<br \/>\n<\/code><\/p>\n<p><strong>Enable Provisioning<\/strong><\/p>\n<p>Another powerful capability of Vagrant is to define exactly what should happen after the base box is spun up. This is typically the configuration of common system environment settings, hosts files, profiles, etc. as well as running an update program such as \u2018yum update\u2019 to ensure the environment is patched to the current level. Beyond the common system level provisioning, the automated installation of packaged software, applications and configuration of those is something Vagrant allows for within the Vagrantfile through the provisioner capability. For my initial use case, a simple bash script provisioner was used. I look forward to learning more about Puppet\/Chef in the near future as an alternative to simple script provisioners, but for now I\u2019m keeping it pretty simple.<\/p>\n<p>Add the following line to configure the shell script that will be executed to provision our <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics<\/a> testing environment. The script is described in more detail in the next section.<\/p>\n<p><code>config.vm.provision :shell, :path => \"vagrant_scla_provision.sh\"<\/code><\/p>\n<p><strong>Vagrant Provisioning Script<\/strong> <\/p>\n<p>Let me paint a picture here of the value I see from using Vagrant during the open beta program as well as within the application developer or support engineer\u2019s toolbox for supporting individual business applications. <\/p>\n<p>Over the course of the <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics<\/a> open beta program, multiple milestone drivers will be offered. Each driver will require some level of installation and configuration before it can be used, tested and evaluated in your environment. At this time, there isn\u2019t an export\/import\/migrate capability so you\u2019ll be running through the same install and configure steps manually for each driver you test. Using Vagrant and provisioning scripts this process can be radically simplified and automated allowing you to quickly get to value expected from using the software and not spending hours or days trying to get a system built, old software uninstalled, new software installed, configured and integrated. Removing barriers to participation is the goal here!<\/p>\n<p>Beyond the open beta program, using Vagrant with the <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics Workgroup Edition<\/a> as an application developer or support engineer you can quickly stand up and provision an instance of <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics<\/a> for business application #1 and spin up another for business application #2 in a matter of minutes. Each box would have the necessary software installed, configured and integrated to consume each business application\u2019s logs automatically, with little to no action beyond executing the \u2018vagrant up\u2019 command. Now that\u2019s POWERFUL!<\/p>\n<p>I wrote a very simple bash script that mimics the workflow that I took to manually install the <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics<\/a> milestone driver #1 on this CentOS 5.8 base box. It\u2019s rough and dirty, but functionally works. The following are the key steps taken in the script. If anyone has suggestions for improving this script shoot them my way! The script is available on my git repo <a href=\"https:\/\/github.com\/dougmcclure\/ILA-Open-Beta\/tree\/master\/centOS58%20based%20box%20with%20OpenBeta%20Driver%201\" title=\"ILA Vagrant Provisioning Script\" target=\"_blank\">here<\/a>.<\/p>\n<ul>\n<li>Capture username and password for installation user<\/li>\n<li>Capture ILA driver file name<\/li>\n<li>Turn off SELINUX within the selected base box (it\u2019s on in the CentOS box I used)<\/li>\n<li>Modify \/etc\/redhat-release to spoof installation manager<\/li>\n<li>Install a compatibility library for the ITM LFA<\/li>\n<li>Create installation user and group<\/li>\n<li>Create installation directories<\/li>\n<li>Copy ILA driver to installation directory and explode tarball<\/li>\n<li>Change ownership of all directories and files to the install user:group<\/li>\n<li>Install the ILA driver using silent install method<\/li>\n<li>Install the sample scenario data<\/li>\n<\/ul>\n<p><strong>ILA Driver Silent Installation File<\/strong><\/p>\n<p>Included in the <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics<\/a> milestone driver package is an example silent install response file (sample_smcl_silent_install.xml). I\u2019ve completed the configuration of this file by following the docs <a href=\"https:\/\/pic.dhe.ibm.com\/infocenter\/tivihelp\/v36r1\/topic\/com.ibm.iwa.doc_1.0\/install\/iwa_install_silent_install_steps.html\" title=\"ILA Silent Install\" target=\"_blank\">here<\/a>. This will allow us to install the <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics<\/a> package in a completely automated manner using our Vagrant provisioning script.<\/p>\n<p>The silent install response file I used is available on my git repo <a href=\"https:\/\/github.com\/dougmcclure\/ILA-Open-Beta\/tree\/master\/centOS58%20based%20box%20with%20OpenBeta%20Driver%201\" title=\"ILA Silent Install Response File\" target=\"_blank\">here<\/a>.<\/p>\n<p><strong>Copy Files to Vagrant Project Directory<\/strong><\/p>\n<p>Before we spin up the box all of the files we will use for provisioning must be placed in our project\u2019s root directory. This is the same directory where you issued the \u2018vagrant init\u2019 command earlier.<\/p>\n<p>Copy the following files into the Vagrant project directory:<\/p>\n<ul>\n<li>ILA driver tarball (e.g. <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/downloads.html\" title=\"ILA Milestone Download\" target=\"_blank\">IBM_LogAnalyticsWE_Beta_20130321_1359.tar.gz<\/a>)<\/li>\n<li><a href=\"https:\/\/github.com\/dougmcclure\/ILA-Open-Beta\/tree\/master\/centOS58%20based%20box%20with%20OpenBeta%20Driver%201\" title=\"Replacement SELINUX file\" target=\"_blank\">Replacement selinux file<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/dougmcclure\/ILA-Open-Beta\/tree\/master\/centOS58%20based%20box%20with%20OpenBeta%20Driver%201\" title=\"Replacement \/etc\/redhat-release file\" target=\"_blank\">Replacement redhat-release file<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/dougmcclure\/ILA-Open-Beta\/tree\/master\/centOS58%20based%20box%20with%20OpenBeta%20Driver%201\" title=\"ILA Vagrant Provisioning Script\" target=\"_blank\">vagrant_scla_provision.sh file<\/a><\/li>\n<li>ILA driver silent install file (e.g. <a href=\"https:\/\/github.com\/dougmcclure\/ILA-Open-Beta\/tree\/master\/centOS58%20based%20box%20with%20OpenBeta%20Driver%201\" title=\"ILA Silent Install File\" target=\"_blank\">vagrant_smcl_silent_install.xml<\/a>)<\/li>\n<\/ul>\n<p><strong>Initialize and Provision Box<\/strong><\/p>\n<p>We\u2019re now ready to spin up and provision our initial version of <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics<\/a> and begin testing the first driver for our open beta! From your Vagrant project directory, simply issue the <strong>\u2018vagrant up\u2019<\/strong> command. You may want to make sure you have enough buffer in your terminal window so you can scroll back and see all of the things that took place during this process.<\/p>\n<p>Issue <strong>\u2018vagrant up\u2019<\/strong> now!  <\/p>\n<p>I recorded my terminal window so you can watch the entire sequence. It took about 15 minutes to complete on my system (I edited out the longer pauses of the build process). With a nice beefy box and ample CPU\/MEM on the base box image I\u2019m sure it would be quicker.<\/p>\n<p><a href=\"http:\/\/dougmcclure.net\/blog\/wp-content\/uploads\/2013\/03\/Vagrant-Based-Deployment-of-IBM-Log-Analytics-Open-Beta.mp4\">Verbose Terminal Window of Vagrant Spin Up and Provisioning<\/a><\/p>\n<p><strong>Browser Support <\/strong><\/p>\n<p>The current supported browser at this time is the Firefox 17 ESR version. You may have your preference of browser by choice or by corporate policy but one trick I\u2019m a huge fan of is to make use of Portable versions of the Firefox browser. It seems that I need to have a number of versions of Firefox to achieve the best user experience and performance with various products I use frequently. Portable apps are versions of common applications that can run independently from a standalone folder instead of actually being installed in your system. I actually run up to three versions of Firefox at the same time for some of my testing work.<\/p>\n<p>To download the supported version of Firefox for this driver, visit this <a href=\"http:\/\/portableapps.com\/apps\/internet\/firefox-portable-esr\" title=\"Firefox ESR Portable\" target=\"_blank\">link<\/a> to find Firefox 17.0.x ESR.<\/p>\n<p><strong>Accessing <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics<\/a><\/strong><\/p>\n<p>Fire up your browser and point it to the address you configured for your box. I\u2019ve left this to the default network so I just point my browser to http:\/\/127.0.0.1:2200\/Unity and I\u2019m presented with the login page. Note the use of 2200 as the local port which is forwarded to 9988 to reach the main <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics<\/a> webserver port. If you&#8217;ve set your forwarding up for 9988 -> 9988 then point your browser to http:\/\/127.0.0.1:9988\/Unity to connect. This should redirect you to http:\/\/127.0.0.1:9988\/Unity\/jsp\/login.jsp to actually log in.<\/p>\n<p>The default passwords are unity\/unity or unityadmin\/unityadmin.<\/p>\n<p>Here are a few example screenshots:<\/p>\n<p><strong>Login Page<\/strong><\/p>\n<a href=\"http:\/\/dougmcclure.net\/blog\/wp-content\/uploads\/2013\/03\/ILA-Driver-1-Login.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/dougmcclure.net\/blog\/wp-content\/uploads\/2013\/03\/ILA-Driver-1-Login-262x300.png\" alt=\"ILA Driver 1 Login\" width=\"262\" height=\"300\" class=\"aligncenter size-medium wp-image-2756\" srcset=\"https:\/\/dougmcclure.net\/blog\/wp-content\/uploads\/2013\/03\/ILA-Driver-1-Login-262x300.png 262w, https:\/\/dougmcclure.net\/blog\/wp-content\/uploads\/2013\/03\/ILA-Driver-1-Login.png 774w\" sizes=\"auto, (max-width: 262px) 100vw, 262px\" \/><\/a>\n<p>Upon successful login, I\u2019m able to immediately begin to use <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics<\/a> because I\u2019ve automatically loaded the sample scenario data.  I\u2019m able to immediately begin executing searches (saved or freeform) across the sample data. Here are a few example screenshots. <\/p>\n<p><strong>Saved Search<\/strong><\/p>\n<a href=\"http:\/\/dougmcclure.net\/blog\/wp-content\/uploads\/2013\/03\/ILA-Driver-1-Saved-Search.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/dougmcclure.net\/blog\/wp-content\/uploads\/2013\/03\/ILA-Driver-1-Saved-Search-300x168.png\" alt=\"ILA Driver 1 Saved Search\" width=\"300\" height=\"168\" class=\"aligncenter size-medium wp-image-2757\" srcset=\"https:\/\/dougmcclure.net\/blog\/wp-content\/uploads\/2013\/03\/ILA-Driver-1-Saved-Search-300x168.png 300w, https:\/\/dougmcclure.net\/blog\/wp-content\/uploads\/2013\/03\/ILA-Driver-1-Saved-Search-1024x575.png 1024w, https:\/\/dougmcclure.net\/blog\/wp-content\/uploads\/2013\/03\/ILA-Driver-1-Saved-Search.png 1592w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>\n<p><strong>Directed Search Using Configured Patterns<\/strong><\/p>\n<a href=\"http:\/\/dougmcclure.net\/blog\/wp-content\/uploads\/2013\/03\/ILA-Driver-1-Directed-Search-Using-Configured-Patterns.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/dougmcclure.net\/blog\/wp-content\/uploads\/2013\/03\/ILA-Driver-1-Directed-Search-Using-Configured-Patterns-300x167.png\" alt=\"ILA Driver 1 Directed Search Using Configured Patterns\" width=\"300\" height=\"167\" class=\"aligncenter size-medium wp-image-2758\" srcset=\"https:\/\/dougmcclure.net\/blog\/wp-content\/uploads\/2013\/03\/ILA-Driver-1-Directed-Search-Using-Configured-Patterns-300x167.png 300w, https:\/\/dougmcclure.net\/blog\/wp-content\/uploads\/2013\/03\/ILA-Driver-1-Directed-Search-Using-Configured-Patterns-1024x572.png 1024w, https:\/\/dougmcclure.net\/blog\/wp-content\/uploads\/2013\/03\/ILA-Driver-1-Directed-Search-Using-Configured-Patterns.png 1595w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>\n<p><strong>Administration Page<\/strong><\/p>\n<a href=\"http:\/\/dougmcclure.net\/blog\/wp-content\/uploads\/2013\/03\/ILA-Driver-1-Admin-Page.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/dougmcclure.net\/blog\/wp-content\/uploads\/2013\/03\/ILA-Driver-1-Admin-Page-300x169.png\" alt=\"ILA Driver 1 Admin Page\" width=\"300\" height=\"169\" class=\"aligncenter size-medium wp-image-2759\" srcset=\"https:\/\/dougmcclure.net\/blog\/wp-content\/uploads\/2013\/03\/ILA-Driver-1-Admin-Page-300x169.png 300w, https:\/\/dougmcclure.net\/blog\/wp-content\/uploads\/2013\/03\/ILA-Driver-1-Admin-Page-1024x578.png 1024w, https:\/\/dougmcclure.net\/blog\/wp-content\/uploads\/2013\/03\/ILA-Driver-1-Admin-Page.png 1584w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>\n<p><strong>Vagrant Box Teardown<\/strong><\/p>\n<p>Now that we\u2019ve build and provisioned a fully functioning instance of <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics<\/a> we have a few options on what we can do at the end of the day. Vagrant offers three options on what to do with the box and the work done during provisioning and customizations you may have made afterwards.<\/p>\n<p>The Vagrant <a href=\"http:\/\/docs.vagrantup.com\/v2\/getting-started\/teardown.html\" target=\"_blank\">documentation<\/a> explains these options perfectly below.<\/p>\n<ul>\n<li><strong>Suspending<\/strong> the virtual machine by calling vagrant suspend will save the current running state of the machine and stop it. When you&#8217;re ready to begin working again, just run vagrant up, and it will be resumed from where you left off. The main benefit of this method is that it is super fast, usually taking only 5 to 10 seconds to stop and start your work. The downside is that the virtual machine still eats up your disk space, and requires even more disk space to store all the state of the virtual machine RAM on disk.<\/li>\n<li><strong>Halting<\/strong> the virtual machine will gracefully shut down the guest operating system and power down the guest machine. You can use vagrant up when you&#8217;re ready to boot it again. The benefit of this method is that it will cleanly shut down your machine, preserving the contents of disk, and allowing it to be cleanly started again. The downside is that it&#8217;ll take some extra time to start from a cold boot, and the guest machine still consumes disk space.<\/li>\n<li><strong>Destroying<\/strong> the virtual machine will remove all traces of the guest machine from your system. It&#8217;ll stop the guest machine, power it down, and remove all of the guest hard disks. Again, when you&#8217;re ready to work again, just issue a vagrant up. The benefit of this is that no cruft is left on your machine. The disk space and RAM consumed by the guest machine is reclaimed and your host machine is left clean. The downside is that vagrant up to get working again will take some extra time since it has to reimport the machine and reprovision it.<\/li>\n<\/ul>\n<p><strong>Starting or Resuming a Previously Provisioned Box<\/strong><\/p>\n<p>If you\u2019ve suspended or halted your Vagrant box, you\u2019ll want to be sure to start it back up using an additional flag to avoid having the provisioning script run again. To prevent re-provisioning a box after you\u2019ve done it once, use the <strong>&#8211;no-provision<\/strong> flag<\/p>\n<p><code>vagrant up --no-provision<\/code><\/p>\n<p><strong>Summary<\/strong><\/p>\n<p>One of the goals for the open beta program is to make <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics<\/a> as accessible and simple to use as possible for the targeted application developer, application support engineer or middleware subject matter expert. Using Vagrant, VirtualBox and automated build and provisioning capabilities can help remove all barriers from participating in the <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics<\/a> open beta program. <\/p>\n<p>Over the next few months I\u2019ll write more about how Vagrant can be used to build out an <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics<\/a> architecture that can be used in your application development, test and production environments. I\u2019ll expand on the topic by introducing additional log shipping, collection, consolidation and analytics products, integrations, automations using emerging open source technologies alongside commercial software such as <a href=\"https:\/\/www.ibm.com\/developerworks\/servicemanagement\/bsm\/log\/index.html\" target=\"_blank\">IBM Log Analytics<\/a>.<\/p>\n<p>* Updated 4\/8\/13 after making changes to my Git repo, URLs now point to a folder versus individual files.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Many application development, support and operations environments are undergoing significant transformation from programs and initiatives such as DevOps, Agile\/Lean, Virtualization and Cloud Computing. Over the past few years, companies, communities and people have rapidly sprouted up and created entirely new categories of technologies, tools and operational practices that are enabling them to leap frog traditional [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[869,854,867,856],"tags":[876,875,877,864,872,878,933,1040,873,874,1041,702,870,871,1021],"class_list":{"0":"post-2750","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-analytics-2","7":"category-bigdata","8":"category-ibm-log-analytics","9":"category-log-analytics","10":"tag-appdev","11":"tag-application-developer","12":"tag-appsupport","13":"tag-bigdata-2","14":"tag-centos","15":"tag-db2","16":"tag-ibm","17":"tag-log-analytics","18":"tag-logging","19":"tag-logs","20":"tag-machine-data","21":"tag-search","22":"tag-vagrant","23":"tag-virtualbox","24":"tag-websphere"},"_links":{"self":[{"href":"https:\/\/dougmcclure.net\/blog\/wp-json\/wp\/v2\/posts\/2750","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dougmcclure.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dougmcclure.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dougmcclure.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dougmcclure.net\/blog\/wp-json\/wp\/v2\/comments?post=2750"}],"version-history":[{"count":22,"href":"https:\/\/dougmcclure.net\/blog\/wp-json\/wp\/v2\/posts\/2750\/revisions"}],"predecessor-version":[{"id":2775,"href":"https:\/\/dougmcclure.net\/blog\/wp-json\/wp\/v2\/posts\/2750\/revisions\/2775"}],"wp:attachment":[{"href":"https:\/\/dougmcclure.net\/blog\/wp-json\/wp\/v2\/media?parent=2750"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dougmcclure.net\/blog\/wp-json\/wp\/v2\/categories?post=2750"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dougmcclure.net\/blog\/wp-json\/wp\/v2\/tags?post=2750"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}