ELK____之 elasticsearch ES集群 head安装

最近项目用到 jenkins  ELK  也在一次重新学习了一次  jenkins 不用说了 玩得就是  插件   +  base---shell ,  ELK  这几年最流得log收集平台,当然不止我们运维在用!开发也在用来做client 位置定位 还有网站搜索     elasticsearch    , logstash  kibana  三个组件组成

来一段简介吧:

ElasticSearch:   是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析。这是一个建立在全文搜索引擎 Apache Lucene基础上的搜索引擎。

Logstash:         是一个具有实时渠道能力的数据收集引擎,主要用于日志的收集,过滤与解析,并将其存入ElasticSearch中。

Kibana:            是一款 基于Apache开源协议,为ElasticSearch提供分析和可视化的Web平台,它可以在Elasticsearch的索引中查找,交互数据,并生成各种维度的表图。

其实难点我感觉是在logstash--filter 对log 得格式处理上  索引 拆分  格式转换上,这还是要好好去摸索一翻!    好吧 start 

给几张网上ELK 架构图 : elasticsearch logstash 支持十几种接口  所以搭配起来也是非常灵活  

最后一张刚画得

实例: filebeat+redis+logstash+elasticsearch+kibana  nginx log收集

service 清单:

172.16.1.9 (elasticsearch[master]+haed)  +   jdk_1.8.0

172.16.1.10(elasticsearch-slave+kibana) +   jdk_1.8.0

172.16.1.6 ( redis  )

172.16.1.7( logstash +nginx) +   jdk_1.8.0

172.16.1.8(filebeat) 

yum -y install java-1.8.0-openjdk*
#验证java安装成功
java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

#download es
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.0.tar.gz -d /opt
tar -zxvf  ./elasticsearch-6.4.0.tar.gz && mv  elasticsearch-6.4.0  /usr/local/elasticsearch
useradd -m es -p 237356573
mkdir  /usr/local/elasticsearch/data && chown -R es:es  /usr/local/elasticsearch
mkdir -p   /var/log/es && chown -R es:es  /var/log/es
 
#设置es用户最大可创建文件数
# vi /etc/security/limits.conf 
* hard nofile 65536 
* soft nofile 65536 
* soft nproc 2048 
* hard nproc 4096
es soft memlock unlimited
es hard memlock unlimited

vim /etc/sysctl.conf 添加下面这一行  #用户最大可创建线程数太小
vm.max_map_count=262144
并执行命令:sysctl -p

继续再修改一个参数 #(ES最少要求为2048) 
vim /etc/security/limits.d/20-nproc.conf
es soft nproc unlimited

  

# 10(slave)  es 配置文件  cat /usr/local/elasticsearch/config/elasticsearch.yml 

cluster.name: my-es
node.name: node-10
path.data: /usr/local/elasticsearch/data
path.logs: /var/log/es
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9200
http.port: 9300
discovery.zen.ping.unicast.hosts: ["172.16.1.9", "172.16.1.10"]
http.cors.enabled: true
http.cors.allow-origin: "*"

# 9(master) es 配置文件  cat /usr/local/elasticsearch/config/elasticsearch.yml 

cluster.name: my-es #集群名称 两台必须一样
node.name: master  #节点名称
path.data: /usr/local/elasticsearch/data  #es 数据目录
path.logs: /var/log/es   #es log 日记
bootstrap.memory_lock: true  #配置内存使用用交换分区
network.host: 0.0.0.0  #监听的网络地址
http.port: 9200  #es 监听端口
transport.tcp.port: 9300  #集群监听端口
discovery.zen.ping.unicast.hosts: ["172.16.1.9", "172.16.1.10"]  #集群表单
http.cors.enabled: true
http.cors.allow-origin: "*" #跨站请求

启动 9,10 两台同时启动 

#关闭防火墙

iptables -I INPUT -p tcp --dport 9200 -j ACCEPT
iptables -I INPUT -p tcp --dport 9300 -j ACCEPT 

su es

/usr/local/elasticsearch/bin/elasticsearch -d    # -d 后台运行

 10(master)主机  ES-head 插件安装

安装elasticsearch-head插件

安装docker镜像或者通过github下载elasticsearch-head项目都是可以的,1或者2两种方式选择一种安装使用即可

1. 使用docker的集成好的elasticsearch-head
   # docker run -p 9100:9100 mobz/elasticsearch-head:5
   
   docker容器下载成功并启动以后,运行浏览器打开http://localhost:9100/

2. 使用git安装elasticsearch-head
 
   #npm 源 epel-release 内有  epel-release 源 163 阿里源 都有
   # yum install -y npm
npm -v
[root@ES-master ~]# npm -v
3.10.10
3 #安装
phantomjs
yum install -y bzip2 && wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 -d /opt
tar -jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2 && mv ./phantomjs-2.1.1-linux-x86_64  /usr/local/phantomjs
ln -s /usr/local/phantomjs/bin/phantomjs  /usr/sbin/phantomjs && phantomjs -v
2.1.1
 3.1:  直接在线安装head:  
npm install --unsafe-perm
#启动 elasticsearch-head 后台
npm run start &
      #检查端口是否起来
      netstat -antp |grep 9100
#开放端口
iptables -I INPUT -p tcp --dport 9100 -j ACCEPT

 

  浏览器访问测试是否正常
   http://172.16.1.9:9100/

 

猜你喜欢

转载自www.cnblogs.com/python-diy/p/9715645.html