logstash - nginx 日志到 redis 到 logstash

标签 logstash syslog elastic-stack syslog-ng

我想将 nginx 日志文件(在一台服务器上)发送到 redis(在第二台服务器上)以便稍后使用 logstash(在第三台服务器上)处理它,但我有点迷路了

我正在使用 redis 作为缓冲区,以防万一 logstash 服务器因维护或任何其他原因而宕机时不会丢失任何数据

最佳答案

我就是这样解决的, 我让 nginx 登录到 syslog 服务器,并从 syslog-ng 登录到 redis 这是我的配置 在 nginx http 指令中

log_format xxx_log_format '$remote_addr - $remote_user [$time_local] '
                       '"$request" $status $bytes_sent '
                       '"$http_referer" "$http_user_agent" "$gzip_ratio"';

在 nginx server 指令中

access_log syslog:server=127.0.0.1:601 xxx_log_format;

在 syslog-ng 配置中

source s_syslog {
    udp(
        port(601)
    );
};

destination d_redis {
    redis(
        host("REDIS-IP")
        port(6379)
        command("LPUSH", "access_logs", "${MESSAGE}")
    );
};

log {
    source(s_syslog);
    destination(d_redis);
};

关于logstash - nginx 日志到 redis 到 logstash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39977532/

相关文章:

logstash - 转换日期 MMM dd HH :mm:ss for logstash

log4net - Log4net:SysLog Appender示例

elasticsearch - Elasticsearch -在elasticsearch.yml中未配置节点属性如果没有节点属性,您将无法控制分片分配

linux - 在屏幕上打印消息并同时发送到系统日志

generics - 返回通用结构的函数的签名是什么?

elasticsearch - ELK-Kibana无法识别geo_point字段

elasticsearch - logstash script_lang不支持[groovy]

yaml - 解码 filebeat 配置中的错误

elasticsearch - 如何配置Kafka群集以与Elastic Search群集一起使用?

elasticsearch - 使用Logstash从CSV文件读取数据时,如何在Elasticsearch文档中添加数字ID?