SlideShare a Scribd company logo
Extending SCMSWeb 3 rd  PRAGMA Institute Hand-on Resources II Sugree Phatanapherom [email_address]
SCMSWeb in Short Monitoring system for Cluster and Grid Usage statistics Service probes
SCMSWeb in Long
Usage statistics
Probe
Bandwidth
GeoMap
Catalog
Behind graphs, charts and tables Configuration APIs
Configurable Probe Catalog GeoMap
General Configuration /etc/sce/sce.conf /usr/share/scmsweb/
Probe Configuration /usr/share/scmsweb/grid/<name> probe.conf target.conf
probe.conf [html] xmlpath = /usr/share/scmsweb/incoming/cluster/pragma.xml textpath = /usr/share/scmsweb/grid/PRAGMA/pragma.txt htmlpath = /usr/share/scmsweb/grid/PRAGMA/pragma.html [probe] name = PRAGMA smtp = localhost #email = cindy.pragma@gmail.com timestamp_path = /var/tmp/scmsweb timeout = 40 probe0 = DNS probe1 = Authentication probe2 = Mds probe3 = JobRun probe4 = GridFTPTo probe5 = GridFTPFrom probe6 = WSGRAM probe7 = Iperf probe8 = SWCat [globus] basedn = mds-vo-name=npaci,o=sdsc mdshost = rocks-67.sdsc.edu [Gfarm] command = /usr/share/scmsweb/gfarm/probe_gfhost %(target)s [WSGRAM] command = /usr/share/scmsweb/wsgram/probe_wsgram %(target)s [time] rerun_false = 1 SWCat = 720 Iperf = 720 Mds = 720 GridFTPTo = 360 GridFTPFrom = 360 JobRun = 120 WSGRAM = 120
target.conf #[USM-CS] [aurora] target = aurora.usmgrid.myren.net.my iperf_args = -p 15001 email = zhengc@sdsc.edu,keat@webmail.cs.usm.my,khuen@cs.usm.my,hychan@cs.usm.my #[IOIT-HCM] [VENUS] target = venus.ioit-hcm.ac.vn iperf_args = -p 15001 email = zhengc@sdsc.edu,han@vast-hcm.ac.vn #[MIMOS] [MIMOS-Nucleus] target = nucleus.mygridusbio.net.my iperf_args = -p 5001 email =  [email_address] ,jyluke@mimos.my #[SDSC_compute] [Rocks-52] target = rocks-52.sdsc.edu iperf_args = -p 15001 email = zhengc@sdsc.edu SWCat_target = rocks-52.sdsc.edu/jobmanager-fork #[BU] [popCluster] target = pop.cs.binghamton.edu GridFTPTo_probe = off GridFTPFrom_probe = off iperf_args = -p 15001 email = zhengc@sdsc.edu,john@jskro.org,kchiu@cs.binghamton.edu
Catalog Configuration /usr/share/scmsweb/swcatalog.conf /usr/share/scmsweb/swcatalog/
swcatalog.conf [autodock4] url=http://autodock.scripps.edu/ [namd] url=http://www.ks.uiuc.edu/Research/namd/ [amber] url=http://amber.scripps.edu/ [ninf-g] url=http://ninf.apgrid.org/ [intel_c_compiler] url=http://www.intel.com/cd/software/products/asmo-na/eng/219768.htm [intel_fortran_compiler] url=http://www.intel.com/cd/software/products/asmo-na/eng/219768.htm [apbs] url=http://apbs.sourceforge.net/
0-init.sh #!/bin/sh for file in /etc/profile.d/*.sh; do [ -f &quot;$file&quot; ] && . &quot;$file&quot; done
amber.sh #!/bin/sh amber_version() { # bad guess? VERSION=`echo &quot;$1&quot; | grep -q 9` if [ X&quot;$VERSION&quot; = X ]; then VERSION=&quot;9&quot; else VERSION=&quot;unknown&quot; fi echo -n &quot;$VERSION&quot; } SANDER_PATH=`which sander 2> /dev/null` if [ X&quot;$AMBERHOME&quot; != X ]; then # how can we decide version of amber? VERSION=`amber_version &quot;$AMBERHOME&quot;/exe` echo &quot;amber:$VERSION:$AMBERHOME/exe&quot; elif [ X&quot;$SANDER_PATH&quot; != X ]; then VERSION=`amber_version &quot;$SANDER_PATH&quot;` echo &quot;amber:$VERSION:$SANDER_PATH&quot; fi
ninf-g.sh #!/bin/sh NG_VERSION=`ng_version 2> /dev/null` if [ X&quot;$NG_VERSION&quot; != X ]; then VERSION=`echo $NG_VERSION | sed &quot;s/.*:[[:space:]]*\(.*\)/\1/g&quot;` NG_PATH=`which ng_version` NG_PATH=`dirname &quot;$NG_PATH&quot;` echo &quot;ninf-g:$VERSION:$NG_PATH&quot; fi
GeoMap Configuration /usr/share/scmsweb/glue.d/
Configuration [Site:Universiti Sains Malaysia] parent = Grid:PRAGMA UniqueID = USM_MY Latitude = 5.356667 Longitude = 100.300833 Location = Malaysia Description = USM MY SecurityContact = mailto: noreply@noreply.com SysAdminContact = mailto: noreply@noreply.com UserSupportContact = mailto: noreply@noreply.com [Site:MIMOS] parent = Grid:PRAGMA Latitude = 5.356667 Longitude = 100.300833 Location = Malaysia Description = MIMOS MY SecurityContact = mailto: noreply@noreply.com SysAdminContact = mailto: noreply@noreply.com UserSupportContact = mailto: noreply@noreply.com [Grid:PRAGMA] Name = PRAGMA Description = PRAGMA [Site:TNGC_TH] parent = Grid:PRAGMA Location = Bangkok, Thailand Latitude = 13.84544 Longitude = 100.567802 Description = sunyata.thaigrid.or.th SecurityContact = mailto: noreply@noreply.com SysAdminContact = mailto: noreply@noreply.com UserSupportContact = mailto: noreply@noreply.com
Extensible Probe Catalog GeoMap http://goc.pragma-grid.net/cgi-bin/scmsweb/xml_display.cgi?grid=on http://goc.pragma-grid.net/cgi-bin/scmsweb/glue.cgi?format=xml http://goc.pragma-grid.net/cgi-bin/scmsweb/glue.cgi?format=kml
Basic Usage curl http://goc.pragma-grid.net/cgi-bin/scmsweb/xml_display.cgi?grid=on curl http://goc.pragma-grid.net/cgi-bin/scmsweb/glue.cgi?format=xml curl http://goc.pragma-grid.net/cgi-bin/scmsweb/glue.cgi?format=kml
For developers Your codes, your rules!
Try it and feel it! Host: ppkt-cluster.usm.my User: guest<1-20> Password: guest<1-20>
conf.py scmsweb_xml = 'http://goc.pragma-grid.net/cgi-bin/scmsweb/xml_display.cgi?grid=on' map_xml = 'http://goc.pragma-grid.net/cgi-bin/scmsweb/glue.cgi?format=xml' map_kml = 'http://goc.pragma-grid.net/cgi-bin/scmsweb/glue.cgi?format=kml' nano conf.py cat conf.py python conf.py
fetch.py #!/usr/bin/python import conf from urllib import urlopen fi = urlopen(conf.scmsweb_xml) fo = open('scmsweb.xml', 'w') fo.write(fi.read()) fo.close() fi = urlopen(conf.map_xml) fo = open('map.xml', 'w') fo.write(fi.read()) fo.close() fi = urlopen(conf.map_kml) fo = open('map.kml', 'w') fo.write(fi.read()) fo.close() nano fetch.py python fetch.py ls -l
parse.py #!/usr/bin/python from xml.dom import minidom fi = open('scmsweb.xml') doc = minidom.parse(fi) print doc nano parse.py python parse.py
traverse.py #!/usr/bin/python from xml.dom import minidom fi = open('scmsweb.xml') doc = minidom.parse(fi) root = doc.documentElement for node in root.childNodes: if node.nodeType == doc.ELEMENT_NODE: print node.tagName, node.attributes.items()
x.py #!/usr/bin/python from xml.dom import minidom from xml import xpath fi = open('scmsweb.xml') doc = minidom.parse(fi) root = doc.documentElement nodes = xpath.Evaluate('cluster', root) for node in nodes: if node.nodeType == doc.ELEMENT_NODE: print node.tagName, node.attributes.items()
l.py #!/usr/bin/python from xml.dom import minidom from lxml import etree as ET fi = open('scmsweb.xml') root = ET.parse(fi) nodes = root.xpath('cluster') for node in nodes: print node.tag, node.attrib
Congratulation! You are python programmer now
Ad

