暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

5分钟快速搭建你的第一个 ELK 日志分析系统

希里安 2023-05-09
1033

关注“希里安”,get更多有用干货


截止昨天,我们研究监控模块,基本监控就是转外链或者内嵌三方成熟工具的页面,今天就来研究下日志这块。日志也有很多成熟的工具,自己暂时在日志这块还没有造轮子的能力,只会收集顶多使用脚本处理一下。


一般流程就是收集—处理—存储—展示—分析—垃圾桶,之前使用python处理过日志再到redis存储,再到elk进行分析。


接着说平台的开发:



传统模块,涉及监控、批量执行、日志、资产管理、网络、终端等功能。


批量执行这里涉及的工具有saltstackansible


监控会涉及工具prometheuszabbixgrafana


日志涉及elkloki


网络涉及lstio以及常用排障命令


终端涉及xterm


统模块这里的功能更多的是集成三方应用的一个超链接,这里的功能大框架肯定是没必要重复造轮子,直接用已经成熟的工具,除非是业务特殊要求,才会自己研发。

怎么比较合适的开发,是值得思考的,平台要像kubesphere一样,接入jenkins、elk等功能一样。

我这里就先把大致模样给开发出来,后面再一步一步的细化完善,自己在开发这个项目中更重要的点是自己知识体系的重新梳理和搭建。

前期只能借鉴他人的优秀案例,不断学习,相信后期一定会有自己的创新和见解!

传统模块我目前觉得开发量不是特别大,因为基本都是直接用别人的工具,就是怎么设计个页面跳转的问题。

主要功能就是监控和日志占比较大,顺道就把elk搭建的流程梳理一下:








官网地址:

    https://www.elastic.co/


    安装文档地址:

      https://www.elastic.co/guide/en/elasticsearch/reference/8.7/targz.html
      https://www.elastic.co/guide/en/logstash/current/installing-logstash.html



      目前的主流稳定版本是8.7,可以使用docker安装,我们这里直接使用二进制包安装,安装 Elasticsearch 之前,你需要先安装一个较新的版本的 Java,最好jdk11+ElasticsearchLogstash需要Java运行环境。


      1. 安装Elasticsearch:Elasticsearch是一个实时分布式搜索和分析引擎,用来存储日志数据。

        wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.7.1-linux-x86_64.tar.gz
        tar -xzf
        elasticsearch-8.7.1-linux-x86_64.tar.gz
        cd elasticsearch-8.7.1/
        ./bin/elasticsearch # 启动Elasticsearch

          [root@test bin]# ./elasticsearch
          [2023-04-28T08:56:24,968][ERROR][o.e.b.Elasticsearch ] [test] fatal exception while booting
          Elasticsearchjava.lang.RuntimeException: can not run elasticsearch as root
          at org.elasticsearch.server@8.7.1/org.elasticsearch.bootstrap.Elasticsearch.initializeNatives(Elasticsearch.java:262)
          at
          org.elasticsearch.server@8.7.1/org.elasticsearch.bootstrap.Elasticsearch.initPhase2(Elasticsearch.java:161)
          at org.elasticsearch.server@8.7.1/org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:66)
          See logs for more details.
          ERROR: Elasticsearch did not exit normally
          - check the logs at root/rpm/elasticsearch-8.7.1/logs/my-es.log
          ERROR: Elasticsearch exited unexpectedly

          root用户运行Elasticsearch时出现了问题。Elasticsearch 不支持以root用户运行,因为这样会产生安全隐患。


          解决方法是切换到普通用户运行Elasticsearch。具体步骤如下:

              1. 创建elasticsearch用户组和用户:

              

                groupadd elasticsearch
            useradd elasticsearch -g elasticsearch

                

                2. 修改Elasticsearch目录的所有权限:

                  chown -R elasticsearch:elasticsearch path/to/elasticsearch

                  

                  3. 切换到elasticsearch用户:

                    su elasticsearch

                    

                    4. elasticsearch用户启动Elasticsearch:

                      /path/to/elasticsearch/bin/elasticsearch


                  2. 安装Logstash:Logstash用来收集、解析和过滤日志,发送到Elasticsearch中。

                    wget wget https://artifacts.elastic.co/downloads/logstash/logstash-8.7.1-linux-x86_64.tar.gz
                    tar -xzf logstash-8.7.1-linux-x86_64.tar.gz
                    cd logstash-8.7.1/
                    ./bin/logstash -f logstash.conf # 使用logstash.conf配置文件启动Logstash

                    3. 安装Kibana:Kibana是一个数据可视化平台,用来检索、分析和展示存储在Elasticsearch索引中的数据。


                      wget https://artifacts.elastic.co/downloads/kibana/kibana-8.7.1-linux-x86_64.tar.gz
                      tar -xzf kibana-8.7.1-linux-x86_64.tar.gz
                      cd kibana-8.7.1-linux-x86_64/
                      ./bin/kibana # 启动Kibana

                      4. Kibana中配置ElasticsearchLogstash地址,然后就可以在KibanaWeb UI中使用了。

                        编辑elasticsearch/config/elasticsearch.yml文件:
                        network.host: 0.0.0.0 # 允许远程访问
                        http.port: 9200 # Elasticsearch端口
                        cluster.name: my-es # 集群名称
                        编辑logstash/config/logstash.yml
                        http.host: "0.0.0.0" # 允许远程连接
                        编辑kibana/config/kibana.yml文件:
                        server.host: "0.0.0.0" # 允许远程访问
                        elasticsearch.hosts:
                        ["http://localhost:9200"] # ES地址

                        安装完成后访问kibana页面:

                        默认用户名:elastic

                        密码:在启动elaticsearch的时候在哪个界面有初始密码



                        devtool中输入

                          GET _cluster/health

                          返回数据表示安装成功啦。



                          到这就算初步搭建完成了。










                          文章转载自希里安,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                          评论