elk安装
ELK 是 ElasticSearch、 LogStash、 Kibana 三个开源工具的简称,现在还包括 Beats,其分工如下:
- LogStash/Beats: 负责数据的收集与处理
- ElasticSearch: 一个开源的分布式搜索引擎,负责数据的存储、检索和分析
- Kibana: 提供了可视化的界面。负责数据的可视化操作
ES 是一个基于 Lucene 的使用 Java 开发的开源搜索引擎,因此其运行是基于 JVM 的,因此在安装之前需要保证已经安装了 Java 环境。ES 要求使用 Java8 或者更高版本的 Java 环境。
Elasticsearch安装
下载地址:https://www.elastic.co/cn/downloads/elasticsearch
需要java 1.8支持
步骤:
1、下载
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-linux-x86_64.tar.gz
tar -xzf elasticsearch-7.6.2-linux-x86_64.tar.gz
cd elasticsearch-7.6.2/
2、启动命令
因为不能使用root用户启动,所以需要添加用户
adduser es
passwd es
chown -R es /opt/elasticsearch-7.6.2
su elasticsearch
启动
bin/elasticsearch
后台启动
bin/elasticsearch -d
3、验证
ElasticSearch 的默认启动端口是 9200。手动访问出现如下信息说明启动成功。
localhost:9002
4、开启外网访问
修改elasticsearch.yml
node.name: node-1
network.host: 10.206.16.3
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
http.cors.enabled: true
http.cors.allow-origin: "*"
5、如果报错Native controller process has stopped - no new native processes can be started
vi /etc/security/limits.conf
esyonghu soft nofile 65536
esyonghu hard nofile 65536
esyonghu soft nproc 4096
esyonghu hard nproc 4096
cd /etc/security/limits.d
vi 20-nproc.conf
* soft nproc 4096
root soft nproc unlimited
将*号改成用户名
esyonghu soft nproc 4096
root soft nproc unlimited
增加如下内容
vi /etc/sysctl.conf
vm.max_map_count = 655360
sysctl -p
vm.max_map_count = 655360
参考资料:
es报错:Native controller process has stopped - no
elasticsearch工作笔记002---Centos7.3安装最新版elasticsearch-7.0.0-beta1-x86_64.rpm单机版安装
Logstash
步骤
1、下载公钥
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
路径/etc/yum.repos.d/下配置logstash.repo
[logstash-7.x]
name=Elastic repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
安装
sudo yum install logstash
配置配置文件
-- 进入默认安装目录
[root@VM_16_7_centos logstash]# cd /etc/logstash
[root@VM_16_7_centos logstash]# vim logstash-sample.conf
input {
stdin { }
}
output {
elasticsearch {
hosts => ["http://10.206.16.3:9200"]
#user => "elastic"
#password => "changeme"
}
}
启动
[root@VM_16_7_centos logstash]# cd /usr/share/logstash/
[root@VM_16_7_centos logstash]#bin/logstash -f /etc/logstash/logstash-sample.conf
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
The stdin plugin is now waiting for input:
[INFO ] 2020-04-22 15:47:14.651 [Agent thread] agent - Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}
[INFO ] 2020-04-22 15:47:15.008 [Api Webserver] agent - Successfully started Logstash API endpoint {:port=>9600}
Kibana 的安装运行
下载https://www.elastic.co/cn/downloads/kibana
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.6.2-linux-x86_64.tar.gz
由于外国服务器比较慢,使用国内镜像
https://mirrors.huaweicloud.com/kibana/
wget https://mirrors.huaweicloud.com/kibana/7.6.2/kibana-7.6.2-linux-x86_64.tar.gz
解压并修改配置
tar -vxf kibana-7.6.2-linux-x86_64.tar.gz
cd kibana-7.6.2-linux-x86_64/
vim config/kibana.yml
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://10.206.16.3:9200"]
启动
bin/kibana --allow-root
访问:
http://129.211.190.231:5601
一个一脸懵逼的界面。
点击右上方的 Discover. 界面会提示创建索引模式,通过这个来检索 ES 中的索引,可以看到已经有一个 Logstash 的索引了,输入名称进行完全匹配,
image.png
这里选定一个时间戳,使用默认的 timestamp 即可,设置完成后我们可以根据时间范围筛选数据。
image.png
设置完成后创建后显示如下
image.png
这时在点击 Discover 就可以看到我们创建的索引了
image.png
右边是展示的值,默认使用_source,
我们使用message和host
image.png
这是我们从控制台输入的。
image.png
到这里,我们单机版本的elk就搭建完成了
参考资料:
ELK笔记】ELK的安装,快速搭建一个ELK日志分析平台