ELK日志采集安装部署文档
ELK 是 elasticsearch 、 logstash、 kibana 三者首写字母的简写. elk用于收集微服务日志并以图形化界面的方式进行展示. 本文档选用 6.2.3 版本. 并做如下假定
- 安装部署elk的linux服务器的 ip 是 172.16.121.23
- 除非特别指出,执行命令的当前用户皆为 root
下面markdown文档的排版可能有些许问题, 文档原文详见附件
elasticsearch-6.2.3 的安装
-
保证jdk版本不低于 1.8,并且 jdk 没有安装在 /root 下面
-
创建用户组(以 elk 为例)
groupadd elk
-
创建用户 yfselk (以 yfselk 为例)
useradd yfselk passwd yfselk
-
将 yfselk 添加到 elk 用户组
usermod -G elk yfselk
-
设置 yfselk 的 sudo 权限
visudo
找到
root ALL=(ALL) ALL
, 在它下面添加一行yfselk ALL=(ALL) ALL
然后切换当前用户为 yfselk
-
上传 安装 elasticsearch-6.2.3.tar.gz 到 /usr/local, 解压
tar -zxvf elasticsearch-6.2.3.tar.gz
-
修改目录权限
mv elasticsearch-6.2.3 elasticsearch sudo chown -R yfselk:elk elasticsearch
-
修改 /usr/local/elasticsearch/config/elasticsearch.yml,找到
#network.host: 192.168.0.1 # # Set a custom port for HTTP: # #http.port: 9200
改成
network.host: 0.0.0.0 # # Set a custom port for HTTP: # http.port: 9200
-
切换回root 用户
sudo -i
然后修改
/etc/sysctl.conf
,添加内容如下vm.max_map_count=655360
保存退出之后,执行
sysctl -p
-
修改
/etc/security/limits.conf
,添加以下内容* soft nofile 65536 * hard nofile 65536 * soft nproc 65536 * hard nproc 65536
-
切换回 yfselk 用户
su yfselk
-
执行
cd /usr/local/elasticsearch/bin/ ./elasticsearch -d
-
验证 elasticsearch 是否安装成功只需要浏览器访问 http://172.16.121.23:9200 , 如果浏览器响应了类似于下面的数据,则表示elasticsearch启动成功
{ "name" : "XDi8SMQ", "cluster_name" : "elasticsearch", "cluster_uuid" : "Gq9FiAxRTL66ylgQMjQuCQ", "version" : { "number" : "6.2.3", "build_hash" : "c59ff00", "build_date" : "2018-03-13T10:06:29.741383Z", "build_snapshot" : false, "lucene_version" : "7.2.1", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }
logstash-6.2.3 的安装
-
上传 logstash-6.2.3.tar.gz 至 /usr/local, 解压
tar -zxvf logstash-6.2.3.tar.gz
-
新增配置文件
/usr/local/logstash/config/log_to_es.conf
input { tcp { mode => "server" host => "172.16.121.23" port => 9250 } } filter{ } output { elasticsearch { action => "index" hosts => "172.16.121.23:9200" index => "app_log" } }
-
启动 logstash
cd /usr/local/logstash/bin/ nohup ./logstash -f ../config/log_to_es.conf &
-
验证 logstash 是否启动成功只需要浏览器访问 http://172.16.121.23:9200/_search?pretty 如果浏览器响应类似于下面的数据,则表示 logstash 启动成功
{ "took" : 10, "timed_out" : false, "_shards" : { "total" : 0, "successful" : 0, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : 0, "max_score" : 0.0, "hits" : [ ] } }
kibana-6.2.3 的安装
-
上传 logstash-6.2.3.tar.gz 到 /usr/local 下,并解压
tar -zxvf logstash-6.2.3.tar.gz
-
修改配置文件 vim config/kibana.yml
server.port: 5601 server.host: "0.0.0.0" elasticsearch.url: http://172.16.121.23:9200 kibana.index: ".kibana"
-
启动 kibana
nohup ./bin/kibana &
-
验证 kibana是否启动成功只需要浏览器访问 http://172.16.121.23:5601/app/kibana 如果能看到kibana的可视化web界面,则表示 kibana 启动成功.