CentOS7中ELK6.2.3安装
一、配置主机名
-
hostnamectl set-hostname elk
-
vim /etc/sysconfig/network修改HOSTNAME=elk
-
安装Java环境:yum install java-1.8.0-openjdk.x86_64
-
添加JAVA环境:vim /etc/profile,添加下列行,保存后执行source /etc/profileexport JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64/jreexport CLASSPATH=.:$JAVA_HOME/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bin
-
配置网络:/etc/hosts中添加172.16.4.141 elk
-
关闭防火墙(如果因为其他原因不能关闭防火墙,也请不要禁止80端口):systemctl stop firewalld.service
-
禁止防火墙自动启动:systemctl disable firewalld.service
-
打开文件/etc/security/limits.conf,添加下面四行内容:
-
* soft nofile 65536
-
* hard nofile 131072
-
* soft nproc 2048
-
* hard nproc 4096
-
打开文件/etc/sysctl.conf,添加下面一行内容:vm.max_map_count=655360
-
加载sysctl配置,执行命令:sysctl -p
-
重启: reboot
二、下载程序
-
请在ELK官网https://www.elastic.co/downloads下载以下文件,并放置到/opt目录下。
-
/opt/elasticsearch-6.2.3.tar.gz(wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.3.tar.gz)
-
/opt/logstash-6.2.3.tar.gz(wget https://artifacts.elastic.co/downloads/logstash/logstash-6.2.3.tar.gz)
-
/opt/kibana-6.2.3-linux-x86_64.tar.gz(wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.3-linux-x86_64.tar.gz)
-
进入/opt目录下分别执行下列命令解压:
-
tar -zvxf elasticsearch-6.2.3.tar.gz
-
tar -zvxf logstash-6.2.3.tar.gz
-
tar -zvxf kibana-6.2.3-linux-x86_64.tar.gz
三、设置用户,ElasticSerach要求以非root身份启动,所以我们要创建一个用户:
-
创建用户组:groupadd elasticsearch
-
创建用户加入用户组:useradd elasticsearch -g elasticsearch
-
设置elasticsearch-6.2.3文件夹为用户elasticsearch所有:chown -R elasticsearch.elasticsearch /opt/elasticsearch-6.2.3
四、启动Elasticsearch
-
切换到用户elasticsearch:su elasticsearch;
-
进入目录/opt/elasticsearch-6.2.3;
-
执行启动命令:bin/elasticsearch -d,此时会在后台启动elasticsearch;
-
查看启动日志可执行命令:tail -f /opt/elasticsearch-6.2.3/logs/elasticsearch.log,大约五到十分钟后启动成功。
-
通过命令:ss -tanl查看9200、9300端口是否启动成功。
-
设置开机启动:将:/opt/elasticsearch-6.2.3/bin/elasticsearch -d加入到/etc/rc.d/rc.local末尾,并执行:chmod +x /etc/rc.d/rc.local
-
执行:curl 127.0.0.1:9200 检查服务是否正常,注意,此时外网可能无法访问Elasticsearch,这是正常情况。
-
如果要设置其它机器也能访问,可以修改config/elasticsearch.yml中的network.host : 0.0.0.0
-
如果要设置数据目录,可以修改config/elasticsearch.yml中的 path.data:/data/elk/data
-
如果要设置日志目录,可以修改config/elasticsearch.yml中的 path.logs:/data/elk/logs
-
建议在/opt/elasticsearch-6.2.3目录下新建一个start.sh角本,内容如下:
-
#!/bin/bash su elasticsearch<<! cd /opt/elasticsearch-6.2.3 ./bin/elasticsearch -d exit ! echo "elasticsearch is started."
-
执行chmod 777 start.sh,并在/etc/rc.d/rc.local中加入/opt/elasticsearch-6.2.3/start.sh来实现开机启动。
五、配置和启动Logstash
-
cd /opt/logstash-6.2.3
-
在目录/opt/logstash-6.2.3下创建文件default.conf,内容如下:
-
input {
-
#beats {
-
# port => "5044"
-
#}
-
tcp {
-
port=> 5044
-
codec => "json"
-
}
-
}
-
filter {
-
grok {
-
match => { "message" => "%{COMBINEDAPACHELOG}" }
-
}
-
geoip {
-
source => "clientip"
-
}
-
}
-
output {
-
elasticsearch {
-
hosts => ["127.0.0.1:9200"]
-
}
-
}
-
后台启动Logstash服务:nohup bin/logstash -f default.conf --config.reload.automatic &
-
查看日志 tail -f logs/logstash-plain.log或者ss -tanl检查是否5044端口已启动,如果启动表示已成功。
-
建议在/opt/logstash-6.2.3目录下新建一个start.sh角本,内容如下:
-
#!/bin/bash
-
nohup /opt/logstash-6.2.3/bin/logstash -f /opt/logstash-6.2.3/default.conf --config.reload.automatic &
-
执行chmod 777 start.sh,并在/etc/rc.d/rc.local中加入/opt/logstash-6.2.3/start.sh来实现开机启动。
六、配置和启动Kibana
-
cd /opt/kibana-6.2.3-linux-x86_64
-
修改:config/kibana.yml,将#server.host:"localhost"修改为server.host:"0.0.0.0"
-
执行:bin/kibana 尝试启动,如果启动成功,建议新建一个角本start.sh,并设置内容如下:
-
#!/bin/bash
-
nohup /opt/kibana-6.2.3-linux-x86_64/bin/kibana &
-
执行chmod 777 ./start.sh并添加/opt/kibana-6.2.3-linux-x86_64/start.sh到/etc/rc.d/rc.local末尾实现开机启动。
-
执行ss -tanl检查5601端口是否已经完全启动。
七、安装完成说明
-
至此,ELK已全部安装完成,亲测试OK。
-
如果某一台服务器上的C#或JAVA程序产生日志,可以直接发送日志到LogStash。
-
如果需要在某一台服务器有已输出的log文件,如Nginx、Tomcat,需要进行增量收集,可以使用安装并使用FileBeat
宋兴柱:转载内容,请标明出处,谢谢!源文来自 宝贝云知识分享:https://www.dearcloud.cn
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步