elk部署遇到的问题
作者:互联网
前言
这几天部署elk服务,平常1个小时部署完成的工作,此次使用3天才完成,其中踩了不少坑,写该文章,希望各位运维人员能在遇到相同问题的时候看到该文。、
问题汇总
-
- 前期为了部署简单使用docker进行部署,结果在容器与宿主机网络出现故障。需要对docker有一定的了解,如果是生产环境慎重选择!
-
- 因此修改为直接在系统部署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方式。
标签:elk,遇到,部署,端口,使用,1514,日志,514 来源: https://blog.51cto.com/u_1194325/2737699