Skip to content

Y.1731 monitoring with iAgent

wouyang628 edited this page May 6, 2020 · 8 revisions

Y.1731 monitoring with iAgent

configure Ethernet OAM on the routers. make sure Y1731.yml is saved under /var/local/healthbot/input

vMX-1

set protocols oam ethernet connectivity-fault-management performance-monitoring sla-iterator-profiles i1 measurement-type two-way-delay
set protocols oam ethernet connectivity-fault-management performance-monitoring sla-iterator-profiles i1 cycle-time 1000
set protocols oam ethernet connectivity-fault-management performance-monitoring sla-iterator-profiles i1 iteration-period 10
set protocols oam ethernet connectivity-fault-management traceoptions file eoam_cfm.log
set protocols oam ethernet connectivity-fault-management traceoptions file size 1g
set protocols oam ethernet connectivity-fault-management traceoptions file files 2
set protocols oam ethernet connectivity-fault-management traceoptions file world-readable
set protocols oam ethernet connectivity-fault-management traceoptions flag all
set protocols oam ethernet connectivity-fault-management linktrace path-database-size 255
set protocols oam ethernet connectivity-fault-management linktrace age 10s
set protocols oam ethernet connectivity-fault-management maintenance-domain md6 level 6
set protocols oam ethernet connectivity-fault-management maintenance-domain md6 maintenance-association ma6 continuity-check interval 100ms
set protocols oam ethernet connectivity-fault-management maintenance-domain md6 maintenance-association ma6 continuity-check hold-interval 1
set protocols oam ethernet connectivity-fault-management maintenance-domain md6 maintenance-association ma6 mep 201 interface ge-0/0/6.0
set protocols oam ethernet connectivity-fault-management maintenance-domain md6 maintenance-association ma6 mep 201 direction down
set protocols oam ethernet connectivity-fault-management maintenance-domain md6 maintenance-association ma6 mep 201 auto-discovery
set protocols oam ethernet connectivity-fault-management maintenance-domain md6 maintenance-association ma6 mep 201 remote-mep 101 sla-iterator-profile i1

vMX-2

set protocols oam ethernet connectivity-fault-management traceoptions file eoam_cfm.log
set protocols oam ethernet connectivity-fault-management traceoptions file size 1g
set protocols oam ethernet connectivity-fault-management traceoptions file files 2
set protocols oam ethernet connectivity-fault-management traceoptions file world-readable
set protocols oam ethernet connectivity-fault-management traceoptions flag all
set protocols oam ethernet connectivity-fault-management linktrace path-database-size 255
set protocols oam ethernet connectivity-fault-management linktrace age 10s
set protocols oam ethernet connectivity-fault-management maintenance-domain md6 level 6
set protocols oam ethernet connectivity-fault-management maintenance-domain md6 maintenance-association ma6 continuity-check interval 100ms
set protocols oam ethernet connectivity-fault-management maintenance-domain md6 maintenance-association ma6 continuity-check hold-interval 1
set protocols oam ethernet connectivity-fault-management maintenance-domain md6 maintenance-association ma6 mep 101 interface ge-0/0/6.0
set protocols oam ethernet connectivity-fault-management maintenance-domain md6 maintenance-association ma6 mep 101 direction down
set protocols oam ethernet connectivity-fault-management maintenance-domain md6 maintenance-association ma6 mep 101 auto-discovery

sample show command outout:

