Logstash data transit time and possible line loss before elasticsearch

Data on time leaves logstash (tracked by tcpdump) and is delayed in kibana.
What monitoring tools are best used to track at what stage data is delayed?

There are no errors in logstash logs. To check for possible loss of rows from sql queries, added row numbers. Built a graph of timestamp versus row_number, everything is fine here.
What else can be done in logstash?

There were delays in receiving data due to the suboptimal index.refresh_interval parameter