elk安装部署
一.elk的介绍
ELK 是 elastic 公司旗下三款产品 ElasticSearch 、Logstash 、Kibana 的首字母组合。
ElasticSearch 是一个基于 Lucene 构建的开源,分布式,RESTful 搜索引擎。
Logstash 传输和处理你的日志、事务或其他数据。
Kibana 将 Elasticsearch 的数据分析并渲染为可视化的报表。
为什么使用 ELK ?
对于有一定规模的公司来说,通常会很多个应用,并部署在大量的服务器上。运维和开发人员常常需要通过查看日志来定位问题。如果应用是集群化部署,试想如果登录一台台服务器去查看日志,是多么费时费力。
而通过 ELK 这套解决方案,可以同时实现日志收集、日志搜索和日志分析的功能。
二.安装过程
2.1安装环境
系统:centos 6.8
Es logstash kibana分别一台
部署java环境,最好是最新的(需要在每台es,logstash都安装,此次安装在一台机器上)
[root@logstash ~]# mkdir /usr/local/java
[root@logstash ~]# tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local/java
[root@logstash jdk1.8.0_151]# vi /etc/profile
export JAVA_HOME=/usr/local/java/jdk1.8.0_151
[root@logstash jdk1.8.0_151]# source /etc/profile
2.2 安装es
2.2.1 安装rpm包
[root@es01 ~]# rpm -ivh elasticsearch-6.4.1.rpm
2.2.2 修改es的配置文件
[root@es01 ~]# cd /etc/elasticsearch/
[root@es01 ~]# grep -Ev ‘^$|#’ /etc/elasticsearch/elasticsearch.yml
node.name: elk-1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: true
bootstrap.system_call_filter: false
network.host: 192.168.1.130
http.port: 9200
discovery.zen.ping.unicast.hosts: [“192.168.1.130”]
[root@es01 elasticsearch]# vi jvm.options
2.2.3 修改vm.max_map_count(表示虚拟内存大小)、nofile(进程允许打开的最大文件书)、nproc(最大进程数)
[root@es01 elasticsearch]# vi /etc/sysctl.conf
vm.max_map_count = 1000000
[root@es01 elasticsearch]# sysctl -p
[root@es01 elasticsearch]# vi /etc/security/limits.conf
[root@es01 elasticsearch]# vi /etc/security/limits.d/90-nproc.conf
2.2.4 启动es
[root@es01 elasticsearch]# /etc/init.d/elasticsearch start
2.3安装kibana
2.3.1 rpm安装
[root@es01 ~]# rpm -ivh kibana-6.4.1-x86_64.rpm
2.3.2修改配置文件
[root@elk01 ~]# grep -Ev ‘^$|#’ /etc/kibana/kibana.yml
server.port: 5601
server.host: “192.168.1.140”
server.name: “kibana”
elasticsearch.url: “http://192.168.1.130:9200”
2.3.3 启动
[root@elk01 ~]# /etc/init.d/kibana start
kibana started
2.4 安装logstash
2.4.1 rpm包安装
[root@logstash ~]# rpm -ihv logstash-6.4.1.rpm
2.4.2修改配置文件
[root@logstash ~]# grep -Ev ‘^$|#’ /etc/logstash/logstash.yml
node.name: elk-1
path.data: /var/lib/logstash
http.host: “192.168.1.128”
http.port: 9600
path.logs: /var/log/logstash
2.4.3 启动
[root@logstash elk]# cat 1.conf
input {
file {
path => “/var/log/messages”
type => “system”
start_position => “beginning”
}
}
output {
elasticsearch {
hosts => [“192.168.1.130:9200”]
index => “system-%{+YYYY.MM.dd}”
}
}
[root@elk01 ~]# /usr/share/logstash/bin/logstash -f 1.conf
2.4.4 在kibana上查看日志
#创建索引,索引和conf文件要一样