ELK搭建分布式日志系统
ELK
简介
ELK分别表示:Elasticsearch , Logstash, Kibana 。他们组成了一套完整的日志系统的解决方案。
- Logstash 对各个服务的日志进行采集、过滤、推送。
- Elasticsearch 存储Logstash传送的结构化数据,提供给Kibana。
- Kibana 提供用户UIweb页面进行,数据展示和分析形成图表等。
ELK架构
ELK版本对应关系
环境配置
下载工具wget
yum install wget -y
解压缩工具zip
yum install zip unzip
java环境
下载
去官方网站下载:
jdk-8u181-linux-x64.rpm
或者执行
wget http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.rpm?AuthParam=1532483945_1ce1c40fee9c74cdfb2c8c33ba817e88
下载完毕后重命名rpm包
mv jdk-8u181-linux-x64.rpm?AuthParam=1532483945_1ce1c40fee9c74cdfb2c8c33ba817e88 jdk-8u181-linux-x64.rpm
安装
rpm -ivh jdk-8u181-linux-x64.rpm
验证是否安装成功
上面所有的步骤完成之后,这时候我们需要检查是否安装成功,输入如下命令,如图所示:
java -version echo $JAVA_HOME
elisticsearch 2.4.6
下载
wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/zip/elasticsearch/2.4.6/elasticsearch-2.4.6.zip
解压缩
unzip elasticsearch-2.4.6.zip
配置允许root启动
若想以以root权限运行Elasticsearch.解决办法是运行时加上参数:
bin/elasticsearch -Des.insecure.allow.root=true
或者修改bin/elasticsearch,加上ES_JAVA_OPTS属性:
ES_JAVA_OPTS="-Des.insecure.allow.root=true"
关闭防火墙
//临时关闭 systemctl stop firewalld //禁止开机启动 systemctl disable firewalld
配置config/elisticearch.yml
cluster.name: mntx-cluster node.name= node-1 network.host:192.168.29.129 http.port:9200
启动elasticsearch
./elasticsearch-2.4.6/bin/elasticsearch
后台运行
./elasticsearch-2.4.6/bin/elasticsearch &
验证是否启动成功
Head插件安装
elasticsearch/bin/plugin install mobz/elasticsearch-head
head插件的使用
http://192.168.29.129:9200/_plugin/head/
Logtash 2.4.6
下载
Wget https://download.elastic.co/logstash/logstash/logstash-2.4.1.zip
解压缩:
unzip logstash-2.4.1.zip
新建配置文件logstash-es.conf:
touch ./logstash-2.4.1/config/logstash-es.conf
input { tcp { port => 9601 codec => json_lines } } output { elasticsearch { # 此处配置需要连接的elashticsearch地址 hosts => "localhost:9200" } stdout { codec => rubydebug} }
注意缩进要符合规范
安装logstash json插件
./bin/logstash-plugin install logstash-codec-json_lines
运行logstash
./bin/logstash -f ./config/logback-es.conf ##命令窗形式 ./bin/logstash -f ./config/logback-es.conf & ##后台线程
关闭logstash
ps -ef | grep logstash #后台线程关闭 kill -9 4617 ##pid 4617 为查处线程的pid
安装kibana
下载
wget https://download.elastic.co/kibana/kibana/kibana-4.6.6-linux-x86_64.tar.gz
解压缩
tar -xzvf kibana-4.6.6-linux-x86_64.tar.gz
配置
vi ./config/kibana.yml
server.port: 5601 ##服务端口 server.host: "localhost" ##服务器ip 本机 elasticsearch.url: "http://localhost:9200" ##elasticsearch服务地址 与elasticsearch对应
启动
./bin/kibana #命令窗启动 ./bin/kibana &
配置Sptingboot项目
pom文件依赖
<dependency> <groupId>net.logstash.logback</groupId> <artifactId>logstash-logback-encoder</artifactId> <version>4.11</version> </dependency>
logback.xml配置文件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration> <configuration> <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> <destination>192.168.253.6:9601</destination> <!--指定logstash ip:监听端口 tcpAppender 可自己实现如kafka传输等--> <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" /> </appender> <include resource="org/springframework/boot/logging/logback/base.xml"/> <!--引用springboot默认配置--> <root level="INFO"> <appender-ref ref="LOGSTASH" /> <!--使用上述订阅logstash数据tcp传输 --> <appender-ref ref="CONSOLE" /> <!--使用springboot默认配置 调试窗口输出--> </root> </configuration>
测试
SpringbootLogbackApplication.java 测试,写一个循环100次的日志记录
@SpringBootApplication public class SpringbootLogbackApplication { private final static Logger logger = LoggerFactory.getLogger(SpringbootLogbackApplication.class); public static void main(String[] args) { new Thread(()->{ for (int i=0;i<100;i++){ logger.info("---test---"+i); } }).start(); SpringApplication.run(SpringbootLogbackApplication.class, args); } }
查看结果
在logtash控制台打印出日志记录情况
使用head插件观察elasticsearch中的数据
使用kibana观察数据,
相关推荐
技术与更多 2020-04-15
狐狸小七 2020-05-10
vtnews 2020-04-15
码农后花园 2020-01-16
gniMiL 2019-12-27
搏风雨 2019-12-13
ujm0 2019-12-07
lihy0 2017-10-25
winxcoder 2019-08-01
wchbest 2018-11-20
mameng 2017-08-22
国梁的学习笔记 2019-07-01
winxcoder 2019-07-01
javashixisheng 2019-06-30
ericdoug 2019-06-30
winxcoder 2019-06-29
liulin0 2019-06-28
superviser000 2019-06-28
腊八粥 2019-06-28