Tutorial: Using RIPEstat

38
RIPE 68 | Warsaw - Poland | 12 May 2014 Tutorial: Using RIPEstat Christian Teuschel Research & Development

description

Presentation given by Christian Teuschel at RIPE 68, in Warsaw, Poland on 12 May 2014

Transcript of Tutorial: Using RIPEstat

Page 1: Tutorial: Using RIPEstat

RIPE 68 | Warsaw - Poland | 12 May 2014

Tutorial Using RIPEstat

Christian Teuschel Research amp Development

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatAgenda

bull Basics- 3 layers of RIPEstat- RIPEstat Web

bull Result page

bull Customize the result page

bull Compare results

bull Handling abuse

bull Work with BGPlay

2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatAgenda

bull Advancedbull Work with widgets

bull Create a dashboard

bull RIPEstat Data API

bull Using Javascript to work with raw data

bull Nagios check

3

Basics

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatWhat is RIPEstat

bull Information system for Internet number resourcesbull Data

- Routing data

bull Collected by RIS httprisripenet

bull Registration data (whois)- RIPE Database amp other RIR databases

bull MaxMindrsquos geolocation data

bull Blacklist data

bull And many more httpsstatripenetdata-sources

5

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatIntroduction to RIPEstat

bull RIPEstat Web httpstatripenet

bull RIPEstat Widget API

bull RIPEstat Data API RIPEstat Text APIbull httpsstatripenetdatarouting-statusdatajson

resource=hellip

6

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatRIPEstat Web

bull Finding information on RIPEstat

7

Search input

Recent new features

Links to most used features

RIPEstat related articles on RIPE Labs

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatRIPEstat Web Interface

bull Information structure on RIPEstat

8

bull FAQ bull Data Sources bull Widget List bull Top Queries bull Feedback

bull Interfaces amp APIs bull Demos bull Roadmap bull Changelog

bull Notable Network Events bull Compare Results bull Looking For Abuse Information bull Global Internet Statistics

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Task Enter ldquoAS333rdquo in the search box

9

Search box

Your ASN amp network prefix

Sample resources

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Result page

10

Search box

Widgets grouped into thematic tabs

Widgets display different types of information

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Tasksbull What network announces 140785090

bull Is 193342 routed

bull In which country is 9122942023 used

bull What is its corresponding INETNUM object

bull What widget provides real-time routing status

bull By what percent did the number of prefixes announced within Poland increased over the last two years

bull How would you share interesting network events with a colleague

11

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Create custom viewsbull Click the ldquoMyViewrdquo button

bull Drag and drop a widget onto the ldquoMyViewrdquo button

12

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web) 13

MyViews are only visible to you An option to share your views will be available soon

Newly created MyView

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Customise MyViews

14

bull Rename bull Re-order bull Control visibility bull Remove

Re-order widgets as you like

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatCreate SSO Account

bull Tasksbull Go to ldquohttpsstatripenetrdquo and click on ldquoLoginrdquo

bull ldquohellipclick here to create onerdquo

15

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Tasksbull Create a MyView for a prefix containing the following

widgets

bull Routing Status

bull Looking Glass

bull Routing History

bull Create another MyView with a least two widgets and give it a meaningful name

16

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgets

17

Go to ldquoUse Casesrdquo gt ldquoCompare Resultsrdquo

Select a widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgetsbull Select the ldquoPrefix Size Distributionrdquo widget

bull Enter ldquoAS1205rdquo

18

Enter a resource

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull In-widget comparisonbull Country Routing Statistics

19

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Comparing Resources (Web)

bull Tasksbull Compare the number of announced prefixes for two

networks over the past two years using the widget comparison page

bull How does the Internet in Poland compare to the UK Use in-widget comparison

20

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Take action in an abuse case with the Abuse Contact Finder

21

Go to ldquoUse Casesrdquo gt ldquoLooking For Abuse Informationrdquo

In-depth information about abuse

Enter the IP address

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 22

Rating of the contact

Email contact to report abuse to

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 23

Details about the resource and abuse contact

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 2: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatAgenda

bull Basics- 3 layers of RIPEstat- RIPEstat Web

bull Result page

bull Customize the result page

bull Compare results

bull Handling abuse

bull Work with BGPlay

2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatAgenda

bull Advancedbull Work with widgets

bull Create a dashboard

bull RIPEstat Data API

bull Using Javascript to work with raw data

bull Nagios check

3

Basics

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatWhat is RIPEstat

bull Information system for Internet number resourcesbull Data

- Routing data

bull Collected by RIS httprisripenet

bull Registration data (whois)- RIPE Database amp other RIR databases

bull MaxMindrsquos geolocation data

bull Blacklist data

bull And many more httpsstatripenetdata-sources

5

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatIntroduction to RIPEstat

bull RIPEstat Web httpstatripenet

bull RIPEstat Widget API

bull RIPEstat Data API RIPEstat Text APIbull httpsstatripenetdatarouting-statusdatajson

resource=hellip

6

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatRIPEstat Web

bull Finding information on RIPEstat

7

Search input

Recent new features

Links to most used features

RIPEstat related articles on RIPE Labs

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatRIPEstat Web Interface

bull Information structure on RIPEstat

8

bull FAQ bull Data Sources bull Widget List bull Top Queries bull Feedback

bull Interfaces amp APIs bull Demos bull Roadmap bull Changelog

bull Notable Network Events bull Compare Results bull Looking For Abuse Information bull Global Internet Statistics

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Task Enter ldquoAS333rdquo in the search box

9

Search box

Your ASN amp network prefix

Sample resources

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Result page

10

Search box

Widgets grouped into thematic tabs

Widgets display different types of information

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Tasksbull What network announces 140785090

bull Is 193342 routed

bull In which country is 9122942023 used

bull What is its corresponding INETNUM object

bull What widget provides real-time routing status

bull By what percent did the number of prefixes announced within Poland increased over the last two years

bull How would you share interesting network events with a colleague

11

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Create custom viewsbull Click the ldquoMyViewrdquo button

bull Drag and drop a widget onto the ldquoMyViewrdquo button

12

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web) 13

MyViews are only visible to you An option to share your views will be available soon

Newly created MyView

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Customise MyViews

14

bull Rename bull Re-order bull Control visibility bull Remove

Re-order widgets as you like

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatCreate SSO Account

bull Tasksbull Go to ldquohttpsstatripenetrdquo and click on ldquoLoginrdquo

bull ldquohellipclick here to create onerdquo

15

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Tasksbull Create a MyView for a prefix containing the following

widgets

bull Routing Status

bull Looking Glass

bull Routing History

bull Create another MyView with a least two widgets and give it a meaningful name

16

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgets

17

Go to ldquoUse Casesrdquo gt ldquoCompare Resultsrdquo

Select a widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgetsbull Select the ldquoPrefix Size Distributionrdquo widget

bull Enter ldquoAS1205rdquo

18

Enter a resource

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull In-widget comparisonbull Country Routing Statistics

19

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Comparing Resources (Web)

bull Tasksbull Compare the number of announced prefixes for two

networks over the past two years using the widget comparison page

bull How does the Internet in Poland compare to the UK Use in-widget comparison

20

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Take action in an abuse case with the Abuse Contact Finder

21

Go to ldquoUse Casesrdquo gt ldquoLooking For Abuse Informationrdquo

In-depth information about abuse

Enter the IP address

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 22

Rating of the contact

Email contact to report abuse to

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 23

Details about the resource and abuse contact

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 3: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatAgenda

bull Advancedbull Work with widgets

bull Create a dashboard

bull RIPEstat Data API

bull Using Javascript to work with raw data

bull Nagios check

3

Basics

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatWhat is RIPEstat

bull Information system for Internet number resourcesbull Data

- Routing data

bull Collected by RIS httprisripenet

bull Registration data (whois)- RIPE Database amp other RIR databases

bull MaxMindrsquos geolocation data

bull Blacklist data

bull And many more httpsstatripenetdata-sources

5

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatIntroduction to RIPEstat

bull RIPEstat Web httpstatripenet

bull RIPEstat Widget API

bull RIPEstat Data API RIPEstat Text APIbull httpsstatripenetdatarouting-statusdatajson

resource=hellip

6

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatRIPEstat Web

bull Finding information on RIPEstat

7

Search input

Recent new features

Links to most used features

RIPEstat related articles on RIPE Labs

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatRIPEstat Web Interface

bull Information structure on RIPEstat

8

bull FAQ bull Data Sources bull Widget List bull Top Queries bull Feedback

bull Interfaces amp APIs bull Demos bull Roadmap bull Changelog

bull Notable Network Events bull Compare Results bull Looking For Abuse Information bull Global Internet Statistics

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Task Enter ldquoAS333rdquo in the search box

9

Search box

Your ASN amp network prefix

Sample resources

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Result page

10

Search box

Widgets grouped into thematic tabs

Widgets display different types of information

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Tasksbull What network announces 140785090

bull Is 193342 routed

bull In which country is 9122942023 used

bull What is its corresponding INETNUM object

bull What widget provides real-time routing status

bull By what percent did the number of prefixes announced within Poland increased over the last two years

bull How would you share interesting network events with a colleague

11

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Create custom viewsbull Click the ldquoMyViewrdquo button

bull Drag and drop a widget onto the ldquoMyViewrdquo button

12

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web) 13

MyViews are only visible to you An option to share your views will be available soon

Newly created MyView

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Customise MyViews

14

bull Rename bull Re-order bull Control visibility bull Remove

Re-order widgets as you like

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatCreate SSO Account

bull Tasksbull Go to ldquohttpsstatripenetrdquo and click on ldquoLoginrdquo

bull ldquohellipclick here to create onerdquo

15

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Tasksbull Create a MyView for a prefix containing the following

widgets

bull Routing Status

bull Looking Glass

bull Routing History

bull Create another MyView with a least two widgets and give it a meaningful name

16

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgets

17

Go to ldquoUse Casesrdquo gt ldquoCompare Resultsrdquo

Select a widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgetsbull Select the ldquoPrefix Size Distributionrdquo widget

bull Enter ldquoAS1205rdquo

18

Enter a resource

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull In-widget comparisonbull Country Routing Statistics

19

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Comparing Resources (Web)

bull Tasksbull Compare the number of announced prefixes for two

networks over the past two years using the widget comparison page

bull How does the Internet in Poland compare to the UK Use in-widget comparison

20

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Take action in an abuse case with the Abuse Contact Finder

21

Go to ldquoUse Casesrdquo gt ldquoLooking For Abuse Informationrdquo

In-depth information about abuse

Enter the IP address

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 22

Rating of the contact

Email contact to report abuse to

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 23

Details about the resource and abuse contact

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 4: Tutorial: Using RIPEstat

Basics

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatWhat is RIPEstat

bull Information system for Internet number resourcesbull Data

- Routing data

bull Collected by RIS httprisripenet

bull Registration data (whois)- RIPE Database amp other RIR databases

bull MaxMindrsquos geolocation data

bull Blacklist data

bull And many more httpsstatripenetdata-sources

5

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatIntroduction to RIPEstat

bull RIPEstat Web httpstatripenet

bull RIPEstat Widget API

bull RIPEstat Data API RIPEstat Text APIbull httpsstatripenetdatarouting-statusdatajson

resource=hellip

6

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatRIPEstat Web

bull Finding information on RIPEstat

7

Search input

Recent new features

Links to most used features

RIPEstat related articles on RIPE Labs

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatRIPEstat Web Interface

bull Information structure on RIPEstat

8

bull FAQ bull Data Sources bull Widget List bull Top Queries bull Feedback

bull Interfaces amp APIs bull Demos bull Roadmap bull Changelog

bull Notable Network Events bull Compare Results bull Looking For Abuse Information bull Global Internet Statistics

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Task Enter ldquoAS333rdquo in the search box

9

Search box

Your ASN amp network prefix

Sample resources

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Result page

10

Search box

Widgets grouped into thematic tabs

Widgets display different types of information

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Tasksbull What network announces 140785090

bull Is 193342 routed

bull In which country is 9122942023 used

bull What is its corresponding INETNUM object

bull What widget provides real-time routing status

bull By what percent did the number of prefixes announced within Poland increased over the last two years

bull How would you share interesting network events with a colleague

11

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Create custom viewsbull Click the ldquoMyViewrdquo button

bull Drag and drop a widget onto the ldquoMyViewrdquo button

12

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web) 13

MyViews are only visible to you An option to share your views will be available soon

Newly created MyView

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Customise MyViews

14

bull Rename bull Re-order bull Control visibility bull Remove

Re-order widgets as you like

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatCreate SSO Account

bull Tasksbull Go to ldquohttpsstatripenetrdquo and click on ldquoLoginrdquo

bull ldquohellipclick here to create onerdquo

15

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Tasksbull Create a MyView for a prefix containing the following

widgets

bull Routing Status

bull Looking Glass

bull Routing History

bull Create another MyView with a least two widgets and give it a meaningful name

16

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgets

17

Go to ldquoUse Casesrdquo gt ldquoCompare Resultsrdquo

Select a widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgetsbull Select the ldquoPrefix Size Distributionrdquo widget

bull Enter ldquoAS1205rdquo

18

Enter a resource

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull In-widget comparisonbull Country Routing Statistics

19

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Comparing Resources (Web)

bull Tasksbull Compare the number of announced prefixes for two

networks over the past two years using the widget comparison page

bull How does the Internet in Poland compare to the UK Use in-widget comparison

20

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Take action in an abuse case with the Abuse Contact Finder

21

Go to ldquoUse Casesrdquo gt ldquoLooking For Abuse Informationrdquo

In-depth information about abuse

Enter the IP address

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 22

Rating of the contact

Email contact to report abuse to

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 23

Details about the resource and abuse contact

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 5: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatWhat is RIPEstat

bull Information system for Internet number resourcesbull Data

- Routing data

bull Collected by RIS httprisripenet

bull Registration data (whois)- RIPE Database amp other RIR databases

bull MaxMindrsquos geolocation data

bull Blacklist data

bull And many more httpsstatripenetdata-sources

5

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatIntroduction to RIPEstat

bull RIPEstat Web httpstatripenet

bull RIPEstat Widget API

bull RIPEstat Data API RIPEstat Text APIbull httpsstatripenetdatarouting-statusdatajson

resource=hellip

6

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatRIPEstat Web

bull Finding information on RIPEstat

7

Search input

Recent new features

Links to most used features

RIPEstat related articles on RIPE Labs

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatRIPEstat Web Interface

bull Information structure on RIPEstat

8

bull FAQ bull Data Sources bull Widget List bull Top Queries bull Feedback

bull Interfaces amp APIs bull Demos bull Roadmap bull Changelog

bull Notable Network Events bull Compare Results bull Looking For Abuse Information bull Global Internet Statistics

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Task Enter ldquoAS333rdquo in the search box

9

Search box

Your ASN amp network prefix

Sample resources

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Result page

10

Search box

Widgets grouped into thematic tabs

Widgets display different types of information

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Tasksbull What network announces 140785090

bull Is 193342 routed

bull In which country is 9122942023 used

bull What is its corresponding INETNUM object

bull What widget provides real-time routing status

bull By what percent did the number of prefixes announced within Poland increased over the last two years

bull How would you share interesting network events with a colleague

11

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Create custom viewsbull Click the ldquoMyViewrdquo button

bull Drag and drop a widget onto the ldquoMyViewrdquo button

12

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web) 13

MyViews are only visible to you An option to share your views will be available soon

Newly created MyView

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Customise MyViews

14

bull Rename bull Re-order bull Control visibility bull Remove

Re-order widgets as you like

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatCreate SSO Account

bull Tasksbull Go to ldquohttpsstatripenetrdquo and click on ldquoLoginrdquo

bull ldquohellipclick here to create onerdquo

15

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Tasksbull Create a MyView for a prefix containing the following

widgets

bull Routing Status

bull Looking Glass

bull Routing History

bull Create another MyView with a least two widgets and give it a meaningful name

16

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgets

17

Go to ldquoUse Casesrdquo gt ldquoCompare Resultsrdquo

Select a widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgetsbull Select the ldquoPrefix Size Distributionrdquo widget

bull Enter ldquoAS1205rdquo

18

Enter a resource

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull In-widget comparisonbull Country Routing Statistics

19

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Comparing Resources (Web)

bull Tasksbull Compare the number of announced prefixes for two

networks over the past two years using the widget comparison page

bull How does the Internet in Poland compare to the UK Use in-widget comparison

20

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Take action in an abuse case with the Abuse Contact Finder

21

Go to ldquoUse Casesrdquo gt ldquoLooking For Abuse Informationrdquo

In-depth information about abuse

Enter the IP address

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 22

Rating of the contact

Email contact to report abuse to

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 23

Details about the resource and abuse contact

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 6: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatIntroduction to RIPEstat

bull RIPEstat Web httpstatripenet

bull RIPEstat Widget API

bull RIPEstat Data API RIPEstat Text APIbull httpsstatripenetdatarouting-statusdatajson

resource=hellip

6

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatRIPEstat Web

bull Finding information on RIPEstat

7

Search input

Recent new features

Links to most used features

RIPEstat related articles on RIPE Labs

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatRIPEstat Web Interface

bull Information structure on RIPEstat

8

bull FAQ bull Data Sources bull Widget List bull Top Queries bull Feedback

bull Interfaces amp APIs bull Demos bull Roadmap bull Changelog

bull Notable Network Events bull Compare Results bull Looking For Abuse Information bull Global Internet Statistics

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Task Enter ldquoAS333rdquo in the search box

9

Search box

Your ASN amp network prefix

Sample resources

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Result page

10

Search box

Widgets grouped into thematic tabs

Widgets display different types of information

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Tasksbull What network announces 140785090

bull Is 193342 routed

bull In which country is 9122942023 used

bull What is its corresponding INETNUM object

bull What widget provides real-time routing status

bull By what percent did the number of prefixes announced within Poland increased over the last two years

bull How would you share interesting network events with a colleague

11

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Create custom viewsbull Click the ldquoMyViewrdquo button

bull Drag and drop a widget onto the ldquoMyViewrdquo button

12

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web) 13

MyViews are only visible to you An option to share your views will be available soon

Newly created MyView

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Customise MyViews

14

bull Rename bull Re-order bull Control visibility bull Remove

Re-order widgets as you like

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatCreate SSO Account

bull Tasksbull Go to ldquohttpsstatripenetrdquo and click on ldquoLoginrdquo

bull ldquohellipclick here to create onerdquo

15

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Tasksbull Create a MyView for a prefix containing the following

widgets

bull Routing Status

bull Looking Glass

bull Routing History

bull Create another MyView with a least two widgets and give it a meaningful name

16

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgets

17

Go to ldquoUse Casesrdquo gt ldquoCompare Resultsrdquo

Select a widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgetsbull Select the ldquoPrefix Size Distributionrdquo widget

bull Enter ldquoAS1205rdquo

18

Enter a resource

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull In-widget comparisonbull Country Routing Statistics

19

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Comparing Resources (Web)

bull Tasksbull Compare the number of announced prefixes for two

networks over the past two years using the widget comparison page

bull How does the Internet in Poland compare to the UK Use in-widget comparison

20

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Take action in an abuse case with the Abuse Contact Finder

21

Go to ldquoUse Casesrdquo gt ldquoLooking For Abuse Informationrdquo

In-depth information about abuse

Enter the IP address

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 22

Rating of the contact

Email contact to report abuse to

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 23

Details about the resource and abuse contact

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 7: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatRIPEstat Web

bull Finding information on RIPEstat

7

Search input

Recent new features

Links to most used features

RIPEstat related articles on RIPE Labs

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatRIPEstat Web Interface

bull Information structure on RIPEstat

8

bull FAQ bull Data Sources bull Widget List bull Top Queries bull Feedback

bull Interfaces amp APIs bull Demos bull Roadmap bull Changelog

bull Notable Network Events bull Compare Results bull Looking For Abuse Information bull Global Internet Statistics

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Task Enter ldquoAS333rdquo in the search box

9

Search box

Your ASN amp network prefix

Sample resources

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Result page

10

Search box

Widgets grouped into thematic tabs

Widgets display different types of information

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Tasksbull What network announces 140785090

bull Is 193342 routed

bull In which country is 9122942023 used

bull What is its corresponding INETNUM object

bull What widget provides real-time routing status

bull By what percent did the number of prefixes announced within Poland increased over the last two years

bull How would you share interesting network events with a colleague

11

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Create custom viewsbull Click the ldquoMyViewrdquo button

bull Drag and drop a widget onto the ldquoMyViewrdquo button

12

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web) 13

MyViews are only visible to you An option to share your views will be available soon

Newly created MyView

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Customise MyViews

14

bull Rename bull Re-order bull Control visibility bull Remove

Re-order widgets as you like

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatCreate SSO Account

bull Tasksbull Go to ldquohttpsstatripenetrdquo and click on ldquoLoginrdquo

bull ldquohellipclick here to create onerdquo

15

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Tasksbull Create a MyView for a prefix containing the following

widgets

bull Routing Status

bull Looking Glass

bull Routing History

bull Create another MyView with a least two widgets and give it a meaningful name

16

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgets

17

Go to ldquoUse Casesrdquo gt ldquoCompare Resultsrdquo

Select a widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgetsbull Select the ldquoPrefix Size Distributionrdquo widget

bull Enter ldquoAS1205rdquo

18

Enter a resource

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull In-widget comparisonbull Country Routing Statistics

19

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Comparing Resources (Web)

bull Tasksbull Compare the number of announced prefixes for two

networks over the past two years using the widget comparison page

bull How does the Internet in Poland compare to the UK Use in-widget comparison

20

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Take action in an abuse case with the Abuse Contact Finder

21

Go to ldquoUse Casesrdquo gt ldquoLooking For Abuse Informationrdquo

In-depth information about abuse

Enter the IP address

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 22

Rating of the contact

Email contact to report abuse to

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 23

Details about the resource and abuse contact

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 8: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatRIPEstat Web Interface

bull Information structure on RIPEstat

8

bull FAQ bull Data Sources bull Widget List bull Top Queries bull Feedback

bull Interfaces amp APIs bull Demos bull Roadmap bull Changelog

bull Notable Network Events bull Compare Results bull Looking For Abuse Information bull Global Internet Statistics

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Task Enter ldquoAS333rdquo in the search box

9

Search box

Your ASN amp network prefix

Sample resources

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Result page

10

Search box

Widgets grouped into thematic tabs

Widgets display different types of information

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Tasksbull What network announces 140785090

bull Is 193342 routed

bull In which country is 9122942023 used

bull What is its corresponding INETNUM object

bull What widget provides real-time routing status

bull By what percent did the number of prefixes announced within Poland increased over the last two years

bull How would you share interesting network events with a colleague

11

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Create custom viewsbull Click the ldquoMyViewrdquo button

bull Drag and drop a widget onto the ldquoMyViewrdquo button

12

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web) 13

MyViews are only visible to you An option to share your views will be available soon

Newly created MyView

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Customise MyViews

14

bull Rename bull Re-order bull Control visibility bull Remove

Re-order widgets as you like

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatCreate SSO Account

bull Tasksbull Go to ldquohttpsstatripenetrdquo and click on ldquoLoginrdquo

bull ldquohellipclick here to create onerdquo

15

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Tasksbull Create a MyView for a prefix containing the following

widgets

bull Routing Status

bull Looking Glass

bull Routing History

bull Create another MyView with a least two widgets and give it a meaningful name

16

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgets

17

Go to ldquoUse Casesrdquo gt ldquoCompare Resultsrdquo

Select a widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgetsbull Select the ldquoPrefix Size Distributionrdquo widget

bull Enter ldquoAS1205rdquo

18

Enter a resource

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull In-widget comparisonbull Country Routing Statistics

19

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Comparing Resources (Web)

bull Tasksbull Compare the number of announced prefixes for two

networks over the past two years using the widget comparison page

bull How does the Internet in Poland compare to the UK Use in-widget comparison

20

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Take action in an abuse case with the Abuse Contact Finder

21

Go to ldquoUse Casesrdquo gt ldquoLooking For Abuse Informationrdquo

In-depth information about abuse

Enter the IP address

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 22

Rating of the contact

Email contact to report abuse to

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 23

Details about the resource and abuse contact

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 9: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Task Enter ldquoAS333rdquo in the search box

9

Search box

Your ASN amp network prefix

Sample resources

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Result page

10

Search box

Widgets grouped into thematic tabs

Widgets display different types of information

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Tasksbull What network announces 140785090

bull Is 193342 routed

bull In which country is 9122942023 used

bull What is its corresponding INETNUM object

bull What widget provides real-time routing status

bull By what percent did the number of prefixes announced within Poland increased over the last two years

bull How would you share interesting network events with a colleague

11

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Create custom viewsbull Click the ldquoMyViewrdquo button

bull Drag and drop a widget onto the ldquoMyViewrdquo button

12

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web) 13

MyViews are only visible to you An option to share your views will be available soon

Newly created MyView

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Customise MyViews

14

bull Rename bull Re-order bull Control visibility bull Remove

Re-order widgets as you like

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatCreate SSO Account

bull Tasksbull Go to ldquohttpsstatripenetrdquo and click on ldquoLoginrdquo

bull ldquohellipclick here to create onerdquo

15

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Tasksbull Create a MyView for a prefix containing the following

widgets

bull Routing Status

bull Looking Glass

bull Routing History

bull Create another MyView with a least two widgets and give it a meaningful name

16

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgets

17

Go to ldquoUse Casesrdquo gt ldquoCompare Resultsrdquo

Select a widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgetsbull Select the ldquoPrefix Size Distributionrdquo widget

bull Enter ldquoAS1205rdquo

18

Enter a resource

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull In-widget comparisonbull Country Routing Statistics

19

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Comparing Resources (Web)

bull Tasksbull Compare the number of announced prefixes for two

networks over the past two years using the widget comparison page

bull How does the Internet in Poland compare to the UK Use in-widget comparison

20

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Take action in an abuse case with the Abuse Contact Finder

21

Go to ldquoUse Casesrdquo gt ldquoLooking For Abuse Informationrdquo

In-depth information about abuse

Enter the IP address

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 22

Rating of the contact

Email contact to report abuse to

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 23

Details about the resource and abuse contact

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 10: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Result page

10

Search box

Widgets grouped into thematic tabs

Widgets display different types of information

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Tasksbull What network announces 140785090

bull Is 193342 routed

bull In which country is 9122942023 used

bull What is its corresponding INETNUM object

bull What widget provides real-time routing status

bull By what percent did the number of prefixes announced within Poland increased over the last two years

bull How would you share interesting network events with a colleague

11

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Create custom viewsbull Click the ldquoMyViewrdquo button

bull Drag and drop a widget onto the ldquoMyViewrdquo button

12

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web) 13

MyViews are only visible to you An option to share your views will be available soon

Newly created MyView

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Customise MyViews

14

bull Rename bull Re-order bull Control visibility bull Remove

Re-order widgets as you like

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatCreate SSO Account

bull Tasksbull Go to ldquohttpsstatripenetrdquo and click on ldquoLoginrdquo

bull ldquohellipclick here to create onerdquo

15

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Tasksbull Create a MyView for a prefix containing the following

widgets

bull Routing Status

bull Looking Glass

bull Routing History

bull Create another MyView with a least two widgets and give it a meaningful name

16

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgets

17

Go to ldquoUse Casesrdquo gt ldquoCompare Resultsrdquo

Select a widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgetsbull Select the ldquoPrefix Size Distributionrdquo widget

bull Enter ldquoAS1205rdquo

18

Enter a resource

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull In-widget comparisonbull Country Routing Statistics

19

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Comparing Resources (Web)

bull Tasksbull Compare the number of announced prefixes for two

networks over the past two years using the widget comparison page

bull How does the Internet in Poland compare to the UK Use in-widget comparison

20

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Take action in an abuse case with the Abuse Contact Finder

21

Go to ldquoUse Casesrdquo gt ldquoLooking For Abuse Informationrdquo

In-depth information about abuse

Enter the IP address

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 22

Rating of the contact

Email contact to report abuse to

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 23

Details about the resource and abuse contact

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 11: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat1Querying for a Resource (Web)

bull Tasksbull What network announces 140785090

bull Is 193342 routed

bull In which country is 9122942023 used

bull What is its corresponding INETNUM object

bull What widget provides real-time routing status

bull By what percent did the number of prefixes announced within Poland increased over the last two years

bull How would you share interesting network events with a colleague

11

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Create custom viewsbull Click the ldquoMyViewrdquo button

bull Drag and drop a widget onto the ldquoMyViewrdquo button

12

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web) 13

MyViews are only visible to you An option to share your views will be available soon

Newly created MyView

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Customise MyViews

14

bull Rename bull Re-order bull Control visibility bull Remove

Re-order widgets as you like

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatCreate SSO Account

bull Tasksbull Go to ldquohttpsstatripenetrdquo and click on ldquoLoginrdquo

bull ldquohellipclick here to create onerdquo

15

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Tasksbull Create a MyView for a prefix containing the following

widgets

bull Routing Status

bull Looking Glass

bull Routing History

bull Create another MyView with a least two widgets and give it a meaningful name

16

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgets

17

Go to ldquoUse Casesrdquo gt ldquoCompare Resultsrdquo

Select a widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgetsbull Select the ldquoPrefix Size Distributionrdquo widget

bull Enter ldquoAS1205rdquo

18

Enter a resource

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull In-widget comparisonbull Country Routing Statistics

19

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Comparing Resources (Web)

bull Tasksbull Compare the number of announced prefixes for two

networks over the past two years using the widget comparison page

bull How does the Internet in Poland compare to the UK Use in-widget comparison

20

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Take action in an abuse case with the Abuse Contact Finder

21

Go to ldquoUse Casesrdquo gt ldquoLooking For Abuse Informationrdquo

In-depth information about abuse

Enter the IP address

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 22

Rating of the contact

Email contact to report abuse to

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 23

Details about the resource and abuse contact

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 12: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Create custom viewsbull Click the ldquoMyViewrdquo button

bull Drag and drop a widget onto the ldquoMyViewrdquo button

12

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web) 13

MyViews are only visible to you An option to share your views will be available soon

Newly created MyView

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Customise MyViews

14

bull Rename bull Re-order bull Control visibility bull Remove

Re-order widgets as you like

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatCreate SSO Account

bull Tasksbull Go to ldquohttpsstatripenetrdquo and click on ldquoLoginrdquo

bull ldquohellipclick here to create onerdquo

15

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Tasksbull Create a MyView for a prefix containing the following

widgets

bull Routing Status

bull Looking Glass

bull Routing History

bull Create another MyView with a least two widgets and give it a meaningful name

16

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgets

17

Go to ldquoUse Casesrdquo gt ldquoCompare Resultsrdquo

Select a widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgetsbull Select the ldquoPrefix Size Distributionrdquo widget

bull Enter ldquoAS1205rdquo

18

Enter a resource

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull In-widget comparisonbull Country Routing Statistics

19

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Comparing Resources (Web)

bull Tasksbull Compare the number of announced prefixes for two

networks over the past two years using the widget comparison page

bull How does the Internet in Poland compare to the UK Use in-widget comparison

20

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Take action in an abuse case with the Abuse Contact Finder

21

Go to ldquoUse Casesrdquo gt ldquoLooking For Abuse Informationrdquo

In-depth information about abuse

Enter the IP address

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 22

Rating of the contact

Email contact to report abuse to

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 23

Details about the resource and abuse contact

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 13: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web) 13

MyViews are only visible to you An option to share your views will be available soon

Newly created MyView

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Customise MyViews

14

bull Rename bull Re-order bull Control visibility bull Remove

Re-order widgets as you like

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatCreate SSO Account

bull Tasksbull Go to ldquohttpsstatripenetrdquo and click on ldquoLoginrdquo

bull ldquohellipclick here to create onerdquo

15

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Tasksbull Create a MyView for a prefix containing the following

widgets

bull Routing Status

bull Looking Glass

bull Routing History

bull Create another MyView with a least two widgets and give it a meaningful name

16

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgets

17

Go to ldquoUse Casesrdquo gt ldquoCompare Resultsrdquo

Select a widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgetsbull Select the ldquoPrefix Size Distributionrdquo widget

bull Enter ldquoAS1205rdquo

18

Enter a resource

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull In-widget comparisonbull Country Routing Statistics

19

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Comparing Resources (Web)

bull Tasksbull Compare the number of announced prefixes for two

networks over the past two years using the widget comparison page

bull How does the Internet in Poland compare to the UK Use in-widget comparison

20

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Take action in an abuse case with the Abuse Contact Finder

21

Go to ldquoUse Casesrdquo gt ldquoLooking For Abuse Informationrdquo

In-depth information about abuse

Enter the IP address

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 22

Rating of the contact

Email contact to report abuse to

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 23

Details about the resource and abuse contact

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 14: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Customise MyViews

14

bull Rename bull Re-order bull Control visibility bull Remove

Re-order widgets as you like

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatCreate SSO Account

bull Tasksbull Go to ldquohttpsstatripenetrdquo and click on ldquoLoginrdquo

bull ldquohellipclick here to create onerdquo

15

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Tasksbull Create a MyView for a prefix containing the following

widgets

bull Routing Status

bull Looking Glass

bull Routing History

bull Create another MyView with a least two widgets and give it a meaningful name

16

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgets

17

Go to ldquoUse Casesrdquo gt ldquoCompare Resultsrdquo

Select a widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgetsbull Select the ldquoPrefix Size Distributionrdquo widget

bull Enter ldquoAS1205rdquo

18

Enter a resource

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull In-widget comparisonbull Country Routing Statistics

19

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Comparing Resources (Web)

bull Tasksbull Compare the number of announced prefixes for two

networks over the past two years using the widget comparison page

bull How does the Internet in Poland compare to the UK Use in-widget comparison

20

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Take action in an abuse case with the Abuse Contact Finder

21

Go to ldquoUse Casesrdquo gt ldquoLooking For Abuse Informationrdquo

In-depth information about abuse

Enter the IP address

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 22

Rating of the contact

Email contact to report abuse to

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 23

Details about the resource and abuse contact

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 15: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstatCreate SSO Account

bull Tasksbull Go to ldquohttpsstatripenetrdquo and click on ldquoLoginrdquo

bull ldquohellipclick here to create onerdquo

15

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Tasksbull Create a MyView for a prefix containing the following

widgets

bull Routing Status

bull Looking Glass

bull Routing History

bull Create another MyView with a least two widgets and give it a meaningful name

16

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgets

17

Go to ldquoUse Casesrdquo gt ldquoCompare Resultsrdquo

Select a widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgetsbull Select the ldquoPrefix Size Distributionrdquo widget

bull Enter ldquoAS1205rdquo

18

Enter a resource

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull In-widget comparisonbull Country Routing Statistics

19

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Comparing Resources (Web)

bull Tasksbull Compare the number of announced prefixes for two

networks over the past two years using the widget comparison page

bull How does the Internet in Poland compare to the UK Use in-widget comparison

20

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Take action in an abuse case with the Abuse Contact Finder

21

Go to ldquoUse Casesrdquo gt ldquoLooking For Abuse Informationrdquo

In-depth information about abuse

Enter the IP address

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 22

Rating of the contact

Email contact to report abuse to

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 23

Details about the resource and abuse contact

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 16: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat2MyViews (Web)

bull Tasksbull Create a MyView for a prefix containing the following

widgets

bull Routing Status

bull Looking Glass

bull Routing History

bull Create another MyView with a least two widgets and give it a meaningful name

16

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgets

17

Go to ldquoUse Casesrdquo gt ldquoCompare Resultsrdquo

Select a widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgetsbull Select the ldquoPrefix Size Distributionrdquo widget

bull Enter ldquoAS1205rdquo

18

Enter a resource

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull In-widget comparisonbull Country Routing Statistics

19

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Comparing Resources (Web)

bull Tasksbull Compare the number of announced prefixes for two

networks over the past two years using the widget comparison page

bull How does the Internet in Poland compare to the UK Use in-widget comparison

20

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Take action in an abuse case with the Abuse Contact Finder

21

Go to ldquoUse Casesrdquo gt ldquoLooking For Abuse Informationrdquo

In-depth information about abuse

Enter the IP address

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 22

Rating of the contact

Email contact to report abuse to

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 23

Details about the resource and abuse contact

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 17: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgets

17

Go to ldquoUse Casesrdquo gt ldquoCompare Resultsrdquo

Select a widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgetsbull Select the ldquoPrefix Size Distributionrdquo widget

bull Enter ldquoAS1205rdquo

18

Enter a resource

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull In-widget comparisonbull Country Routing Statistics

19

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Comparing Resources (Web)

bull Tasksbull Compare the number of announced prefixes for two

networks over the past two years using the widget comparison page

bull How does the Internet in Poland compare to the UK Use in-widget comparison

20

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Take action in an abuse case with the Abuse Contact Finder

21

Go to ldquoUse Casesrdquo gt ldquoLooking For Abuse Informationrdquo

In-depth information about abuse

Enter the IP address

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 22

Rating of the contact

Email contact to report abuse to

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 23

Details about the resource and abuse contact

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 18: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull Compare results in different widgetsbull Select the ldquoPrefix Size Distributionrdquo widget

bull Enter ldquoAS1205rdquo

18

Enter a resource

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull In-widget comparisonbull Country Routing Statistics

19

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Comparing Resources (Web)

bull Tasksbull Compare the number of announced prefixes for two

networks over the past two years using the widget comparison page

bull How does the Internet in Poland compare to the UK Use in-widget comparison

20

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Take action in an abuse case with the Abuse Contact Finder

21

Go to ldquoUse Casesrdquo gt ldquoLooking For Abuse Informationrdquo

In-depth information about abuse

Enter the IP address

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 22

Rating of the contact

Email contact to report abuse to

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 23

Details about the resource and abuse contact

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 19: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Compare Resources (Web)

bull In-widget comparisonbull Country Routing Statistics

19

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Comparing Resources (Web)

bull Tasksbull Compare the number of announced prefixes for two

networks over the past two years using the widget comparison page

bull How does the Internet in Poland compare to the UK Use in-widget comparison

20

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Take action in an abuse case with the Abuse Contact Finder

21

Go to ldquoUse Casesrdquo gt ldquoLooking For Abuse Informationrdquo

In-depth information about abuse

Enter the IP address

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 22

Rating of the contact

Email contact to report abuse to

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 23

Details about the resource and abuse contact

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 20: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat3Comparing Resources (Web)

bull Tasksbull Compare the number of announced prefixes for two

networks over the past two years using the widget comparison page

bull How does the Internet in Poland compare to the UK Use in-widget comparison

20

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Take action in an abuse case with the Abuse Contact Finder

21

Go to ldquoUse Casesrdquo gt ldquoLooking For Abuse Informationrdquo

In-depth information about abuse

Enter the IP address

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 22

Rating of the contact

Email contact to report abuse to

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 23

Details about the resource and abuse contact

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 21: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Take action in an abuse case with the Abuse Contact Finder

21

Go to ldquoUse Casesrdquo gt ldquoLooking For Abuse Informationrdquo

In-depth information about abuse

Enter the IP address

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 22

Rating of the contact

Email contact to report abuse to

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 23

Details about the resource and abuse contact

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 22: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 22

Rating of the contact

Email contact to report abuse to

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 23

Details about the resource and abuse contact

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 23: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web) 23

Details about the resource and abuse contact

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 24: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat4Handling Abuse (Web)

bull Tasksbull What is the abuse contact for 19302022 or the hotel

network

bull Check an IP address from your home network

bull Discussion

bull What can you do in these casesbull No abuse contact found

bull No response on an abuse report

24

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 25: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Use BGPlay to see how your network is routedbull BGPlay is a tool that show the routing state in an animated

and highly-interactive manner

bull Go to httpsstatripenetwidgetbgplay

25

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 26: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 26

BGP event ASN or ASN path details

Control panel - Covered time period - RRC selection

Interactive graph visualisation

Selection timeline

Control timeline

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 27: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web) 27

Examples

- Prefix with announcements amp withdrawals 8420564024 - Check IPv6 connectivity 200167c2e848 - Multi-homed prefix 199780024

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 28: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat5Letrsquos BGPlay (Web)

bull Taskbull Find the up-stream provider for AS1205

bull Is AS3333 multi-homed

bull Check the IPv6 connectivity of your own network

28

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 29: Tutorial: Using RIPEstat

Advanced

RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 30: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Visualising raw databull What is the concept

bull The RIPEstat Widget API uses the RIPEstat Data API (or any other RESTful-API) to create visualisations helping to make the data more understandable

bull Build on top of open web standards (HTML CSS Javascript)

bull RIPEstat widget API documentationhttpsstatripenetdocswidget_api

30

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 31: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site 31

This ISP embedded widgets on its page

Prefix Count widget

AS Path Length widget

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 32: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat6Embedding Widgets On Your Site

bull Taskbull Create a simple dashboard page to monitor your network

bull Create a simple HTML pagebull Download the sample page

httpsstatripenetwidgetsdemowidget_homehtml

bull Embed three widgets of your choice

bull Make the widget smaller and remove the RIPEstat logo

32

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 33: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Using raw data outputbull What is the concept

bull The RIPEstat Data API provides the lowest level of access to data This data can be fed into custom applications or just used for scripting

bull RIPEstat data API documentationhttpsstatripenetdocsdata_api

33

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 34: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull Use your browser to retrieve all announced prefixes for

AS6714

34

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 35: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat7RIPEstat Data API

bull Tasksbull A simple check on a resource of your choice if it is seen on

the Internet

bull Create a simple script using resource-overview or routing-statushttpsstatripenetwidgetsdemoscript_mehtml

35

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 36: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check

bull Create a Nagios check using the RIPEstat Data APIbull Nagios is a monitoring tool that supports the development

of custom checks (like other monitoring tools)

bull Result codes for a check show the state

36

State Result Code

Ok 0

Warning 1

Error 2

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 37: Tutorial: Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

Using RIPEstat9Create a Nagios Check 37

if argstransit transit = argstransitsplit()origin = argsoriginsplit()nagios_status = 0origin_errors = 0transit_errors = 0nagios_message = url = httpssdatalooking-glassdatajsonresource=s (argsstatserver urllib2quote(argsprefix ))lookingglass_raw = urllib2urlopen(url)lookingglass_json = jsonload(lookingglass_raw)if lookingglass_json[data_call_status] = supported print WARN s is under maintance (argsstatserver) sysexit(1)for rrc in lookingglass_json[data][rrcs] for peer in lookingglass_json[data][rrcs][rrc][entries] aspath = peer[as_path]split() details = peer[details][0]split() peer_addr = details[0] nexthop = details[2] router_id = details[3] if len(aspath) gt argsminpath if aspath[-1] not in origin origin_errors += 1 nagios_message = nagios_message + ( Origin missmatch s (s) s (rrc peer_addr aspath[-1])) if argstransit if aspath[-2] not in transit transit_errors += 1 nagios_message = nagios_message + ( Transit missmatch s (s) s (rrc peer_addr aspath[-2]))if origin_errors == 0 and transit_errors == 0 nagios_message = OK s Origin is s (argsprefix argsorigin) if argstransit nagios_message = s and all transits match s (nagios_message argstransit) elif origin_errors gt= argscrit or transit_errors gt= argscrit nagios_status = 2 nagios_message = ERROR + nagios_messageelif origin_errors gt= argswarn or transit_errors gt= argswarn nagios_status = 1 nagios_message = WARN + nagios_message

Example of a Python based check

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38

Page 38: Tutorial: Using RIPEstat

Questions Using RIPEstat

Christian Teuschel - RIPE68 - 12 May 2014

38