I have a powershel script which i want to use to monitor services .
#Match Instances to values
$instance = "##WILDVALUE##"
#Suppress Warnings
$prefBackup = $WarningPreference
$WarningPreference = 'SilentlyContinue'
#Set the ip, hostname, directory, and ftp information
$hostip = "IP adress"
$hostname = "##SYSTEM.HOSTNAME##"
#set working directories, files, and credentials
$username = "xxxx"
$password = "xxxx"
# Build Credential
$remotepass = ConvertTo-SecureString -String $password -AsPlainText -Force
$credentials = new-object -typename System.Management.Automation.PSCredential -argumentlist $username,$remotepass
#Load Posh-SSH
Import-Module Posh-SSH
#Build SSH session
$session = New-SSHSession -ComputerName $hostip -Credential $credentials -AcceptKey -Force
#Begin interactive SSH Shell Stream
# With corrected buffer to accept voluminous text
$SSHstream = $session.Session.CreateShellStream("dumb", 0, 0, 0, 0, 1000)
#Sleep 5 seconds to allow device to catch up
Start-Sleep 10
#set enable mode
$SSHStream.WriteLine("utils service list")
Start-Sleep 10
$config = @($SSHStream.Read())
$config2 = $config -Split "`n" -replace " ", "" -replace "STARTED", "1" -replace "STOPPED", "0";
#Clean exit device shell
$SSHStream.WriteLine("exit")
#Sleep 5 seconds to allow device to catch up
Start-Sleep 5
[string]$serviceOperators = @(';\[', '\]')
[array]$config3 = @()
[array]$config4 = @()
[array]$config9 = @()
ForEach($line in $config2){
If($line -match '\['){
$config3 += $line -replace "\[|\]", ","
}
Else{
$config9 += $line
}
}
$headers = "InstanceName", "Status", "Activation"
$config4 = ConvertFrom-Csv -InputObject $config3 -Header $headers
ForEach($service in $config4){
$InstanceName = $service.InstanceName
$Status = $service.Status
$Activation = $service.Activation
Write-Host "$InstanceName.Status:$Status"
}
#Return to normal Warning messages
$WarningPreference = $prefBackup
#clean up!
Remove-Variable hostip
Remove-Variable hostname
Remove-Variable username
Remove-Variable password
Remove-Variable remotepass
Remove-Variable credentials
Remove-Variable session
Remove-Variable SSHstream
Remove-Variable config
Remove-Variable config2
Remove-Variable config3
Remove-Variable config4
Remove-Variable config9
Remove-Variable line
Remove-Variable headers
Remove-Variable Status
Remove-Variable service
Remove-Variable InstanceName
Remove-Variable Activation
Remove-Variable WarningPreference
Remove-Variable prefBackup
I get following out
SystemSSH.Status:1
ClusterManager.Status:1
CiscoSCSIWatchdog.Status:1
ServiceManager.Status:1
ACiscoDB.Status:1
ACiscoDBReplicator.Status:1
CiscoAMCService.Status:1
CiscoAuditEventService.Status:1
CiscoCDP.Status:1
CiscoCDPAgent.Status:1
CiscoCallManagerServiceability.Status:1
CiscoCertificateChangeNotification.Status:1
CiscoCertificateExpiryMonitor.Status:1
CiscoDRFLocal.Status:1
CiscoDRFMaster.Status:1
CiscoDatabaseLayerMonitor.Status:1
CiscoDesktopAdministratorService.Status:1
CiscoDesktopAgentE-MailService.Status:1
CiscoDesktopBrowserandIPPhoneAgentService.Status:1
CiscoDesktopCall/ChatService.Status:1
CiscoDesktopEnterpriseService.Status:1
CiscoDesktopLDAPMonitorService.Status:1
CiscoDesktopLicenseandResourceManagerService.Status:1
CiscoDesktopRecordingandPlaybackService.Status:1
CiscoDesktopRecordingandStatisticsService.Status:1
CiscoDesktopSyncService.Status:1
CiscoDesktopVoIPMonitorService.Status:1
CiscoFinesseTomcat.Status:1
CiscoLogPartitionMonitoringTool.Status:1
CiscoRISDataCollector.Status:1
CiscoRTMTReporterServlet.Status:1
CiscoSyslogAgent.Status:1
CiscoTomcat.Status:1
CiscoTomcatStatsServlet.Status:1
CiscoTraceCollectionService.Status:1
CiscoTraceCollectionServlet.Status:1
CiscoUnifiedCCXAdministration.Status:1
CiscoUnifiedCCXCVDDependentWebapp.Status:1
CiscoUnifiedCCXClusterViewDaemon.Status:1
CiscoUnifiedCCXConfigurationAPI.Status:1
CiscoUnifiedCCXDBPerfmonCounterService.Status:1
CiscoUnifiedCCXDatabase.Status:1
CiscoUnifiedCCXEngine.Status:1
CiscoUnifiedCCXNotificationService.Status:1
CiscoUnifiedCCXPerfmonCounterService.Status:1
CiscoUnifiedCCXSNMPJavaAdapter.Status:1
CiscoUnifiedCCXServiceability.Status:1
CiscoUnifiedCCXVoiceSubagent.Status:1
CiscoUnifiedCCXWebServices.Status:1
CiscoUnifiedIntelligenceCenterReportingService.Status:1
CiscoUnifiedIntelligenceCenterServiceabilityService.Status:1
CiscoUnifiedServiceabilityRTMT.Status:1
HostResourcesAgent.Status:1
MIB2Agent.Status:1
PlatformAdministrativeWebService.Status:1
SNMPMasterAgent.Status:1
SOAP-LogCollectionAPIs.Status:1
SOAP-PerformanceMonitoringAPIs.Status:1
SOAP-Real-TimeServiceAPIs.Status:1
SystemApplicationAgent.Status:1
CiscoServiceabilityReporter.Status:0
I am not sure how to enter the script so it display as message and statistics in solawrinds
1 is up 0 is down