Is it possible to run custom shell script using Topbeat?

Hi guys,

I am using topbeat to monitor server resource utilization, now i want to attach some custom shell script in topbeat to collect addition resource utilization data of servers. The custom script output should be forward with default output in to Elasticsearch


What kind of data do you want to collect and forward? You just want to utilise the beats output config?

  1. Using custom shell script I will assign tenant_id, server_id, App_id & server up time in seconds, etc., so i want to add this data along with topbeat and able to group & monitor servers based on those ID's

  2. In elasticsearch my custom script output and topbeat data will be in same index so i can ship this data in to my custom monitoring dashboard application by using API.

If I could also add some of my own custom fields in topbeat by this custom scripts it would be great..

thank u

Perhaps execbeat could help you here?

Sure, but i dont want to run multiple beat services in a server, filebeat for logs, topbeat for resource monitoring, etc., am looking for a single app which should handle its own perspective and my custom scripts..

if its not possible, finally I have to move with different beats for different requirement in every server and its difficult to manage hundreds of servers.

Thank u

Currently, you cannot run multiple Beats together, but we are planning to create a supervisor app that is able to run multiple Beats together, including the community Beats.

Starting with alpha3, we are releasing a more generic Topbeat that collects not only system statistics but also other statistics by periodically interrogating external systems. The Beat is called Metricbeat. Here is the blog post about it.

In Metricbeat you can define fields in the configuration file that adds some specific fields to your exported event. Here you can read more details.

1 Like

great job.. we are expecting stable release in short...


Another thing here is that it would be really tricky to use the same index for two different types of data, especially if you are using Kibana to visualize the data.

You can use the Execbeat to generate data with a script and insert them in Elasticsearch in a special index, let's say execbeat-* and you can use Topbeat to collect system statistics and insert them periodically into Elasticsearch in the topbeat-* index. Based on the data coming from both indexes, you can build graphs in Kibana.

thank u monica, as of now Execbeat will not suit for our requirement and one more thing is there any app to push & manage my custom scripts on 100's of servers? right now am using ansible to push my script & other tasks.

exactly what I am looking, a supervisor app able to handle my custom scripts as well as filebeat to collect application logs, topbeat to monitor resource utilization. these are most common IT operations tasks which should manageable by a supervisor/agent kind off app.


This topic was automatically closed after 21 days. New replies are no longer allowed.