Назад | Перейти на главную страницу

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;        
    }
}

Все остальное вроде не имеет проблем: small_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}'

сделали обновление до 8.33.1-2 из репозитория rsyslog.com, и все работает отлично!