NCAR-Developed Tools Bill Anderson and Marc Genty

Slides:



Advertisements
Similar presentations
ITR3 lecture 7: more introduction to UNIX Thomas Krichel
Advertisements

Chapter 20 Oracle Secure Backup.
INTRODUCTION TO CLOUD COMPUTING CS 595 LECTURE 6 2/13/2015.
OpenVMS System Management A different perspective by Andy Park TrueBit b.v.
ManageEngine TM Applications Manager 8 Monitoring Custom Applications.
Technical Architectures
UNIX Chapter 01 Overview of Operating Systems Mr. Mohammad A. Smirat.
Lecture 4: Introduction to PHP 3 PHP & MySQL
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
F Fermilab Database Experience in Run II Fermilab Run II Database Requirements Online databases are maintained at each experiment and are critical for.
Developing Your Own Plugin With Your Imagination Rodrigo Faria
Shell Programming, or Scripting Shirley Moore CPS 5401 Fall August 29,
Introduction to UNIX/Linux Exercises Dan Stanzione.
Experiences Deploying Xrootd at RAL Chris Brew (RAL)
Advanced File Processing
Passive Monitoring with Nagios Jim Prins
Teradyne License Service and Monitoring Bob Van der Kloot Teradyne, Inc
Dedan Githae, BecA-ILRI Hub Introduction to Linux / UNIX OS MARI eBioKit Workshop; Nov , 2014.
Winrunner Usage - Best Practices S.A.Christopher.
Cloud computing for internet emulator. Professor Muthucumaru Maheswaran Team Members Mia Hochar Simon Foucher David El Achkar David El Achkar Marc Atie.
Chapter 14 Part II: Architectural Adaptation BY: AARON MCKAY.
Running the Operational Codes for the Brahmaputra Tom Hopson.
Advanced File Processing. 2 Objectives Use the pipe operator to redirect the output of one command to another command Use the grep command to search for.
Significance of Scripting Languages for Operating System Administration Vladimir Mateljan Željka Požgaj Krunoslav Peter INFuture2007.
Chapter Five Advanced File Processing Guide To UNIX Using Linux Fourth Edition Chapter 5 Unix (34 slides)1 CTEC 110.
ILDG Middleware Status Chip Watson ILDG-6 Workshop May 12, 2005.
Agenda Link of the week Use of Virtual Machine Review week one lab assignment This week’s expected outcomes Review next lab assignments Break Out Problems.
11 Distributed Monitoring for Web Apps Fernando Hönig
V. Serbo, SLAC ACAT03, 1-5 December 2003 Interactive GUI for Geant4 by Victor Serbo, SLAC.
Dudok de Wit David.  Documents management in a deskless company  SharePoint Online as a solution  Redesigning the documentary organization  Interoperability.
1 Periodic Processes and the cron Daemon The cron daemon is where all timed events are initiated. The cron system is serviced by the cron daemon. What.
Refactoring and Synchronization with the StarTeam Plug-in for Eclipse  Jim Wogulis  Principal Architect, Borland Software Corporation.
Unix Shell Basics Edited from Greg Wilson's "Software Carpentry"
Chapter Five Advanced File Processing. 2 Lesson A Selecting, Manipulating, and Formatting Information.
Agenda Positional Parameters / Continued... Command Substitution Bourne Shell / Bash Shell / Korn Shell Mathematical Expressions Bourne Shell / Bash Shell.
Selenium server By, Kartikeya Rastogi Mayur Sapre Mosheca. R
AMGA-Bookkeeping Carmine Cioffi Department of Physics, Oxford University UK Metadata Workshop Oxford, 05 July 2006.
Computing Facilities CERN IT Department CH-1211 Geneva 23 Switzerland t CF CC Monitoring I.Fedorko on behalf of CF/ASI 18/02/2011 Overview.
Experiment No. 13 Presented by, Mr. Satish Pise. Write a shell script which checks disk space and store the value to the variable and display it. #!/bin/sh.
Operating Environment. Installation and Upgrade Options Solaris suninstall program Solaris Web Start Installation Custom Jumpstart procedure Standard.
Learning Unix/Linux Based on slides from: Eric Bishop.
CDF SAM Deployment Status Doug Benjamin Duke University (for the CDF Data Handling Group)
Arklio Studija 2007 File: / / Page 1 Automated web application testing using Selenium
KID - KLOE Integrated Dataflow
What’s new in FUSION? Bob McGaughey
Featured Enhancements to the IDE & Debugger
Project Center Use Cases Revision 2
Project Center Use Cases
Segments Basic Uses: slides minutes
Agenda Bash Shell Scripting – Part II Logic statements Loop statements
Project Center Use Cases
Cross Platform Development using Software Matrix
The Client/Server Database Environment
The Linux Operating System
Project Center Use Cases Revision 3
Working of Script integrated with SiteScope
Multitier Architecture, MySQL & PHP
Project Center Use Cases Revision 3
CSE 303 Concepts and Tools for Software Development
Lecture 13 RPM and its advantages.
Chapter 1: Introduction
Guide To UNIX Using Linux Third Edition
Fault Tolerance Distributed Web-based Systems
Hadoop Technopoints.
Exploring the Power of EPDM Tasks - Working with and Developing Tasks in EPDM By: Marc Young XLM Solutions
Exploring the Power of EPDM Tasks Working with and Developing Tasks in SolidWorks Enterprise PDM (EPDM) By: Marc Young xLM Solutions
Hardware-less Testing for RAS Software
MATERI PL/SQL Procedures Functions Packages Database Triggers
Essential Shell Programming
Server & Tools Business
Presentation transcript:

