Currently I am working on a project of developing a dashboard consuming data from ElasticSearch, Elasticsearch is being fed through python scripts that gathers these information from web applications in the form of either json, data or csv files. These scripts are run via cron on a daily basis. My question here is whether I can use fluentd to replace these scripts. So can Fluentd collect information (detect if they are new or not cause some of these files are not timestamped) and output them to ElasticSearch?
Yes, that is exactly why Fluentd is used - to filter, parse, tags logfiles and push data to ElasticSearch.
The python scripts that gather information from the web applications can be replaced with Fluentd and ElasticSearch can then pull this data from Fluentd.
fluent-plugin-elasticsearch
plugin needed is at https://github.com/uken/fluent-plugin-elasticsearch.