More Related Content

Similar to Hand-on Resources II: Extending SCMSWeb (20)

2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
Daniel Bimschas
 
GE Predix 新手入门 赵锴 物联网_IoT
GE Predix 新手入门 赵锴 物联网_IoTGE Predix 新手入门 赵锴 物联网_IoT
GE Predix 新手入门 赵锴 物联网_IoT
Kai Zhao
 
Profiling and optimizing go programs
Profiling and optimizing go programsProfiling and optimizing go programs
Profiling and optimizing go programs
Badoo Development
 
Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...
Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...
Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...
YuChianWu
 
Managing and Monitoring Application Performance
Managing and Monitoring Application PerformanceManaging and Monitoring Application Performance
Managing and Monitoring Application Performance
Sebastian Marek
 
Mitaka_IntroStarlink.pdf
Mitaka_IntroStarlink.pdfMitaka_IntroStarlink.pdf
Mitaka_IntroStarlink.pdf
robinsroy28
 
Pyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web appsPyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web apps
Dylan Jay
 
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開60分鐘完送百萬edm,背後雲端ci/cd實戰大公開
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開
KAI CHU CHUNG
 
Sling IDE Tooling @ adaptTo 2013
Sling IDE Tooling @ adaptTo 2013Sling IDE Tooling @ adaptTo 2013
Sling IDE Tooling @ adaptTo 2013
Robert Munteanu
 
Instrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con GitlabInstrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con Gitlab
Software Guru
 
Ganglia Monitoring Tool
Ganglia Monitoring ToolGanglia Monitoring Tool
Ganglia Monitoring Tool
sudhirpg
 
IBCAST 2021: Observations and lessons learned from the APNIC Community Honeyn...
IBCAST 2021: Observations and lessons learned from the APNIC Community Honeyn...IBCAST 2021: Observations and lessons learned from the APNIC Community Honeyn...
IBCAST 2021: Observations and lessons learned from the APNIC Community Honeyn...
APNIC
 
Stackato Presentation Techzone 2013
Stackato Presentation Techzone 2013Stackato Presentation Techzone 2013
Stackato Presentation Techzone 2013
Martin Kenneth Michalsky
 
Noah Zoschke at Waza 2013: Heroku Secrets
Noah Zoschke at Waza 2013: Heroku SecretsNoah Zoschke at Waza 2013: Heroku Secrets
Noah Zoschke at Waza 2013: Heroku Secrets
Heroku
 
Pyramid Deployment and Maintenance
Pyramid Deployment and MaintenancePyramid Deployment and Maintenance
Pyramid Deployment and Maintenance
Jazkarta, Inc.
 
Velocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and youVelocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and you
Patrick Meenan
 
How to improve ELK log pipeline performance
How to improve ELK log pipeline performanceHow to improve ELK log pipeline performance
How to improve ELK log pipeline performance
Steven Shim
 