NCAR-Developed Tools Bill Anderson and Marc Genty National Center for Atmospheric Research HUF 2017 1

Introduction Over the years, we’ve benefited from tools that others have developed In this talk, we’ll share information about tools we’ve developed - With the hope that the information will benefit you

Implementation Goals simplicity portability scalability - When we implement tools, we keep a few goals in mind

Tools tapeinfo checkForMigration Nagios

tapeinfo Need for tape info in an easy-to-use tabular form dump_sspvs, etc. help, but not all info hpssadm.pl “Cartridges and Volumes” output not tabular Also, helpful to have library location info - tabular output is useful for use with tools like grep and wc Wanted to take things to the “next level” Take advantage of the existing tools and build on them to meet our needs

tapeinfo Combines info from hpssadm.pl and ACSLS Two components: script that gathers and merges data once a day via cron and stores output in a file command line tool that displays that data as tabular output Not real-time

tapeinfo Estimate compression ratio Can’t display all the columns…

tapeinfo Tapes associated with a file family Cold tapes Think of new uses every couple of months or so

tapeinfo Tape distribution across libraries One measure of the usefulness of a tool is that it’s used for purposes beyond what it was originally designed for

tapeinfo Simple: A couple of hundred lines of python code Portable: standard interfaces (hpssadm.pl and ACSLS cmd) Scalable: Runs with thousands of tapes Don’t query DB (makes it more portable)

checkForMigration A need to find out which files have not yet been migrated from disk to tape When upgrading Linux on movers, wanted to ensure all files had a tape copy When something goes wrong with a RAID logical volume, need to know which files and how many are unavailable

checkForMigration Example run: # checkForMigration 12345600 /home/smith/file1 not on tape /home/smith/file2 not on tape /home/smith/file3 not on tape

checkForMigration script first runs ‘lsvol’ to get a listing of files script then invokes a C client API program that checks if files have a copy on tape

checkForMigration Client API program is 25 lines (including comments): rc = hpss_FileGetXAttributes(path, API_GET_STATS_FOR_LEVEL, 1, &AttrOut); if (rc == 0) { if (AttrOut.SCAttrib[1].VVAttrib[0].PVList == 0) { printf(“%s not on tape\n”, path); }

checkForMigration Simple: ~100 lines of code (C and bash) total Portable: uses client API Scalable: can check a disk volume with 300,000 segments in ~20 minutes

Nagios Open source software for monitoring Executes standard and custom health check scripts on remote hosts Many alert and reporting features

Nagios Used to augment existing tools Two components: Code added to existing tools to create a Nagios status file Standard Nagios service check script in libexec to query the status file and report results Existing tools continue to run out of root or ACSLS crontabs Nagios checks do not require elevated privileges No GUI window for each tape Calculate compression ratio Tapes associated with a file family Identify “cold” tapes Check distribution of tapes across libraries

Nagios – Augmentation Code COUNT=`${GREP} Degraded acsss_event.log|grep -v ^Cannot \ |wc -l|tr -d " "` if [[ "${COUNT}" -gt 0 ]] then ${GREP} Degraded acsss_event.log > ${MSG} diff ${MSG} ${DEGFND} 1>/dev/null 2>/dev/null if [[ $? -ne 0 ]] echo "[CRITICAL] - SL8500 Degraded Components Found!" \ > /tmp/ck.degraded.nagios.out fi else echo "[OK] - No SL8500 Degraded Components Found." \ No GUI window for each tape Calculate compression ratio Tapes associated with a file family Identify “cold” tapes Check distribution of tapes across libraries

Nagios – Service Status Check Code STATUS="/tmp/ck.degraded.nagios.out" grep "\[OK\]" ${STATUS} 1>/dev/null 2>&1 if [[ "$?" -eq "0" ]] then cat ${STATUS} exit 0 fi grep "\[CRITICAL\]" ${STATUS} 1>/dev/null 2>&1 exit 2 echo "[UNKNOWN] - Status File Missing Or Logic Error!" exit 3 Using a status file approach has worked well for us

Nagios Simple: Uses existing tools with minor modification & trivial Nagios service check code Portable: Any cron, any language, any tool type, any operating system Scalable: Nagios service check code leverages existing crontab entries (root, ACSLS, etc.) to minimize performance impact on the servers

Conclusion tapeinfo checkForMigration Nagios

Thanks! Questions?