<html><head>

<style id="css_styles" type="text/css">blockquote.cite { margin-left: 5px; margin-right: 0px; padding-left: 10px; padding-right:0px; border-left: 1px solid #cccccc }
blockquote.cite2 {margin-left: 5px; margin-right: 0px; padding-left: 10px; padding-right:0px; border-left: 1px solid #cccccc; margin-top: 3px; padding-top: 0px; }
a img { border: 0px; }
li[style='text-align: center;'], li[style='text-align: right;'] {  list-style-position: inside;}
body { font-family: Calibri; font-size: 10pt;   }</style></head><body class="plain"><div>Hello Barry,</div><div><br /></div><div>These are the changes I made below.</div><div><br /></div><div>####################################################################################################################</div><div><br /></div><div><b><i>Edit the .env file on birdseye directory</i></b>.</div><div><br /></div><div><b><i><font color="#ff0000">Lighttpd.conf</font></i></b></div><div><br /></div><div>root@testbirdv1:/srv/birdseye-v1.2.2#</div><div><font color="#ff0000"><i><br /></i></font></div><div><font color="#ff0000"><i>root@testbirdv1:/srv/birdseye-v1.2.2#vim .env</i></font></div><div><br /></div><div>#</div><div><br /></div><div># Bird's Eye - see https://github.com/inex/birdseye</div><div><br /></div><div>#</div><div><br /></div><div># Values that are commented show their default setting.</div><div><br /></div><div># To query Bird securely, we use a wrapper script</div><div><br /></div><div><b><font color="#ff0000">BIRDC="/usr/bin/sudo /srv/birdseye-v1.2.2/bin/birdc -2 -s /var/run/bird/bird.ctl"</font></b></div><div><br /></div><div># We use caching as a natural API -> birdc rate limiter</div><div><br /></div><div># Changing to 'array' will disable the cache but this is strongly discouraged</div><div><br /></div><div># [this is Memcache for 127.0.0.1:11211 by default]</div><div><br /></div><div>CACHE_DRIVER=file</div><div><br /></div><div># A cache key is required only if relying on a default .env configuration.</div><div><br /></div><div># If you're relying on the automated configuration discovery detailed at:</div><div><br /></div><div># https://github.com/inex/birdseye#configuration</div><div><br /></div><div># then this is set automatically and appropriatly.</div><div><br /></div><div># BIRDSEYE_CACHE_KEY="SomeCacheKey"</div><div><br /></div><div># Set to true for testing / debugging.</div><div><br /></div><div># This will provide stack dumps and reveal internal logic / configuration.</div><div><br /></div><div># It also added "env" and "cache_disabled" to the api section of responses.</div><div><br /></div><div>APP_DEBUG=true</div><div><br /></div><div># This micro server also includes a built in looking glass which can be enabled by setting this to true</div><div><br /></div><div># The loogking glass is really just to deomostrate the API and uses the same API calls internally as</div><div><br /></div><div># are publically available. If enabled, it's available under /lg</div><div><br /></div><div><font color="#ff0000"><b>LOOKING_GLASS_ENABLED=true</b></font></div><div><br /></div><div># Page title for looking glass [note: {!VERSION!} will be replaced with the actual version]</div><div><br /></div><div>LOOKING_GLASS_TITLE="Bird's Eye Looking Glass - API V{!VERSION!}"</div><div><br /></div><div># The LG displays the BGP protocol description. These can sometimes be internal</div><div><br /></div><div># machine generated / unwieldy strings. If you want to pluck out just a bit of</div><div><br /></div><div># this you can set a regex here and, when valid and matches against the description,</div><div><br /></div><div># it plucks the first subpattern match (i.e. (xxx) ) and sets that in</div><div><br /></div><div># the API response as description_short. The frontend LG will also prefer this if set.</div><div><br /></div><div>#</div><div><br /></div><div># Note that the system adds anchors and Bird output matching so the evaluated regex is:</div><div><br /></div><div># '/^\s+Description:\s+' . env( 'PARSER_PROTOCOL_BGP_DESCRIPTION' ) . '$/'</div><div><br /></div><div>#</div><div><br /></div><div># E.g. to pluck 'ppp-rb01' out of 'RR Client - ppp-rb01', you might use:</div><div><br /></div><div># PARSER_PROTOCOL_BGP_DESCRIPTION=".*\s+([a-zA-Z0-9\-_]+)"</div><div><br /></div><div>#</div><div><br /></div><div>#PARSER_PROTOCOL_BGP_DESCRIPTION=""</div><div><br /></div><div>###################################################################################################################</div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div>###############################################################################################</div><div><br /></div><div><b><i><font color="#ff0000">Vim /etc/lighttpd/lighttpd.conf</font></i></b></div><div><br /></div><div># Sample Bird's Eye Lighttpd config - just added a small amount to</div><div><br /></div><div># the standard Lighttpd configuration.</div><div><br /></div><div>server.modules = (</div><div><br /></div><div>"mod_access",</div><div><br /></div><div>"mod_alias",</div><div><br /></div><div>"mod_compress",</div><div><br /></div><div>"mod_redirect",</div><div><i><br /></i></div><div><b><font color="#ff0000"><i>"mod_rewrite",</i></font></b></div><div><br /></div><div>)</div><div><br /></div><div>server.document-root =<i><font color="#ff0000"><b>"/srv/birdseye-v1.2.2/public"</b></font></i></div><div><br /></div><div>server.upload-dirs = ( "/var/cache/lighttpd/uploads" )</div><div><br /></div><div>server.errorlog = "/var/log/lighttpd/error.log"</div><div><br /></div><div>server.pid-file = "/var/run/lighttpd.pid"</div><div><br /></div><div>server.username = "www-data"</div><div><br /></div><div>server.groupname = "www-data"</div><div><br /></div><div>server.port = 80</div><div><br /></div><div>server.bind =     <i> <b><font color="#ff0000">"server IP address"</font></b></i></div><div><br /></div><div>index-file.names = ( "index.php", "index.html", "index.lighttpd.html" )</div><div><br /></div><div>url.access-deny = ( "~", ".inc" )</div><div><br /></div><div>static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )</div><div><br /></div><div>compress.cache-dir = "/var/cache/lighttpd/compress/"</div><div><br /></div><div>compress.filetype = ( "application/javascript", "text/css", "text/html", "text/plain" )</div><div><br /></div><div># default listening port for IPv6 falls back to the IPv4 port</div><div><br /></div><div>## Use ipv6 if available</div><div><br /></div><div>#include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port</div><div><br /></div><div>include_shell "/usr/share/lighttpd/create-mime.assign.pl"</div><div><br /></div><div>include_shell "/usr/share/lighttpd/include-conf-enabled.pl"</div><div><br /></div><div><b><font color="#ff0000"><i>url.redirect = ()</i></font></b></div><div><b><font color="#ff0000"><i><br /></i></font></b></div><div><b><font color="#ff0000"><i>url.rewrite-once = (</i></font></b></div><div><b><font color="#ff0000"><i><br /></i></font></b></div><div><b><font color="#ff0000"><i>"^/(css|img|js|fonts)/.*\.(jpg|jpeg|gif|png|swf|avi|mpg|mpeg|mp3|flv|ico|css|js|woff|ttf)$" => "$0",</i></font></b></div><div><b><font color="#ff0000"><i><br /></i></font></b></div><div><b><font color="#ff0000"><i>"^/(favicon\.ico|robots\.txt|sitemap\.xml)$" => "$0",</i></font></b></div><div><b><font color="#ff0000"><i><br /></i></font></b></div><div><b><font color="#ff0000"><i>"^/test\.php$" => "$0",</i></font></b></div><div><b><font color="#ff0000"><i><br /></i></font></b></div><div><b><font color="#ff0000"><i>"^/[^\?]*(\?.*)?$" => "index.php/$1"</i></font></b></div><div><b><font color="#ff0000"><i><br /></i></font></b></div><div><b><font color="#ff0000"><i>)</i></font></b></div><div><br /></div><div><br /></div>
<div><br /></div>
<div>------ Original Message ------</div>
<div>From: "Barry O'Donovan" <barry.odonovan@inex.ie></div>
<div>To: "Ikusan Charles" <c.ikusan@ixp.net.ng></div>
<div>Cc: ixpmanager@inex.ie; noc@ixp.net.ng</div>
<div>Sent: 30-Apr-20 8:57:56 AM</div>
<div>Subject: Re: [ixpmanager] Birdseye Looking Glass error version.</div><div><br /></div>
<div id="xe297e49dff4c47e"><blockquote type="cite" class="cite2">

<div class="plain_line">That's great Charles.</div>
<div class="plain_line"> </div>
<div class="plain_line">I didn't have a chance to follow up here but if there is a learning / solution that would help future people reading the mailing list, a followup from you here would be useful.</div>
<div class="plain_line"> </div>
<div class="plain_line">  -barry</div>
<div class="plain_line"> </div>
<div class="plain_line">Ikusan Charles wrote on 29/04/2020 22:01:</div>
<blockquote type="cite" class="cite">
<div class="plain_line">Hello Barry,</div>
<div class="plain_line"> </div>
<div class="plain_line">We were able to get the Birdseye working thanks for your support.</div>
<div class="plain_line"> </div>
<div class="plain_line">Regards,</div>
<div class="plain_line"> </div>
<div class="plain_line">Charles.</div>
<div class="plain_line"> </div>
<div class="plain_line">                *Ikusan Charles* <https://spikenow.com/r/a/?ref=spike-organic-signature&_ts=hjtg5>    hjtg5</div>
<div class="plain_line"> </div>
<div class="plain_line">Warm Regards,</div>
<div class="plain_line"> </div>
<div class="plain_line">Ikusan Charles A.</div>
<div class="plain_line"> </div>
<div class="plain_line">Network Engineer / Monitoring | Internet eXchange Point of Nigeria IXPN</div>
<div class="plain_line"> </div>
<div class="plain_line">Office: 8th Floor, NCR Building, 6 Broad Street, Marina, Lagos.</div>
<div class="plain_line"> </div>
<div class="plain_line">Phone:+234 (0)700 CALL-IXPN, +234 (0)8035606131, +234 (0)8093878116</div>
<div class="plain_line"> </div>
<div class="plain_line">www.ixp.net.ng   |noc@ixp.net.ng  |www.twitter.com/IXPN_NG  |www.facebook.com/IXPNigeria</div>
<div class="plain_line"> </div>
<div class="plain_line"> </div>
<div class="plain_line"> </div>
<div class="plain_line">On April 24, 2020 at 21:10 GMT, Ikusan Charles Abimbola <c.ikusan@ixp.net.ng <mailto:c.ikusan@ixp.net.ng>> wrote:</div>
<div class="plain_line"> </div>
<div class="plain_line"> </div>
<div class="plain_line">    Hello Barry,</div>
<div class="plain_line"> </div>
<div class="plain_line">    I made some adjustments as suggested, kindly see the output below.</div>
<div class="plain_line"> </div>
<div class="plain_line"> </div>
<div class="plain_line"> </div>
<div class="plain_line">    Observation</div>
<div class="plain_line">    1.. The script provided with the IXP Manager will name the socket</div>
<div class="plain_line">    using the router handle used in IXP Manager, that is,</div>
<div class="plain_line">    /var/run/bird/rs1-ipv4.ctl.</div>
<div class="plain_line">    https://docs.ixpmanager.org/features/routers/#managing-routers</div>
<div class="plain_line"> </div>
<div class="plain_line">    2. The fact that bird.ctl exist indicates that the default Bird</div>
<div class="plain_line">    instance still runs. We need to uninstall the default bird running.</div>
<div class="plain_line">    You need to ensure the removal of default bird 9 e.g</div>
<div class="plain_line">    /etc/bird/bird(6).conf</div>
<div class="plain_line">    systemctl stop bird.service</div>
<div class="plain_line">    systemctl stop bird6.service</div>
<div class="plain_line">    systemctl disable bird.service</div>
<div class="plain_line">    systemctl disable bird6.service</div>
<div class="plain_line"> </div>
<div class="plain_line"> </div>
<div class="plain_line">    3. So, you have configured Birdseye to look for</div>
<div class="plain_line">    /var/run/bird/rs1-lan1-ipv4.cvitl but that doesn't exist because</div>
<div class="plain_line">    your Bird</div>
<div class="plain_line">    is not running. Also ensure this matches the handle as explained above.</div>
<div class="plain_line"> </div>
<div class="plain_line"> </div>
<div class="plain_line"> </div>
<div class="plain_line">    N.B:</div>
<div class="plain_line"> </div>
<div class="plain_line">    I have an existing birdv1 and birdseye running without the use of</div>
<div class="plain_line">    Domain names and it works currently.</div>
<div class="plain_line">    Regards,</div>
<div class="plain_line"> </div>
<div class="plain_line">    Charles.</div>
<div class="plain_line"> </div>
<div class="plain_line">    ------ Original Message ------</div>
<div class="plain_line">    From: "Barry O'Donovan" <barry.odonovan@inex.ie></div>
<div class="plain_line">    To: "Ikusan Charles Abimbola" <c.ikusan@ixp.net.ng></div>
<div class="plain_line">    Cc: "INEX IXP Manager Users Mailing List" <ixpmanager@inex.ie>;</div>
<div class="plain_line">    "noc@ixp.net.ng" <noc@ixp.net.ng></div>
<div class="plain_line">    Sent: 23-Apr-20 7:39:18 AM</div>
<div class="plain_line">    Subject: Re: [ixpmanager] Birdseye Looking Glass error version.</div>
<div class="plain_line"> </div>
<blockquote type="cite" class="cite2">
<div class="plain_line">    Hi Charles,</div>
<div class="plain_line">    from what you've provided below, this isn't really a Birdseye issue.</div>
<div class="plain_line">    There is also many examples of similar issues in this mailing list</div>
<div class="plain_line">    history - please Google: birdseye site:www.inex.ie</div>
<div class="plain_line">    First, you have:</div>
<div class="plain_line">    root@ixp-manager:/srv/ixpmanager# curl -v</div>
<div class="plain_line">    http://196.216.148.190/api/status</div>
<div class="plain_line">    Typically you would have two Bird instances per machine (ipv4 and</div>
<div class="plain_line">    ipv6 per peering VLAN). For Birdseye to differentiate between</div>
<div class="plain_line">    which one you want, it requires you to use domain names - this is</div>
<div class="plain_line">    explained here:</div>
<div class="plain_line">    https://github.com/inex/birdseye#configuration</div>
<div class="plain_line">    i.e. using 196.216.148.190 above will not work.</div>
<blockquote type="cite" class="cite">
<div class="plain_line">    *root@birdtest:/etc/bird# ls -la /var/run/bird*</div>
<div class="plain_line">    */total 0</div>
<div class="plain_line">    drwxrwxr-x  2 bird bird  60 Apr 14 19:13 .</div>
<div class="plain_line">    drwxr-xr-x 28 root root 940 Apr 23 01:47 ..</div>
<div class="plain_line">    srw-rw----  1 bird bird   0 Apr 14 19:13 bird.ctl</div>
</blockquote>
<div class="plain_line">    This indicates an additional issue with your route server</div>
<div class="plain_line">    configuration. The scripts we provide with IXP Manager will name</div>
<div class="plain_line">    the socket using the router handle you used in IXP Manager. i.e.</div>
<div class="plain_line">    this should be called:</div>
<div class="plain_line">    /var/run/bird/rs1-ipv4.ctl</div>
<div class="plain_line">    or similar. Again, it's the handle /you/ chose in IXP Manager -</div>
<div class="plain_line">    first input field here:</div>
<div class="plain_line">    https://docs.ixpmanager.org/features/routers/#managing-routers</div>
<div class="plain_line">    The fact that bird.ctl exists indicates that the default Bird</div>
<div class="plain_line">    instance is running - the one you get when you 'apt install bird'.</div>
<div class="plain_line">    Depending on operating system, you need to ensure this doesn't run</div>
<div class="plain_line">    by removing the default configuration file (e.g.</div>
<div class="plain_line">    /etc/bird/bird[6].conf and stopping the service:</div>
<div class="plain_line">    systemctl stop bird.service</div>
<div class="plain_line">    systemctl stop bird6.service</div>
<div class="plain_line">    systemctl disable bird.service</div>
<div class="plain_line">    systemctl disable bird6.service</div>
<div class="plain_line">    NB: this is a guess as we install from source currently:</div>
<div class="plain_line">    https://docs.ixpmanager.org/features/rpki/#enabling-rpki</div>
<div class="plain_line">    Because this default version is running, it may prevent your IXP</div>
<div class="plain_line">    Manager versions from starting as there will already be a daemon</div>
<div class="plain_line">    listening on port *:179.</div>
<blockquote type="cite" class="cite">
<div class="plain_line">    *root@birdtest:/srv/birdseye-1.2.0# cat /srv/birdseye-1.2.0/*env</div>
<div class="plain_line">    | egrep -v '(^#)|(^\s*$)'*</div>
<div class="plain_line">    *BIRDC="/usr/bin/sudo /srv/birdseye/bin/birdc -2 -s</div>
<div class="plain_line">    /var/run/bird/rs1-lan1-ipv4.ctl"*</div>
</blockquote>
<div class="plain_line">    So you have configured Birdseye to look for</div>
<div class="plain_line">    /var/run/bird/rs1-lan1-ipv4.ctl but that doesn't exist because</div>
<div class="plain_line">    your Bird is not running. Also ensure this matches the handle as</div>
<div class="plain_line">    explained above.</div>
<div class="plain_line">    - Barry</div>
<blockquote type="cite" class="cite">
<div class="plain_line">    *root@birdtest:/srv/birdseye-1.2.0# /usr/sbin/birdc -s</div>
<div class="plain_line">    /var/run/bird/bird.ctl show status*</div>
<div class="plain_line">    *BIRD 2.0.7 ready.*</div>
<div class="plain_line">    *BIRD 2.0.7*</div>
<div class="plain_line">    *Router ID is 198.51.100.2*</div>
<div class="plain_line">    *Current server time is 2020-04-23 03:50:20*</div>
<div class="plain_line">    *Last reboot on 2020-04-14 19:13:44*</div>
<div class="plain_line">    *Last reconfiguration on 2020-04-23 03:10:03*</div>
<div class="plain_line">    *Daemon is up and running*</div>
<div class="plain_line">    *</div>
<div class="plain_line">    *</div>
<div class="plain_line">    *</div>
<div class="plain_line">    *</div>
<div class="plain_line">    *root@birdtest:/srv/birdseye-1.2.0# netstat -lpn | grep lighttpd</div>
<div class="plain_line">    tcp        0      0 0.0.0.0:80              0.0.0.0:*  LISTEN         22977/lighttpd</div>
<div class="plain_line">    unix  2      [ ACC ]     STREAM     LISTENING     3755379</div>
<div class="plain_line">    22978/php-cgi        /var/run/lighttpd/php.socket-0*</div>
<div class="plain_line">    https://pastebin.ibn.ie/?4e784b3779dc96f3#7vTGoVDAeBJCnvLzQkfZoRNRoDkNuEBCkqUAL2D7eB4X</div>
<div class="plain_line">    ------ Original Message ------</div>
<div class="plain_line">    From: "Barry O'Donovan" <barry.odonovan@inex.ie></div>
<div class="plain_line">    To: "INEX IXP Manager Users Mailing List" <ixpmanager@inex.ie>;</div>
<div class="plain_line">    "Ikusan Charles" <c.ikusan@ixp.net.ng></div>
<div class="plain_line">    Sent: 15-Apr-20 12:09:18 AM</div>
<div class="plain_line">    Subject: Re: [ixpmanager] Birdseye Looking Glass error version.</div>
<blockquote type="cite" class="cite">
<div class="plain_line">    Nick Hilliard (INEX) wrote on 14/04/2020 23:49:</div>
<blockquote type="cite" class="cite">
<div class="plain_line">    Ikusan Charles wrote on 14/04/2020 23:17:</div>
<blockquote type="cite" class="cite">
<div class="plain_line">    I followed your advice by using different vm for bird2 and</div>
<div class="plain_line">    ixpmanager but can't get the birdseye working.</div>
<div class="plain_line">    I will appreciate if anyone could assist.</div>
</blockquote>
<div class="plain_line">    Hi Charles,</div>
<div class="plain_line">    Can you check out the paragraph entitled "The Best Way to Ask</div>
<div class="plain_line">    for Help" at https://www.ixpmanager.org/support?</div>
</blockquote>
<div class="plain_line">    Also, I previously provided this link:</div>
<div class="plain_line">    https://docs.ixpmanager.org/features/looking-glass/#debugging</div>
<div class="plain_line">    which asks anyone with issues to:</div>
<blockquote type="cite" class="cite">
<div class="plain_line">    email the IXP Manager mailing list with the output of all of</div>
<div class="plain_line">    the following commands from both sections.</div>
</blockquote>
<div class="plain_line">    - Barry</div>
</blockquote>
</blockquote>
<div class="plain_line">    --</div>
<div class="plain_line">    Kind regards,</div>
<div class="plain_line">    Barry O'Donovan</div>
<div class="plain_line">    INEX Operations</div>
<div class="plain_line">    https://www.inex.ie/support/</div>
<div class="plain_line">    +353 1 531 3339</div>
</blockquote>
<div class="plain_line"> </div>
</blockquote>
<div class="plain_line"> </div>
<div class="plain_line"> </div>
<div class="plain_line">--</div>
<div class="plain_line">Kind regards,</div>
<div class="plain_line">Barry O'Donovan</div>
<div class="plain_line">INEX Operations</div>
<div class="plain_line"> </div>
<div class="plain_line">https://www.inex.ie/support/</div>
<div class="plain_line">+353 1 531 3339</div>
<div class="plain_line"> </div>
<div class="plain_line"> </div>
</blockquote></div>
</body></html>