Ratpack - Classy and Compact Groovy Web Apps
Ratpack - Classy and Compact Groovy Web AppsRatpack - Classy and Compact Groovy Web Apps
Ratpack - Classy and Compact Groovy Web Apps
James Williams
 
Kubernetes walkthrough
Kubernetes walkthroughKubernetes walkthrough
Kubernetes walkthrough
Sangwon Lee
 
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
Aman Kohli
 
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
Daniel Bimschas
 
GE Predix 新手入门 赵锴 物联网_IoT
GE Predix 新手入门 赵锴 物联网_IoTGE Predix 新手入门 赵锴 物联网_IoT
GE Predix 新手入门 赵锴 物联网_IoT
Kai Zhao
 
Profiling and optimizing go programs
Profiling and optimizing go programsProfiling and optimizing go programs
Profiling and optimizing go programs
Badoo Development
 
Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...
Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...
Im-A-Hacker-Get-Me-Out-Of-Here-Breaking-Network-Segregation-Using-Esoteric-Co...
YuChianWu
 
Managing and Monitoring Application Performance
Managing and Monitoring Application PerformanceManaging and Monitoring Application Performance
Managing and Monitoring Application Performance
Sebastian Marek
 
Mitaka_IntroStarlink.pdf
Mitaka_IntroStarlink.pdfMitaka_IntroStarlink.pdf
Mitaka_IntroStarlink.pdf
robinsroy28
 
Pyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web appsPyramid Lighter/Faster/Better web apps
Pyramid Lighter/Faster/Better web apps
Dylan Jay
 
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開60分鐘完送百萬edm,背後雲端ci/cd實戰大公開
60分鐘完送百萬edm,背後雲端ci/cd實戰大公開
KAI CHU CHUNG
 
Sling IDE Tooling @ adaptTo 2013
Sling IDE Tooling @ adaptTo 2013Sling IDE Tooling @ adaptTo 2013
Sling IDE Tooling @ adaptTo 2013
Robert Munteanu
 
Instrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con GitlabInstrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con Gitlab
Software Guru
 
Ganglia Monitoring Tool
Ganglia Monitoring ToolGanglia Monitoring Tool
Ganglia Monitoring Tool
sudhirpg
 
IBCAST 2021: Observations and lessons learned from the APNIC Community Honeyn...
IBCAST 2021: Observations and lessons learned from the APNIC Community Honeyn...IBCAST 2021: Observations and lessons learned from the APNIC Community Honeyn...
IBCAST 2021: Observations and lessons learned from the APNIC Community Honeyn...
APNIC
 
Noah Zoschke at Waza 2013: Heroku Secrets
Noah Zoschke at Waza 2013: Heroku SecretsNoah Zoschke at Waza 2013: Heroku Secrets
Noah Zoschke at Waza 2013: Heroku Secrets
Heroku
 
Pyramid Deployment and Maintenance
Pyramid Deployment and MaintenancePyramid Deployment and Maintenance
Pyramid Deployment and Maintenance
Jazkarta, Inc.
 
Velocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and youVelocity EU 2012 - Third party scripts and you
Velocity EU 2012 - Third party scripts and you
Patrick Meenan
 
How to improve ELK log pipeline performance
How to improve ELK log pipeline performanceHow to improve ELK log pipeline performance
How to improve ELK log pipeline performance
Steven Shim
 
Ratpack - Classy and Compact Groovy Web Apps
Ratpack - Classy and Compact Groovy Web AppsRatpack - Classy and Compact Groovy Web Apps
Ratpack - Classy and Compact Groovy Web Apps
James Williams
 
Kubernetes walkthrough
Kubernetes walkthroughKubernetes walkthrough
Kubernetes walkthrough
Sangwon Lee
 
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
Aman Kohli
 

More from Sugree Phatanapherom (16)

