Estou construindo um pequeno sistema para análise de logs e não consigo instalar agente adicional, portanto, usando o rsyslog já em funcionamento para enviar logs para elasticsearch.
Meu rsyslog e elasticsearch são VMs separadas. Essas VMs possuem 1 rede comum: 10.8.4.0/24 .
O servidor rsyslog instalou o rsyslog-elasticsearch.x86_64 e configurou para receber logs de erros de todos os servidores em toda a infraestrutura.
Meu ElasticSearch está sendo executado em localhost:9200, configurei o nginx como um proxy para ele.
aqui estão minhas configurações:
[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/
E 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;
}
}
Todo o resto parece não ter problema :slight_smile: à primeira vista.
Log de erros de rsyslogd -nd: https://pastebin.com/YDrTi2q5
linha de erro:
0478.493507244:action 0 queue:Reg/w0: omelasticsearch: pWrkrData reply: '{"error":"Content-Type header [text/json; charset=utf-8] is not supported","status":406}'
fiz uma atualização para 8.33.1-2 do repositório rsyslog.com, e tudo funciona bem!