logstash

supervisor 托管ELK

╄→гoц情女王★ 提交于 2020-04-01 09:18:05
一、说说前因后果 elasticsearch,kafka,zookeeper,kibana,elasticsearch-head,logstash,logstash是需要经常重启的,你上了点过滤规则或者修改点啥的,每次都尼玛杀进程,再nohup ,还看不到日志,这太不符合人性了,人性的优点之一就是懒惰。打开web 界面,点一下鼠标解决问题岂不是棒棒哒,还能通过web 界面看看后台日志,故而用supervisor托管 supervisor运行的系统:centos 7 supervisor version:3.3.4 二、安装 用easy_install 安装pip easy_install pip #之后通过pip 安装supervisor pip install supervisor #为supervisor创建工作目录与配置文件目录并且赋予该目录755 的权限; mkdir -m 755 -p /etc/supervisor/conf.d #通过supervisor 提供的 echo_supervisord_conf 命令生成默认配置文件 echo_supervisord_conf > /etc/supervisor/supervisord.conf #通过cat 命令查看配置文件是否生成; cat /etc/supervisor/supervisord.conf |grep

基于docker部署使用ELK+FileBeat日志管理平台

两盒软妹~` 提交于 2020-04-01 07:53:58
  Docker从狭义上来讲就是一个进程,从广义上来讲是一个虚拟容器,专业叫法为 Application Container(应用容器)。Docker进程和普通的进程没有任何区别,它就是一个普通的应用进程,不过是用来操作镜像文件的。所以Docker进程+构建的应用镜像文件就等于Docker容器。作为时下最热门的技术,docker轻量、便捷,极大的简化了后端开发/后期运维工作。同时,ELK+Filebeat的集中式日志解决方案也是大热。开发环境,Ubuntu 16.04   1、Docker安装   1.校验Linux内核版本 uname -ir   Linux内核版本高于3.10,64位系统   2.获取最新doker安装包 wget -qO- https://get.docker.com/ | sh   如上图,即安装完成   3.启动docker后台服务 sudo service docker start #启动守护进程 docker -v # 检查版本   如此docker即装好,具体的安装详情,教程很多,不赘述   2、安装elk镜像   1.拉取 sebp/elk镜像 sudo docker pull sebp/elk   镜像较大,差不多1.65G   2.说几个会用到的docker命令 sudo docker images // 查看本地已有镜像 sudo

ELK 之三:Kibana 使用与Tomcat、Nginx 日志格式处理

有些话、适合烂在心里 提交于 2020-03-31 16:10:56
一:kibana安装:   kibana主要是搜索elasticsearch的数据,并进行数据可视化的展现,新版使用nodejs。 1、下载地址: https://www.elastic.co/downloads/kibana 2、解压安装: [root@node6 local]# tar xvf kibana-4.1.1-linux-x64.tar.gz [root@node6 local]# mv kibana-4.1.1-linux-x64 kibana [root@node6 ~]# cd /usr/local/kibana/ [root@node6 kibana]# ls bin config LICENSE.txt node plugins README.txt src 3、编辑配置文件: [root@node6 kibana]# cd config/ [root@node6 config]# ls kibana.yml [root@node6 config]# vim kibana.yml elasticsearch_url: "http://192.168.10.206:9200" 4、直接启动: [root@node6 kibana]# bin/kibana {"name":"Kibana","hostname":"node6.a.com","pid":3942,

elk-nginx输出json格式的日志

心不动则不痛 提交于 2020-03-30 06:37:36
elk-nginx输出json格式的日志 把Nginx日志的格式输出成JSON格式展示在Kibana面板,生产环境中基本都是这么使用。 1, 配置nginx 主要修改nginx的访问日志格式,这里定义成json格式,以便后面logstash更好的处理,建议生产环境也这样使用。在主配置/etc/nginx/nginx.conf文件中添加如下内容(注释其他日志格式): 复制代码 log_format json '{"@timestamp":"$time_iso8601",' '"host":"$server_addr",' '"clientip":"$remote_addr",' '"size":$body_bytes_sent,' '"responsetime":$request_time,' '"upstreamtime":"$upstream_response_time",' '"upstreamhost":"$upstream_addr",' '"http_host":"$host",' '"url":"$uri",' '"referer":"$http_referer",' '"agent":"$http_user_agent",' '"status":"$status"}'; 复制代码 在/etc/nginx/conf.d/default.conf中添加如下一行

Filebeat快速入门

前提是你 提交于 2020-03-30 00:53:16
Filebeat快速入门 本笔记整理于 https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-installation.html ,仅做个人学习总结使用。 Filebeat是轻量级日志采集工具,经常与ELK搭配使用,作为数据采集源头使用。 filebeat使用示意图 安装部署 Centos7(作者使用) 由于下载太慢了,所以我这里保存了一个下载好的版本(filebeat-6.3.2-linux-x86_64.tar),如果使用请自取: https://quqi.gblhgk.com/s/1727102/vafFOSOsw5AXKP3d 上传到服务器,解压即可 deb(未尝试): curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.6.1-amd64.deb sudo dpkg -i filebeat-7.6.1-amd64.deb rpm(未尝试): curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.6.1-x86_64.rpm sudo rpm -vi filebeat-7.6.1-x86_64.rpm

Logstash详解

╄→гoц情女王★ 提交于 2020-03-29 23:31:17
Logstash详解 一,简介 ​ Logstash是一款开源的日志采集,处理,输出的软件,每秒可以处理数以万计条数据,可以同时从多个来源采集数据,转换数据,然后将数据输出至自己喜欢的存储库中(官方推荐的存储库为Elasticsearch) ​ 如图所示logstash的工作机制,数据从来源进入logstash,进行过滤最后输出到目标. Logstash处理日志需要借助于大量的插件来完成.主要有以下三类插件, Input plugins Filter plugins Output plugins 二,安装配置 2.1、二进制包方式安装 ​ 软件下载链接 https://www.elastic.co/downloads/logstash ​ 由于logstash是java语言开发的,所以需要安装下jdk, 这里安装的logstash为6.x的版本,官方要求使用java8 #安装jdk,去oracle官网下载jdk tar xvf jdk-8u181-linux-x64.tar.gz -C /usr/java/ #配置java环境变量 vim /etc/profile.d/java.sh #内容如下 JAVA_HOME=/usr/java/jdk1.8.0_181 PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME PATH #加载java的环境变量

logstash-5.0同步mysql

泪湿孤枕 提交于 2020-03-28 07:56:04
环境 Windows10企业版X64 安装logstash-input-jdbc插件 进入logstash/bin/目录,命令: logstash-plugin install logstash-input-jdbc 执行效果如下: 注:删除插件命令: logstash-plugin remove logstash-input-jdbc 查看可用插件列表命令用: logstash-plugin list mysql存在的数据库及表 数据库名为m8,测试数据有8张表,约38万条数据。 需要两个文件:1)jdbc.conf,2)jdbc.sql。 在logstash/bin目录下新建jdbc.conf文件,内容如下: input { stdin { } jdbc { # mysql jdbc connection string to our backup databse jdbc_connection_string => "jdbc:mysql://localhost:3306/m8" # the user we wish to excute our statement as jdbc_user => "xuxy03" jdbc_password => "xuxy03" # the path to our downloaded jdbc driver jdbc_driver

实践出真知——部署ELK日志分析系统(提供包,超详细,可跟做!)

走远了吗. 提交于 2020-03-27 23:09:44
实践出真知——部署ELK日志分析系统(提供包) 前言 ​ 前一篇文章介绍了有关ELK日志分析系统的理论原理,本文将结合原理通过案例环境部署及配置ELK日志分析系统。 环境规划 使用集群方式,2个Elasticsearch节点,其中一台安装Kibana即可,另外安装Apache服务作为被监控的服务器,安装Logstash。 相关规划如下表所示: 主机 操作系统 主机名 IP地址 主要安装软件 服务器 Centos7.4 node1 20.0.0.140 Elasticsearch Kibana 服务器 Centos7.4 node2 20.0.0.139 Elasticsearch 服务器 Centos7.4 Apache 20.0.0.141 Logstash Apache 部署流程综述 1、检查服务器环境(推荐先进行时间同步),找到所需软件包 2、在两个elasticsearch节点上部署elasticsearch环境、elasticsearch软件、 3、检查服务是否开启并在浏览器中验证、检查健康状态与查看状态信息 4、在两个elasticsearch节点上安装elasticsearch-head插件(方便查看集群信息) 5、通过浏览器验证、检查健康状态,模拟创建索引来验证信息 6、安装Apache服务在20.0.0.141服务器上,并且安装Logstash软件 7

Regexp in Grok sometimes catches a value sometimes not

一笑奈何 提交于 2020-03-27 05:44:17
问题 I've a code in grok, which captures messages, and if they meet a given criteria, they get a tag. My problem is, that sometimes this filter works while testing, and sometimes does not. The regexp in question is the following: ^(?!(?:\d\d\d\d-\d\d-\d\d.\d\d:\d\d:\d\d)).*$ This line checks if the given message does not begin with a given time stamp format. In other words: if the given message does not begin with this time stamp, then it gets a tag. You can test it yourself with this online

Regexp in Grok sometimes catches a value sometimes not

﹥>﹥吖頭↗ 提交于 2020-03-27 05:43:10
问题 I've a code in grok, which captures messages, and if they meet a given criteria, they get a tag. My problem is, that sometimes this filter works while testing, and sometimes does not. The regexp in question is the following: ^(?!(?:\d\d\d\d-\d\d-\d\d.\d\d:\d\d:\d\d)).*$ This line checks if the given message does not begin with a given time stamp format. In other words: if the given message does not begin with this time stamp, then it gets a tag. You can test it yourself with this online