百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

运维日志分析工具ELK:Windows与Linux皆可安装

qiyuwang 2024-11-03 16:32 31 浏览 0 评论

各位小伙伴大家好,我是运维虫子!

一般提到监控,很多人就会想到监控服务器运行状态,网络运行状态。其实由于业务需要,服务器和网络设备每时每刻产生的海量日志也同样的重要。



为什么选用ELK?

  • 首先我们来了解一下ELK:

ELK是Elasticsearch、Logstash、Kibana的简称,这三者是核心套件,但并非全部。

Elasticsearch是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能;是一套开放REST和JAVA API等结构提供高效搜索功能,可扩展的分布式系统。它构建于Apache Lucene搜索引擎库之上。

Logstash是一个用来搜集、分析、过滤日志的工具。它支持几乎任何类型的日志,包括系统日志、错误日志和自定义应用程序日志。它可以从许多来源接收日志,这些来源包括 syslog、消息传递(例如 RabbitMQ)和JMX,它能够以多种方式输出数据,包括电子邮件、websockets和Elasticsearch。

Kibana是一个基于Web的图形界面,用于搜索、分析和可视化存储在 Elasticsearch指标中的日志数据。它利用Elasticsearch的REST接口来检索数据,不仅允许用户创建他们自己的数据的定制仪表板视图,还允许他们以特殊的方式查询和过滤数据。

  • ELK的优势

1.开源免费

ELK是属于免费开源软件,在初期使用阶段无需承担高额的软件费用。

2.分布式部署以及扩容方便

Elasticsearch的高度扩展性,这一点类似于Ceph,能够在新节点加入以后,索引index会自动在新节点平衡。摆脱了以往单节点性能瓶颈。

3.用途

ELK开源解决方案开源用在故障排查、监控预警、关联事件、数据分析等等,用途及其广泛。

Linux部署ELK

本次Linux采用Centos7.6来部署ELK。

