一、ELK安装配置
2017-03-24 11:19
106 查看
**elk安装配置**
ELK 由 ElasticSearch 、 Logstash 和 Kibana 三个开源工具组成。
ElasticSearch:负责数据的索引和查询。
Logstash:负责数据的收集和过滤以及存储。
Kiabana:负责界面展示,利于查询和查看。
一、安装ElasticSearch
1.1、安装jdk,官网下载jdk安装并且配置环境变量。
这边只是列出java环境变量配置方法。由于工作环境都是java1.7,所以安装ElasticSearch不能高于5.0。wget http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45-linux-x64.tar.gz[/code]mkdir /usr/local/java tar -zxf jdk-8u45-linux-x64.tar.gz -C /usr/local/java/ export JAVA_HOME=/usr/local/java/jdk1.8.0_45 export PATH=$PATH:$JAVA_HOME/bin exportCLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH1.2、安装ElasticSearch
下载ElasticSearch:wget https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.2.0/elasticsearch-2.2.0.tar.gz[/code]
解压:tar -zxf elasticsearch-2.2.0.tar.gz -C ./
安装elasticsearch的head插件:cd /data/program/software/elasticsearch-2.2.0./bin/plugin install mobz/elasticsearch-head
执行结果:
安装elasticsearch的kopf插件
注:Elasticsearch-kopf插件可以查询Elasticsearch中的数据./bin/plugin install lmenezes/elasticsearch-kopf
执行结果:
创建elasticsearch的data和logs目录mkdir data mkdir logs
配置elasticsearch的配置文件cd config/
备份一下源文件:cp elasticsearch.yml elasticsearch.yml_back
编辑配置文件:vim elasticsearch.yml
配置内容如下:cluster.name: dst98 主机名称 node.name: node-1 path.data: /data/program/software/elasticsearch-2.2.0/data path.logs: /data/program/software/elasticsearch-2.2.0/logs network.host: 10.15.0.98 主机IP地址 network.port: 9200 主机端口
启动elasticsearch:./bin/elasticsearch
报如下错误:说明不能以root账户启动,需要创建一个普通用户,用普通用户启动才可以。[root@dst98 elasticsearch-2.2.0]# ./bin/elasticsearch Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root. at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:93) at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:144) at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:285) at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35) Refer to the log for complete error details.
添加用户及用户组#groupadd search #useradd -g search search
将data和logs目录的属主和属组改为search#chown search.search /elasticsearch/ -R
然后切换用户并且启动程序:su search ./bin/elasticsearch
后台启动:nohup ./bin/elasticsearch &
启动成功后浏览器访问如下:
通过安装head插件可以查看集群的一些信息,访问地址及结果如下:
为ElasticSearch添加HTTP基本认证:(由于版本不统一,暂时放弃)
elasticsearch-http-basic就提供了针对ES HTTP连接的IP白名单、密码权限和信任代理功能。
elasticsearch-http-basic还不支持ES标准的bin/plugin install [github-name]/[repo-name]的安装方式
所以,我们需要从github上自己拉取源代码,编译成jar文件。
从github上拉取源代码:git clone https://github.com/Asquera/elasticsearch-http-basic.git[/code]cd elasticsearch-http-basicmvn -Delasticsearch.version=1.5.2 -Dtests.security.manager=false packagecd target
获取编译后的jar包:elasticsearch-http-basic-1.5.1.jar
进入elasticsearch目录:mkdir -p plugins/http-basicmv /data/program/software/elasticsearch-http-basic/target/elasticsearch-http-basic-1.5.1.jar plugins/http-basic
重启elasticsearch二、安装kibana
下载kibana:wget https://download.elastic.co/kibana/kibana/kibana-4.4.0-linux-x64.tar.gz[/code]
解压:tar -zxf kibana-4.4.0-linux-x64.tar.gz -C ./
重命名:mv kibana-4.4.0-linux-x64 kibana-4.4.0
先备份配置文件:/data/program/software/kibana-4.4.0/config cp kibana.yml kibana.yml_back
修改配置文件:server.port: 5601 server.host: "10.15.0.98" elasticsearch.url: "http://10.15.0.98:9200" --ip为server的ip地址 kibana.defaultAppId: "discover" elasticsearch.requestTimeout: 300000 elasticsearch.shardTimeout: 0
启动程序:nohup ./bin/kibana &三、配置Logstash
下载logstash到要采集日志的服务器上和安装E和K的机器上。wget https://download.elastic.co/logstash/logstash/logstash-2.2.0.tar.gz[/code]
解压:tar -zxf logstash-2.2.0.tar.gz -C ./
运行如下命令进行测试:./bin/logstash -e 'input { stdin{} } output { stdout {} }' Logstash startup completed Hello World! #输入字符 2015-07-15T03:28:56.938Z noc.vfast.com Hello World! #输出字符格式
注:其中-e参数允许Logstash直接通过命令行接受设置。使用CTRL-C命令可以退出之前运行的Logstash。3.1、配置ElasticSearch上的LogStash读取redis里的日志写到ElasticSearch
进入logstash目录新建一个配置文件:
cd logstash-2.2.0
touch logstash-indexer.conf #文件名随便起
写如下配置到新建立的配置文件:
input和output根据日志服务器数量,可以增加多个。input { redis { data_type => "list" key => "mid-dst-oms-155" host => "10.15.0.96" port => 6379 db => 0 threads => 10 } } output { if [type] == "mid-dst-oms-155"{ elasticsearch { hosts => "10.15.0.98" index => "mid-dst-oms-155" codec => "json" } } }
启动logstash:nohup ./bin/logstash -f logstash-indexer.conf -l logs/logstash.log &3.2、配置客户端的LogStash读取日志写入到redis
进入logstash目录新建一个配置文件:
cd logstash-2.2.0
touch logstash_agent.conf #文件名随便起
写如下配置到新建立的配置文件:
input和output根据日志服务器数量,可以增加多个。
input {
adef
file {
path => [“/data/program/logs/MID-DST-OMS/mid-dst-oms.txt”]
type => “mid-dst-oms-155”
}
}
output{
redis {
host => “125.35.5.98”
port => 6379
data_type => “list”
key => “mid-dst-oms-155”
}
}
启动logstash:nohup ./bin/logstash -f logstash_agent.conf -l logs/logstash.log &
备注:
logstash中input参数设置:
1. start_position:设置beginning保证从文件开头读取数据。
2. path:填入文件路径。
3. type:自定义类型为tradelog,由用户任意填写。
4. codec:设置读取文件的编码为GB2312,用户也可以设置为UTF-8等等
5. discover_interval:每隔多久去检查一次被监听的 path 下是否有新文件,默认值是15秒
6. sincedb_path:设置记录源文件读取位置的文件,默认为文件所在位置的隐藏文件。
7. sincedb_write_interval:每隔15秒记录一下文件读取位置
相关文章推荐
- 在Kubernetes上搭建EFK(Fluentd+Elasticsearch+Kibana)
- Nodejs连接12种数据库例子集合
- Docker构建ELK Docker集群日志收集系统
- 巧用mysql提示符prompt清晰管理数据库的方法
- 两大步骤教您开启MySQL 数据库远程登陆帐号的方法
- phpmyadmin 4+ 访问慢的解决方法
- linux系统下实现mysql热备份详细步骤(mysql主从复制)
- Mysql高效分页详解
- CentOS 5.5下安装MySQL 5.5全过程分享
- MySQL复制的概述、安装、故障、技巧、工具(火丁分享)
- MySQL中删除重复数据的简单方法
- MySQL5.5.21安装配置教程(win7)
- 详解centos7虚拟机安装elasticsearch5.0.x-安装篇
- Elasticsearch.Net使用教程 MVC4图书管理系统(2)
- Elasticsearch.Net使用入门教程(1)
- 使用ElasticSearch6.0快速实现全文搜索功能的示例代码
- elasticsearch批量数据导入和导出
- 将redis加入到elk日志系统里