rsyslogにはelasticsearchへそのまま出力するプラグインが用意されています。
用意されているのですが、CentOS7(1708)標準のリポジトリにあるものは 8.24.0と若干古く、Elasticsearch側のバージョンが新しい(6以上)と、正常に出力できません。
デバッグ出力をonにしてみるとわかるのですが、 プラグインが
Content-type: text/json
でElasticsearchへ向けて出力しており、
Content-type: application/json
でないと受け付けてくれないからです。
Merge pull request #1698 from wdauchy/es_contenttype · rsyslog/rsyslog@a25573f · GitHub
Merge pull request #1743 from wdauchy/es_contenttype_bulk · rsyslog/rsyslog@9cb5c17 · GitHub
このあたりでContent-typeに関する修正がなされています。
ですので 8.29.0もしくは8.30.0以上でないと正常に出力できないと思われます。
最新のrsyslogをインストールする方法はオフィシャルサイト に記載がありますが、
repoファイル を /etc/yum.repos.d/ へ配置し、
yum install rsyslog-elasticsearch
によってインストールできます。