Splunk Specialist – List of Roles and Responsibilities

Splunk Specialist with good IT infrastructure skills, in multi-platform environments, ideally familiar with Linux. There are several innovative projects in Splunk, and various companies are looking for qualified administrators with Splunk experience and/or certification. Main responsibilities:
  • Participated in all Splunk company initiatives, both internal projects and customer mandates.
  • Install and configure the necessary components to collect data from DB, log files, API, etc. to Splunk.
  • Install, configure, administer Splunk Enterprise on Windows and Linux.
  • Support Splunk updates.
  • Monitor and identify performance issues.
  • Perform data onboarding in Splunk: data collection, filtering, and transformation (source types, inputs, transforms, etc.);
  • Build use cases: advanced SPL, dashboards, reports, alerts, etc.
  • Always continue to develop product knowledge and act as a product expert.
  • Document best practices.
Qualifications required:
  • Integrating data from various sources (DB, log files, APIs, etc.) into Splunk (on prem or cloud);
  • Experience in CIM modeling in Splunk.
  • Experience in managing indexes and knowledge objects in Splunk.
  • Experience working with cloud offerings such as Azure or AWS.
  • Knowledge of basic security concepts.
  • Experience in access management (RBAC model) in Splunk.
  • Valuable experience in AIX, Linux (RedHat, CentOS) systems administration (permissions management, security (including TLS/SSL), debugging, etc.);
  • Exceptionally good experience in Splunk user support and training.
  • Good knowledge of system virtualization.
  • Good knowledge of server infrastructure.
  • Knowledge of storage, operating systems and networking.
  • Knowledge of Splunk Enterprise Security is an asset.

Python Programming – Operators and data types

The most important foundation level in python is understanding topics like Statements, keywords, Identifiers, Operators, datatypes, methods, class, objects, etc..

Let's see the concepts below on the Operators to begin with,

2 variables A and B, with A =5 and B=10

Arithmetic -> Addition +, Subtraction, -, Multiplication *, Division /, Modulo%, Floor Division //, Floor Multiplication **

A+B ->5+10=15

A-B=5-10 = -5

Conditional operators - lesser than<, Greater than>, less than or equal to<=, Greater than or equal to >=, Not equal to !=, Equal to ==

Boolean data types - TRUE, FALSE

Logical Operators - AND OR NOT

Membership Operators - IN, NOT

Identity Operators - IS, IS NOT

 

Appium – Mobile App Automation – Introduction

Appium (appium.io) is an open-source tool, used to automate mobile applications, IOS, Android and support windows and platforms like android, iOS, desktop, windows as well. It can be used to automate native, web and hybrid mobile applications. native- an application which is native to mobile OS like iOS or Android web - can run in mobile web browser hybrid- are native applications but still can be opened in a specific native container or browser. Appium uses selenium web driver library, and the client scripts can be written in multiple programming languages Java, python, C# ruby, PHP, JavaScript and robot framework. written in C# created in 2011 by Dan Cuellar under the name iOSAuto, 2012 made open source under Apache license. 2013- sauce labs agreed to support Appium development. Design of Appium: Appium uses selenium web driver script -> and using the web driver wire protocol (Json wire protocol) the client scripts are converted into http rest-based requests-> sends to Appium server-> Appium server runs the request-> and runs automation using the native automation framework on the mobile application in the mobile device. more info is int eh Appium documentation here https://appium.io/docs/en/about-appium/intro/ Install Apium in Windows, option we are going tose eis from node.js Check in command line node --v to check for the version of the node js  

image

 

If not available, download the node.js from the official website, Download | Node.js (nodejs.org)

now in command prompt type node -v or npm -v for checking on the versions of node and npm(node package manager)

 

The node and npm is installed successfully in the machine.

to see the location of the installed npm and node

npm where

node where 
install appium
npm install -g appium

To verify Appium installation
appium --version or appium -v

to start appium just type in the command prompt as appium

to stop ctrl+c and the appium server will shutdown

Install appium with appium desktop client based ont eh OS u are using select  the necessary package and install.
To start the server, click start

APPIUM Doctor -GitHub - appium/appium-doctor: Tool to verify appium installation
- is the next to be installed. npm install appium-doctor

to check if appium-doctor is installed, use appium-doctor --version

to check for android
appium-doctor --android


https://www.browserstack.com/guide/appium-with-python-for-app-testing

Java – Object Oriented Programming – Polymorphism

one method name used across multiple methods with the difference in datatypes, or number of arguments, when called based on the arguments used as inputs, the methods are picked up. Example 1: parent class:
//Polymorphism
//Compile time polymorphism
//object overloading
//different in data types and diff number of arguments
public class Calculator
{
public static void main(String[]args)

{
Calculator calc =new Calculator();
calc.add(10, 20);
calc.add(10, 20, 30);
calc.add(10, 20, 30.5f);
}

public void add(int a1, int a2)
{
System.out.println(a1+a2);

}
public void add(int a1, int a2, int a3)
{
System.out.println(a1+a2+a3);
}	
	
public void add(int a1, int a2, float a3)
{
System.out.println(a1+a2+a3);
}
}
// object overriding
//run time polymorphism

public class Scicalc extends Calculator
{
public static void main (String[]args)
{
Scicalc scicalc = new Scicalc();
scicalc.add(100, 100);
}
//intentional addition of the below method to override the parents method add
public void add(int a1, int a2)
{

if (a1>100 && a2 >100)
{
System.out.println(a1+a2);
}
else
{
System.out.println("Please enter numbers greater than 100");

}
}
}
Example 2:
//if class made as final, it cannot be inherited, remove the final in the next line to be inherited by child class.