Twitter, Facebook and etc: Quick Startup Guide for Marketing
Twitter, Facebook and etc: Quick Startup Guide for MarketingTwitter, Facebook and etc: Quick Startup Guide for Marketing
Twitter, Facebook and etc: Quick Startup Guide for Marketing
Sugree Phatanapherom
 
@sugree and Twitter
@sugree and Twitter@sugree and Twitter
@sugree and Twitter
Sugree Phatanapherom
 
Behind the madness
Behind the madnessBehind the madness
Behind the madness
Sugree Phatanapherom
 
drupal.in.th
drupal.in.thdrupal.in.th
drupal.in.th
Sugree Phatanapherom
 
Twitter API and Startup Ideas
Twitter API and Startup IdeasTwitter API and Startup Ideas
Twitter API and Startup Ideas
Sugree Phatanapherom
 
Readme Read Sugree
Readme Read SugreeReadme Read Sugree
Readme Read Sugree
Sugree Phatanapherom
 
SCMSWeb and Condor-G Demonstration
SCMSWeb and Condor-G DemonstrationSCMSWeb and Condor-G Demonstration
SCMSWeb and Condor-G Demonstration
Sugree Phatanapherom
 
Drupal: blog and beyond
Drupal: blog and beyondDrupal: blog and beyond
Drupal: blog and beyond
Sugree Phatanapherom
 
The Spirit of Open Source
The Spirit of Open SourceThe Spirit of Open Source
The Spirit of Open Source
Sugree Phatanapherom
 
mbpurple - the replacement twitter im
mbpurple - the replacement twitter immbpurple - the replacement twitter im
mbpurple - the replacement twitter im
Sugree Phatanapherom
 
jibjib - ultimate twitter client for your phone
jibjib - ultimate twitter client for your phonejibjib - ultimate twitter client for your phone
jibjib - ultimate twitter client for your phone
Sugree Phatanapherom
 
Next Web Application - Brainstorm
Next Web Application - BrainstormNext Web Application - Brainstorm
Next Web Application - Brainstorm
Sugree Phatanapherom
 
Automatic Self-Tuning Architecture for Batch Scheduler on Large Scale Computi...
Automatic Self-Tuning Architecture for Batch Scheduler on Large Scale Computi...Automatic Self-Tuning Architecture for Batch Scheduler on Large Scale Computi...
Automatic Self-Tuning Architecture for Batch Scheduler on Large Scale Computi...
Sugree Phatanapherom
 
Optimizing Drupal for Mobile Devices
Optimizing Drupal for Mobile DevicesOptimizing Drupal for Mobile Devices
Optimizing Drupal for Mobile Devices
Sugree Phatanapherom
 
Call for Students: Google Summer of Code 2008
Call for Students: Google Summer of Code 2008Call for Students: Google Summer of Code 2008
Call for Students: Google Summer of Code 2008
Sugree Phatanapherom
 
Twitter Rules
Twitter RulesTwitter Rules
Twitter Rules
Sugree Phatanapherom
 
Ad

Recently uploaded (20)

Foundations of Cybersecurity - Google Certificate
Foundations of Cybersecurity - Google CertificateFoundations of Cybersecurity - Google Certificate
Foundations of Cybersecurity - Google Certificate
VICTOR MAESTRE RAMIREZ
 
The Changing Compliance Landscape in 2025.pdf
The Changing Compliance Landscape in 2025.pdfThe Changing Compliance Landscape in 2025.pdf
The Changing Compliance Landscape in 2025.pdf
Precisely
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Transcript: Canadian book publishing: Insights from the latest salary survey ...
Transcript: Canadian book publishing: Insights from the latest salary survey ...Transcript: Canadian book publishing: Insights from the latest salary survey ...
Transcript: Canadian book publishing: Insights from the latest salary survey ...
BookNet Canada
 
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Raffi Khatchadourian
 
Viam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdfViam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdf
camilalamoratta
 
