ELK日志分析系统
部署环境
192.168.1.147 kibana、logstash、Escluster-node-1
192.168.1.151 filebeat、Escluster-node-2、nginx
软件
- elasticsearch-5.1.1.rpm
- filebeat-5.1.1-x86_64.rpm
- kibana-5.1.1-x86_64.rpm
- logstash-5.1.1.rpm
- jdk-8u121-linux-x64.tar.gz
filebeat
192.168.1.151节点部署filebeat 收集日志
直接使用rpm安装:
[root@baseos-2_192.168.1.151 ~]# rpm -ivh filebeat-5.1.1-x86_64.rpm
配置filebeat:
[root@baseos-2_192.168.1.151 ~]# vim /etc/filebeat/filebeat.yml
filebeat:
prospectors:
-
paths:
- /data/logs/nginx_access.log
input_type: log
document_type: nginx-access
tail_files: true
-
paths:
- /data/logs/webserver_access.log
input_type: log
document_type: webserver-access
tail_files: true
output:
logstash:
hosts: ["192.168.1.147:5044"]
ssl.certificate_authorities: ["/etc/filebeat/ca.crt"]
logstash
192.168.1.147节点部署logstash接受处理日志
logstash 需要java环境,jdk-8u121-linux-x64.tar.gz的安装略
直接使用rpm安装:
[root@elkserver_192.168.1.147 ~]# rpm -ivh logstash-5.1.1.rpm
配置logstash:
[root@elkserver_192.168.1.147 ~]# ln -s /etc/logstash /usr/share/logstash/config
[root@elkserver_192.168.1.147 ~]# ln -s /usr/share/logstash/bin/* /usr/local/bin/
# 调整jvm使用内存
[root@ ~]# vim /etc/logstash/jvm.options
-Xms256m
-Xmx256m
# 修改logstash基本配置
[root@elkserver_192.168.1.147 ~]# vim /etc/logstash/logstash.yml
pipeline:
workers: 4
batch:
size: 125
delay: 5
path.config: /etc/logstash/conf.d
path.logs: /data/logs/logstash
http.port: 9600
http.host: "192.168.1.147"
[root@elkserver_192.168.1.147 ~]# mkdir -p /data/logs/logstash
[root@elkserver_192.168.1.147 ~]# chown logstash:logstash -R /data/logs/logstash
[root@elkserver_192.168.1.147 ~]# vim /etc/logstash/conf.d/filebeat_nginx_ES.conf
input {
beats {
port => 5044
ssl => true
ssl_certificate => "/etc/logstash/logstash_server.crt"
ssl_key => "/etc/logstash/logstash_server.key"
ssl_verify_mode => "none"
}
}
filter {
grok {
patterns_dir => "/etc/logstash/conf.d/patterns/mypattern"
match => {
"message" => "%{NGXACCESSLOG}"
}
}
geoip {
source => "client_ip"
fields => "city_name"
fields => "country_name"
fields => "continent_code"
fields => "continent_name"
database => "/etc/logstash/ipdata.mmdb"
}
}
output{
elasticsearch {
hosts => ["192.168.31.140:9200"]
index => "%{type}-log-%{+YYYY.MM.dd}"
document_type => "%{type}"
#user => elastic
#password => 123456
}
}
# 自定义正则
[root@elkserver_192.168.1.147 ~]# vim /etc/logstash/conf.d/patterns/mypattern
IPADDR [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}
REQUESTPRO ([^"]*)
REQUESTPATH (?:/[\\A-Za-z0-9$.+!*'(){},~:;=@#% \[\]_<>^\-&?]*)+
NGXACCESSLOG %{IPADDR:client_ip} - (%{USERNAME:user}|-) \[%{HTTPDATE:request_timestamp}\] \"%{WORD:request_mathod} %{REQUESTPATH:request_path} %{REQUESTPRO:request_protocol}\" %{NUMBER:http_status} %{NUMBER:body_bytes_sent} (%{GREEDYDATA:http_referer}|-) \"%{DATA:http_user_agent}\" \"%{USERNAME:http_x_forwarded_for}\"
启动logstash:
[root@elkserver_192.168.1.147 ~]# logstash -f /etc/logstash/conf.d/filebeat_nginx_ES.conf &
elasticsearch
192.168.1.147和192.168.1.151两个节点部署elasticsearch集群,其中192.168.1.147为master
安装elasticsearch
两个节点都一样
[root@elkserver_192.168.1.147 ~]# rpm -ivh elasticsearch-5.1.1.rpm
[root@elkserver_192.168.1.147 ~]# vi /etc/security/limits.d/90-nproc.conf
* soft nproc 1024
#修改为
* soft nproc 2048
配置elasticsearch
调整jvm的内存,两个节点都一样
[root@elkserver_192.168.1.147 ~]# vim /etc/elasticsearch/jvm.options
配置elasticsearch
# 主节点
[root@elkserver_192.168.1.147 ~]# cat /etc/elasticsearch/elasticsearch.yml | egrep -v "^$|^#"
cluster.name: ES-wangshenjin
node.name: node-1
path.data: /data/elasticsearch
path.logs: /data/logs/elasticsearch
network.host: 192.168.1.147
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.1.151"]
[root@elkserver_192.168.1.147 ~]# mkdir -p /data/elasticsearch /data/logs/elasticsearch
[root@elkserver_192.168.1.147 ~]# chown elasticsearch:elasticsearch -R /data/elasticsearch /data/logs/elasticsearch
# 从节点
[root@baseos-2_192.168.1.151 ~]# cat /etc/elasticsearch/elasticsearch.yml | egrep -v "^$|^#"
cluster.name: ES-wangshenjin
node.name: node-2
path.data: /data/elasticsearch
path.logs: /data/logs/elasticsearch
network.host: 192.168.1.151
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.1.147"]
[root@baseos-2_192.168.1.151 ~]# mkdir -p /data/elasticsearch /data/logs/elasticsearch
[root@baseos-2_192.168.1.151 ~]# chown elasticsearch:elasticsearch -R /data/elasticsearch /data/logs/elasticsearch
两边同时启动elasticsearch:
[root@elkserver_192.168.1.147 ~]# /etc/init.d/elasticsearch start
kibana
192.168.1.147 部署kibana
直接使用rpm安装:
[root@elkserver_192.168.1.147 ~]# rpm -ivh kibana-5.1.1-x86_64.rpm
配置kibana
[root@elkserver_192.168.1.147 ~]# cat /etc/kibana/kibana.yml | egrep -v '^$|^#'
server.port: 5601
server.host: "192.168.1.147"
server.name: "kibana.wangshenjin.com"
elasticsearch.url: "http://192.168.1.147:9200"
kibana.index: ".kibana"
kibana.defaultAppId: "discover"
启动kibana:
[root@elkserver_192.168.1.147 ~]# /etc/init.d/kibana start
登录kibana的web界面时,需要创建index pattern,直接输入nginx-access-log-*和webserver-access-log-*,然后点击create即可。
ELK日志分析系统的更多相关文章
- ELK日志分析系统简单部署
1.传统日志分析系统: 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安 ...
- Rsyslog+ELK日志分析系统
转自:https://www.cnblogs.com/itworks/p/7272740.html Rsyslog+ELK日志分析系统搭建总结1.0(测试环境) 因为工作需求,最近在搭建日志分析系统, ...
- 十分钟搭建和使用ELK日志分析系统
前言 为满足研发可视化查看测试环境日志的目的,准备采用EK+filebeat实现日志可视化(ElasticSearch+Kibana+Filebeat).题目为“十分钟搭建和使用ELK日志分析系统”听 ...
- ELK日志分析系统-Logstack
ELK日志分析系统 作者:Danbo 2016-*-* 本文是学习笔记,参考ELK Stack中文指南,链接:https://www.gitbook.com/book/chenryn/kibana-g ...
- elk 日志分析系统Logstash+ElasticSearch+Kibana4
elk 日志分析系统 Logstash+ElasticSearch+Kibana4 logstash 管理日志和事件的工具 ElasticSearch 搜索 Kibana4 功能强大的数据显示clie ...
- 《ElasticSearch6.x实战教程》之实战ELK日志分析系统、多数据源同步
第十章-实战:ELK日志分析系统 ElasticSearch.Logstash.Kibana简称ELK系统,主要用于日志的收集与分析. 一个完整的大型分布式系统,会有很多与业务不相关的系统,其中日志系 ...
- Docker笔记(十):使用Docker来搭建一套ELK日志分析系统
一段时间没关注ELK(elasticsearch —— 搜索引擎,可用于存储.索引日志, logstash —— 可用于日志传输.转换,kibana —— WebUI,将日志可视化),发现最新版已到7 ...
- ELK 日志分析系统的部署
一.ELK简介 ElasticSearch介绍Elasticsearch是一个基于Lucene的搜索服务器. 它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口. Elasti ...
- Rsyslog+ELK日志分析系统搭建总结1.0(测试环境)
因为工作需求,最近在搭建日志分析系统,这里主要搭建的是系统日志分析系统,即rsyslog+elk. 因为目前仍为测试环境,这里说一下搭建的基础架构,后期上生产线再来更新最后的架构图,大佬们如果有什么见 ...
- ELK日志分析系统搭建
之前一段时间由于版本迭代任务紧,组内代码质量不尽如人意.接二连三的被测试提醒后台错误之后, 我们决定搭建一个后台日志分析系统, 经过几个方案比较后,选择的相对更简单的ELK方案. ELK 是Elast ...
随机推荐
- [vue]vue路由篇vue-router
spa单页开发及vue-router基础: https://www.cnblogs.com/iiiiiher/p/9034496.html url两种传参方式 query: $route.query ...
- dblink连接操作远程数据库
在一个数据库中需要操作远程数据库时,需要创建远程数据库的连接. 连接代码如下: create public database link 连接名 connect to 远程数据库用户名 identifi ...
- nodejs+mysql入门实例(删)
//连接数据库 var mysql = require('mysql'); var connection = mysql.createConnection({ host: 'bdm253137448. ...
- nodejs+mysql入门实例(链接到数据库)
//连接数据库 var mysql = require('mysql'); var connection = mysql.createConnection({ host: '******', //数据 ...
- css页面布局--三栏(两边固定中间自适应&两边自适应中间固定)
http://www.cnblogs.com/zhanyishu/p/5656875.html
- python repr和str
都是将对象转换为字符串 repr """ repr(object) -> string Return the canonical string representa ...
- openCV学习——一、图像读取、显示、输出
openCV学习——一.图像读取.显示.输出 一.Mat imread(const string& filename,int flags=1),用于读取图片 1.参数介绍 filename ...
- maven pom文件报错:Multiple annotations found at this line 解决方案(转)
研究maven多模块项目时,因为家里和公司不能同时开发,所以把家里搭建好的项目复制到公司继续研究, 当时家里的电脑搭建好项目之后是没问题的,但是复制到公司的eclipse上之后就看到pom文件出现下面 ...
- undefined reference 问题各种情况分析
扒自网友文章 关于undefined reference这样的问题,大家其实经常会遇到,在此,我以详细地示例给出常见错误的各种原因以及解决方法,希望对初学者有所帮助. 1. 链接时缺失了相关目标文件 ...
- Vuejs核心思想学习笔记
习Vue已经有一段时间了,但未对其核心思想作自己的总结和理解 Vue核心思想有两个 : 数据驱动和组件化(系统组件) 数据驱动 数据驱动目的是让数据和DOM保持同步, 只要修改了data数据,DOM就 ...