jcluser@vMX-1> show oam ethernet connectivity-fault-management sla-iterator-history | display xml
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/18.2R1/junos">
    <cfm-iterator-history xmlns="http://xml.juniper.net/junos/18.2R1/junos-cfm">
        <cfm-dm-history-record-entry>
            <cfm-iterator-name>i1</cfm-iterator-name>
            <cfm-iterator-type>DM</cfm-iterator-type>
            <cfm-iterator-counter-start-time>1970-01-01 00:00:00 UTC</cfm-iterator-counter-start-time>
            <cfm-iterator-status>RUNNING</cfm-iterator-status>
            <cfm-maintenance-domain-name>md6</cfm-maintenance-domain-name>
            <cfm-maintenance-association-name>ma6</cfm-maintenance-association-name>
            <cfm-local-mep-identifier>201</cfm-local-mep-identifier>
            <cfm-remote-mep-identifier>101</cfm-remote-mep-identifier>
            <cfm-weighted-average-twoway-delay>1071</cfm-weighted-average-twoway-delay>
            <cfm-weighted-average-bestcase-twoway-delay>677</cfm-weighted-average-bestcase-twoway-delay>
            <cfm-weighted-average-worstcase-twoway-delay>54060</cfm-weighted-average-worstcase-twoway-delay>
        </cfm-dm-history-record-entry>
        <cfm-dm-history-record-entry>
            <cfm-iterator-name>i1</cfm-iterator-name>
            <cfm-iterator-type>DM</cfm-iterator-type>
            <cfm-iterator-counter-start-time>1970-01-01 00:00:00 UTC</cfm-iterator-counter-start-time>
            <cfm-iterator-status>RUNNING</cfm-iterator-status>
            <cfm-maintenance-domain-name>md6</cfm-maintenance-domain-name>
            <cfm-maintenance-association-name>ma6</cfm-maintenance-association-name>
            <cfm-local-mep-identifier>201</cfm-local-mep-identifier>
            <cfm-remote-mep-identifier>101</cfm-remote-mep-identifier>
            <cfm-weighted-average-twoway-delay>957</cfm-weighted-average-twoway-delay>
            <cfm-weighted-average-bestcase-twoway-delay>751</cfm-weighted-average-bestcase-twoway-delay>
            <cfm-weighted-average-worstcase-twoway-delay>63798</cfm-weighted-average-worstcase-twoway-delay>
        </cfm-dm-history-record-entry>
        ......
        <cfm-dm-history-record-entry>
            <cfm-iterator-name>i1</cfm-iterator-name>
            <cfm-iterator-type>DM</cfm-iterator-type>
            <cfm-iterator-counter-start-time>1970-01-01 00:00:00 UTC</cfm-iterator-counter-start-time>
            <cfm-iterator-status>RUNNING</cfm-iterator-status>
            <cfm-maintenance-domain-name>md6</cfm-maintenance-domain-name>
            <cfm-maintenance-association-name>ma6</cfm-maintenance-association-name>
            <cfm-local-mep-identifier>201</cfm-local-mep-identifier>
            <cfm-remote-mep-identifier>101</cfm-remote-mep-identifier>
            <cfm-weighted-average-twoway-delay>1177</cfm-weighted-average-twoway-delay>
            <cfm-weighted-average-bestcase-twoway-delay>651</cfm-weighted-average-bestcase-twoway-delay>
            <cfm-weighted-average-worstcase-twoway-delay>53437</cfm-weighted-average-worstcase-twoway-delay>
        </cfm-dm-history-record-entry>
    </cfm-iterator-history>
    <cli>
        <banner></banner>
    </cli>
</rpc-reply>

create and upload the Y1731.yml to be uploaded to Healthbot for rules configuration

---
CFMiteratorTable:
    rpc: get-cfm-iterator-history
    item: cfm-dm-history-record-entry
    key: cfm-iterator-name
    view: CFMiteratorView

CFMiteratorView:
    fields:
        cfm-iterator-type: cfm-iterator-type
        cfm-weighted-average-twoway-delay: cfm-weighted-average-twoway-delay

Upload the Y1731.yml from Healthbot GUI:

From the Healthbot GUI, Configure the rule to collect the two way delay with iAgent

From Healthbot GUI playbook, create the playbook and instance.

Alternatively, you can create the rule and playbook from the Healthbot CLI. Login to Healthbot server and go to Healthbot command line interface. Make sure that you have uploaded the Y1731.yml to the Healthbot server under /var/local/healthbot/input

cluser@ubuntu:~$ healthbot mgd cli
docker-compose -p healthbot -f /var/local/healthbot/healthbot_mgd.yaml exec mgd /usr/sbin/cli
root@4fd65b97eacd> request iceberg load
Getting "retention-policy" hierarchy configuration
Success !!!
Getting "notification" hierarchy configuration
Success !!!
Getting "device" hierarchy configuration
Success !!!
Getting "topic" hierarchy configuration
Success !!!
Getting "playbook" hierarchy configuration
Success !!!
Getting "device-group" hierarchy configuration
Success !!!
Getting "network-group" hierarchy configuration
Success !!!
Getting "system-settings" hierarchy configuration
Success !!!
Successfully loaded the configuration !!!
set iceberg topic iagent.1731 rule iagent1731 keys cfm-iterator-name
set iceberg topic iagent.1731 rule iagent1731 sensor cfm-iterator-history iAgent file Y1731.yml
set iceberg topic iagent.1731 rule iagent1731 sensor cfm-iterator-history iAgent table CFMiteratorTable
set iceberg topic iagent.1731 rule iagent1731 sensor cfm-iterator-history iAgent frequency 10s
set iceberg topic iagent.1731 rule iagent1731 field cfm-iterator-name sensor cfm-iterator-history path cfm-iterator-name
set iceberg topic iagent.1731 rule iagent1731 field cfm-iterator-name type string
set iceberg topic iagent.1731 rule iagent1731 field cfm-iterator-type sensor cfm-iterator-history path cfm-iterator-type
set iceberg topic iagent.1731 rule iagent1731 field cfm-iterator-type type string
set iceberg topic iagent.1731 rule iagent1731 field cfm-twoway-delay sensor cfm-iterator-history path cfm-weighted-average-twoway-delay
set iceberg topic iagent.1731 rule iagent1731 field cfm-twoway-delay type integer
set iceberg topic iagent.1731 rule iagent1731 field cfm-twoway-delay description cfm-weighted-average-twoway-delay
set iceberg topic iagent.1731 rule iagent1731 trigger trigger term Term_1 then status color green
set iceberg topic iagent.1731 rule iagent1731 trigger trigger term Term_1 then status message "cfm-iterator-name $cfm-iterator-name cfm-weighted-average-twoway-delay $cfm-twoway-delay "

set iceberg playbook iagent1731 rules iagent.1731/iagent1731
set iceberg playbook iagent1731 description ""
set iceberg playbook iagent1731 synopsis ""