(1)ELKStack简介
1.elk介绍
ELK Stack包含:ElasticSearch、Logstash、Kibana
ElasticSearch是一个搜索引擎,用来搜索、分析、存储日志。它是分布式的,也就是说可以横向扩容,可以自动发现,索引自动分片,总之很强大
Logstash用来采集日志,把日志解析为json格式交给ElasticSearch。
Kibana是一个数据可视化组件,把处理后的结果通过web界面展示
Beats在这里是一个轻量级日志采集器,早期的ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、cpu、io等资源消耗比较高。相比 Logstash,Beats所占系统的CPU和内存几乎可以忽略不计
x-pack对Elastic Stack提供了安全、警报、监控、报表、图表于一身的扩展包,是收费的。
2.elk架构
(2)Elasticsearch部署
1.安装jdk
yum install java -y
2.下载并安装GPG key
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
3.添加yum仓库
#vim /etc/yum.repos.d/es.repo
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
4.安装elasticsearch
yum install -y elasticsearch
5.创建elasticsearch data的存放目录,并修改该目录的属主属组
mkdir -p /data/es-data
chown -R elasticsearch:elasticsearch /data/es-data
6.修改elasticsearch的配置文件
#vim /etc/elasticsearch/elasticsearch.yml
cluster.name: demon //设置集群名称
node.name: elk-1 //节点名称,一个集群之内节点的名称不能重复
path.data: /data/es-data //修改data存放的路径
path.logs: /var/log/elasticsearch/ //修改logs日志的路径
#bootstrap.memory_lock: true //锁住es内存,保证内存不分配至交换分区,这里暂时不配置。注释掉
network.host: 0.0.0.0 //监听的网络地址
http.port: 9200 //开启监听的端口
http.cors.enabled: true //增加新的参数,这样head插件可以访问es
http.cors.allow-origin: "*"
bootstrap.system_call_filter: false
discovery.zen.ping.unicast.hosts: ["192.168.1.31","192.168.1.32"] //单播(配置一台即可,生产可以使用组播方式),如果有多个elasticsearch节点可配置
7.调整jvm内存
vim /etc/elasticsearch/jvm.options
-Xms512m
-Xmx512m
8.其它配置
#vim /etc/security/limits.conf
elk soft nofile 65536
elk hard nofile 65536
elk soft nproc 2048
elk hard nproc 2048
elk soft memlock unlimited
elk hard memlock unlimited
9.启动服务
systemctl start elasticsearch
systemctl enable elasticsearch
10.验证
ss -anltup | grep 9200
curl http://127.0.0.1:9200/
curl http://localhost:9200/_cluster/health?pretty=true //验证集群状态
(3)head插件
1.使用git方式安装head插件
yum install -y npm git
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install -g cnpm --registry=https://registry.npm.taobao.org
npm install -g grunt-cli --registry=https://registry.npm.taobao.org
npm config set registry https://registry.npm.taobao.org
npm install
npm run start
2.验证
ss -anltup | grep 9100
(4)报错
解决方案:ulimit -c unlimited