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 ...
随机推荐
- Django-认证系统
一.Django实现cookie与session 一.Django实现的cookie 1.获取cookie request.COOKIES['key'] request.get_signed_cook ...
- 【LeetCode每天一题】3Sum Closest(最接近的三数和)
Given an array nums of n integers and an integer target, find three integers in nums such that the s ...
- 深入解密.NET(Tuple元祖)
元组(Tuple)数学概念上是指包含特定元素与数列的数据结构,n-Tuple称为一个n元祖.比如拿数据表来类比,数据表的每一行就是一个元祖,每一列是元祖的一个属性. 它可以视为由于你不想大动干戈创建一 ...
- cocos2d-x JS 计算赋值时出现 NaN
NaN “Not a Number”.出现这个数值比较少见,以至于我们可以不理它.当运算无法返回正确的数值时,就会返回“NaN”值.NaN 值非常特殊,因为它“不是数字”,所以任何数跟它都不相等,甚至 ...
- centos执行-查看,复制,删除-命令的脚本
==================================================================================================== ...
- 使用mysqlbinlog从二进制日志文件中查询mysql执行过的sql语句 (原)
前提MySQL开启了binlog日志操作1. 查看MySQL是否开启binlog(进mysql操作) mysql> show variables like 'log_bin%'; 2 ...
- linux中安装oracle数据库
1. 执行 ./runInstaller 提示 /tmp 的空间过小执行 mount -o remount,size=1G,noatime /tmp重新设置 /tmp 的大小 2. 安装完成数据库之后 ...
- websocket服务器握手协议
测试网页代码如下 <!DOCTYPE html> <html> <head> <title>测试 websocket 世界最简单案例</title ...
- WebStorage (1) 实例
实例代码 <p>本页面每5秒刷新一下,这是您第<mark></mark>次进入本页面!</p> <script> if (window.lo ...
- Python读取excel数据类型处理
一.python xlrd读取datetime类型数据:https://blog.csdn.net/y1535766478/article/details/78128574 (1)使用xlrd读取出来 ...