elk搭建实战

elk搭建实战

1 安装elasticsearch

1.1安装elasticsearch

ES中文文档地址:https://es.xiaoleilu.com

ES下载地址:https://www.elastic.co/downloads/elasticsearch

解压:tar -zxvf elasticsearch-5.6.2.tar.gz

cd elasticsearch-5.6.2/    

运行

./bin/elasticsearch

./bin/elasticsearch -d          #后台运行

tail -f logs/elasticsearch.log           #查看日志

注意:

elasticsearch5.0启动失败,出现如下提示:

1、Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12)

由于elasticsearch5.0默认分配jvm空间大小为2g,修改jvm空间分配

# vim config/jvm.options

-Xms2g

-Xmx2g

修改为

-Xms512m

-Xmx512m

验证:elasticsearch --version

注:ES有执行脚本的能力,因安全因素,不能在root用户下运行,强行运行会报如下错误:

org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

解决方案:

groupadd es          #增加es组

useradd es -g es -p es123456          #增加es用户并附加到es组

chown -R es:es elasticsearch-5.6.2   #给目录权限

su es          #使用es用户

./bin/elasticsearch -d          #后台运行es

外网访问

vi conf/elasticsearch.yml

修改network.host: 0.0.0.0

再次启动linux可能出现如下类似错误

bootstrap checks failed

max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]

解决方案

1、vi /etc/sysctl.conf

设置fs.file-max=655350

保存之后sysctl -p使设置生效

2、vi /etc/security/limits.conf 新增

* soft nofile 655350

* hard nofile 655350

3、重新使用SSH登录,再次启动elasticsearch即可。

外网访问:serverip:9200/


2、max number of threads [1024] for user [elasticsearch] is too low, increase to at least [2048]

修改 /etc/security/limits.d/90-nproc.conf

*          soft    nproc     1024

*          soft    nproc     2048


3、max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

修改/etc/sysctl.conf配置文件,

cat /etc/sysctl.conf | grep vm.max_map_count

vm.max_map_count=262144

如果不存在则添加

echo "vm.max_map_count=262144" >>/etc/sysctl.conf


默认端口:9200

配置elasticsearch:

打开config/elasticsearch.yml

修改以下配置:

path.data: /Users/chenshunyang/tools/elasticsearch/data

path.logs: /Users/chenshunyang/tools/elasticsearch/logs

cluster.name: elktest //更改默认的名称为我们想要的名称

node.name: node-elktest  //更改节点默认的名称

network.host: localhost

1.2 安装插件:elasticsearch-head

elasticsearch 2.x 版本

elasticsearch 2.x版本中,直接使用/bin/plugin install mobz/elasticsearch-head安装即可

验证:通过访问http://localhost:9200/_plugin/head/

elasticsearch 5.1 版本

安装:elasticsearch 5.1中,elasticsearch-head插件不能放在elasticsearch的 plugins、modules 目录下,不能使用 elasticsearch-plugin install,直接启动elasticsearch即可

git clone https://github.com/mobz/elasticsearch-head.git

cd elasticsearch-head/

npm install grunt

配置:修改elasticsearch/config/elasticsearch.yml

添加

http.cors.enabled: true

http.cors.allow-origin: "*"

打开elasticsearch-head-master/Gruntfile.js,找到下面connect属性,新增hostname: ‘0.0.0.0’:

connect: {

server: {

options: {

hostname: '0.0.0.0',

port: 9100,

base: '.',

keepalive: true

}

}

}

启动插件:

elasticsearch-head/ && ./node_modules/grunt/bin/grunt server

查看

http://localhost:9100

2 安装kibana

下载:从https://www.elastic.co/downloads/kibana下载对应操作系统版本的kibana

解压: tar -xzvf kibana-5.2.0-darwin-x86_64.tar.gz

配置kibana:进入kibana/config

打开kibana.yml,设置elasticsearch.url    为es实例的地址

eg:elasticsearch.url: "http://localhost:9200"

启动:./bin/kibana.sh

默认端口:5601

访问:http://localhost:5601

3 安装logstash

下载:从https://www.elastic.co/downloads/logstash下载对应操作系统版本的logstash

解压:tar -zxvf logstash-5.2.0.tar.gz

启动:./bin/logstash -f /home/push/logstash/conf/logstash.conf (logstash.conf为logstash的配置文件)

验证:logstah --version

配置logstash:

生成一个logstash.conf文件,配置示例内容如下

input {

kafka {

zk_connect => "192.168.248.230:2181,192.168.248.175:2181,192.168.249.238:2181/kafka"

group_id => "sms-service3"

topic_id => "sms-service"

codec => "json"

reset_beginning => false

consumer_threads => 5

decorate_events => true

auto_offset_reset => "smallest"

}

}

output {

elasticsearch {

hosts => ["localhost:9200"]

index => "logstash-smsservice-%{+YYYY.MM.dd}"

document_type => "sms-service"

workers => 1

flush_size => 20000

idle_flush_time => 10

template_overwrite => true

}

}

关键配置词语解释:

Input 解释

作为 Consumer 端,插件使用的是 High-level-consumer API,请结合上述 kafka 基本概念进行设置:

group_id

消费者分组,可以通过组 ID 去指定,不同的组之间消费是相互不受影响的,相互隔离。

topic_id

指定消费话题,也是必填项目,指定消费某个 topic ,这个其实就是订阅某个主题,然后去消费。

reset_beginning

logstash 启动后从什么位置开始读取数据,默认是结束位置,也就是说 logstash 进程会以从上次读取结束时的偏移量开始继续读取,如果之前没有消费过,那么就开始从头读取.如果你是要导入原有数据,把这个设定改成 "true", logstash 进程就从头开始读取.有点类似 cat ,但是读到最后一行不会终止,而是变成 tail -F ,继续监听相应数据。

decorate_events

在输出消息的时候会输出自身的信息包括:消费消息的大小, topic 来源以及 consumer 的 group 信息。

rebalance_max_retries

当有新的 consumer(logstash) 加入到同一 group 时,将会 reblance ,此后将会有 partitions 的消费端迁移到新的 consumer 上,如果一个 consumer 获得了某个 partition 的消费权限,那么它将会向 zookeeper 注册, Partition Owner registry 节点信息,但是有可能此时旧的 consumer 尚没有释放此节点,此值用于控制,注册节点的重试次数。

consumer_timeout_ms

指定时间内没有消息到达就抛出异常,一般不需要改。

以上是相对重要参数的使用示例,更多参数可以选项可以跟据https://github.com/joekiller/logstash-kafka/blob/master/README.md查看 input 默认参数。

output解释:

Logstash 会努力攒到 20000 条数据一次性发送出去,但是如果 10 秒钟内也没攒够 20000 条,Logstash 还是会以当前攒到的数据量发一次。

作者:shunyang

链接://www.greatytc.com/p/6b7f0488ddff

來源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容