| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> ELK日志分析系统 -> 正文阅读 |
|
[系统运维]ELK日志分析系统 |
目录 5、对接Apache主机的Apache 日志文件(访问的、错误的) 一、ELK日志分析系统1、日志分析日志分析是运维工程师解决系统故障,发现、定位问题的主要途径。日志主要包括系统日志、应用 程序日志和安全日志系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的 错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠 正错误。 2、elk 日志分析的工具一般会给研发/开发+测试使用,管理的权限范围,不一定所有人全有通常,日志被分散的储存在不 同的设备上。在管理十上百台服务器时,以传统方法查阅日志,即繁琐又效率低下。为此,我们可 以使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。集中化管理 日志后,日志的统计和检索又称为比较繁琐的事情,平常使用grep、awk和wc等Linux命令能实现 检索和统计,但是对于更高要求的查询、排序和统计等,再加上庞大的机器数量,效率低下。而开 源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和 Kiabana三个开源工具组成。 ?ELK工作原理展示图: 3、Logstash收集AppServer产生的Log,并存放到ElasticSearch集群中,而 Kibana则从ES集群中查询数据生成图表,再返回给Browser。简单来说,进行日志处 理分析,一般需要经过以下几个步骤: ?将日志进行集中化管理(beats) ?将日志格式化(logstash) ?对格式化后的数据进行索引和存储(elasticsearch) ?前端数据的展示(kibana) 4、elasticsearch介绍Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。 Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二流行的企业 搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。 5、Elasticsearch的基础核心概念
7、logstash介绍
8、Kibana介绍Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。 使用Kibana,可以通过各种图表进行高级数据分析及展示。Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面 可以快速创建仪表板(dashboard)实时显示Elasticsearch查询动态。设置Kibana非常简单。无需编写代码,几分钟内就可以完成Kibana安装并启动Elasticsearch索引监测。
?二、实验配置三台 192.168.182.137 node1 192.168.182.138 node2 192.168.182.139 httpd 1、配置elasticsearch环境这两台以下配置相同 192.168.182.137 node1 192.168.182.138 node2 ?[root@node1 ~]# java -version
tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/ 在末行添加 vim /etc/profile export JAVA_HOME=/usr/local/jdk1.8.0_91 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
? 【部署elasticsearch软件】 ####登录192.168.182.137#### 1、安装elasticsearch—rpm包 上传elasticsearch-5.5.0.rpm到/opt目录下 [root@node1 ~]# cd /opt [root@node1 opt]# rpm -ivh elasticsearch-5.5.0.rpm
2、加载系统服务 [root@node1 opt]# systemctl daemon-reload ??? [root@node1 opt]# systemctl enable elasticsearch.service
? [root@node1 opt]# ?grep -v "^#" /etc/elasticsearch/elasticsearch.yml 除了节点不一致 ?其他都想同
4、创建数据存放路径并授权 [root@node1 opt]# mkdir -p /data/elk_data [root@node1 opt]# chown elasticsearch:elasticsearch /data/elk_data/
5、启动elasticsearch是否成功开启(启动慢 稍等片刻) [root@node1 elasticsearch]# systemctl start elasticsearch.service [root@node1 elasticsearch]# netstat -antp |grep 9200
? ? ?在真机浏览器 打开 http://192.168.182.137:9200/_cluster/state?pretty ??###检查群集状态信息
2、安装elasticsearch-head插件上述查看集群的方式,及其不方便,我们可以通过安装elasticsearch-head插件后,来管理集群 上传node-v8.2.1.tar.gz到/opt ###编译安装node组件依赖包##耗时比较长 47分钟 yum install gcc gcc-c++ make -y [root@localhost opt]# cd /opt [root@node2 opt]# tar xzvf node-v8.2.1.tar.gz [root@node2 opt]# cd node-v8.2.1/ [root@node2 node-v8.2.1]# ./configure [root@node2 node-v8.2.1]# make && make install
####安装phantomjs####前端框架 上传软件包到/usr/local/src/ [root@localhost node-v8.2.1]# cd /usr/local/src/ [root@localhost src]# tar xjvf phantomjs-2.1.1-linux-x86_64.tar.bz2 [root@localhost src]# cd phantomjs-2.1.1-linux-x86_64/bin [root@localhost bin]# cp phantomjs /usr/local/bin
###安装elasticsearch-head###数据可视化工具 [root@localhost bin]# cd /usr/local/src/ [root@localhost src]# tar xzvf elasticsearch-head.tar.gz [root@localhost src]# cd elasticsearch-head/ [root@localhost elasticsearch-head]# npm install
?
#####修改主配置文件### [root@localhost ~]# cd ~ [root@localhost ~]# vi /etc/elasticsearch/elasticsearch.yml ??####下面配置文件,插末尾## http.cors.enabled: true ??##开启跨域访问支持,默认为false http.cors.allow-origin: "*" ?## 跨域访问允许的域名地址 [root@localhost ~]# systemctl restart elasticsearch
####启动elasticsearch-head ?启动服务器#### [root@localhost ~]# cd /usr/local/src/elasticsearch-head/ [root@localhost elasticsearch-head]# npm run start & ?????####切换到后台运行
[root@localhost elasticsearch-head]# netstat -lnupt |grep 9100 [root@localhost elasticsearch-head]# netstat -lnupt |grep 9200
####真机上打开浏览器输入http://192.168.182.137:9100/ ??可以看见群集很健康是绿色#### 在Elasticsearch 后面的栏目中输入http://192.168.182.137:9200 ?? 然后点连接 会发现:集群健康值: green (0 of 0) ●node1信息动作 ★node2信息动作
####真机上打开浏览器输入http://192.168.182.138:9100/ ??可以看见群集很健康是绿色##### 在Elasticsearch 后面的栏目中输入http://192.168.182.138.129:9200 ?? 然后点连接 会发现:集群健康值: green (0 of 0) ●node1信息动作 ★node2信息动作
####登录192.168.182.137?node1主机##### ?索引为index-demo,类型为test,可以看到成功创建 ??怎么在命令行创建索引,有没有在命令行写过创建索引的代码 curl -XPUT [root@node1 ~]# curl -XPUT 'localhost:9200/index-demo/test/1?pretty&pretty' -H 'content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world"}'
#### 打开浏览器输入http://192.168.182.137:9100/ 查看索引信息### node1信息动作 01234 node2信息动作 01234 ●上面图可以看见索引默认被分片5个,并且有一个副本 点击数据浏览--会发现在node1上创建的索引为index-demo,类型为test, 相关的信息
3、安装logstash做一些日志搜集输出到elasticsearch中登录主机192.168.226.130 关闭防火墙关闭核心防护 1、更改主机名 hostnamectl set-hostname apache 2、安装Apahce服务(httpd) [root@apache ~]# yum -y install httpd
5、logstash(Apache)与elasticsearch(node)功能是否正常,做对接测试#### Logstash这个命令测试 字段描述解释: ● -f ?通过这个选项可以指定logstash的配置文件,根据配置文件配置logstash ● -e ?后面跟着字符串 该字符串可以被当做logstash的配置(如果是” ”,则默认使用stdin做为输入、stdout作为输出) ● -t ?测试配置文件是否正确,然后退出 6、输入采用标准输入 输出采用标准输出---登录192.168.100.43 ?在Apache服务器上 logstash agent ① input ② filter ③ output [root@apache opt]# logstash -e 'input { stdin{} } output { stdout{} }' [root@apache opt]# logstash -e 'input { stdin{} } output { stdout{ codec=>rubydebug } }' 当出现以下情况 ?在 logstash.yml 文件中找到 Data path 的路径(默认在安装目录的data目录下 在这里重新指定data路径或者将原data下隐藏 .lock 文件删除重启 logstash即可)
7、使用rubydebug显示详细输出,codec为一种编解码器 [root@apache opt]# logstash -e 'input { stdin{} } output { stdout{ codec=>rubydebug } }'
?
systemctl restart logstash.service 添加完、刷新之后会出现system
4、在node1主机安装kibana
####登录192.168.100.1真机### 使用浏览器输入192.168.182.137:5601 首次登录创建一个索引 名字:system-* ?##这是对接系统日志文件 Index name or pattern ??###下面输入system-* 然后点最下面的出面的create 按钮创建 然后点最左上角的Discover按钮 ?会发现system-*信息 然后点下面的host旁边的add ?会发现右面的图只有 Time ?和host 选项了 这个比较友好
5、对接Apache主机的Apache 日志文件(访问的、错误的)
输入[root@apache conf.d]# /usr/share/logstash/bin/logstash -f apache_log.conf 打开浏览器 输入http://192.168.182.137:9100/ 查看索引信息### 能发现 apache_error-2019.04.16 ????apache_access-2019.04.16 打开浏览器 输入http://192.168.182.137:9100/ 查看索引信息### 能发现 apache_error-2019.04.16 ????apache_access-2019.04.16 打开浏览器 输入http://192.168.182.17:5601 点击左下角有个management选项---index ?patterns---create index pattern ----分别创建apache_error-* ??和 ????apache_access-* 的索引 ??
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 19:33:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |