[ixpmanager] Birdseye configurations

Barry O'Donovan barry.odonovan at inex.ie
Sat Mar 3 11:40:34 GMT 2018


Hi Muyiwa,

> I am running a test lab to understand how bird and Birdseye works 
> with IXP Manager. I was going through the router page in IXP Manager 
> and it says the handle option is used in API calls

So it's not actually used in the API calls. That was the intention (and
maybe still should be) but as it stands IXP Manager just GETs the API
URL as given (so the 'simple' method you're trying to use below or the
DNS method as described at:

https://github.com/inex/birdseye/blob/master/README.md#configuration

> and I am not sure how that will work since I am running only one
> instance of Bird (IPv4) on my machine with no DNS configurations.

Should be fine (but slightly unusual in a typical production environment
where you'd probably have v4 + v6).

> I have attached my results on both machines using the 
> "http://docs.ixpmanager.org/features/looking-glass/#debugging" 
> template.

Thanks!

> root at ixpm:~# ping 192.168.10.141 PING 192.168.10.141

Looks good.

> root at ixpm:~# curl -v http://192.168.10.141/api/status *   Trying 
> 192.168.10.141... * Connected to 192.168.10.141 (192.168.10.141)
> port 80 (#0)
>> GET /api/status HTTP/1.1 Host: 192.168.10.141 User-Agent: 
>> curl/7.47.0 Accept: */*
>> 
> < HTTP/1.1 404 Not Found 

Not good :-(

Looks like a lighttpd config issue as Birdseye throws a 500 (rather than
a 404).

This should work fine with just .env regardless of IXP Manager. You'll
need to concentrate on the Birdseye side of things. On face value, the
lighttpd file you sent looks fine but you'll need to go through it line
by line and test.

 - Barry


> DEVICE RUNNING BIRD AND BIRD'S EYE
> 
> root at ubuntu:~# ls -la /var/run/bird total 0 drwxrwxr-x  2 bird bird 
> 60 Feb 28 02:08 . drwxr-xr-x 27 root root 820 Feb 28 02:15 .. 
> srw-rw----  1 bird bird   0 Feb 28 02:08 bird.ctl
> 
> root at ubuntu:~# ls -la /srv/birdseye-v1.1.0/.env -rw-r--r-- 1 root 
> root 2892 Feb 22 07:31 /srv/birdseye-v1.1.0/.env
> 
> root at ubuntu:~# cat /srv/birdseye-v1.1.0/.env | egrep -v 
> '(^#)|(^\s*$)' BIRDC="/usr/bin/sudo /srv/birdseye-v1.1.0/bin/birdc
> -4 -s /var/run/bird/bird.ctl" CACHE_DRIVER=file 
> LOOKING_GLASS_ENABLED=true
> 
> root at ubuntu:~# /usr/sbin/birdc -s /var/run/bird/bird.ctl show status
>  BIRD 1.5.0 ready. BIRD 1.5.0 Router ID is 198.51.100.1 Current
> server time is 2018-02-28 03:07:57 Last reboot on 2018-02-28 02:08:32
> Last reconfiguration on 2018-02-28 02:08:32 Daemon is up and running
> 
> root at ubuntu:~# cat /etc/sudoers /etc/sudoers.d/* | grep birdseye 
> www-data   ALL=(ALL)  NOPASSWD: /srv/birdseye-v1.1.0/bin/birdc
> 
> root at ubuntu:~# /srv/birdseye-v1.1.0/bin/birdc -4 -s 
> /var/run/bird/bird.ctl show status BIRD 1.5.0 ready. Access 
> restricted BIRD 1.5.0 Router ID is 198.51.100.1 Current server time 
> is 2018-02-28 03:09:08 Last reboot on 2018-02-28 02:08:32 Last 
> reconfiguration on 2018-02-28 02:08:32 Daemon is up and running
> 
> root at ubuntu:~# netstat -lpn | grep lighttpd tcp        0      0 
> 192.168.10.141:80       0.0.0.0:*               LISTEN 4015/lighttpd
> unix  2      [ ACC ]     STREAM     LISTENING     52477 4039/php-cgi
> /var/run/lighttpd/php.socket-0
> 
> root at ubuntu:/# cat /etc/lighttpd/lighttpd.conf server.modules = ( 
> "mod_access", "mod_alias", "mod_compress", "mod_redirect", # 
> "mod_rewrite", )
> 
> server.document-root        = "/srv/birdseye-v1.1.0/public" 
> server.upload-dirs          = ( "/var/cache/lighttpd/uploads" ) 
> server.errorlog             = "/var/log/lighttpd/error.log" 
> server.pid-file             = "/var/run/lighttpd.pid"
> server.username = "www-data" server.groupname            = "www-data"
> server.port = "80" server.bind                 = "192.168.10.141"
> 
> index-file.names            = ( "index.php", "index.html", 
> "index.lighttpd.html" ) url.access-deny             = ( "~", ".inc" )
> static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
> 
> compress.cache-dir          = "/var/cache/lighttpd/compress/" 
> compress.filetype           = ( "application/javascript",
> "text/css", "text/html", "text/plain" )
> 
> # default listening port for IPv6 falls back to the IPv4 port ## Use 
> ipv6 if available #include_shell "/usr/share/lighttpd/use-ipv6.pl "
> + server.port include_shell 
> "/usr/share/lighttpd/create-mime.assign.pl" include_shell 
> "/usr/share/lighttpd/include-conf-enabled.pl"
> 
> url.redirect = () url.rewrite-once = ( 
> "^/(css|img|js|fonts)/.*\.(jpg|jpeg|gif|png|swf|avi|mpg|mpeg|mp3|flv|ico|css|js|woff|ttf)$"
>
> 
=> "$0", "^/(favicon\.ico|robots\.txt|sitemap\.xml)$" => "$0",
> "^/[^\?]*(\?.*)?$" => "index.php/$1" )
> 
> 
> 
> Best regards,
> 
> Muyiwa (IXPN)
> 
> 
> -----Original Message----- From: ixpmanager 
> [mailto:ixpmanager-bounces at inex.ie] On Behalf Of Barry O'Donovan 
> Sent: 22 February 2018 15:39 To: INEX IXP Manager Mailing List 
> <ixpmanager at inex.ie> Subject: Re: [ixpmanager] Birdseye 
> configurations
> 
> Hi Muyiwa,
> 
> can you work through:
> 
> http://docs.ixpmanager.org/features/looking-glass/#debugging
> 
> 
> Separately, Bird 1.5 is pretty old at this stage. We'd recommend 
> v1.6.3 which is very stable and supports large BGP communities.
> 
> - Barry
> 
> 
> m.daada at ixp.net.ng wrote:
>> Hello Guys,
>> 
>> 
>> 
>> I have followed all the steps in https://github.com/inex/birdseye 
>> to install Birdseye on a test router but I get an Error 404
>> message when I try to open the following URL
>>http://x.x.x.x/api/status”
>> 
>> 
>> 
>> ubuntu:# /srv/birdseye-v1.1.0/bin/birdc -4 -s 
>> /var/run/bird/bird.ctl show status
>> 
>> BIRD 1.5.0 ready.
>> 
>> Access restricted
>> 
>> BIRD 1.5.0
>> 
>> Router ID is 198.51.100.1
>> 
>> Current server time is 2018-02-22 04:52:54
>> 
>> Last reboot on 2018-02-22 04:35:08
>> 
>> Last reconfiguration on 2018-02-22 04:35:08
>> 
>> Daemon is up and running
>> 
>> 
>> 
>> ubuntu:# /usr/sbin/birdc -s /var/run/bird/bird.ctl show status
>> 
>> BIRD 1.5.0 ready.
>> 
>> BIRD 1.5.0
>> 
>> Router ID is 198.51.100.1
>> 
>> Current server time is 2018-02-22 05:26:34
>> 
>> Last reboot on 2018-02-22 04:35:08
>> 
>> Last reconfiguration on 2018-02-22 04:35:08
>> 
>> Daemon is up and running
>> 
>> 
>> 
>> ubuntu:# ls -la /var/run/bird
>> 
>> total 0
>> 
>> drwxrwxr-x  2 bird bird  60 Feb 22 04:35 .
>> 
>> drwxr-xr-x 27 root root 800 Feb 22 03:31 ..
>> 
>> srw-rw----  1 bird bird   0 Feb 22 04:35 bird.ctl
>> 
>> 
>> 
>> Lighttpd conf file:
>> 
>> 
>> 
>> 
>> 
>> server.modules = (
>> 
>> "mod_access",
>> 
>> "mod_alias",
>> 
>> "mod_compress",
>> 
>> "mod_redirect",
>> 
>> #       "mod_rewrite",
>> 
>> )
>> 
>> 
>> 
>> server.document-root        = "/srv/birdseye-v1.1.0/public"
>> 
>> server.upload-dirs          = ( "/var/cache/lighttpd/uploads" )
>> 
>> server.errorlog             = "/var/log/lighttpd/error.log"
>> 
>> server.pid-file             = "/var/run/lighttpd.pid"
>> 
>> server.username             = "www-data"
>> 
>> server.groupname            = "www-data"
>> 
>> server.port                 = "80"
>> 
>> server.bind                 = "x.x.x.x"
>> 
>> 
>> 
>> index-file.names            = ( "index.php", "index.html", 
>> "index.lighttpd.html$
>> 
>> url.access-deny             = ( "~", ".inc" )
>> 
>> static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
>> 
>> 
>> 
>> compress.cache-dir          = "/var/cache/lighttpd/compress/"
>> 
>> compress.filetype           = ( "application/javascript", 
>> "text/css", "text/htm$
>> 
>> 
>> 
>> # default listening port for IPv6 falls back to the IPv4 port
>> 
>> ## Use ipv6 if available
>> 
>> #include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
>> 
>> include_shell "/usr/share/lighttpd/create-mime.assign.pl"
>> 
>> include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
>> 
>> url.redirect = ()
>> 
>> url.rewrite-once = (
>> 
>> 
>> "^/(css|img|js|fonts)/.*\.(jpg|jpeg|gif|png|swf|avi|mpg|mpeg|mp3|flv|i
>>
>>
>> 
c$
>> 
>> "^/(favicon\.ico|robots\.txt|sitemap\.xml)$" => "$0",
>> 
>> "^/[^\?]*(\?.*)?$" => "index.php/$1"
>> 
>> )
>> 
>> 
>> 
>> I also created a phpinfo file in “/srv/birdseye-v1.1.0” and I can 
>> access that page via x.x.x.x/phpinfo.php so I know lighttpd and
>> php works.
>> 
>> 
>> 
>> Best regards,
>> 
>> 
>> 
>> Muyiwa (IXPN)
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
>>
>>
>> 
Virus-free. www.avg.com
>> <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&u
>>
>>
>> 
tm_campaign=sig-email&utm_content=emailclient>
>> 
>> 
>> <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>> 
>> _______________________________________________ INEX IXP Manager 
>> mailing list ixpmanager at inex.ie 
>> https://www.inex.ie/mailman/listinfo/ixpmanager
> 

-- 

Kind regards,
Barry O'Donovan
INEX Operations

https://www.inex.ie/support/
+353 1 531 3339




More information about the ixpmanager mailing list