Skip to content
This repository has been archived by the owner on Oct 11, 2020. It is now read-only.

Jtimon troubleshooting

Khelil Sator edited this page Mar 8, 2019 · 2 revisions

This wiki page can be useful for troubleshooting purpose.

About Jtimon

jtimon is a grpc client.
it is opensourced and written in GO

https://github.com/nileshsimaria/jtimon

Jtimon and Healthbot

Healthbot uses jtimon to collect telemetry on junos devices

Configure healthbot to collect telemetry on Junos devices.

Run this command to execute the script enforce_interfaces_admin_status.py
This script will configure healthbot to subscribe to the openconfig resource /interfaces on devices vMX1 to vMX7 with a frequency of 15s.

$ python ./enforce_interfaces_admin_status.py

To Display information about sensors, run this command on a Junos device:

jcluser@vMX1> show agent sensors

To verify if there is an established connection between jtimon (grpc client) and a Junos device (grpc server), run this command on a Junos device:

jcluser@vMX1> show system connections | grep 32768
tcp4       0      0  100.123.1.0.32768                             100.123.35.0.53404                            ESTABLISHED
tcp46      0      0  *.32768                                       *.*                                           LISTEN

Jtimon hands on

Run these commands on healthbot to connect to jtimon container

$ docker ps | grep jtimon
$ docker exec -it <container-id> sh

Example with container_id 25791fbca153

$ docker exec -it 25791fbca153 sh
/u #

Run this command on jtimon container to read the jtimon config-file-list

/u # more /etc/jtimon/jti_oc_jtimon.json
{
    "config_file_list": [
        "/etc/jtimon/configs/vMX1.conf",
        "/etc/jtimon/configs/vMX2.conf",
        "/etc/jtimon/configs/vMX3.conf",
        "/etc/jtimon/configs/vMX4.conf",
        "/etc/jtimon/configs/vMX5.conf",
        "/etc/jtimon/configs/vMX6.conf",
        "/etc/jtimon/configs/vMX7.conf"
    ]
}

Run this command on jtimon container to list the jtimon config files

/u # ls /etc/jtimon/configs/
vMX1.conf  vMX2.conf  vMX3.conf  vMX4.conf  vMX5.conf  vMX6.conf  vMX7.conf

Run this command on jtimon container to read a jtimon config file

/u # more /etc/jtimon/configs/vMX1.conf
{
    "cid": "vmx_vMX1_100.123.35.0",
    "host": "100.123.1.0",
    "user": "jcluser",
    "password": "Juniper!1",
    "port": 32768,
    "influx": {
        "BatchFrequency": 1000,
        "dbname": "vmx_vMX1",
        "password": "influxdb",
        "port": 9092,
        "recreate": false,
        "server": "device-group-vmx-kapacitor",
        "user": "influx",
        "retention-policy": "vmx_vMX1"
    },
    "paths": [

        {
            "freq": 15000,
            "path": "/interfaces/"
        }
    ],
    "log": {
        "verbose": false
    }
}

Run this command on jtimon container to exit the container

/u # exit
$ 

run this command on healthbot to show logs from jtimon container

$ docker logs 25791fbca153 --tail 30
Clone this wiki locally