[root@elk ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 

和之前文章类似,这次我还是采用docker,(原因就是无需部署各种环境)

 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
  1. 安装Elasticsearch

先去docker官网获取最新的Elasticsearch镜像,如下图最新版本是7.9.3

拉取最新的Elasticsearch镜像:

docker pull elasticsearch:7.9.3

创建网络,让其他组件运行在同一个网络下:

docker network create yunweichongzi

运行elasticsearch容器:

docker run -d --name elasticsearch --net yunweichongzi -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.9.3

浏览器或者用curl访问IP+9200端口,出现如下图的提示代表elasticsearch安装成功。

2.安装Kibana

同样拉取kibana镜像,注意一定要和elasticsearch的版本一致。

docker pull kibana:7.9.3

运行kibana容器。

docker run -d --name kibana --net yunweichongzi -p 5601:5601 kibana:7.9.3

通过浏览器访问ip+5601,访问到下面的页面代表安装成功。

3.安装Logstash

拉取同版本的镜像

docker pull logstash:7.9.3

创建两个文件一个是logstash.yml,另一个是test.conf

cat logstash.yml 
path.config: /usr/share/logstash/conf.d/*.conf
path.logs: /var/log/logstash

cat conf.d/test.conf 
input {
    beats {
    port => 5044
    codec => "json"
}
}

output {
  elasticsearch { hosts => ["172.18.0.2:9200"] }
  stdout { codec => rubydebug }
}


cat conf.d/test.conf 
input {
    beats {
    port => 5044
    codec => "json"
}
}

output {
  elasticsearch { hosts => ["172.18.0.2:9200"] }
  stdout { codec => rubydebug }
}

启动kibana容器:

docker run -it -d -p 5044:5044 --name logstash --network yunweichongzi --privileged=true -v /root/elk/logstash.yml:/usr/share/logstash/config/logstash.yml -v /root/elk/conf.d/:/usr/share/logstash/conf.d/ logstash:7.9.3

最后检查一下容器运行情况。到此ELK就安装完成了,但是还缺一个filebeat(这个等下一篇文章检索日志的时候安装)。

出现上图界面以后就可以了。

Windows安装了ELK

是不是觉得Linux太麻烦,Windows版的就简单了。这里为了篇幅就不详细一步一步截图了。

Windows版的elk安装官网有详细的教程:

下载图中的软件,进行安装,然后按照官网的提示即可运行ELK

总结

无论是通过Linux还是windows安装,都是可以达到对日志进行监控的目的。下一篇文章就会详细的介绍如何使用ELK对服务器日志,网站日志,服务日志进行监控与告警。


希望大家能够多多关注,多年致力于互联网搬砖,各种互联网技术都稍有涉猎。如果大家遇到一些问题可以私信或者留言给我。我们可以一起讨论

相关推荐

基于Docker方式安装与部署Camunda流程引擎

1Camunda简介官网:https://docs.camunda.org/manual/7.19/installation/docker/Camunda是一个轻量级、开源且高度灵活的工作流和决策自...

宝塔Linux面板如何部署Java项目?(宝塔面板 linux)

通过宝塔面板部署Java还是很方便的,至少不需要自己输入tomcat之类的安装命令了。在部署java项目前,我还是先说下目前的系统环境,如果和我的系统环境不一样,导致部署不成功,那你可能需要去找其他资...

浪潮服务器如何用IPMI安装Linux系统

【注意事项】此处以浪潮服务器为例进行演示所需使用的软件:Chrome浏览器个人PC中需要预先安装java,推荐使用jdk-8u181-windows-x64.exe【操作步骤】1、在服务器的BIOS中...

Centos7环境Hadoop3集群搭建(hadoop集群环境搭建实验报告)

由于项目需要存储历史业务数据,经过评估数据量会达到100亿以上,在原有mongodb集群和ES集群基础上,需要搭建Hbase集群进行调研,所以首先总结一下Hadoop集群的搭建过程。一、三个节点的集群...

Hadoop高可用集群搭建及API调用(hadoop高可用原理)

NameNodeHA背景在Hadoop1中NameNode存在一个单点故障问题,如果NameNode所在的机器发生故障,整个集群就将不可用(Hadoop1中虽然有个SecorndaryNameNo...

使用Wordpress搭建一个属于自己的网站

现在开源的博客很多,但是考虑到wordpress对网站的seo做的很好,插件也多。并且全世界流量排名前1000万的网站有33.4%是用Wordpress搭建的!所以尝试用Wordpress搭建一个网站...

Centos 安装 Jenkins(centos 安装ssh)

1、Java安装查看系统是否已安装Javayumlistinstalled|grepjava...

Java教程:gitlab-使用入门(java中的git)

1导读本教程主要讲解了GitLab在项目的环境搭建和基本的使用,可以帮助大家在企业中能够自主搭建GitLab服务,并且可以GitLab中的组、权限、项目自主操作...

Dockerfile部署Java项目(docker部署java应用)

1、概述本文主要会简单介绍什么是Docker,什么是Dockerfile,如何安装Docker,Dockerfile如何编写,如何通过Dockerfile安装jar包并外置yaml文件以及如何通过do...

如何在Eclipse中搭建Zabbix源码的调试和开发环境

Zabbix是一款非常优秀的企业级软件,被设计用于对数万台服务器、虚拟机和网络设备的数百万个监控项进行实时监控。Zabbix是开放源码和免费的,这就意味着当出现bug时,我们可以很方便地通过调试源码来...

Java路径-02-Java环境配置(java环境搭建及配置教程)

1Window环境配置1.1下载...

35.Centos中安装python和web.py框架

文章目录前言1.Centos7python:2.Centos8python:3.进行下载web.py框架然后应用:4.安装好之后进行验证:5.总结:前言...

《我的世界》服务器搭建(我的世界服务器如何搭建)

1.CentOS7环境1.1更改YUM源#下载YUM源文件curl-o/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com...

CentOS 7 升级 GCC 版本(centos7.4升级7.5)

1.GCC工具介绍GCC编译器:...

Linux安装Nginx详细教程(linux安装配置nginx)

环境准备1.因为Nginx依赖于gcc的编译环境,所以,需要安装编译环境来使Nginx能够编译起来。命令:yuminstallgcc-c++显示完毕,表示安装完成:2.Nginx的http模块需要...

取消回复欢迎 发表评论: