ELK____之 elasticsearch ES集群 head安装
Posted python-diy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
[[email protected] ~]# 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/
以上是关于ELK____之 elasticsearch ES集群 head安装的主要内容,如果未能解决你的问题,请参考以下文章
ELK之Centos6.9_x64安装elasticsearch6.2.1