elk部署遇到的问题

前言

这几天部署elk服务,平常1个小时部署完成的工作,此次使用3天才完成,其中踩了不少坑,写该文章,希望各位运维人员能在遇到相同问题的时候看到该文。、

问题汇总

    1. 前期为了部署简单使用docker进行部署,结果在容器与宿主机网络出现故障。需要对docker有一定的了解,如果是生产环境慎重选择!
    1. 因此修改为直接在系统部署elk,使用官方yum安装,结果安装最新7.12版本,新版式使用不方便,纯粹是使用习惯;
  • 3 直接下载elk 7.7.1版本的rpm包,使用rpm -ivh方式直接安装,通过ELK日志搜集syslog日志,centos系统不能以root用户使用1024以下端口,本应该使用udp 514端口变成1514端口(也可以是其他端口,比1024大即可)。

    解决方案

    方案一:

    使用iptables做端口映射,经过多次排查,发现iptables nat没有收到任何报文,并在其他设备进行测试无问题,放弃iptables方案;
    iptables -t nat -A PREROUTING -p udp--dport 514 -j REDIRECT --to-ports 1514

方案二:

   使用rsyslogs方案,elk能看到网络设备的日志,但是有小瑕疵不能看到真实IP地址。
# Provides UDP syslog reception # CentOS7.2
$ModLoad imudp
$UDPServerRun 5144
# Provides UDP syslog reception # CentOS6.8
$ModLoad imudp.so
$UDPServerRun 514
* . * @@127.0.0.1:1514

方案三:

  使用nginx代理,网络设备发送日志到-----日志服务器的514端口,通过nginx负载到1514端口上,并且能看真实ip地址ip
stream {
    upstream dns_upstreams {
        server 127.0.0.1:1514;

        }

    server {
        listen 514 udp;
        proxy_pass dns_upstreams;
        proxy_bind $remote_addr:$remote_port transparent;
        proxy_timeout 1s;
        proxy_responses 1;

        }
      }

三种解决方案各有优势,推荐使用nginx方式。

上一篇:xubuntu 20.04 LTS 安装完成后的设置记录


下一篇:OpenHarmony 1.1.0 LTS 正式发布