public final class Parent3
{
//final keyword is to make sure the //variable is not updated in the child class	
//child class uses only the parent class //value and is not overridden
final int pocket_money =5;
public static void main(String[]args)
{
Parent3 parent3 =new Parent3();
parent3.watchTV();
}

public final void watchTV()
{
System.out.println("LG");
}
}
Below is child class
//method overriding
//dynamic binding
//run time polymophism - on an inheritance //code 
public class Child3 extends Parent3
{
public static void main (String[]args)
{
//regular mode of creating an obj in parent class
//Parent3 parent3 = new Parent3();
//Parent object reference for a child object
// parent obj ref can only call method of a //child class which is also in the parent //class
Parent3 parent3 = new Child3();
parent3.watchTV();
//parent3.coding();
//Child3 child3 = new Child3();
//child3.watchTV();
//new Child3().watchTV();
System.out.println(parent3.pocket_money);
//to check the value cannot be assigned to alreay declared final
//parent3.pocket_money=10;
}
//public void watchTV()
//{
//System.out.println("Smart TV");
//}

public void coding()
{
	System.out.println("coding");
}
}

Collection

First let's see the collections advantages over array

  1. Continuous memory
  2. Unused memory will be wasted
  3. cannot say the array size upfront

Collection is basically called a collection of objects Interfaces - all are contracts

  1. Set - ex: playing cards - no order is maintained- no duplicate elements are present
  2. List - ex: Grocery list - insertion order- can have duplicates!
  3. Map

JavaScript

basics to see, how JavaScript works

Open Browser-> Console-> see basics of JavaScript

Comments in java script is given by //

//This is a comment

Basic data types

All the below are considered as numbers

integers-> 10

floating point-decimal ->12.0

negative numbers-13.5

String -> Ex:1 "hello World" Ex:2 "12"

Boolean -> true , false

undefined and null are basic data types in java script

clear () - used to clear console

Python – Automation – P1- Install robotframework

Robot framework.org - python based framework - keyword driven approach!
Ex:
open browser url chrome
input text id text info
Close Browser

install on windows OS

1.As a pre-requisite python must be installed in the system you are going to create the automation scripts, once its installed
need to check if pip is available

2. pip install robotframework


3. pip install --upgrade robotframework


4. pip install robotframework==5.0.1

to check if the robot framework is correctly installed, please follow the below commands!
pip freeze


pip list


pip show robotframework


pip check robotframework

If you want to uninstall Robot framework

To check on the version of the Robot framework

robot --version

Set environment variables in the PATH, so python is accessible from across locations in the system from where the code/file is being saved.

Java – Selenium – Web Automation Introduction

Selenium can be considered either as API or a framework, a tool to automate web applications. It is open source and can be programmed in multiple high-level languages.

Ex: Python, Java, C#, etc...

Here, we are going to see the usage of the tool in Java. A foundation level of understanding of the core concepts and object-oriented programming is necessary.

To validate the UI scenarios using Java and Selenium, one can use the jQuery website to practice with the latest UI level usage across the website.

 

 

Java Introduction – Assembly level languages leading to High level languages

Assembly level languages are basic language model to communicate with computer/calculate
these are used to create Fortran , Cobol, etc..

Basic set of instructions for the computer to understand

Current scenrio, c#, python, java are considered general purpose lanaugaes to all domain

Compiler translates these languages to machine understandable language

Ten the language B was created, then C, which started the rise of general purpose languages, C#, Python, java are considered general purpose languages to all domain

Paradigm of languages came up during the times of 1980's

procedural oriented programming was followed on Cobol (Business need) and Fortran (Formula Translations)

There were few challenges and complexities, to overcome those,

modular, functional, object oriented programming by the computer scientists and researchers.

C++ was created on top of C and Object oriented concepts was effective but there were few drawbacks,

Compile of C++ was effective but expensive, as for each OS new compilers/translators were to be creaed

Again, to overcome the challenges and drawbacks of C++ while supporting OOPs

One of the main challenge was the cost fr the compilation, Java came with the new approach of breaking down the message translation from the high level(programming) language to machine language.

one smartphone/laptop/Desktop has lets say intel/arm/amd processor, the processor converts the programming language to machine language 0,1 in the proces sit understands

but before that OS will stop in between to check whether the code is what/how it is executed and code quality is correct!

Java team created a approach called CORA, create once run anywhere which made Java Platform independent! - Platform means in the simple words a combo of windows+intel processor Mac+M1 processor etc...

Java program is not compiled directly to machine language (binary -0,1)

Java program is compiled to byte code(intermediate code (user could find it difficult to read and understand easily).

Once this is generated and the user wants it to process/run, this is passed on to JVM - based on the Platform the JVM converts to the binary (machine understandable language) - JVM has a system called a JIT (Just in Time Compiler- also known as Interpreter) .

Compiler - overall program translator (to be updated)

Interpreter- line by line translator- considered faster than the compilers.

Each OS has its own JVM - so the features and the responsibilities of the compiler was split across 2 units bringing down the compilation cost to less on considering to the cost incurred earlier.

SUN Microsystems -Java (James Gosling) and Microsoft- C# and Python

For Ex: Java had the syntaxes similar to C and C++ as the developers were familiar to those, considering java's one of the feature is considered as SIMPLE, considering python is having easy syntax.

lets say for doing those currently JDK (java developer Kit) is available- The Kit of compiler,

For the OS to understand on checking whether the programming info written int he respective language the concept of SYSNTAX came into picture, COmpiler does this

References:

Dennis Ritchie wiki and master website info.