TrsLabs - Leverage the Power of UPI Payments
TrsLabs - Leverage the Power of UPI PaymentsTrsLabs - Leverage the Power of UPI Payments
TrsLabs - Leverage the Power of UPI Payments
Trs Labs
 
Financial Services Technology Summit 2025
Financial Services Technology Summit 2025Financial Services Technology Summit 2025
Financial Services Technology Summit 2025
Ray Bugg
 
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
Unlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web AppsUnlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web Apps
Maximiliano Firtman
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Raffi Khatchadourian
 
AI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of DocumentsAI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of Documents
UiPathCommunity
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptxReimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
John Moore
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Play It Safe: Manage Security Risks - Google Certificate
Play It Safe: Manage Security Risks - Google CertificatePlay It Safe: Manage Security Risks - Google Certificate
Play It Safe: Manage Security Risks - Google Certificate
VICTOR MAESTRE RAMIREZ
 
The Future of Cisco Cloud Security: Innovations and AI Integration
The Future of Cisco Cloud Security: Innovations and AI IntegrationThe Future of Cisco Cloud Security: Innovations and AI Integration
The Future of Cisco Cloud Security: Innovations and AI Integration
Re-solution Data Ltd
 
Foundations of Cybersecurity - Google Certificate
Foundations of Cybersecurity - Google CertificateFoundations of Cybersecurity - Google Certificate
Foundations of Cybersecurity - Google Certificate
VICTOR MAESTRE RAMIREZ
 
The Changing Compliance Landscape in 2025.pdf
The Changing Compliance Landscape in 2025.pdfThe Changing Compliance Landscape in 2025.pdf
The Changing Compliance Landscape in 2025.pdf
Precisely
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Transcript: Canadian book publishing: Insights from the latest salary survey ...
Transcript: Canadian book publishing: Insights from the latest salary survey ...Transcript: Canadian book publishing: Insights from the latest salary survey ...
Transcript: Canadian book publishing: Insights from the latest salary survey ...
BookNet Canada
 
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Raffi Khatchadourian
 
Viam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdfViam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdf
camilalamoratta
 
TrsLabs - Leverage the Power of UPI Payments
TrsLabs - Leverage the Power of UPI PaymentsTrsLabs - Leverage the Power of UPI Payments
TrsLabs - Leverage the Power of UPI Payments
Trs Labs
 
Financial Services Technology Summit 2025
Financial Services Technology Summit 2025Financial Services Technology Summit 2025
Financial Services Technology Summit 2025
Ray Bugg
 
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
Unlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web AppsUnlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web Apps
Maximiliano Firtman
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Raffi Khatchadourian
 
AI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of DocumentsAI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of Documents
UiPathCommunity
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptxReimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
John Moore
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Play It Safe: Manage Security Risks - Google Certificate
Play It Safe: Manage Security Risks - Google CertificatePlay It Safe: Manage Security Risks - Google Certificate
Play It Safe: Manage Security Risks - Google Certificate
VICTOR MAESTRE RAMIREZ
 
The Future of Cisco Cloud Security: Innovations and AI Integration
The Future of Cisco Cloud Security: Innovations and AI IntegrationThe Future of Cisco Cloud Security: Innovations and AI Integration
The Future of Cisco Cloud Security: Innovations and AI Integration
Re-solution Data Ltd
 
Ad

