一图胜千言

  • 基础架构

  • 工作原理

  • Logstash工作原理

  • Logstash工作流程

  • ELK整体部署图

ELK 安装配置简化过程

1 基本配置vim /etc/hosts192.168.2.61         master-node192.168.2.62       data-node1192.168.2.63       data-node2wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.rpmrpm -ivh elasticsearch-6.0.0.rpmelasticsearch.ymljvm.optionslog4j2.propertiesvim /etc/elasticsearch/elasticsearch.yml cluster.name: master-node  # 集群中的名称node.name: master  # 该节点名称node.master: true  # 意思是该节点为主节点node.data: false  # 表示这不是数据节点network.host: 0.0.0.0  # 监听全部ip,在实际环境中应设置为一个安全的iphttp.port: 9200  # es服务的端口号discovery.zen.ping.unicast.hosts: ["192.168.2.61", "192.168.2.62", "192.168.2.63"] # 配置自动发现scp /etc/elasticsearch/elasticsearch.yml data-node1:/tmp/scp /etc/elasticsearch/elasticsearch.yml data-node2:/tmp/cp /tmp/elasticsearch.yml /etc/elasticsearch/elasticsearch.ymlsystemctl start elasticsearch.servicecurl '192.168.2.61:9200/_cluster/health?pretty'curl '192.168.2.61:9200/_cluster/state?pretty'
2 kibana配置wget https://artifacts.elastic.co/downloads/kibana/kibana-6.0.0-x86_64.rpmrpm -ivh kibana-6.0.0-x86_64.rpmvim /etc/kibana/kibana.ymlserver.port: 5601  # 配置kibana的端口server.host: 192.168.2.61  # 配置监听ip# 配置es服务器的ip,如果是集群则配置该集群中主节点的ipelasticsearch.url: "http://192.168.2.61:9200" # 配置kibana的日志文件路径,不然默认是messages里记录日志 logging.dest: /var/log/kibana.log  touch /var/log/kibana.log; chmod 777 /var/log/kibana.logsystemctl start kibanahttp://192.168.2.61:5601/
3 logstash配置192.168.2.62wget https://artifacts.elastic.co/downloads/logstash/logstash-6.0.0.rpmrpm -ivh logstash-6.0.0.rpmvim /etc/logstash/conf.d/syslog.conf input {  # 定义日志源syslog {type => "system-syslog"  # 定义类型port => 10514    # 定义监听端口}}output {  # 定义日志输出stdout {codec => rubydebug  # 将日志输出到当前的终端上显示}}cd /usr/share/logstash/bin检查配置./logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conf --config.test_and_exit配置kibana服务器的ip以及配置的监听端口vim /etc/rsyslog.conf#### RULES ####*.* @@192.168.2.62:10514systemctl restart rsyslog指定配置文件,启动logstashcd /usr/share/logstash/bin./logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conflogstash收集nginx日志
vim /etc/logstash/conf.d/nginx.conf input {file {  # 指定一个文件作为输入源path => "/var/log/nginx/access.log"  # 指定文件的路径start_position => "beginning"  # 指定何时开始收集type => "nginx"  # 定义日志类型,可自定义}
}
filter {  # 配置过滤器grok {match => { "message" => "%{IPORHOST:http_host} %{IPORHOST:clientip} - %{USERNAME:remote_user} \[%{HTTPDATE:timestamp}\] \"(?:%{WORD:http_verb} %{NOTSPACE:http_request}(?: HTTP/%{NUMBER:http_version})?|%{DATA:raw_http_request})\" %{NUMBER:response} (?:%{NUMBER:bytes_read}|-) %{QS:referrer} %{QS:agent} %{QS:xforwardedfor} %{NUMBER:request_time:float}"}  # 定义日志的输出格式}geoip {source => "clientip"}
}
output {stdout { codec => rubydebug }elasticsearch {hosts => ["192.168.2.61:9200"]index => "nginx-test-%{+YYYY.MM.dd}"}
}cd /usr/share/logstash/bin
./logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/nginx.conf --config.test_and_exitcd /etc/nginx/http_virtual_host.d
vim elk.conf
server {listen 80;server_name elk.test.com;location / {proxy_pass      http://192.168.2.61:5601;proxy_set_header Host   $host;proxy_set_header X-Real-IP      $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}access_log  /tmp/elk_access.log main2;
}vim
log_format main2 '$http_host $remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$upstream_addr" $request_time';
nginx -t
nginx -s reload
配置hosts  192.168.2.62 elk.eichong.comls /var/log/nginx/access.log
wc -l !$
重启logstash服务,生成日志的索引
systemctl restart logstash重启完成后,在es服务器上检查是否有nginx-test开头的索引生成
curl '192.168.2.61:9200/_cat/indices?v'nginx-test索引已经生成了,那么这时就可以到kibana上配置该索引
managent  index patterns   create index patterns
discover
http://192.168.2.61:5601/status 查看状态

最新版本yum安装

001 elasticsearchrpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
vim /etc/yum.repos.d/elasticsearch.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-mdyum install elasticsearch -y002 kibana
vim /etc/yum.repos.d/kibana.repo[kibana-6.x]
name=Kibana 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-mdyum install kibana -y003 logstash
vim /etc/yum.repos.d/logstash.repo[logstash-6.x]
name=Elastic 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

主要配置文件

001 elasticsearch
cat /etc/elasticsearch/elasticsearch.yml |grep ^[^#]cluster.name: my-elk
node.name: master
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: ["172.19.1.216", "172.19.1.217"]002 kibana
cat /etc/kibana/kibana.yml |grep ^[^#]server.port: 5601
server.host: "172.19.1.216"
elasticsearch.url: "http://172.19.1.216:9200"
logging.dest: /var/log/kibana.log  # 文件需创建并授权003 logstash

汉化

https://github.com/anbai-inc/Kibana_Hanization

其他优秀博客

https://www.cnblogs.com/kevingrace/p/5919021.html
http://blog.51cto.com/zero01/2079879

ELK 原理部署过程相关推荐

  1. 开源实时日志分析ELK平台部署

    开源实时日志分析ELK平台部署 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷 ...

  2. Microsoft SQL Server数据库部署过程

    介绍 (Introduction) Database deployments are critical tasks that can affect negative in on performance ...

  3. 【微信小程序控制硬件④】 深度剖析微信公众号配网 Airkiss 原理与过程,esp8266如何自定义回调参数给微信,实现绑定设备第一步!(附带源码)

    [微信小程序控制硬件第1篇 ] 全网首发,借助 emq 消息服务器带你如何搭建微信小程序的mqtt服务器,轻松控制智能硬件! [微信小程序控制硬件第2篇 ] 开始微信小程序之旅,导入小程序Mqtt客户 ...

  4. 综合架构网站服务概念原理/部署安装(三)

    网站服务防盗链优化设置 什么是盗链概念:盗取链接 == 消耗网站流量资源 1.用户访问 B 盗链网站(图片A) 消耗图片资源 A网站流量 ​ 占用A网站带宽 云主机:网络通讯计费模式 ​ 固定带宽计费 ...

  5. ELK日志分析系统(二)之ELK搭建部署

    文章目录 引言 一.Elasticsearch 集群部署(在Node1上操作) 1.准备环境 2.部署安装Elasticsearch软件 3.配置Elasticsearch主配置文件 4.创建数据存放 ...

  6. linux crontab scrapy,python3 scrapy+Crontab部署过程

    背景 最近有时间想学习下python3+scrapy,于是决定写一个小程序来练练手. 开发环境:MacOS High Sierra(10.13.1)+python3+scrapy. 开发工具:PyCh ...

  7. [项目过程中所遇到的各种问题记录]部署篇——项目部署过程中那些纠结的问题-SQLServer...

    前一篇文章说了些有关IIS的,这篇则是说SQLServer的,相比IIS来说,SQLServer的配置过程中问题就少了许多,而且都比较有针对性,下面开始记录: 注:由于实际项目的开发都是基于SQL20 ...

  8. SharePoint 2007部署过程详细图解之一:准备

    Microsoft Office SharePoint Server 2007(简称MOSS 2007)可以构建企业门户站点,并实现团队协作.内容管理.工作流.商业智能等强大功能,是微软2007 Of ...

  9. 预发布环境,Tag发布机制和可重复的部署过程

    导读:作者吕毅在blog.lvscar.info发表了本篇文章,文中分享了Joel Test .预发布环境.Tag发布机制以及可重复的部署过程等.内容如下: 周末聚会,无意间聊起建筑行业.自己是搞软件 ...

最新文章

  1. Entity Framework Core 2.0的新特性
  2. sigmoid函数求导与自然指数
  3. Android ART GC之GrowForUtilization的分析
  4. ASP.NET Core Web API + Identity Server 4 + Angular 6 实战小项目视频
  5. mysql外键约束创建及删除_MySQL中的外键的创建,约束和删除
  6. 转:pysqlite笔记
  7. cordova+vue 项目打包成Android(apk)应用
  8. UIScrollView加约束
  9. 公司聚餐完毕,明日启程回家过年
  10. Win2003下架构Mrtg服务器
  11. 在pascal环境下学习record
  12. 我的Python成长之路---第三天---Python基础(9)---2016年1月16日(雾霾)
  13. javascript div 弹出可拖动窗口
  14. 程序员需要学些什么?程序员好考吗?
  15. IO-同步、异步、阻塞、非阻塞
  16. 二叉搜索树的操作题集
  17. 祝贺中国推送联盟初测成功
  18. 差速轮和舵轮的纯跟踪算法
  19. vue-网页Logo标题及矢量图标
  20. 【jQwidgets】jqxComboBox

热门文章

  1. LeetCode 257. Binary Tree Paths (二叉树路径)
  2. 修改ECSHOP后台的商品列表里显示该商品品牌
  3. java使用内部类的好处及其初始化
  4. C#中的复制在unity中使用
  5. c语言程序改错输入5结果为15,《C语言程序设计教学课件》程序改错(自我总结).doc...
  6. 实数在java中的表示,java - 如何在Z3(Java)中从模型中获取实数值作为小数(双精度)? - SO中文参考 - www.soinside.com...
  7. matlab 求向量的交集_从零开始的matlab学习笔记——(16)函数绘图
  8. python 操作excel神器_【转】多图+代码 | 详解Python操作Excel神器openpyxl的各种操作!...
  9. ggplot2 | 使用小提琴图+箱形图+抖动图展示数据分布情况
  10. 软件测试适合女生学吗?