Beruflich Dokumente
Kultur Dokumente
User Guide
Release 3.1
913-2383-01 Rev A
acquires commercial computer software
Notices under the same terms by which the
software is customarily provided to the
Copyright Notice public. Accordingly, Keysight provides the
© Keysight Technologies 2019 Software to U.S. government customers
under its standard commercial license,
No part of this document may be
which is embodied in its End User License
reproduced in any form or by any means
Agreement (EULA), a copy of which can
(including electronic storage and retrieval
be found at
or translation into a foreign language)
http://www.keysight.com/find/sweula or
without prior agreement and written
https://support.ixiacom.com/support-
consent from Keysight Technologies, Inc.
services/warranty-license-agreements.
as governed by United States and
The license set forth in the EULA
international copyright laws.
represents the exclusive authority by
which the U.S. government may use,
Warranty modify, distribute, or disclose the
The material contained in this document Software. The EULA and the license set
is provided “as is,” and is subject to being forth therein, does not require or permit,
changed, without notice, in future among other things, that Keysight: (1)
editions. Further, to the maximum extent Furnish technical information related to
permitted by applicable law, Keysight commercial computer software or
disclaims all warranties, either express or commercial computer software
implied, with regard to this manual and documentation that is not customarily
any information contained herein, provided to the public; or (2) Relinquish
including but not limited to the implied to, or otherwise provide, the government
warranties of merchantability and fitness rights in excess of these rights
for a particular purpose. Keysight shall not customarily provided to the public to use,
be liable for errors or for incidental or modify, reproduce, release, perform,
consequential damages in connection display, or disclose commercial computer
with the furnishing, use, or performance software or commercial computer
of this document or of any information software documentation. No additional
contained herein. Should Keysight and the government requirements beyond those
user have a separate written agreement set forth in the EULA shall apply, except to
with warranty terms covering the the extent that those terms, rights, or
material in this document that conflict licenses are explicitly required from all
with these terms, the warranty terms in providers of commercial computer
the separate agreement shall control. software pursuant to the FAR and the
DFARS and are set forth specifically in
Technology Licenses writing elsewhere in the EULA. Keysight
The hardware and/or software described shall be under no obligation to update,
in this document are furnished under a revise or otherwise modify the Software.
license and may be used or copied only in With respect to any technical data as
accordance with the terms of such defined by FAR 2.101, pursuant to FAR
license. 12.211 and 27.404.2 and DFARS 227.7102,
the U.S. government acquires no greater
U.S. Government Rights than Limited Rights as defined in FAR
27.401 or DFAR 227.7103-5 (c), as
The Software is "commercial computer
applicable in any technical data. 52.227-
software," as defined by Federal
14 (June 1987) or DFAR 252.227-7015 (b)
Acquisition Regulation ("FAR") 2.101.
(2) (November 1995), as applicable in any
Pursuant to FAR 12.212 and 27.405-3 and
technical data.
Department of Defense FAR Supplement
("DFARS") 227.7202, the U.S. government
– ii – 913-2383-01 Rev A
Contact Us
Ixia headquarters
26601 West Agoura Road
Calabasas, California 91302
+1 877 367 4942 – Toll-free North America
+1 818 871 1800 – Outside North America
+1.818.871.1805 – Fax
www.ixiacom.com/contact/info
Support
Documentation conventions
The following documentation conventions are used in this guide:
See the following table for examples on how you can interpret the different input methods.
Select Accounts > Other Click Accounts > Other Tap Accounts > Other
accounts > Add an account. accounts > Add an account. accounts > Add an account.
To open the document in Outline To open the document in To open the document in
view, select View > Outline. Outline view, click View > Outline view, tap View >
Outline. Outline.
Open the Packages context Right-click Packages to open Long tap Packages to open
menu. the shortcut menu. the shortcut menu.
Deprecated words
The following words have been replaced with new words, considering the audience profile, our modern
approach to voice and style, and our emphasis to use input-neutral terms that support all input
methods.
913-2383-01 Rev A – iv –
Contact Us iii
Documentation conventions iv
Typographical conventions 1
Textual conventions 2
Backup procedure 18
Restore procedure 18
SNMP Traps 33
913-2383-01 Rev A – vi –
About this guide
This section explains the notational and typographical conventions used in this documentation, and
provides a list of related documentation.
Section contents:
Note icons and messages 1
Typographical conventions 1
Textual conventions 2
Typographical conventions
The following table describes the typographical conventions used in this document.
Convention Description
Convention Description
Textual conventions
The following table describes the typographical conventions used in this document.
Convention Description
Boolean text Words that represent Boolean notation are written in all uppercase text.
For example: 192.168.5.5 OR 10.20.30.30.
Keystrokes Simultaneous keystrokes are shown by joining the key names with a plus
sign (+).
For example, CTRL+Q.
The Hawkeye system is currently based on a CentOS 6.6 system which is derived from the System V
standards. Specifically, the init scripts that control the various services.
The startup scripts themselves are located in /etc/init.d. Each service has its own script that
accepts a specific set of standard commands to control the service in question. The most common
relevant commands for our purposes are the “start”, “stop” and “check” options. These start the
service, stop the service and check the status of the service respectively. Theses commands can
either be run either by passing the command to the script as an option (e.g. “/etc/init.d/httpd
start”), or by using the “service” command (e.g. “service httpd start”), which simply calls the
associated script passing the given command to it.
Most services also have an associated configuration file in /etc/sysconfig to define or override
certain aspects of the script operation or server command line options. These files are normally named
the same as the init scripts they are associated with.
In this chapter:
OSS (Operations Support System) Integration 5
Backup procedure 18
Restore procedure 18
SNMP Traps 33
l Export or collect key information and alarms generated by Hawkeye to third party system.
l Automate some tasks from third party tools (generate automatic tests for example).
l Generate customized actions.
The mib is based on SNMPv2 and is easily imported into supervision systems.
Automatic emails can also be sent with content result of aggregated report – these are user defined
and can be scheduled over time (every hour/day/week).
Therefore, the test data structure storage consists of a simple structure for storing the data record.
Each active test in Hawkeye is considered as a single Data record, recorded into Test Data Record
Table.
Test Data Record contains a set of information describing the test result, with information about:
l Unique ID
l Test execution time
l Pointer to meta data table containing information
Each Test Data record is independent from each other, and independent from any other table in the
database structure, therefore can be displayed as an independent and flat view containing all available
test data.
see MySQL database Management for more details on the test data record structure.
The configuration file for the MySQL server is /etc/my.cnf. This file contains the tuning parameters for
the server as well as defining where the MySQL server stores its data files.
For larger installations, you should consult Ixia Support to determine if any of the values here should
be modified to accommodate the requirements of the specific installation.
On a Hawkeye system, by default, the data tables for the MySQL server are stored in /home/mysql_
data. The expectation is that, on a system with multiple partitions, the /home partition will be a large
local disk partition. If the installation requires NFS mounted home directories, then these files should
be moved to another location on a large local disk.
[mysqld]
innodb_file_per_table
innodb_flush_method=O_DIRECT
innodb_log_file_size=1G
#log-bin = /home/mysql_data/mysql-bin
#expire-logs-days = 14
#sync-binlog = 1
#tmp-table-size = 32M
#max-heap-table-size = 32M
query-cache-type = 0
query-cache-size = 0
max-connections = 1000
thread-cache-size = 100
open-files-limit = 65535
table-definition-cache = 1024
table-open-cache = 2048
innodb-flush-method = O_DIRECT
#innodb-log-files-in-group = 2
#innodb-flush-log-at-trx-commit = 1
#innodb-file-per-table = 1
innodb-buffer-pool-size = 12G
datadir=/home/mysql_data
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
slow-query-log = 1
slow-query-log-file = /home/mysql_data/mysql-slow.log
To access to the Hawkeye Web Portal database administration tool use the following
URL: http://yourserverIP/phpmyadmin.
l Username: root
l Password: Ixia123
If selected, the complete database will appear and be available, with table size in entries and disk
space.
Note: Any modifications to the database structure and content directly made into the database
can severely affect operations. This should not be done by non certified engineers and under Ixia
Support supervision.
1. Log on as root.
2. Select the Users tab.
4. Scroll down.
5. Provide a password in Password box and retype it in Re-type box to confirm it. Select GO.
Note: As soon as the password is modified the Hawkeye application will need to be
reconfigured with new credentials to access mysql database !!! The configuration for
database is in /home/ixia/Hawkeye/conf/configuration.txt.
913-2383-01 Rev A – 10 –
Chapter 1 Advanced Administration Guide
----------------------------------------
## Hawkeye configuration file
[MySQLDatabase]
"MySQL_Host" == "localhost"
"MySQL_Database" == "HawkeyePro"
"MySQL_User" == "root"
"MySQL_Password" == "Password0"
"MySQL_UseSSL" == "0"
6. Change mysql password to new password as reconfigured.
1. Login as root.
2. Go to Users tab.
3. Select Edit Privileges for ixia and/or root user (ixia user has restricted privileges).
– 11 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
4. Scroll down.
913-2383-01 Rev A – 12 –
Chapter 1 Advanced Administration Guide
5. Change host from local to any host or Use text field where a specific originating IP can be
specified.
As noted below the Windows firewall port must be opened for inbound request to MySQL.
Note: This will grant access to other servers to the database information. This can create
security issues if not completely under control.
Note: The default listening port for mysql database is 3306. Windows firewall must be opened
inbound for this port so that other servers can connect to it.
We recommend you to run them through phpmyadmin (command line using mysql tool is also possible,
refer to corresponding mysql user guide for this).
– 13 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
913-2383-01 Rev A – 14 –
Chapter 1 Advanced Administration Guide
Therefore, the test data structure storage consists of a simple structure for storing the data record.
Each active test in Hawkeye is considered as a single data record, recorded into Test Data Record
Table.
Test data record contains a set of information describing the test result, with information about:
l Unique ID;
l Test execution time;
l ID to test_data_record_filters table
l Reason cause;
– 15 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
Each test data record is independent from each other, and independent from any other table in the
database structure, therefore can be displayed as an independent and flat view containing all available
test data.
The test_data_record_filters table contains meta data to more information about node from, node to,
test type etc... each test_data_record is linked to a test_data_record_filters . A join query on the 2
tables will allow to get explicit information about the content.
A database table called kpi_result_table contains the information about the KPI. Each KPI result has to
be linked to the test_data_record (using TDR_ID).
another table called kpi_string_information is linked to TDR and contains string kpi typically used to
provide further description of a test result.
One Test Data Record (TDR) can contain as many results as needed in string or integer format.
l A metric name;
l A pair name (to identify a specific pair in a set of tests, for example when using COS testing or
traffic mix);
l A Status (PASS/FAIL).
913-2383-01 Rev A – 16 –
Chapter 1 Advanced Administration Guide
Standard SQL queries shall be made to get these into any reporting, data mining or data post
processing engines.
– 17 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
Backup procedure
These backup and restore scripts are configurable. The scripts are located on the Hawkeye Server in
the following directories.
/home/ixia/Hawkeye/tools/fast_backup_db
/home/ixia/Hawkeye/tools/fast_restore_db
The mydumper and myloader commands within the scripts can be customized by the user to specify
the location of the backup directory and the number of threads used. Default is 10 threads. For larger
Hawkeye Server’s with more CPU cores, more threads may be configured.
Note: Hawkeye by default does not define a host (default localhost) so no need to define ‘host’
parameter for mydumper command.
The fast backup scripts will stop Hawkeye Server while the backup and restore is being performed,
then restart all services once backup complete. This means while database is being backed up all
scheduled tests will be paused. It is recommended to schedule a Linux cron job to perform a backup at
the weekend or early morning hours. The default location for the output of the backed-up MySQL
database is /home/ixia/DB_backup. The backup location can be customized.
The fast backup is performed as follows. It is the responsibility of the user to zip and move this backup
directory to another location:
# cd /home/ixia
# ./home/ixia/Hawkeye/tools/fast_backup_db
# tar cfvz DB_backup.tar.gz DB_backup/
The backup file can now be moved to another system.
Restore procedure
After the new Hawkeye server VM has been created and licensed. Transfer the previously gzipped
backed up database to the new Hawkeye Server VM and prepare the gzipped file for restore with the
following commands.
# cd /home/ixia
# tar xvfz DB_backup.tar.gz
Then restore the MySQL database with the fast restore script as follows
# ./home/ixia/Hawkeye/tools/fast_restore_db
This will restore the MySQL database and restart all services on the Hawkeye Server.
913-2383-01 Rev A – 18 –
Chapter 1 Advanced Administration Guide
be available to run tests. All scheduled tests will remain in a queued state until endpoint leaves the
busy state.
To turn on this feature, go to Preferences > Advanced Options and select Probe Busy parameter.
A user defined script is placed on all endpoints that the probe busy feature is intended for. The purpose
of the endpoint probe busy script is to determine when the probe is busy and not available for tests.
You should define the script on the probe that determines when a probe is busy. The Hawkeye server
will send a command down to each endpoint every so many seconds to execute the script and retrieve
the busy status. The frequency of requesting probe busy status is determined by the Hawkeye System
Preference parameter Real services: default interval time for automatic endpoints in
Advanced Options tab.
When the feature probe busy is turned on, it is not necessary for all endpoints to contain the busy
script. For all endpoints not containing the busy script, a result of not busy will be returned.
Below a sample script indicates a probe is busy for a defined period each day.
Use case
This is an example probe busy script which indicates a probe is busy during the peak network busy
time of early evening.
Note: Use ssh to connect to the endpoint and create the probe busy script as below. The script
must be in the specified directory and use the specified filename.
1. Create a file on the endpoint named testIfProbeBusy with the following script.
# cd /home/ixia/
# nano testIfProbeBusy.py
#!/usr/bin/python
import datetime
import sys
# use format HHMM
simulate_unavailable_start_time = "1326
simulate_unavailable_end_time = "2100
debug = 0
test_start_time = datetime.datetime.now()
test_start_time_str = test_start_time.strftime('%d-%b-%y %H:%M:%S')
test_start_hhmm = test_start_time.strftime("%H%M")
if test_start_hhmm >= simulate_uanavailable_start_time and test_start_hhmm <=
simulate_uanavailable_end_time:
endpoint_busy = 1
else:
endpoint_busy = 0
if debug > 0:
sys.stdout.write('\nDEBUG: %s endpoint_busy=%s unavailable from %s to
%s \n' %
(test_start_time_str, endpoint_busy, simulate_uanavailable_
start_time,
simulate_uanavailable_end_time))
– 19 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
sys.exit(endpoint_busy)
2. Next ensure script is available for executable
# chmod +x /home/ixia/testIfProbeBusy
3. On the Hawkeye server UI, under Administration > Preference > Advanced Options, turn
on the Probe Busy.
The Hawkeye server will now send frequent commands (default every 5 seconds) down to each
endpoint to run the testIfProbeBusy script. The script will return “1” if busy or “0” if available for tests.
The Probe status for the endpoint will reflect busy with a blue color when busy. If an endpoint does not
contain the script it will always return a not busy status.
When a test runs and the probe is blue indicating busy, the test will enter a queued state. If the test is
scheduled to run every minute only one instance of that test will be queued. The scheduled test will
continue as normal when probe becomes available. If three different tests are scheduled to run each
minute against the probe only one instance of each of the three tests will be queued until probe
becomes available.
Note: Python is an application needed to run the probe busy scripts. Python is included for XR
endpoints. You may, however, need to load it on software endpoints, if not already present.
This section is for historical purposes and explains how a Customer at their own risk can use and build
a captive portal script to go through the steps to login via a web interface into the Wi-Fi network.
This section explains how to use and build a captive portal script to go through the steps to login via a
web interface into the Wi-Fi network.
Follow the guidelines given below to build a captive portal script, so that an XRPi can connect to an
organizations Captive Portal using the Wi-Fi Connect Test. To install and use the Captive Portal scripts
on the Hawkeye server, complete the following:
Prerequisites
Before you start using captive portal on Hawkeye, you need the following:
913-2383-01 Rev A – 20 –
Chapter 1 Advanced Administration Guide
Ixia highly recommends the time on the XRPi is synced to the time on the XRPi. If this is not aligned,
the web browser will appear very slow. Using a CLI on the XRPi issue the ‘date’ command to compare
time to that on the Hawkeye server. The following set of instructions ensure the time is correct on the
XRPi:
You can also set the correct timezone by choosing a city under the /usr/share/zoneinfo directory:
– 21 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
1. Select the top right Selenium IDE button, on your Firefox browser to launch a pop-up for
selenium.
2. Select the red button on the top right corner of the Selenium pop-up to start the recording.
3. Go to the browser and open any website. The system redirects you to the captive portal.
4. Log in with the credentials for your organization.
5. In the Selenium window, select the red button to stop the recording. Login details will be
displayed in the table pane.
6. In the Selenium window from the File pull down menu select Export Test Case as > Python
2/ unittest/ WebDriver and choose a directory and file on the XRPi. Ixia recommends
/tmp/scriptname.py.
7. On the XRPi go to the directory where you saved the file and confirm the script has been saved
with the command cat /tmp/scriptname.py.
Note: Ensure that you save the script with .py extension.
8. Close Selenium and ensure you do not select save again as it will change the script being saved
in the file.
9. Close Firefox.
python scriptname.py.
This will invoke Firefox and go through the same steps as recorded previously of logging into the web
site. The Captive portal for each organization is slightly different so you may have to rework the script
to successfully log in. You will need to edit the script, make some changes then run the script until it
successfully enters the username/password to authenticate the user. Below is a list of common
changes that may need to be made:
l Add a wait delay between passing the URL to the webdriver. This would mean adding the line
“time.sleep(1)”.
l Verify the generated url in script is correct. The URL may need to be modified or replaced with
direct reference to URL for Organizations captive portal.
l The Organizations captive portal site may invoke a pop-up for login credentials. If a pop-up for
login credentials appears, as a result of re-direction, it is possible to prevent the pop-up by
making the following script change (see Example 3 below):
n On line for driver.get(self.base_url + "/gp2/webportal…”), replace this with driver.get
(self.base_url)” .
l Use the Inspect feature of firefox to identify the name of the identifier for login, password and
the authenticate button. These may need to be updated as per Example 3 given below.
l User may want to add wrapper in Python to add more logic. This may require advanced
knowledge of python scripting. Contact Ixia Customer support if assistance required.
Example 1:
913-2383-01 Rev A – 22 –
Chapter 1 Advanced Administration Guide
driver.get("http://www.google.com")
elem = driver.find_element_by_name("login")
elem.clear()
elem.send_keys("user1")
elem = driver.find_element_by_name("password")
elem.clear()
elem.send_keys("ppp")
elem=driver.find_element_by_name('Submit')
elem.click()
#html_source=driver.page_source
html_source=driver.title
print "%s" % html_source
text_file = open('/tmp/seleniumoutput.txt', 'w')
text_file.write("%s" % html_source[:300])
text_file.close()
driver.close()
Example 2:
class Ixiaguest(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
# self.base_url = "https://guest.ixiacom.com:8443"
self.base_url = "http://www.google.com"
self.verificationErrors = []
self.accept_next_alert = True
def test_ixiaguest(self):
driver = self.driver
# driver.get(self.base_url +
"/gp2/webportal/ext/webPortalAuthLogin?portal_ip=10.212.240.1
– 23 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
32&client_
id=74%3Ada%3A38%3A90%3A89%3Af5&wbaredirect=http%3A%2F%2Fwww.google.com%
2F&ssid=IXIA+Guest&bssid=28%3A8a
%3A1c%3A21%3A23%3A02")
driver.get(self.base_url)
driver.find_element_by_id("webPortalAuthUsername").clear()
driver.find_element_by_id("webPortalAuthUsername").send_keys
("nribault")
driver.find_element_by_id("webPortalAuthPassword").clear()
driver.find_element_by_id("webPortalAuthPassword").send_keys("IJ2W5Z")
driver.find_element_by_css_selector("img[alt=\"Authenticate\"]").click
()
def is_element_present(self, how, what):
try: self.driver.find_element(by=how, value=what)
except NoSuchElementException as e: return False
return True
def is_alert_present(self):
try: self.driver.switch_to_alert()
except NoAlertPresentException as e: return False
return True
def close_alert_and_get_its_text(self):
try:
alert = self.driver.switch_to_alert()
alert_text = alert.text
if self.accept_next_alert:
alert.accept()
else:
alert.dismiss()
return alert_text
finally: self.accept_next_alert = True
def tearDown(self):
self.driver.quit()
self.assertEqual([], self.verificationErrors)
hostname = "google.com" #example
response = os.system("ping -c 1 " + hostname)
913-2383-01 Rev A – 24 –
Chapter 1 Advanced Administration Guide
unittest.main()
else:
print hostname, 'is down!'
if __name__ == "__main__":
unittest.main()
Example 3:
class IxiaGuestLoginTest1(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
self.base_url = "https://guest.ixiacom.com:8443/"
self.verificationErrors = []
self.accept_next_alert = True
def test_ixia_guest_login_test1(self):
driver = self.driver
driver.get(self.base_url)
self.driver.implicitly_wait(15)
driver.find_element_by_name("j_username").clear()
driver.find_element_by_name("j_username").send_keys("mtest2")
driver.find_element_by_name("j_password").clear()
driver.find_element_by_name("j_password").send_keys("H69KGR")
driver.find_element_by_name("submit").click()”
Note: Continue when you have a working script.
The Real service test, Wi-Fi Connect, has a configuration field for Captive Portal Script, the user
can enter the path and name /home/ixia/Hawkeye/WebServer/uploads/ixiaportal so the
captive portal script can be run to complete connection to the organizations network.
– 25 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
Note: Important to note the Wi-Fi connect test may give a status of Fast re-authentication
in the test results. If the organizations network supports fast re-authentication, the AP will know
that within a certain time period the XRPi is still logged on, so will automatically allow the XRPi
to connect without authenticating the user with the Radius server (authentication server).
To send reports and test results in e-mails, you must make available a mail client and configure it for
the Hawkeye server. You do not need to configure mail client for Hawkeye server for real service tests.
913-2383-01 Rev A – 26 –
Chapter 1 Advanced Administration Guide
SMTP Security: SSL (match whatever your email service uses SSL/TLS?)
Port: 465
Note: Configure port 465 for SSL, 587 port for TLS or 25 default SMTP port for no security, no
other value is supported. Port 25 was the most commonly used port, but for security many email
providers now block it as it is used by spammers.
Username: freds_fish_n_chips@gmail.com
Note: This e-mail address is for reference.
Password: ********
You send email from your mail client (now running on Hawkeye server) by using the configured email
address to the outgoing SMTP server using the configured port. The SMTP server first validates security
and authentication, that is, connection security (SSL/TLS/25), port, username, password. The SMTP
server works like the post office and performs a DNS lookup to find where to send the email
(destination domain). The SMTP server may store the actual email on a local server (owned by domain
sender) close to the Hawkeye server instead of the main SMTP server (that is, gmail in the above
sample configuration). The SMTP server then sends the email to the destination domain Message
– 27 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
Transfer Agent (MTA) server for long term storage. If the email destination domain is the same as the
source (that is, gmail in the above sample configuration), the SMTP server will act as the MTA server.
If different sender/dest email domain and no issues, it can be routed or forwarded. The email is sent by
SMTP protocol to the (destination domain) MTA server. The received email is stored on the destination
domain MTA (POP3/IMAP) server. The MTA (POP3/IMAP) server uses POP3 or IMAP protocol to transfer
email to recipient’s inbox (email client on the computer) when requested.
The real service test e-mail times different stages, but most important is when the destination
POP3/IMAP server receives the sent email. Probe will poll every second to check received email.
913-2383-01 Rev A – 28 –
Chapter 1 Advanced Administration Guide
Port or Port
Range
Modification
Description Port(s) Policy Protocol Directions Description
Hawkeye 10115 Modifiable TCP From Server Mandatory for node to node
Server to with to probes and mesh testing.
probes test advanced (hardware
management configuration and
node to node (contact Ixia software).
and mesh Support).
– 29 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
Port or Port
Range
Modification
Description Port(s) Policy Protocol Directions Description
Probes to 80,443* Modifiable TCP From Probes Required for probe auto
Hawkeye with to server. registration process - ONLY
Server - auto advanced for automatic endpoints.
registration configuration
(contact Ixia
Support).
Probe to 10115 Modifiable TCP AND Probe to Mandatory for node to node
probe with UDP Probe, and mesh testing.
management advanced bidirectional. UDP port is only required
configuration for tests with
(contact Ixia synchronization (network
Support). KPI, any real time traffic).
913-2383-01 Rev A – 30 –
Chapter 1 Advanced Administration Guide
For management:
l port 10115 and 10116 for TCP and UDP (UDP is needed for time sync for Voice or Video pairs, or
any RTP pairs) and port 10117 TCP to the Hawkeye server.
l port 22 for Real Service testing. Port 22 is also used for XR2000 hardware probes to manage the
probes remotely.
For traffic:
l port 10120 - 10140 (example). A larger range may be needed if more concurrent pairs of traffic
are set against the NATed probe as destination.
TCP/UDP port needs to be configured for port forwarding depending on the nature of traffic.
This must be set in the configuration of the system as well to consider the traffic sent. See the
following section for more information on handling NAT.
– 31 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
1. In Administration > Preferences > Test Engine Tab, set the autoNAT to 1.
2. Force traffic to be in range 10200 - max Range. First enable the user configured range by setting
the Administration > Preferences > Traffic Port Management > Destination Port
conf option to 1. Then, define the traffic range by setting Administration > Preferences >
Traffic Port Management > First Destination Port to 10116.
913-2383-01 Rev A – 32 –
Chapter 1 Advanced Administration Guide
SNMP Traps
Hawkeye server supports the generation of SNMP traps for tests originated from endpoints. Tests
configured to generate SNMP traps on certain error/failure conditions sends the SNMP traps in MIB
format to a designated SNMP server.
SNMP traps are supported for all test types. When configuring a test, select Show Alarm options to
see the SNMP configuration.
Each test can be enabled to trigger SNMP traps, based on a failure or error result. There is the option to
only report an SNMP trap on a change. This means if a test on an endpoint is scheduled to run every 5
minutes and it is failing every time, it is only reported as an SNMP trap the very first time it fails, then
it generates another SNMP trap once the endpoint test result changes to be an error or passes.
Verify Hawkeye Server MIBs file can be interpreted by the User’s SNMP
server
Hawkeye SNMP traps encoding is identified by three files. Retrieve the following three MIBs files from
the Hawkeye server so that they can be verified:
l /usr/share/snmp/mibs /NET-SNMP-MIB.txt
l /home/ixia/Hawkeye/includes/MIBS/Hawkeye-MIB.txt
l /home/ixia/Hawkeye/includes/MIBS/IXIA-SMI.txt
There are a number of independent free web sites that verify that custom MIB files confirm to correct
standards.
http://www.simpleweb.org/ietf/mibs/validate/upload.php
http://www.muonics.com/Tools/smicheck.php
– 33 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
From these web sites pull in the retrieved two Hawkeye files and validate to MIBs standards. There are
three supported versions of MIB files (v1, v2 and v3).
Also configure the IP address of the your SNMP trap server, to which the SNMP traps are to be sent to.
Multiple SNMP trap receivers can be supported by using a third party application that will forward
received UDP packets from the Hawkeye Server IP address/port to a defined list of destination SNMP
trap receivers (IP/port). There are many free applications that are available for this purpose, such as
the free linux samplicator application. The SNMP server IP defined on the Hawkeyeserver to achieve
this will be the IP of the third party application doing the forwarding.
1. Load in the two Hawkeye MIB modules identified and retrieved from the Hawkeye server in the
above steps (NET-SNMP-MIB.txt, IXIA-SMI.TXT and Hawkeye-MIB.txt). This enables your SNMP
trap server to decode the Hawkeye SNMP traps.
2. Configure the host address of the Hawkeye server that will be the source of the SNMP traps.
3. Set the host port used to generate and be monitored for the SNMP traps to 162.
4. Set the community to ixia.
5. Following a Hawkeye Server upgrade, remove, flush, or delete any Hawkeye MIB files from the
SNMP server (receiver) and pull in the latest version as new test types. Else, changed test
metrics will cause decode issues.
913-2383-01 Rev A – 34 –
Chapter 1 Advanced Administration Guide
Confirm able to see logs such as the one below where the first IP address is the IP address of the SNMP
server to receive the SNMP trap.
– 35 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
For SNMP traps generated by Hawkeye Server to reach a third party SNMP trap receiver the UDP ports
161 and 162 need to be open for UDP traffic on the Hawkeye server and switches between the two
parties. One way to open the ports on the Hawkeye Server is to putty to the Hawkeye Server then
using the following CLI commands to open the firewall for SNMP traffic:
ixia MODULE-IDENTITY
LAST-UPDATED "201701040000Z"
ORGANIZATION "www.ixiacom.com"
CONTACT-INFO
" Ixia Communications
Postal: 26601 W. Agoura Rd.
Calabasas, CA 91302
USA
Email: support@ixiacom.com"
DESCRIPTION
"The Structure of Management Information for the
Ixia Communication enterprise."
::= { enterprises 3054 } -- assigned by IANA
ixiaProducts OBJECT-IDENTITY
STATUS current
DESCRIPTION
"ixiaProducts is the root OBJECT IDENTIFIER from
which sysObjectID values are assigned."
::= { ixia 1 }
END
913-2383-01 Rev A – 36 –
Chapter 1 Advanced Administration Guide
IMPORTS
MODULE-IDENTITY,
OBJECT-TYPE,
Integer32,
NOTIFICATION-TYPE
FROM SNMPv2-SMI
SnmpAdminString
FROM SNMP-FRAMEWORK-MIB
ixiaProducts
FROM IXIA-SMI;
hawkeye MODULE-IDENTITY
LAST-UPDATED "201701040000Z"
ORGANIZATION "www.ixiacom.com"
CONTACT-INFO
" Ixia Communications
Postal: 26601 W. Agoura Rd.
Calabasas, CA 91302
USA
Email: support@ixiacom.com"
DESCRIPTION
"Hawkeye MIB objects for trap notifications"
REVISION "201604260000Z"
DESCRIPTION
"Hawkeye MIB"
REVISION "201402060000Z"
DESCRIPTION
"First draft"
::= { ixiaProducts 1 }
probeID OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS accessible-for-notify
STATUS current
– 37 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
DESCRIPTION
""
::= { hawkeye-notificationobjects 1 }
probeMgtIP OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationobjects 2 }
probeName OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationobjects 3 }
probeStatus OBJECT-TYPE
SYNTAX INTEGER {
down(0),
up(1)
}
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationobjects 4 }
testAgentName OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationobjects 5 }
runID OBJECT-TYPE
SYNTAX SnmpAdminString
913-2383-01 Rev A – 38 –
Chapter 1 Advanced Administration Guide
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationobjects 6 }
timeStamp OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationobjects 7 }
testStatus OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationobjects 8 }
from OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationobjects 9 }
to OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationobjects 10 }
errorReason OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationobjects 11 }
– 39 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
failReason OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationobjects 12 }
pairname OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationobjects 13 }
metricName OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationobjects 14 }
metricvalue OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationobjects 15 }
defaultThresholdType OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationobjects 16 }
threshold OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationobjects 17 }
metricstatus OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
""
913-2383-01 Rev A – 40 –
Chapter 1 Advanced Administration Guide
::= { hawkeye-notificationobjects 18 }
timeStampProviso OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationobjects 19 }
provisoAlarmMessage OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationobjects 20 }
testType OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationobjects 21 }
summary OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationobjects 22 }
trapID OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationobjects 23 }
hawkeye-notification NOTIFICATION-TYPE
OBJECTS {
trapID,
summary,
runID,
timeStamp,
testType,
testStatus,
from,
to,
pairname,
metricName,
– 41 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
metricvalue,
defaultThresholdType,
threshold,
metricstatus,
failReason
}
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationprefix 1 }
hawkeye-errornotification NOTIFICATION-TYPE
OBJECTS {
trapID,
summary,
runID,
timeStamp,
testType,
testStatus,
from,
to,
errorReason
}
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationprefix 2 }
hawkeye-probenotification NOTIFICATION-TYPE
OBJECTS {
probeID,
probeMgtIP,
probeName,
probeStatus,
testAgentName
}
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationprefix 3 }
hawkeye-provisoalarm NOTIFICATION-TYPE
OBJECTS {
timeStampProviso,
provisoAlarmMessage
}
STATUS current
DESCRIPTION
""
::= { hawkeye-notificationprefix 4 }
END
913-2383-01 Rev A – 42 –
Chapter 1 Advanced Administration Guide
/usr/share/snmp/mibs
– 43 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
The global API framework is using SOAP web services and allows third party to connect to the Hawkeye
Web services through industry standard APIs.
SOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging
structured information in the implementation of Web Services in computer networks. It relies on
Extensible Markup Language (XML) for its message format.
The following diagram present high level scheme for the SOAP xml implementation.
SOAP XML Server on the Hawkeye is implemented over PHP php_soap generic extension. It is
therefore compatible with any SOAP client and agnostic about the connecting technology.
It is installed and uses the same port as the (Apache) Hawkeye server GUI. The default port is 80, but
if 443 is specified for security for the Hawkeye server, it will listen for incoming requests on port 443.
It publishes WSDL file format for creating SOAP client connector and publishing all available APIs.
913-2383-01 Rev A – 44 –
Chapter 1 Advanced Administration Guide
Modification needs to be done in the Hawkeye.wsdl file to get access to the APIs. On Hawkeye server
login as root and edit the following file:
/home/ixia/Hawkeye/WebServer/WebServices/Hawkeye.wsdl
with your server access (IP or url) and https instead of http if relevant
Example:
<soap:address
location="https://myHawkeyeServerURL/WebServices/HawkeyeWebService.php"/> <!-- modify path
to server path -->
– 45 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
addGroupAndTestTypesRequest
This is used to add a new group/ update an existing group into Hawkeye.
Input:
allowedtestypesStringArray: string - comma-separated string with the allowed test types ids
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:Hawkeye">
<x:Header/>
<x:Body>
<urn:addGroupAndTestTypes>
<urn:Name>?</urn:Login>
<urn:Comment>?</urn:FirstName>
<urn:allowedtestypesStringArray>?</urn:LastName>
<urn:allowedprobesStringArray>?</urn:email>
</urn:addGroupAndTestTypes>
</x:Body>
addGroupAndTestTypesResponse
Output:
913-2383-01 Rev A – 46 –
Chapter 1 Advanced Administration Guide
This is used to add a new Probe into Hawkeye. This is only relevant for Manual probes and not required
for any Automatic probes (which we recommend).
Parameters
available id are
"2";"Software"
"6";"xr2000"
"7";"xr2000_vm"
"8";"xr_pi"
probeAvailability- integer -
2 for to only
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:Hawkeye">
<x:Header/>
<x:Body>
<urn:addProbe>
<urn:probename>?</urn:probename>
<urn:probeip>?</urn:probeip>
<urn:probemgmtip>?</urn:probemgmtip>
<urn:probegroup>?</urn:probegroup>
<urn:probelocation>?</urn:probelocation>
<urn:probetypeid>?</urn:probetypeid>
<urn:probeAvailability>?</urn:probeAvailability>
<urn:AvailableForMesh>?</urn:AvailableForMesh>
</urn:addProbe>
</x:Body>
output
0: failed to add
– 47 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
1: added
addUser
This is used to add a new user/ update an existing user into Hawkeye.
Input:
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:Hawkeye">
<x:Header/>
<x:Body>
<urn:addUser>
<urn:Login>?</urn:Login>
<urn:FirstName>?</urn:FirstName>
<urn:LastName>?</urn:LastName>
<urn:email>?</urn:email>
<urn:GroupID>?</urn:GroupID>
<urn:memberlevel>?</urn:memberlevel>
<urn:IsActive>?</urn:IsActive>
</urn:addUser>
</x:Body>
addUserResponse
Output:
913-2383-01 Rev A – 48 –
Chapter 1 Advanced Administration Guide
</ns1:addUserResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
cancelTestExecution
Input:
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:Hawkeye">
<x:Header/>
<x:Body>
<urn:cancelTestExecution>
<urn:ID>?</urn:ID>
<urn:Pause>?</urn:Pause>
</urn:cancelTestExecution>
</x:Body>
cancelTestExecutionResponse
Output:
This is used to find out about the test execution based on a test execution ID that was created with API
or manually on the UI.
This returns the last TDR ID found into the database for this execution ID
Parameters:
– 49 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:Hawkeye">
<x:Header/>
<x:Body>
<urn:checkTestExecutionResultStatus>
<urn:execID>?</urn:execID>
</urn:checkTestExecutionResultStatus>
</x:Body>
</x:Envelope>
output:
This api allows to search results for a specific test execution ID and collects all the information on kpis
for a number of test results in history - limited to 1000 test results. Output is in json
Parameters:
NumberofResults: number of results to look for - results will provided from most recent to least recent.
The limit for the number of results in time interval is 1000 - an error will be returned for higher values.
For latest results in the interval pick 1 for this value.
fromDate: start date of interval - format is YYYY-MM-DD HH:mm:ss (example 2016-02-01 20:07:15) -
use "Start" for looking into any results in the past
toDate: end date of interval - format is YYYY-MM-DD HH:mm:ss (example 2016-02-01 20:07:15) - .
Use "Now" for current date.
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:Hawkeye">
913-2383-01 Rev A – 50 –
Chapter 1 Advanced Administration Guide
<x:Header/>
<x:Body>
<urn:collectTestExecutionResultRange>
<urn:testExecID>10</urn:testExecID>
<urn:NumberofResults>10</urn:NumberofResults>
<urn:fromDate>2010-01-01 00:00:00</urn:fromDate>
<urn:toDate>Now</urn:toDate>
</urn:collectTestExecutionResultRange>
</x:Body>
</x:Envelope>
output: a result in json format with fields populated describing TDR, result (one line per metric)
example:
– 51 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
GROUP":"","EXECUTION_USER_ID":"1","EXECUTION_USER_LOGIN":"sysadmin","TEST_
DURATION":"0","TESTEXEC_ID":"23552","TESTEXEC_STRING":""},
{"ID":"14547914077197","Value":"6","METRIC":"Number Of Files","PAIR_NAME":"HTTP
Server Test","NODEFROM_NAME":"xrpi2Paris","NODETO_
NAME":"www.google.com","TIMESTAMP":"2016-02-06
21:43:27","STATUS":"Passed","REASON_CAUSE":"","TDR_comment":"DownloadFullPage: 1
ip_version: ipv4 UseProxy: 0 ProxyAddress: ","MODULE":"RealService","TESTTYPE_
ID":"5140","TESTTYPE":"HTTP Server Test","MESHID":"0","MESHNAME":"","NODEFROM_
PROBEID":"51150","NODETO_PROBEID":"0","NODEFROM_IP":"10.204.20.27","NODETO_
IP":"","NODEFROM_MGMTIP":"10.204.20.27","NODETO_MGMTIP":"","NODEFROM_
LOCATION":"TEST","NODETO_LOCATION":"","NODEFROM_PROBE_GROUP":"","NODETO_PROBE_
GROUP":"","EXECUTION_USER_ID":"1","EXECUTION_USER_LOGIN":"sysadmin","TEST_
DURATION":"0","TESTEXEC_ID":"23552","TESTEXEC_STRING":""},
{"ID":"14547914077197","Value":"100.14","METRIC":"Time to First Byte Avg
(ms)","PAIR_NAME":"HTTP Server Test","NODEFROM_NAME":"xrpi2Paris","NODETO_
NAME":"www.google.com","TIMESTAMP":"2016-02-06
21:43:27","STATUS":"Passed","REASON_CAUSE":"","TDR_comment":"DownloadFullPage: 1
ip_version: ipv4 UseProxy: 0 ProxyAddress: ","MODULE":"RealService","TESTTYPE_
ID":"5140","TESTTYPE":"HTTP Server Test","MESHID":"0","MESHNAME":"","NODEFROM_
PROBEID":"51150","NODETO_PROBEID":"0","NODEFROM_IP":"10.204.20.27","NODETO_
IP":"","NODEFROM_MGMTIP":"10.204.20.27","NODETO_MGMTIP":"","NODEFROM_
LOCATION":"TEST","NODETO_LOCATION":"","NODEFROM_PROBE_GROUP":"","NODETO_PROBE_
GROUP":"","EXECUTION_USER_ID":"1","EXECUTION_USER_LOGIN":"sysadmin","TEST_
DURATION":"0","TESTEXEC_ID":"23552","TESTEXEC_STRING":""},
{"ID":"14547914077197","Value":"206","METRIC":"Time to First Byte Max
(ms)","PAIR_NAME":"HTTP Server Test","NODEFROM_NAME":"xrpi2Paris","NODETO_
NAME":"www.google.com","TIMESTAMP":"2016-02-06
21:43:27","STATUS":"Passed","REASON_CAUSE":"","TDR_comment":"DownloadFullPage: 1
ip_version: ipv4 UseProxy: 0 ProxyAddress: ","MODULE":"RealService","TESTTYPE_
ID":"5140","TESTTYPE":"HTTP Server Test","MESHID":"0","MESHNAME":"","NODEFROM_
PROBEID":"51150","NODETO_PROBEID":"0","NODEFROM_IP":"10.204.20.27","NODETO_
IP":"","NODEFROM_MGMTIP":"10.204.20.27","NODETO_MGMTIP":"","NODEFROM_
LOCATION":"TEST","NODETO_LOCATION":"","NODEFROM_PROBE_GROUP":"","NODETO_PROBE_
GROUP":"","EXECUTION_USER_ID":"1","EXECUTION_USER_LOGIN":"sysadmin","TEST_
DURATION":"0","TESTEXEC_ID":"23552","TESTEXEC_STRING":""},
{"ID":"14547736316850","Value":"755.99","METRIC":"Download Rate (kbps)","PAIR_
NAME":"HTTP Server Test","NODEFROM_NAME":"xrpi2Paris","NODETO_
NAME":"www.google.com","TIMESTAMP":"2016-02-06
16:47:11","STATUS":"Passed","REASON_CAUSE":"","TDR_comment":"DownloadFullPage: 1
ip_version: ipv4 UseProxy: 0 ProxyAddress: ","MODULE":"RealService","TESTTYPE_
ID":"5140","TESTTYPE":"HTTP Server Test","MESHID":"0","MESHNAME":"","NODEFROM_
PROBEID":"51150","NODETO_PROBEID":"0","NODEFROM_IP":"10.204.20.27","NODETO_
IP":"","NODEFROM_MGMTIP":"10.204.20.27","NODETO_MGMTIP":"","NODEFROM_
LOCATION":"TEST","NODETO_LOCATION":"","NODEFROM_PROBE_GROUP":"","NODETO_PROBE_
GROUP":"","EXECUTION_USER_ID":"1","EXECUTION_USER_LOGIN":"sysadmin","TEST_
DURATION":"0","TESTEXEC_ID":"23552","TESTEXEC_STRING":""},
913-2383-01 Rev A – 52 –
Chapter 1 Advanced Administration Guide
– 53 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
collectAverageKPIresult
This function will allow to return an array of results averaged over time for specific filters set within the
function
fromDate: date to gather data from - format is YYYY-MM-DD HH:mm:ss (example 2016-02-01
20:07:15)
fromDate: date to gather data to- format is YYYY-MM-DD HH:mm:ss (example 2016-02-01 20:07:15)
("MODULE","TESTTYPE_ID","TESTTYPE","MESHID","MESHNAME","NODEFROM_PROBEID","NODETO_
PROBEID","STATUS","NODEFROM_IP","NODETO_IP","NODEFROM_MGMTIP","NODETO_
MGMTIP","NODEFROM_NAME","NODETO_NAME","NODEFROM_LOCATION","NODETO_
LOCATION","NODEFROM_PROBE_GROUP","NODETO_PROBE_GROUP","EXECUTION_USER_
ID","EXECUTION_USER_LOGIN","TDR_comment","TEST_DURATION","TESTEXEC_ID","TESTEXEC_
STRING")
("MODULE","TESTTYPE_ID","TESTTYPE","MESHID","MESHNAME","NODEFROM_PROBEID","NODETO_
PROBEID","STATUS","NODEFROM_IP","NODETO_IP","NODEFROM_MGMTIP","NODETO_
MGMTIP","NODEFROM_NAME","NODETO_NAME","NODEFROM_LOCATION","NODETO_
LOCATION","NODEFROM_PROBE_GROUP","NODETO_PROBE_GROUP","EXECUTION_USER_
ID","EXECUTION_USER_LOGIN","TDR_comment","TEST_DURATION","TESTEXEC_ID","TESTEXEC_
STRING")
TestType: filter for test type - leave to blank for not filtering-value of filter - % is wild card
available values
"Adaptive Video"
913-2383-01 Rev A – 54 –
Chapter 1 Advanced Administration Guide
"BitTorrent"
"DNS Test"
"DropBox Download"
"DropBox Upload"
"Email"
"Exchange_traffic"
"Flash RTMP"
"FTP Download"
"HTTP Test"
"HTTPS Test"
"ICMP performance"
"ICMP Test"
"IGMP Test"
"Skype4B Traffic"
"Netflix"
"Network KPI"
– 55 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
"TCP ping"
"Traceroute"
"UDP ping"
"Video Stream"
"Voice bidirectional"
"Voice from->to"
"Wi-Fi Connect"
"Wi-Fi Inspect"
"Youtube"
"Youtube Test"
913-2383-01 Rev A – 56 –
Chapter 1 Advanced Administration Guide
PairName: available for specific pair name - leave to blank for not filtering-value of filter - % is wild
card
available values
"KPI from->to"
"KPI to->from"
"TCP from->to"
"TCP to->from"
"UDP from->to"
"UDP to->from"
"Voice from->to"
"Voice to->from"
"SG0 COS"
"SG1 COS"
"SG2 COS"
"SG3 COS"
"SG4 COS"
"SG5 COS"
"SG6 COS"
"Stream"
"Audio Stream"
"Video Stream"
"Video from->to"
– 57 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
"DNS"
"COS 1"
"COS 2"
"COS 3"
"Voice"
"UDP transaction"
"TCP transaction"
"Exchange rcv"
"Exchange send"
"HTTP from->to"
913-2383-01 Rev A – 58 –
Chapter 1 Advanced Administration Guide
"POP3 Response"
"SMTP Response"
Metric: selected metric to filter on - can be left blank for not filtering (not recommended)-value of filter
- % is wild card
– 59 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
"Delay (ms)"
"Jitter (ms)"
"Loss"
"Throughput (kbps)"
"MOS"
"MOS Max"
"MOS Min"
913-2383-01 Rev A – 60 –
Chapter 1 Advanced Administration Guide
"Number Of Files"
"DNS Availability"
"Availability"
"Jitter (ms)"
"Packet loss"
– 61 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
"Authentication Availability"
"Frame Loss"
913-2383-01 Rev A – 62 –
Chapter 1 Advanced Administration Guide
"PADI packets"
"PADO packets"
"Loss rate"
"Number Of flows"
"ts duplicates"
– 63 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
"Duplicated packets"
"throughput (kbps)"
913-2383-01 Rev A – 64 –
Chapter 1 Advanced Administration Guide
"Video Codec"
"ICMP loss"
"Association Attempts"
"Connectivity Status"
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:Hawkeye">
<x:Header/>
<x:Body>
<urn:collectAverageKPIresult>
<urn:fromDate>2014-02-01 20:07:15</urn:fromDate>
<urn:toDate>2016-02-01 20:07:15</urn:toDate>
<urn:fromFilterType></urn:fromFilterType>
<urn:fromFilter></urn:fromFilter>
<urn:toFilterType></urn:toFilterType>
<urn:toFilter></urn:toFilter>
<urn:TestType></urn:TestType>
– 65 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
<urn:PairName></urn:PairName>
<urn:Metric></urn:Metric>
</urn:collectAverageKPIresult>
</x:Body>
</x:Envelope>
output is an array with metrics
example
ErrorCode,Passed,Failed,myavgvalue,myvaluemin,myvaluemax,StandardDeviation,totalcount,thresho
ld_min,threshold_max,threshold_type
0,1061481,287788,3.10,0.00,1280.00,5.97,1349269,5,8,0.0000
Use this function to collect the KPI information from a specific test result based on ID
Parameter
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:Hawkeye">
<x:Header/>
<x:Body>
<urn:collectKPI_result>
<urn:tdrID>1666360</urn:tdrID>
</urn:collectKPI_result>
</x:Body>
</x:Envelope>
Result:
0 if no idea is found
913-2383-01 Rev A – 66 –
Chapter 1 Advanced Administration Guide
Example
"1666360" "Datagrams Out of Order" "15152" "KPI from->to" "Passed" "0" "1" "0"
"1666360" "Delay (ms)" "15152" "KPI from->to" "Passed" "10.43" "100" "0"
"1666360" "Jitter (ms)" "15152" "KPI from->to" "Failed" "9.57" "5" "0"
"1666360" "Jitter Max (ms)" "15152" "KPI from->to" "Failed" "15" "5" "0"
"1666360" "Max loss burst" "15152" "KPI from->to" "Passed" "0" "2" "0"
Parameter
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:Hawkeye">
<x:Header/>
– 67 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
<x:Body>
<urn:collectTDR_result>
<urn:tdrID>1666360</urn:tdrID>
</urn:collectTDR_result>
</x:Body>
</x:Envelope>
Response contains array with TDR content
example:
"1666360" "AWSprivate2" "AWSprivate4" "2016-11-16 16:58:56" "Failed" " Threshold failed on KPI
from->to Jitter (ms)
" "N2N" "5129" "Network KPI" "0" "8" "9" "ip-10-1-1-139" "ip-10-1-1-143" "ip-10-1-1-139" "ip-10-1-1-
143" "1" "sysadmin" "15" "74" "webservice"
Use this function to setup a new test for Node to Node (prefer to configure TestExecution)
913-2383-01 Rev A – 68 –
Chapter 1 Advanced Administration Guide
If using list of probes, you can create one to one or many to many combinations of tests
Parameters:
Includes
"Network KPI"
"Adapative Video"
"Flash RTMP"
"Netflix"
"Youtube"
"Skype4B Traffic"
"Video Stream"
– 69 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
"Voice from->to"
"Voice bidirectional"
"Exchange_traffic"
"HTTP Test"
"HTTPS Test"
the probe needs to have an existing and active probe configured into db otherwise will be ignored
Example : probe1,probe2
the probe needs to have an existing and active probe configured into db otherwise will be ignored
Example : probe3,probe4
913-2383-01 Rev A – 70 –
Chapter 1 Advanced Administration Guide
nodefrom: probe1,probe2
nodeto: probe3,probe4
probe1->probe3
probe1->probe4
probe2->probe3
probe2->probe4
probe1->probe3
probe2->probe4
mystartdate: schedule start date - format is YYYY-MM-DD HH:mm:ss (example 2016-02-01 20:07:15)
Note: leave empty for starting now or for immediate one shot
myenddate: schedule end date - format is YYYY-MM-DD HH:mm:ss (example 2016-02-01 20:07:15)
Following table describe the parameter. for each test type, the options need to be put in the exact
order as detailed in the table below.
– 71 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
IF there is an associated pair (pair_id is not null), the name must be entered with following format in
API:
ParameterName|SPECIFICPAIR|pair_id
arrayOptionsNameString
packetsize,QOS,bitrate|SPECIFICPAIR|15161,bitrate|SPECIFICPAIR|15162
arrayOptionsValueString
1400,EF,20000,40000
will set packetsize to 1400, QOS to EF, UDP from->to 20000kbps, UDP to->from to 40000kbps
913-2383-01 Rev A – 72 –
Chapter 1 Advanced Administration Guide
"Exchange_traffic";"numberofpairs";"Number of Users";"0";NULL
– 73 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
"Netflix";"QOS";"DSCP Setting";"0";NULL
913-2383-01 Rev A – 74 –
Chapter 1 Advanced Administration Guide
– 75 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
913-2383-01 Rev A – 76 –
Chapter 1 Advanced Administration Guide
"Youtube";"QOS";"DSCP Setting";"0";NULL
thresholdArrayString sets specific threshold parameters - leave empty to use default threashold
settings
1-email
2-snmp
FailedAlarm-
ErrorAlarm-
– 77 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
StatusChangeAlarm-
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:Hawkeye">
<x:Header/>
<x:Body>
<urn:configureN2NListExecution>
<urn:TestType>Network KPI</urn:TestType>
<urn:NodeFrom>AWSprivate2</urn:NodeFrom>
<urn:NodeTo>AWSprivate4,AWSprivate3,AWSprivate5</urn:NodeTo>
<urn:OneToOne>0</urn:OneToOne>
<urn:Frequency>0</urn:Frequency>
<urn:EnforceSchedule>0</urn:EnforceSchedule>
<urn:mystartdate></urn:mystartdate>
<urn:myenddate></urn:myenddate>
<urn:arrayOptionsNameString>null</urn:arrayOptionsNameString>
<urn:arrayOptionsValueString>null</urn:arrayOptionsValueString>
<urn:thresholdArrayString>null</urn:thresholdArrayString>
<urn:AlarmType>0</urn:AlarmType>
<urn:FailedAlarm>0</urn:FailedAlarm>
<urn:ErrorAlarm>0</urn:ErrorAlarm>
<urn:StatusChangeAlarm>0</urn:StatusChangeAlarm>
<urn:EmailAddress></urn:EmailAddress>
<urn:TESTEXEC_STRING>webservice</urn:TESTEXEC_STRING>
<urn:mytestduration>15</urn:mytestduration>
</urn:configureN2NListExecution>
</x:Body>
</x:Envelope>
913-2383-01 Rev A – 78 –
Chapter 1 Advanced Administration Guide
output:
response with array of executed test paths and Test execution ID if the test could be added to the
execution list
Example of output
(AWSprivate2,AWSprivate4,74),(AWSprivate2,AWSprivate3,75),(AWSprivate2,AWSprivate5,76)
Use this function to setup a new test for Node to Node or Real service
Parameters:
Type:
Includes
"Network KPI"
– 79 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
"Adapative Video"
"Flash RTMP"
"Netflix"
"Youtube"
"Skype4B Traffic"
"Video Stream"
"Voice from->to"
"Voice bidirectional"
"Exchange_traffic"
"HTTP Test"
"HTTPS Test"
913-2383-01 Rev A – 80 –
Chapter 1 Advanced Administration Guide
"BitTorrent"
"DNS Test"
"DropBox Download"
"DropBox Upload"
"Email"
"FTP Download"
"ICMP performance"
"ICMP Test"
"IGMP Test"
"TCP ping"
"Traceroute"
"UDP ping"
"Wi-Fi Connect"
"Wi-Fi Inspect"
"Youtube Test"
– 81 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
0 - nodefrom and nodeto will be used for node to node, Meshid ignored
the probe needs to have an existing and active probe configured into db otherwise will be ignored
Example : probe1,probe2
Nodeto: node List to use to start the test - ignored for real services
the probe needs to have an existing and active probe configured into db otherwise will be ignored
Example : probe3,probe4
mystartdate: schedule start date - format is YYYY-MM-DD HH:mm:ss (example 2016-02-01 20:07:15)
Note: leave empty for starting now or for immediate one shot
myenddate: schedule end date - format is YYYY-MM-DD HH:mm:ss (example 2016-02-01 20:07:15)
913-2383-01 Rev A – 82 –
Chapter 1 Advanced Administration Guide
following table describe the parameter. for each test type, the options need to be put in the exact order
as detailed in the table below.
IF there is an associated pair (pair_id is not null), the name must be entered with following format in
API:
ParameterName|SPECIFICPAIR|pair_id
arrayOptionsNameString
packetsize,QOS,bitrate|SPECIFICPAIR|15161,bitrate|SPECIFICPAIR|15162
arrayOptionsValueString
1400,EF,20000,40000
will set packetsize to 1400, QOS to EF, UDP from->to 20000kbps, UDP to->from to 40000kbps
– 83 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
"Exchange_traffic";"numberofpairs";"Number of Users";"0";NULL
913-2383-01 Rev A – 84 –
Chapter 1 Advanced Administration Guide
"Netflix";"QOS";"DSCP Setting";"0";NULL
– 85 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
913-2383-01 Rev A – 86 –
Chapter 1 Advanced Administration Guide
– 87 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
"Youtube";"QOS";"DSCP Setting";"0";NULL
"BitTorrent";"DestinationServer";"Torrent Name";"0";NULL
"BitTorrent";"magnet";"Torrent link";"0";NULL
"BitTorrent";"duration";"Test duration";"0";NULL
"Email";"email";"Email Address";"0";NULL
913-2383-01 Rev A – 88 –
Chapter 1 Advanced Administration Guide
"Email";"authuser";"Mail User";"0";NULL
"Email";"authpass";"Mail Password";"0";NULL
"FTP Download";"Password";"Password";"0";NULL
– 89 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
"ICMP Test";"PingInterval";"Interval";"0";NULL
"ICMP Test";"PingCount";"Count";"0";NULL
913-2383-01 Rev A – 90 –
Chapter 1 Advanced Administration Guide
"TCP ping";"PingInterval";"Interval";"0";NULL
"TCP ping";"PingCount";"Count";"0";NULL
"Traceroute";"DestinationServer";"Destination Server";"0";NULL
"Traceroute";"Timeout";"Timeout (sec)";"0";NULL
"Traceroute";"QOS";"DSCP Setting";"0";NULL
"Traceroute";"TraceRouteProtocol";"Protocol";"0";NULL
"Traceroute";"ip_version";"ip protocol";"0";NULL
"UDP ping";"PingInterval";"Interval";"0";NULL
"UDP ping";"PingCount";"Count";"0";NULL
"Wi-Fi Connect";"SSID";"SSID";"0";NULL
"Wi-Fi Connect";"BSSID";"BSSID";"0";NULL
"Wi-Fi Connect";"Password";"Password";"0";NULL
"Wi-Fi Inspect";"DestinationServer";"SSID";"0";NULL
– 91 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
thresholdArrayString sets specific threshold parameters - leave empty to use default threashold
settings
1-email
2-snmp
FailedAlarm-
ErrorAlarm-
StatusChangeAlarm-
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:Hawkeye">
913-2383-01 Rev A – 92 –
Chapter 1 Advanced Administration Guide
<x:Header/>
<x:Body>
<urn:configureTestExecution>
<urn:Type>?</urn:Type>
<urn:TestType>?</urn:TestType>
<urn:isMesh>?</urn:isMesh>
<urn:myMesh>?</urn:myMesh>
<urn:NodeFrom>?</urn:NodeFrom>
<urn:NodeTo>?</urn:NodeTo>
<urn:Frequency>?</urn:Frequency>
<urn:EnforceSchedule>?</urn:EnforceSchedule>
<urn:mystartdate>?</urn:mystartdate>
<urn:myenddate>?</urn:myenddate>
<urn:arrayOptionsNameString>?</urn:arrayOptionsNameString>
<urn:arrayOptionsValueString>?</urn:arrayOptionsValueString>
<urn:thresholdArrayString>?</urn:thresholdArrayString>
<urn:AlarmType>?</urn:AlarmType>
<urn:FailedAlarm>?</urn:FailedAlarm>
<urn:ErrorAlarm>?</urn:ErrorAlarm>
<urn:StatusChangeAlarm>?</urn:StatusChangeAlarm>
<urn:EmailAddress>?</urn:EmailAddress>
<urn:TESTEXEC_STRING>?</urn:TESTEXEC_STRING>
<urn:mytestduration>?</urn:mytestduration>
</urn:configureTestExecution>
</x:Body>
</x:Envelope>
output:
– 93 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:Hawkeye">
<x:Header/>
<x:Body>
<urn:findProbeIDfromName>
<urn:ProbeName>?</urn:ProbeName>
</urn:findProbeIDfromName>
</x:Body>
</x:Envelope>
output
API will return 0 if probe is not found, integer with ID if the probe is found.
Input:
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:Hawkeye">
<x:Header/>
<x:Body>
<urn:findProbeIDfromSerial>
<urn:Serial>?</urn:Serial>
</urn:findProbeIDfromSerial>
</x:Body>
913-2383-01 Rev A – 94 –
Chapter 1 Advanced Administration Guide
</x:Envelope>
findProbeIDfromSerialResponse
Output:
API will return 0 if probe is not found, integer with ID if the probe is found.
Input:
available values
0 - all probes
1 - all up probes
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:Hawkeye">
<x:Header/>
<x:Body>
<urn:listProbesNames>
<urn:ProbeName>?</urn:ProbeName>
<urn:Status>?</urn:Status>
</urn:listProbesNames>
</x:Body>
</x:Envelope>
listProbesNamesResponse
Output:
API will return 0 if no matching probe is found, a comma-separated string with all
– 95 – 913-2383-01 Rev A
Chapter 1 Advanced Administration Guide
Input:
Param1: string
Param2: string
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:Hawkeye">
<x:Header/>
<x:Body>
<urn:testWebService>
<urn:Param1>p1</urn:Param1>
<urn:Param2>p2</urn:Param2>
</urn:testWebService>
</x:Body>
testWebServiceResponse
Output:
913-2383-01 Rev A – 96 –
Chapter 1 Advanced Administration Guide
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
– 97 – 913-2383-01 Rev A
This page intentionally left blank.
913-2383-01 Rev A – 98 –
© Keysight Technologies, 2019