Bootstrap

2024年Linux最新Linux--ELK日志分析系统_linux elk

shipper:日志收集者。

lndexer:日志存储者。

broker:日志Hub

Search and Storage:允许对事件进行搜索和存储

web interface:基于web的展示界面

3.kibana的主要功能:

Elasticsearch无缝之集成,整合数据,复杂数据分析,让更多团队成员收益,接口灵活,配置简单,可视化多数据源,简单数据导出。

一,配置Elasticsearch软件

注:两台节点配置相同,在配置elasticsearch配置文件中注意服务器名称不要相同,群集名称要相同,才可以实现群集效果。

准备环境:在两台ELK节点上配置域名解析,通过本地/etc/hosts文件实现。

[root@node1 ~]# hostname
node1
[root@node1 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.2.1 node1
192.168.2.2 node2

检查Java环境

[root@node1 ~]# java -version
openjdk version "1.8.0_102"
OpenJDK Runtime Environment (build 1.8.0_102-b14)
OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)

部署elasticsearch软件

[root@node1 ~]# rpm -ihv /mnt/elasticsearch-5.5.0.rpm 
警告:/mnt/elasticsearch-5.5.0.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID d88e42b4: NOKEY
准备中...                                                            ################################# [100%]

加载系统服务

[root@node1 ~]# systemctl daemon-reload 
[root@node1 ~]# systemctl enable elasticsearch.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/elasticsearch.service to /usr/lib/systemd/system/elasticsearch.service.
[root@node1 ~]# 

创建数据存放数据并授权

[root@node1 ~]# mkdir -p /data/elk_data/
[root@node1 ~]# chown elasticsearch:elasticsearch /data/elk_data/

更改elasticsearch主配置文件

[root@localhost ~]# vim /etc/elasticsearch/elasticsearch.yml 
cluster.name: my-elk-cluster
node.name: node1
path.data: /data/elk_data
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: false
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: ["node1", "node2"]

启动elasticsearch并查看是否成功开启

[root@node1 ~]# systemctl start elasticsearch.service 
[root@node1 ~]# netstat -anpt | grep 9200
tcp6       0      0 :::9200                 :::*                    LISTEN      4297/java          

查看节点信息

二,安装Elasticsearch-head插件

编译安装node,编译安装node耗时较长,大约40min,根据机械的配置可能有所不同,请耐心等待。

[root@node1 ~]# tar zxf /mnt/node-v8.2.1.tar.gz -C /usr/src/
[root@node1 ~]# cd /usr/src/node-v8.2.1/
[root@node1 node-v8.2.1]# ./configure && make && make install

安装phantomjs

[root@node1 ~]# cd /usr/local/src/
[root@node1 src]# tar jxf /mnt/phantomjs-2.1.1-linux-x86_64.tar.bz2 
[root@node1 src]# cd phantomjs-2.1.1-linux-x86_64/bin/
[root@node1 bin]# cp phantomjs /usr/local/bin/

安装Elasticsearch-head

[root@node1 bin]# cd
[root@node1 ~]# cd /usr/local/src/
[root@node1 src]# tar zxf /mnt/elasticsearch-head.tar.gz 
[root@node1 src]# cd elasticsearch-head/
[root@node1 elasticsearch-head]# npm install

修改Elasticsearch配置文件

[root@node1 ~]# vim /etc/elasticsearch/elasticsearch.yml 
http.cors.enabled: true
http.cors.allow-origin: "*"
[root@node1 ~]# systemctl restart elasticsearch

启动服务

[root@node1 elasticsearch-head]# npm run start &
[root@node1 elasticsearch-head]# netstat -lnupt | grep 9100
tcp        0      0 0.0.0.0:9100            0.0.0.0:*               LISTEN      50396/grunt         
[root@node1 elasticsearch-head]# netstat -lnupt | grep 9200
tcp6       0      0 :::9200                 :::*                    LISTEN      50023/java          

通过elasticsearch-head查看elasticsearch信息。通过浏览器访问http://192.168.2.1:9100/,并连接群集

插入索引。通过命令插入一个测试索引,通过输出信息可以看到索引为index-demo,类型为test。

[root@node1 elasticsearch-head]# curl -XPUT 'localhost:9200/index-demo/test/1?pretty&pretty' -H 'Content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world"}'

查看效果

二,logstash安装及使用方法

注:logstash一般部署在需要监控其日志的服务器中,在本案例中,logstash部署在Apache服务器上,用于收集Apache服务器的日志信息并发送到Elasticsearch中。在正式部署之前,在Node1上部署Logstash,以熟悉logstash的使用方法。logstash也需要Java环境,所以安装之前也要检查当前机器的Java环境是否存在。

在node1上安装logstash

[root@node1 ~]# rpm -ihv /mnt/logstash-5.5.1.rpm 
警告:/mnt/logstash-5.5.1.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID d88e42b4: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:logstash-1:5.5.1-1              ################################# [100%])
Using provided startup.options file: /etc/logstash/startup.options
Successfully created system startup script for Logstash
[root@node1 ~]# systemctl start logstash.service 
[root@node1 ~]# ln -s /usr/share/logstash/bin/logstash /usr/local/bin/

测试logstash

logstash命令行中常用的命令选项如下:

-f:通过这个选项可以指定logstash的配置文件,根据配置文件配置logstash

-e:后面跟着字符串,该字符串可以被当做lgostash配置(如果是“ ”,则默认使用stdin作为输入,stdout作为输出)。

-t:测试配置文件是否正确,然后退出。

[root@node1 ~]# logstash -e 'input { stdin{} } output { elasticsearch { hosts=>["192.168.2.1:9200"] } }'
www.baidu.com
www.sina.com
www.google.com

查看logstash新增的索引

logstash配置文件

input {

    fliter {...}

}
output {...}


下来修改logstash配置文件,让其收集系统日志/vcar/log/messages,并将其输出到elasticsearch中。

[root@node1 src]# chmod o+r /var/log/messages
[root@node1 src]# ll /var/log/messages
-rw----r--. 1 root root 107359 9月   2 03:23 /var/log/messages
[root@node1 ~]# vim /etc/logstash/conf.d/system.conf
input {
        file {
                path => "/var/log/messages"
                type => "system"
                start_position => "beginning"
        }
}

output {
        elasticsearch {
                hosts => ["192.168.2.1:9200"]
                index => "system-%{+YYYY.MM.dd}"
        }
}
~                                                                             

[root@node1 src]# systemctl restart logstash

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

;