CentOS7 + rsyslog-elasticsearch.x86_64 + nginx = charset=utf-8] 不受支持

CentOS7 + rsyslog-elasticsearch.x86_64 + nginx = charset=utf-8] 不受支持

我正在构建一个用于日志分析的小型系统,并且无法安装额外的代理,因此使用已经运行的 rsyslog 将日志发送到 elasticsearch。

我的 rsyslog 和 elasticsearch 是独立的虚拟机。这些虚拟机有一个共同的网络: 10.8.4.0/24 。

rsyslog 服务器已安装 rsyslog-elasticsearch.x86_64 并配置为从所有基础设施中的所有服务器接收错误日志。

我的 ElasticSearch 在 localhost:9200 上运行,我已将 nginx 设置为它的代理。

这是我的配置:

[root@all-logs rsyslog.d]# cat 00-Send2Elastic.conf
module(load="omelasticsearch")
template(name="testTemplate"
         type="list"
         option.json="on") {
           constant(value="{")
             constant(value="\"timestamp\":\"")      property(name="timereported" dateFormat="rfc3339")
             constant(value="\",\"message\":\"")     property(name="msg")
             constant(value="\",\"host\":\"")        property(name="hostname")
             constant(value="\",\"severity\":\"")    property(name="syslogseverity-text")
             constant(value="\",\"facility\":\"")    property(name="syslogfacility-text")
             constant(value="\",\"syslogtag\":\"")   property(name="syslogtag")
           constant(value="\"}")
         }
action(type="omelasticsearch"
       server="10.8.4.21"
       serverport="29200"
       template="testTemplate"
       searchIndex="test-index"
       searchType="test-type"
       bulkmode="on"
       maxbytes="100m"
       queue.type="linkedlist"
       queue.size="5000"
       queue.dequeuebatchsize="300"
       action.resumeretrycount="-1")

# http://www.rsyslog.com/doc/v8-stable/configuration/modules/omelasticsearch.html
# https://sematext.com/blog/recipe-rsyslog-elasticsearch-kibana/

和 Nginx:

[root@test-elk centos]# cat /etc/nginx/conf.d/elastic.conf 
server {
    listen 10.8.4.21:29200;

    server_name elastic.host;

    allow 10.8.4.0/24;
    deny all;

    location / {
        proxy_pass http://localhost:9200;
#        proxy_http_version 1.1;
#        proxy_set_header Upgrade $http_upgrade;
#        proxy_set_header Connection 'upgrade';
#        proxy_set_header Host $host;
#        proxy_cache_bypass $http_upgrade;        
    }
}

乍一看,其他一切似乎都没有问题:slight_smile:。

来自 rsyslogd -nd 的错误日志: https://pastebin.com/YDrTi2q5

错误行:

0478.493507244:action 0 queue:Reg/w0: omelasticsearch: pWrkrData reply: '{"error":"Content-Type header [text/json; charset=utf-8] is not supported","status":406}'

答案1

已经从 rsyslog.com repo 更新至 8.33.1-2,一切运行正常!

相关内容