网站策划建设,温州生活网招聘信息,wordpress获取本篇文章tag,怎么查网站的空间商ELK介绍#xff1a;
ELK是一组开源工具的缩写#xff0c;它由Elasticsearch、Logstash和Kibana三个组件组成#xff0c;用于处理、分析和可视化大量日志数据。
入门级ELK搭建#xff08;无Docker环境#xff09;
安装前准备
1.获取安装包
https://artifacts.elastic…ELK介绍
ELK是一组开源工具的缩写它由Elasticsearch、Logstash和Kibana三个组件组成用于处理、分析和可视化大量日志数据。
入门级ELK搭建无Docker环境
安装前准备
1.获取安装包
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.2-linux-x86_64.tar.gz
https://artifacts.elastic.co/downloads/kibana/kibana-7.16.2-linux-x86_64.tar.gz
https://artifacts.elastic.co/downloads/logstash/logstash-7.16.2-linux-x86_64.tar.gz我将以上三个包统一存放在/usr/local目录下
2.创建用户组及用户
备注由于elasticsearch不允许使用root启动创建以下用户及yoghurt组以备用 【添加组】【用户组名】
groupadd elsearch【添加用户】【用户名】-g【用户组名】-p【密码值】
useradd elsearch -g elsearch -p elsearch3.统一处理
1将三个包解压
tar -zxvf elasticsearch-7.16.2-linux-x86_64.tar.gz
tar -zxvf logstash-7.16.2-linux-x86_64.tar.gz
tar -zxvf kibana-7.16.2-linux-x86_64.tar.gz2将解压后的目录及权限交给刚创建的elsearch用户
chown -R elsearch:elsearch /usr/local/elasticsearch-7.16.2
chown -R elsearch:elsearch /usr/local/logstash-7.16.2
chown -R elsearch:elsearch /usr/local/kibana-7.16.2-linux-x86_64一、elasticsearch配置
1.配置
修改配置文件elasticsearch.yml
cd /usr/local/elasticsearch-7.16.2/config
vim elasticsearch.yml按以下方式进行修改
#集群名称按实际需要配置名称
cluster.name: chy-elasticsearch
#节点名称
node.name: node-1
#数据路径按实际需要配置日志地址
path.data: /usr/local/elasticsearch-7.16.2/data
#日志路径按实际需要配置日志地址
path.logs: /usr/local/elasticsearch-7.16.2/logs
#地址通常使用内网进行配置
network.host: 127.0.0.1
#端口号
http.port: 18201
#节点地址
discovery.seed_hosts: [127.0.0.1, [::1]]
#集群master
cluster.initial_master_nodes: [node-1]
#跨域这两项配置手动添加一下
http.cors.enabled: true
http.cors.allow-origin: *2.启动
cd /usr/local/elasticsearch-7.16.2/bin
nohup ./elasticsearch /dev/null 3.观察是否启动
观察日志判断elasticsearch 是否启动
cd /usr/local/elasticsearch-7.16.2/logs
tail -fn 100 /usr/local/elasticsearch-7.16.2/logs/chy-elasticsearch.log注上面这条语句结尾的‘chy-elasticsearch.log’为配置中的cluster.name的值
二、logstash配置
1.配置文件准备
修改配置文件logstash-sample.conf
cd /usr/local/logstash-7.16.2/configcd /usr/local/logstash-7.16.2/config ··· cp logstash-sample.conf logstash.conf ···
2.修改配置
vim logstash.conf注意为了方便解释含义以下包含注释‘#’的行请手动去除
input {#配合使用filebeats的端口可忽略beats {port 5044}#logstash向elasticsearch 传输数据端口tcp{port 5701codec json}
}#以下配置为创建用户索引及默认索引情况
output {if[appname] ! {elasticsearch {hosts [http://127.0.0.1:9200]index %{[appname]}-%{YYYY.MM.dd}}} else {elasticsearch {hosts [http://127.0.0.1:9200]index %{[metadata][beat]}-%{[metadata][version]}-%{YYYY.MM.dd}}}
}3.启动
cd /usr/local/logstash-7.16.2/bin
nohup ./logstash -f /usr/local/logstash-7.16.2/config/logstash.conf ../logs/logstash.log 4.观察是否启动
查看日志检查logstash是否成功启动
cd /usr/local/logstash-7.16.2/logs
tail -fn 100 logstash.log三、kibana配置
1.修改配置文件
cd /usr/local/kibana-7.16.2-linux-x86_64/config
vim kibana.yml按以下进行配置
#服务端口按实际需求
server.port: 18501
#服务主机这里是服务器内网地址
server.host: 172.16.176.60
#服务名按实际需求
server.name: chy-Kibana
#elasticsearch地址
elasticsearch.hosts: [http://127.0.0.1:18201]
#设置简体中文
i18n.locale: zh-CN2.启动
cd /usr/local/kibana-7.16.2-linux-x86_64/bin
nohup ./kibana /dev/null 3.观察是否启动
浏览器打开http://{kibana服务器IP}:{端口}/app/home 例如http://192.168.1.120:18501/app/home 出现kibana首页则表明启动成功
Docker中搭建ELK系统
前言
1.需要准备一台linux服务器最好是CentOS7,内存至少4g以上三个组件都比 较占用内存 2.需要有docker使用经验
1 docker安装ElasticSearch
这里先创建一个网络因为我们还需要部署kibana容器、logstash容器需要让这些容器互联。
docker network create elk-net这里ElasticSearch采用的是7.12.1版本 在docker中搜索和下载对应的镜像
#搜索镜像
docker search elasticsearch
#下载镜像
docker pull elasticsearch:7.12.1有了镜像以后可以直接创建对应的容器命令如下
docker run -d \--name es \-e ES_JAVA_OPTS-Xms512m -Xmx512m \-e discovery.typesingle-node \-v es-data:/usr/share/elasticsearch/data \-v es-plugins:/usr/share/elasticsearch/plugins \--privileged \--network elk-net \-p 9200:9200 \-p 9300:9300 \
elasticsearch:7.12.1命令解释
-e cluster.namees-docker-cluster 设置集群名称
-e http.host0.0.0.0 监听的地址可以外网访问
-e ES_JAVA_OPTS-Xms512m -Xmx512m 内存大小
-e discovery.typesingle-node 非集群模式
-v es-data:/usr/share/elasticsearch/data 挂载逻辑卷绑定es的数据目录
-v es-logs:/usr/share/elasticsearch/logs 挂载逻辑卷绑定es的日志目录
-v es-plugins:/usr/share/elasticsearch/plugins 挂载逻辑卷绑定es的插件目录
--privileged 授予逻辑卷访问权
--network elk-net 加入一个名为es-net的网络中
-p 9200:9200 端口映射配置在浏览器中输入http://192.168.200.130:9200 (按照自己的ip访问)即可看到elasticsearch的响应结果
2 docker安装kibana
创建容器(如果不提前下载好在创建容器时会先下载然后创建容器)
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTShttp://es:9200 \
-e I18N_LOCALEzh-CN \
--networkelk-net \
-p 5601:5601 \
kibana:7.12.1命令解释
--network elk-net 加入一个名为es-net的网络中与elasticsearch在同一个网络中
-e ELASTICSEARCH_HOSTShttp://es:9200 设置elasticsearch的地址因为kibana已经与elasticsearch在一个网络因此可以用容器名直接访问elasticsearch
-p 5601:5601 端口映射配置此时在浏览器访问http://192.168.200.130:5601即可看到结果
3 docker安装logstash
3.1 创建容器
docker run -d -p 5044:5044 -p 9600:9600 --name logstash --
networkelk-net logstash:7.12.13.2 修改配置
3.2.1 设置ES的地址
创建完容器之后需要在容器修改一些配置
#进入容器
docker exec -it logstash /bin/bash找到config目录中的logstatsh.yml文件 修改里面的内容设置es服务的地址如下
http.host: 0.0.0.0
xpack.monitoring.elasticsearch.hosts: [ http://192.168.200.130:9200 ] #设置跟es的服务地址3.2.2 设置logstash收集日志的输入和输出
进入容器
#进入容器
docker exec -it logstash /bin/bash找到pipeline目录中的logstatsh.conf文件 修改如下可以设置数据输入的方式也可以设置把数据存放到哪里
input {tcp {mode serverhost 0.0.0.0 # 允许任意主机发送日志port 5044codec json_lines # 数据格式}
}output {elasticsearch {hosts [http://192.168.200.130:9200] # ElasticSearch 的地址和端口index log-%{YYYY.MM.dd} # 指定索引名,可以根据自己的需求指定命名codec json}stdout {codec rubydebug}
}修改完所有的配置后需要重启logstash容器
docker restart logstash其他配置
JAVA中使用spring boot
dependencygroupIdnet.logstash.logback/groupIdartifactIdlogstash-logback-encoder/artifactIdversion7.0.1/version
/dependency注意以下图片中destination标签它定义了logstash传输日志的ip及端口号有两种方式 1.直接写在标签里面下图中灰色注释这种 2.从spring配置中读取上图中圈起来的springProperty标签,再如下图中通过${**}的方式引入 代码如下
springProperty scopecontext namelogstash.destination sourcelogstash.destination/
appender namelogStash classnet.logstash.logback.appender.LogstashTcpSocketAppenderparam nameEncoding valueUTF-8/!-- 日志过滤器参见 --filter classcom.****.****.common.log.CustomLogFilesFilter/!--destination101.37.65.233:18401/destination--destination${logstash.destination}/destinationencoder charsetUTF-8 classnet.logstash.logback.encoder.LogstashEncoder !-- 索引名appname对应logStash配置中创建的索引 --customFields{appname:${logback.appname}}/customFields/encoder
/appender
!-- 最后别忘了这个 --
root levelinfoappender-ref reflogStash /
/root