合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
# elk部署 ## ELK介绍: ****elasticsearch:9200**** :是一个基于Lucene的开源分布式搜索服务器。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二流行的企业搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。 **logstash:5044** :是一个完全开源的工具,它可以对你的日志进行收集、过滤、分析,支持大量的数据获取方法,并将其存储供以后使用(如搜索)。说到搜索,logstash带有一个web界面,搜索和展示所有日志。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。 **kibana:5601** :是一个基于浏览器页面的Elasticsearch前端展示工具,也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。 logstash负责从各个节点中提取日志,并将日志转发到elasticsearch进行索引 然后在通过kibana展示出来 首先在官网下载三个软件相同版本的安装包 下载地址 https://www.elastic.co/cn/downloads elasticsearch-6.2.4.tar.gz logstash-6.2.4.tar.gz kibana-6.2.4-linux-x86_64.tar.gz 由于需要java8支持,所以需要先安装java8环境 下载地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html jdk-8u171-linux-x64.tar.gz 解压jdk安装包 mkdir -p /usr/java/ cd /usr/java/ tar zxf jdk-8u171-linux-x64.tar.gz 配置变量 vi /etc/profile 末尾添加如下内容: set java environment JAVA_HOME=/usr/java/jdk1.8.0_171 JRE_HOME=/usr/java/jdk1.8.0_171/jre CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export JAVA_HOME JRE_HOME CLASS_PATH PATH 使变量生效 source /etc/profile 查看是否成功 输入java -version查看是否有如下版本信息 java version "1.8.0_171" Java(TM) SE Runtime Environment (build 1.8.0_171-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode) 开始安装elasticSearch 由于处于系统安全考虑 elasticsearch需要创建一个单独的用户来运行,所以先创建一个新用户 groupadd elsearch useradd elsearch -g elsearch -p elasticsearch 查看cat /etc/passwd新添加用户是否为如下内容,如果是的话,需要编辑passwd把/bin/sh改为/bin/bash elsearch:x:1001:1001::/home/elsearch:/bin/sh 解压elasticsearch-6.2.4.tar.gz到/usr/local下 tar zxf elasticsearch-6.2.4.tar.gz 赋予目录主和组权限 chown -R elsearch:elsearch /usr/local/elasticsearch-6.2.4 编辑配置文件 vi /usr/local/elasticsearch-6.2.4/config/elasticsearch.yml 将 network.host: 192.168.47.13 http.port: 9200 #这两项取消注释并配置正确IP :wq 保存退出 切换到用户elsearch su elsearch 启动elasticsearch(先前台启动查看有无报错信息) /usr/local/elasticsearch-6.2.4/bin/elasticsearch 如果启动不成功报错 ERROR: [2] bootstrap checks failed [1]: max number of threads [3936] for user [elsearch] is too low, increase to at least [4096] [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 则切回root用户 su - 编辑vi /etc/sysctl.conf末尾添如下内容 vm.max_map_count=655360 保存退出 查看生成 sysctl -p 然后编辑 vi /etc/security/limits.conf 末尾添加如下内容(注意*是代表全部用户): * soft nofile 65536 * hard nofile 131072 * soft nproc 4096 * hard nproc 4096 保存退出后切换到elsearch用户 su - elsearch 重启elsearch /usr/local/elasticsearch-6.2.4/bin/elasticsearch 在浏览器输入192.168.47.13?:9200测试是否有一串代码 (启动成功后就先让前台启动着,一会安装(kibana的时候需要查看是否连接成功) 重新打开一个会话窗口 安装logstash 解压到/usr/local下 tar zxf logstash-6.2.4.tar.gz cd logstash-6.2.4/ 新增配置文件 vi logstash.conf #编辑一个测试内容 input { stdin{} } filter {} output { stdout{} } 保存退出 启动服务 /usr/local/logstash-6.2.4/bin/logstash -f /usr/local/logstash-6.2.4/logstash.conf 如果报错(是由于我的虚拟机内存不足,我又添加了4G内存) Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 0) failed; error='Cannot allocate memory' (errno=12) # There is insufficient memory for the Java Runtime Environment to continue. Native memory allocation (mmap) failed to map 986513408 bytes for committing reserved memory. An error report file with more information is saved as: /usr/local/logstash-6.2.4/hs_err_pid2015.log #重新开一个会话窗口 安装kibana 解压 tar zxf kibana-6.2.4-linux-x86_64.tar.gz cd kibana-6.2.4-linux-x86_64/ 编辑配置文件 vi /usr/local/kibana-6.2.4-linux-x86_64/config/kibana.yml 将#server.host: "localhost" 和#elasticsearch.url: "http://localhost:9200" 取消注释并修改为如下 server.host: "192.168.47.13" elasticsearch.url: "http://192.168.47.13:9200" 测试启动 /usr/local/kibana-6.2.4-linux-x86_64/bin/kibana 浏览器打开 http://192.168.47.13:5601 部署完成 三个服务的后台启动方式 /usr/local/elasticsearch-6.2.4/bin/elasticsearch -d (注意切换用户) /usr/local/kibana-6.2.4-linux-x86_64/bin/kibana &