This discussion has been locked. The information referenced herein may be inaccurate due to age, software updates, or external references.
You can no longer post new replies to this discussion. If you have a similar question you can start a new discussion in this forum.

SWQL Study Group for the complete novice - thoughts?

Just throwing this out there and wondering ...

My coding skills are pretty much non-existent. I have been a hardware guy all my life and just when I think I've got a handle on something and create a new query which subsequently doesn't work I get all deflated. So off I go a Googling and a Thwacking trying to see if someone has already built that wheel before. And frequently I find the answer to that is yes, they have; only it was so long ago that things have changed and the script is so far from usable / working that I'm back at the start again.

Anyway ...

My point is, I wonder if there is any merit in a SWQL Study Group to help learn this stuff from the ground up.

I've no idea if it would work; who would run it (combined effort / self led / experienced friendly coder?); structure or anything... but maybe a few like minded code n00bs, could find someplace/someway to form a self help learning group.


Especially if you are like me and want in on a group like this?

  • Sounds interesting. I do most everything in swql (reports and alerts) now, but nothing complex like some of the reports i see here. API programming with powershell and python - total noob. Trying to crack those nuts and look at them as modularized scripts. API auth, then Call #1 etc. The idea is reusable bits that those of us with limited skills can rinse/repeat. So count me in as interested.

  • Thank you  - I like the reply from  and hoping he or someone else can suggest a means to tale that up.

    A forum or similar, where we could create a private channel/room - Teams maybe, but I don't know how that would work across company boundaries, etc...  

  • Maybe we do something here on THWACK?  A group where you join up, but it has a moderator or two to keep the conversation moving.  The more I think on this, the more I like it, but I'd need help in deciding what goes in said theoretical space.

    What say you all?  If there was a group in THWACK where people could come together, what would it need?

    (This is not a commitment to build this thing, but gathering requirements is important to build something people find useful)

  • what would it need?

    Now there's a question I don't know how best to answer, but here's my starters for 10.

    I guess it needs several sections/areas from

    • where to start, so an FAQ or groups of FAQs and pointers to current/live/accurate posts.
    • I don't understand this concept. (e.g. my struggle to understand CASE)
    • can I, or how can I do X.
    • A code repository maybe of some sort might also be useful - or maybe just another sub section of "this works for me" and/or here's how I did it posts.

    I liked suggestion as it implied a 'live capability' to try code on the fly as folks in different time zones popped in and added their 2p worth. Think of it akin to comments on a blog post that happen on the fly, with folks reacting as necessary. Not a criticism here, but the THWACK shell seems too static for that sort of thing? But what do I know?

    Do you envisage the mods to be folks already well versed in SWQL / Powershell / Python or just anyone willing to keep it alive? And how easy would it be for a mod to be replaced /added to down the line?

  • THWACK is actually as flexible as we'd like it to be, which is why I was asking "if you had a magic wand" level questions.  I'm not saying it's something we can stand up in a few days (or even weeks), but it might be worth having the conversation.  The trick is that we can't have every device everyone has in their monitoring - nor can we run multiple versions of the software.  Are there roadblocks?  Yes.  Can they be overcome?  Also, yes.

    I've got some ideas I'd like to take back to the people with wallets, but why should I tell them this is needed as an additional option considering what we already make available?

    • Free trials of the software
    • SolarWinds Labs/Livecasts
    • SolarWinds Academy classes
    • Documentation/assistance on THWACK

    I'm not trying to be obstinate, I just want to make sure I have all the information before I start the conversations.

  • What I will re-iterate [from other threads] is that there are multiple styles of learning and of the 4 you listed , only one fits partially into the way I learn - live classes. Sadly, the majority of these, and I understand why, are US time based which for someone that starts work at 7am and is typically done by 3pm is a no go due to commitments outside of work [I'm a foster dad].

    So with that knowledge, then for me, and this is purely my personal experience, THWACK 'as is' doesn't work very well for me, and what I was hoping to do was find likeminded souls that wanted to learn alongside each other via a study club type of idea. If a few knowledgeable types wanted to jump in and mentor / assist then fab.

    I look at it as something similar to my work teams 'Teams' chat where we throw out random questions / requests for technical help and those that can jump in and answer or post suggestions. I wasn't looking to put any onus or requirement on SolarWinds to provide, but equally I can see the logic / benefit in you wanting to keep a resource like this in-house.

    Here's a simple example that may help: I'll admit, a lot of my issues is around understanding terminology. So when someone says 'modern dashboards' (for e.g.) I have to pause a second and wonder what on earth they are talking about. Now that I've dug into the topic, have done some reading, but most importantly for me, actually created some I now get what they are. To relate that back to SWQL - as I am not and have never been a coder when folks talk about records, fields, etc, etc I can tell you my head doesn't think about data structures. So all I'm looking for is somewhere for folks to say - "that post by Kevin on SWQL 101 - what is he on about and can one of you expand on it".

    p.s. not seeing you as obstinate very much more helping and trying to understand the what/why of a thing I haven't really thought through. TBH I was really waiting on enough folks to commit to the idea of this first before starting to discuss / thrash out the how, what, where etc.

    p.p.s. apologies if I'm not getting your drift either - hopefully other folks will chime in?

  • Hey All,

    Sorry, I've been pretty distracted these past few weeks, but I have been thinking about this.  

    Firstly, to address  questions about what would be a wish list, I think first and foremost would be an area dedicated to learning SWQL.  The SDK section is sort of like this, but is much more of an area where people who know SWQL spend time together solving problems, but less time learning the basics of SWQL.  Separating out the learning might help people find a place to focus on that task.  And, I've ALWAYS thought that not having a home demo licensing program would be key to expanding people's knowledge of Orion and giving them someplace to lab things out, break things, really dig in w/o being afraid if breaking a production system.  I've worked at 3 places using Orion now, and only one had any sort of lab.  And even then, you were really encouraged to leave the system in as stock of a state as possible, because it was shared amongst a few dozen people and they are depending on having it up and working when they needed it.

    As someone who has never been a programmer of any sort, I'm slowly learning my way around, but if you are starting from square one learning SWQL, it's a long, steep learning path.

    I completely understand what @stuartd is saying about live learning, but programming and live learning are hard to put together... Maybe a series of pre-recorded lectures or even an ongoing series of lectures helping to work through leaving SWQL would be a way to handle that.  But for the actual students with fingers on keyboard banging out code, I don't think that works as well.  I wonder more about a structure learning path via a series of programming challenges.  Like you see in most programming courses.  OK, we've learned these piece, let's apply that new knowledge with a programming challenge.  Read Only, most of us could easily use our environments and the SDK to work out these challenges.  Having a THWACK thread for each challenge, so newer participates could work their way through older challenges, see the discussion of people talking about how they are approaching it, working out problems via discussion, learning from each other.  And maybe, the ability to download a 'solution' after you've got it working (or completely stumped) and see how the teachers solved the same problem.

    Learning programming of any sort is tough, but there are a lot of books, websites and video playlists with downloadable content that work you through learning a programming language.  I think some sort of structure program along with a dedicated "Learn SWQL" forum would go a long way to helping more people get a grasp  of how to use what could be arguably the most powerful part of the Orion system.

  • As someone who has never been a programmer of any sort, I'm slowly learning my way around, but if you are starting from square one learning SWQL, it's a long, steep learning path.

    Absolutely with you on this one. And I'll add to it by saying my actual day job distracts from the learning as some ideas, I have to re-learn each time as I don't use them frequently enough.

    That said, sme good suggestions in your message. To add to (clarify?) on the learning styles I do get that live classes may not be the best approach but I was also being very general when using that term. So, what methods work for me... well live class encompasses it all, but by that I predominantly mean there are other folks around me that I can call on and say "what did he mean by X" or "did you get that" - so that the students interact with each other rather than necessarily the teacher - although that is a viable option as well.

    The point I'm trying to badly make is it is the interaction that helps me learn, not necessarily the live class per se. So the study group idea is what I have come up with. But a section of THWACK for n00b SWQL coders and challenges, lessons, etc would probably work for me IF there was a commitment from those 'in the know' to answer / respond in as real time as feasible at certain hours / times of a week (month, or whatever timescale is agreed upon).

    An alternative might be to as you say, hand out the challenges, but once a month (again, negotiable) have a live Teams / Zoom session to discuss what folks found out or not, how they overcame a particular hurdle if there's a better way to do something, etc ... in-between times, the n00bs could get together as oft as they like to discuss ideas, etc.

  • I like the idea of having Team/Zoom study sessions.

    Having online live 'classes' might not work as well for many, as we are spread across the globe in different time zones and have many things that keep us from attending when we'd like to, so I like the idea of on-your-own-pace learning because of that.  But the idea of live study sessions is a great idea.  

    I think there is a workable solution that would work for most people somewhere in the mix of these ideas.

  • I like the idea of having Team/Zoom study sessions.

    Having online live 'classes' might not work as well for many, as we are spread across the globe in different time zones and have many things that keep us from attending when we'd like to, so I like the idea of on-your-own-pace learning because of that.  But the idea of live study sessions is a great idea.  

    I think there is a workable solution that would work for most people somewhere in the mix of these ideas.

  • Team or Zoom meetings would be great. They can both be recorded for anyone that couldn't attend live.

    I'm not sure what you're looking for from SolarWinds to provide. We could start a new thread for each Team/Zoom meeting for discussion.

  • Personally speaking I wasn't putting any expectations on SolarWinds but it was they (via ) that started adding in suggestions or querying what I was after.

    If they can host it, then I can see that it also benefits them but then it also (in my eyes) puts an onus on them to be actively involved.

  • Ah. Got it.

    Is there something in particular you are looking for, for a first class topic? What do you need/want help with? If it's something I'm familiar with, maybe I can try to host a session or record a video. We can make up the rest as we go along.

  • Ok, in all honesty I don't know that there is an easy answer to that, and this thread started originally as a means to potentially help me, but in the process would help others.

    As I've said upthread, I learn best by doing and interacting with others.

    The idea being (purely as an example) one of the group would say I need to create a report to do X, but I can't fathom out how to do JOINs. Then either one of the others steps up and talks us through that, or we all indulge in research and bouncing ideas back at each other.

    Another example might be - is there a way to extract an aspect from the DB (let's say a serial number), and auto populate it into a custom property for a node so it appears on the node properties page. Or is there a way I can automate bulk imports or ...

    I guess I saw it as more of a mailing list of "helpful noobs in the same boat as me" where we interacted through helping, research, questioning, etc. Then on an ad hoc every now and then basis someone like yourself comes along and talks about (again for eg) CASE statements [which I don't get - or more accurately, I don't get when to use and how to implement] - and then the group can query, interact, etc - and just maybe, the host sets a homework type challenge if folks fancy that.

    To me, and this is not a criticism, Thwack is not the most responsive place to come to get help when the boss says 'can you do....'

    Now to your specific...

    >> Is there something in particular you are looking for, for a first class topic?

    Not knowing where everybody is at, this is a tough one, and for myself I'm in the "not quite a beginner now group"... but I'd say let's start at the beginning. Talk us through the basic construct of a SWQL query, the requirements, etc. For those that know a bit of SQL do a side bit on "you can't use * in SWQL" and the like.  But more to the point, don't just talk, show. My early struggles was in how to navigate the DB (from a SWQL Studio side), finding what was where, and why I couldn't JOIN a view (once I'd partially got my head around JOINs). Now I need to start to understand more complex aspects - CASE, using Date and Time functions, do a query that checks current state and alerting if it changes from the last known, how to start to automate checks, fixes, and so on.

    TLDR: initially I just wanted to find if there was a market for others in the same or similar boat to me; gather names and then discuss amongst ourselves how to move forward. But it morphed from a couple saying yes, count me in, to what do I want - and a precise answer to that eludes me, but it would cover off "what I need to know right now to get the boss off my back" Stuck out tongue winking eye

  • I'm in a similar situation as StuartD in that whilst I used to be a Developer in the late nineties and early 2000's, I haven't coded in anger for two decades and it's not like riding a bike!
    A particular problem I'm struggling with at the moment is a Volume alert based upon capacity forecasting.
    E.g IF Volume:A has less than 5GB remaining AND has less than 48 hours forecasted capacity THEN trigger an action.

  • coded in anger

    I don't think I've read anything that speaks to me quite as much as this single phrase.

    As a general response, I'm currently working on something that I'm hoping will help - basically a "primer" on the SolarWinds Query Language Syntax with examples.  It's still rough (really just a list of bullet points and query snippets), but I'd love some external reviewers when I get it to something more fleshed out.

  • Haha, I hadn't considered that it could mean different things to different people. On reflection, I can now recall coding in a highly strung state most of the time, especially when the usual battle between the Sales and Production departments was ongoing! :-)