Hand-on Resources II: Extending SCMSWeb

  • 1. Extending SCMSWeb 3 rd PRAGMA Institute Hand-on Resources II Sugree Phatanapherom [email_address]
  • 2. SCMSWeb in Short Monitoring system for Cluster and Grid Usage statistics Service probes
  • 9. Behind graphs, charts and tables Configuration APIs
  • 13. probe.conf [html] xmlpath = /usr/share/scmsweb/incoming/cluster/pragma.xml textpath = /usr/share/scmsweb/grid/PRAGMA/pragma.txt htmlpath = /usr/share/scmsweb/grid/PRAGMA/pragma.html [probe] name = PRAGMA smtp = localhost #email = [email protected] timestamp_path = /var/tmp/scmsweb timeout = 40 probe0 = DNS probe1 = Authentication probe2 = Mds probe3 = JobRun probe4 = GridFTPTo probe5 = GridFTPFrom probe6 = WSGRAM probe7 = Iperf probe8 = SWCat [globus] basedn = mds-vo-name=npaci,o=sdsc mdshost = rocks-67.sdsc.edu [Gfarm] command = /usr/share/scmsweb/gfarm/probe_gfhost %(target)s [WSGRAM] command = /usr/share/scmsweb/wsgram/probe_wsgram %(target)s [time] rerun_false = 1 SWCat = 720 Iperf = 720 Mds = 720 GridFTPTo = 360 GridFTPFrom = 360 JobRun = 120 WSGRAM = 120
  • 14. target.conf #[USM-CS] [aurora] target = aurora.usmgrid.myren.net.my iperf_args = -p 15001 email = [email protected],[email protected],[email protected],[email protected] #[IOIT-HCM] [VENUS] target = venus.ioit-hcm.ac.vn iperf_args = -p 15001 email = [email protected],[email protected] #[MIMOS] [MIMOS-Nucleus] target = nucleus.mygridusbio.net.my iperf_args = -p 5001 email = [email_address] ,[email protected] #[SDSC_compute] [Rocks-52] target = rocks-52.sdsc.edu iperf_args = -p 15001 email = [email protected] SWCat_target = rocks-52.sdsc.edu/jobmanager-fork #[BU] [popCluster] target = pop.cs.binghamton.edu GridFTPTo_probe = off GridFTPFrom_probe = off iperf_args = -p 15001 email = [email protected],[email protected],[email protected]
  • 16. swcatalog.conf [autodock4] url=http://autodock.scripps.edu/ [namd] url=http://www.ks.uiuc.edu/Research/namd/ [amber] url=http://amber.scripps.edu/ [ninf-g] url=http://ninf.apgrid.org/ [intel_c_compiler] url=http://www.intel.com/cd/software/products/asmo-na/eng/219768.htm [intel_fortran_compiler] url=http://www.intel.com/cd/software/products/asmo-na/eng/219768.htm [apbs] url=http://apbs.sourceforge.net/
  • 17. 0-init.sh #!/bin/sh for file in /etc/profile.d/*.sh; do [ -f &quot;$file&quot; ] && . &quot;$file&quot; done
  • 18. amber.sh #!/bin/sh amber_version() { # bad guess? VERSION=`echo &quot;$1&quot; | grep -q 9` if [ X&quot;$VERSION&quot; = X ]; then VERSION=&quot;9&quot; else VERSION=&quot;unknown&quot; fi echo -n &quot;$VERSION&quot; } SANDER_PATH=`which sander 2> /dev/null` if [ X&quot;$AMBERHOME&quot; != X ]; then # how can we decide version of amber? VERSION=`amber_version &quot;$AMBERHOME&quot;/exe` echo &quot;amber:$VERSION:$AMBERHOME/exe&quot; elif [ X&quot;$SANDER_PATH&quot; != X ]; then VERSION=`amber_version &quot;$SANDER_PATH&quot;` echo &quot;amber:$VERSION:$SANDER_PATH&quot; fi
  • 19. ninf-g.sh #!/bin/sh NG_VERSION=`ng_version 2> /dev/null` if [ X&quot;$NG_VERSION&quot; != X ]; then VERSION=`echo $NG_VERSION | sed &quot;s/.*:[[:space:]]*\(.*\)/\1/g&quot;` NG_PATH=`which ng_version` NG_PATH=`dirname &quot;$NG_PATH&quot;` echo &quot;ninf-g:$VERSION:$NG_PATH&quot; fi
  • 21. Configuration [Site:Universiti Sains Malaysia] parent = Grid:PRAGMA UniqueID = USM_MY Latitude = 5.356667 Longitude = 100.300833 Location = Malaysia Description = USM MY SecurityContact = mailto: [email protected] SysAdminContact = mailto: [email protected] UserSupportContact = mailto: [email protected] [Site:MIMOS] parent = Grid:PRAGMA Latitude = 5.356667 Longitude = 100.300833 Location = Malaysia Description = MIMOS MY SecurityContact = mailto: [email protected] SysAdminContact = mailto: [email protected] UserSupportContact = mailto: [email protected] [Grid:PRAGMA] Name = PRAGMA Description = PRAGMA [Site:TNGC_TH] parent = Grid:PRAGMA Location = Bangkok, Thailand Latitude = 13.84544 Longitude = 100.567802 Description = sunyata.thaigrid.or.th SecurityContact = mailto: [email protected] SysAdminContact = mailto: [email protected] UserSupportContact = mailto: [email protected]
  • 22. Extensible Probe Catalog GeoMap http://goc.pragma-grid.net/cgi-bin/scmsweb/xml_display.cgi?grid=on http://goc.pragma-grid.net/cgi-bin/scmsweb/glue.cgi?format=xml http://goc.pragma-grid.net/cgi-bin/scmsweb/glue.cgi?format=kml
  • 23. Basic Usage curl http://goc.pragma-grid.net/cgi-bin/scmsweb/xml_display.cgi?grid=on curl http://goc.pragma-grid.net/cgi-bin/scmsweb/glue.cgi?format=xml curl http://goc.pragma-grid.net/cgi-bin/scmsweb/glue.cgi?format=kml
  • 24. For developers Your codes, your rules!
  • 25. Try it and feel it! Host: ppkt-cluster.usm.my User: guest<1-20> Password: guest<1-20>
  • 26. conf.py scmsweb_xml = 'http://goc.pragma-grid.net/cgi-bin/scmsweb/xml_display.cgi?grid=on' map_xml = 'http://goc.pragma-grid.net/cgi-bin/scmsweb/glue.cgi?format=xml' map_kml = 'http://goc.pragma-grid.net/cgi-bin/scmsweb/glue.cgi?format=kml' nano conf.py cat conf.py python conf.py
  • 27. fetch.py #!/usr/bin/python import conf from urllib import urlopen fi = urlopen(conf.scmsweb_xml) fo = open('scmsweb.xml', 'w') fo.write(fi.read()) fo.close() fi = urlopen(conf.map_xml) fo = open('map.xml', 'w') fo.write(fi.read()) fo.close() fi = urlopen(conf.map_kml) fo = open('map.kml', 'w') fo.write(fi.read()) fo.close() nano fetch.py python fetch.py ls -l
  • 28. parse.py #!/usr/bin/python from xml.dom import minidom fi = open('scmsweb.xml') doc = minidom.parse(fi) print doc nano parse.py python parse.py
  • 29. traverse.py #!/usr/bin/python from xml.dom import minidom fi = open('scmsweb.xml') doc = minidom.parse(fi) root = doc.documentElement for node in root.childNodes: if node.nodeType == doc.ELEMENT_NODE: print node.tagName, node.attributes.items()
  • 30. x.py #!/usr/bin/python from xml.dom import minidom from xml import xpath fi = open('scmsweb.xml') doc = minidom.parse(fi) root = doc.documentElement nodes = xpath.Evaluate('cluster', root) for node in nodes: if node.nodeType == doc.ELEMENT_NODE: print node.tagName, node.attributes.items()
  • 31. l.py #!/usr/bin/python from xml.dom import minidom from lxml import etree as ET fi = open('scmsweb.xml') root = ET.parse(fi) nodes = root.xpath('cluster') for node in nodes: print node.tag, node.attrib
  • 32. Congratulation! You are python programmer now