#!/usr/bin/python
#Script to pull KPI values from MMEs.
import paramiko
import sys
import os
host = sys.argv[0]
user = sys.argv[1]
password = sys.argv[2]
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('host', username='user', password='password')
stdin, stdout, stderr = ssh.exec_command(pdc_kpi.pl | grep -A 4 sgsn_g | head -5 | tail -1 | awk '{print $3}' | sed 's/[%]//g')
a = stdout.readlines()
print a
I want to pass the argument for HOST, USERNAME, PASSWORD from the shell because I will be using this for several servers but it seems sys.argv is giving errors.
Code:
sh-3.2$ python pcn_test.py 192.168.12.66 GbeAdi gbenga123
Traceback (most recent call last):
File "pcn_test.py", line 17, in ?
ssh.connect(host, username='user', password='password')
File "/usr/lib/python2.4/site-packages/paramiko/client.py", line 278, in connect
for (family, socktype, proto, canonname, sockaddr) in socket.getaddrinfo(hostname, port, socket.AF_UNSPEC, socket.SOCK_STREAM):
socket.gaierror: (-2, 'Name or service not known')
Also GREP is complaining:
Code:
File "pcn_test.py", line 20
stdin, stdout, stderr = ssh.exec_command(pdc_kpi.pl | grep --line-buffered -A 4 sgsn_g | head -5 | tail -1 | awk '{print $3}' | sed 's/[%]//g')
^
SyntaxError: invalid syntax
@infinitydon,
I believe your script failed at first cause the sys.argv[0] contains the actual script name itself, python utilizes 0,1,2,3 as arguments.
Code:
jaysunn-> cat pytest.py
import sys
import os
script = sys.argv[0]
user = sys.argv[1]
password = sys.argv[2]
print(script,user,password)
#!/usr/bin/python
#Script to pull KPI values from MMEs.
import paramiko
import sys
import os
host = sys.argv[1]
user = sys.argv[2]
password = sys.argv[3]
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(host, username=user, password=password)
stdin, stdout, stderr = ssh.exec_command("pdc_kpi.pl | grep -A 4 sgsn_g | head -5 | tail -1 | awk '{print $3}' | | sed 's/[%]//g'")
gsm_att = stdout.read().strip()
#Test for whether KPI are within acceptable limit, also this gives Nagios the Necessary EXIT codes
if gsm_att <= "0.5":
print "OK - GSM Attach KPI is " + str(gsm_att) + "and it is within target." % gsm_att
sys.exit(0)
elif gsm_att > "0.5" and gsm_att <= "0.99":
print "WARNING - GSM Attach KPI is " + str(gsm_att) + "and it is approaching target." % gsm_att
sys.exit(1)
elif gsm_att > "1.0":
print "CRITICAL - GSM Attach KPI is " + str(gsm_att) + " and it is degraded, kindly investigate." % gsm_att
sys.exit(2)
else:
print "UNKNOWN - Kindly check the settings or Node Connectivity." % gsm_att
sys.exit(3)
ssh.close()
But the script is giving the following error:
Traceback (most recent call last):
File "pcn_test2.py", line 26, in ?
print "OK - GSM Attach KPI is " + str(gsm_att) + "and it is within target." % gsm_att
TypeError: not all arguments converted during string formatting
N.B -- Am writing this so that I can use it in nagios/centreon.
My issue :
I am getting only last command output data in ouput file. Though comamnd "print(output)" displays data for all 3rd column values but the data saved in file is not what required it hs to be the same which is being printed by command"print(output)".
Could you please help me to fix this,... (0 Replies)
I'm new to utilities like socat and netcat and I'm not clear if they will do what I need.
I have a "compileDeployStartWebServer.sh" script and a "StartBrowser.sh" script that are started by emacs/elisp at the same time in two different processes.
I'm using Cygwin bash on Windows 10.
My... (3 Replies)
Hello all,
I am facing a weird issue while executing a code below -
#!/bin/bash
cd /wload/baot/home/baotasa0/sandboxes_finance/ext_ukba_bde/pset
sh UKBA_publish.sh UKBA 28082015 3
if
then
echo "Param file conversion for all the areas are completed, please check in your home directory"... (2 Replies)
Hi
I am trying to execute a sed command inside paramiko which finds and deletes the particular string from a file
But sed command doesnt work inside paramiko python
machine=qwe
dssh = paramiko.SSHClient()
dssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
... (4 Replies)
I need to compare the output files in a directory for sftp, looking through a mask.
Return the full file name.
Eg.
I have a file named locally:
test.txt
I must check through sftp, if a file with the following name:
test_F060514_H173148.TXT
My idea is for the filename to a... (0 Replies)
I am trying to call a script(callingscript.sh) from a master script(masterscript.sh) to get string type value from calling script to master script. I have used scripts mentioned below.
#masterscript.sh
./callingscript.sh
echo $fileExist
#callingscript.sh
echo "The script is called"... (2 Replies)
I am using blow script :--
#!/bin/bash
FIND=$(ps -elf | grep "snmp_trap.sh" | grep -v grep) #check snmp_trap.sh is running or not
if
then
# echo "process found"
exit 0;
else
echo "process not found"
exec /home/Ketan_r /snmp_trap.sh 2>&1 & disown -h ... (1 Reply)
Hi guys
I have a shell script that executes sql statemets and sends the output to a file.the script takes in parameters executes sql and sends the result to an output file.
#!/bin/sh
echo " $2 $3 $4 $5 $6 $7
isql -w400 -U$2 -S$5 -P$3 << xxx
use $4
go
print"**Changes to the table... (0 Replies)