Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ntopConf 2019 - The network is a (great) signal

ntopConf 2019 - The network is a (great) signal

We need a stable network. With microservices even more than ever because internally our services are speaking between each other as never before.
A lot of the tools like Wireshark, ntop (the current one) designed to monitor networks are awkward to me. Because I am a developer, not an expert about the network. That's it. The problem is: nobody called the support team to notify that packet loss is too high, they call when the software we develop doesn't work. The network is one of the important signals to look at when something doesn't work but we need better tools. I am trying to make network folks and developers new friends!

Gianluca Arbezzano

May 09, 2019
Tweet

More Decks by Gianluca Arbezzano

Other Decks in Technology

Transcript






  1. View full-size slide

  2. [global_tags]
    env = "$ENV"
    hostname = "$HOSTNAME"

    View full-size slide

  3. ~ @gianarb - https://gianarb.it ~
    Metrics Traces Logs

    View full-size slide

  4. ~ @gianarb - https://gianarb.it ~
    Metric
    s

    View full-size slide

  5. ~ @gianarb - https://gianarb.it ~
    Logs

    View full-size slide

  6. ~ @gianarb - https://gianarb.it ~
    Traces

    View full-size slide

  7. ~ @gianarb - https://gianarb.it ~

    View full-size slide

  8. // get all data from the telegraf db
    from(bucket:”telegraf/autogen”)
    // filter that by the last hour
    |> range(start:-1h)
    // filter further by series with a specific measurement and field
    |> filter(fn: (r) => r._measurement == "cpu" and r._field == "usage_system")

    View full-size slide

  9. // get all data from the telegraf db
    from(bucket:”telegraf/autogen”)
    // filter that by the last hour
    |> range(start:-1h)
    // filter further by series with a specific measurement and field
    |> filter(fn: (r) => r._measurement == "cpu" and r._field == "usage_system")

    View full-size slide

  10. // get all data from the telegraf db
    from(bucket:”telegraf/autogen”)
    // filter that by the last hour
    |> range(start:-1h)
    // filter further by series with a specific measurement and field
    |> filter(fn: (r) => r._measurement == "cpu" and r._field == "usage_system")

    View full-size slide

  11. // get all data from the telegraf db
    from(bucket:”telegraf/autogen”)
    // filter that by the last hour
    |> range(start:-1h)
    // filter further by series with a specific measurement and field
    |> filter(fn: (r) => r._measurement == "cpu" and r._field == "usage_system")

    View full-size slide

  12. // get all data from the telegraf db
    from(bucket:”telegraf/autogen”)
    // filter that by the last hour
    |> range(start:-1h)
    // filter further by series with a specific measurement and field
    |> filter(fn: (r) => r._measurement == "cpu" and r._field == "usage_system")

    View full-size slide

  13. // get all data from the telegraf db
    from(bucket:”telegraf/autogen”)
    // filter that by the last hour
    |> range(start:-1h)
    // filter further by series with a specific measurement and field
    |> filter(fn: (r) => r._measurement == "cpu" and r._field == "usage_system")

    View full-size slide

  14. // get all data from the telegraf db
    from(bucket:”telegraf/autogen”)
    // filter that by the last hour
    |> range(start:2018-11-07T00:00:00Z)
    // filter further by series with a specific measurement and field
    |> filter(fn: (r) => r._measurement == "cpu" and r._field == "usage_system")

    View full-size slide

  15. // get all data from the telegraf db
    from(bucket:”telegraf/autogen”)
    // filter that by the last hour
    |> range(start:-1h)
    // filter further by series with a specific measurement and field
    |> filter(fn: (r) => r._measurement == "cpu" and r._field == "usage_system")

    View full-size slide

  16. // get all data from the telegraf db
    from(bucket:”telegraf/autogen”)
    // filter that by the last hour
    |> range(start:-1h)
    // filter further by series with a specific measurement and field
    |> filter(fn: (r) => r._measurement == "cpu" and r._field == "usage_system")

    View full-size slide

  17. // get all data from the telegraf db
    from(bucket:”telegraf/autogen”)
    // filter that by the last hour
    |> range(start:-1h)
    // filter further by series with a specific measurement and field
    |> filter(fn: (r) => (r._measurement == "cpu" or r._measurement == “cpu")
    and r.host == “serverA")

    View full-size slide