zoukankan      html  css  js  c++  java
  • centos7 安装ELK

    一、介绍

    ELK是三款开源软件的缩写,即:ElasticSearch + Logstash + Kibana。这三个工具组合形成了一套实用、易用的监控架构,可抓取系统日志、apache日志、nginx日志、mysql日志等多种日志类型,目前很多公司用它来搭建可视化的集中式日志分析平台。
    ElasticSearch:是一个分布式的RESTful风格的搜索和数据分析引擎,同时还提供了集中存储功能,它主要负责将logstash抓取来的日志数据进行检索、查询、分析等。
    Logstash:日志处理工具,负责日志收集、转换、解析等,并将解析后的日志推送给ElasticSearch进行检索。
    Kibana:Web前端,可以将ElasticSearch检索后的日志转化为各种图表,为用户提供数据可视化支持。
    Filebeat:轻量型日志采集器,负责采集文件形式的日志,并将采集来的日志推送给logstash进行处理。
    Winlogbeat:轻量型windows事件日志采集器,负责采集wondows的事件日志,并将采集来的日志推送给logstash进行处理。

    二、安装环境

    由于我这边是测试环境,所以ElasticSearch + Logstash + Kibana这三个软件我都是装在一台机器上面,如果是生产环境,建议分开部署,并且ElasticSearch可配置成集群方式。
    IP:192.168.175.152(ELK服务器,CentOS 7.5)

    IP:192.168.175.153(filebeat,nginx服务器,apache服务器,CentOS 7.5)

    三、准备工作

    禁用selinux、关闭防火墙

     sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

     sed -i ‘s/SELINUXTYPE=targeted/#&/‘ /etc/selinux/config

     setenforce 0 # 可以设置配置文件永久关闭

     systemctl stop firewalld.service

    四、安装jdk,因为安装ELK需要依赖java环境

     yum -y install java-1.8.0-openjdk

    查看java版本

     java -version

    五、安装elasticsearch、logstash、kibana

    下载并安装公共签名密钥:rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

    创建yum的repo文件:vim /etc/yum.repos.d/elasticsearch.repo

    添加容易如下:

     [elasticsearch-6.x]

    name=Elasticsearch repository for 6.x packages
    baseurl=https://artifacts.elastic.co/packages/6.x/yum
    gpgcheck=1
    gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
    enabled=1
    autorefresh=1
    type=rpm-md

    1、安装Elasticsearch

     yum -y install elasticsearch

    2、安装Logstash

     yum -y install logstash

    3、安装Kibana

    yum -y install kibana

    六、修改ELK配置文件

    vim /etc/elasticsearch/elasticsearch.yml
    
    path.data: /data/elasticsearch/data path.logs: /data/elasticsearch/logs network.host: 0.0.0.0 http.port: 9200
    vim /etc/logstash/logstash.yml
    path.data: /data/logstash/data path.logs: /data/logstash/logs

     

    vim /etc/logstash/conf.d/logstash.conf  # 添加如下内容
    
    input { beats { port => 5044 codec => plain { charset => "UTF-8" } } } output { elasticsearch { hosts => "127.0.0.1:9200" manage_template => false index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" document_type => "%{[@metadata][type]}" } }

    vim /etc/kibana/kibana.yml
    
    server.port: 5601 server.host: "192.168.2.207" elasticsearch.url: "http://localhost:9200"

    安装配置nginx

     yum -y install epel-release

     yum -y install nginx httpd-tools

    修改nginx配置

     cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

     vim /etc/nginx/nginx.conf

    把下图中这一段注释掉

    vim /etc/nginx/conf.d/kibana.conf  # 添加如下内容
    server {
        listen 80;
    
        server_name kibana;
    
        auth_basic "Restricted Access";
        auth_basic_user_file /etc/nginx/kibana-user;  //http认证文件
    
        location / {
            proxy_pass http://192.168.175.152:5601;  //代理的kibana地址
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection ‘upgrade‘;
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        }
    }
     


















    生成http用户认证文件,生成文件kibana-user,并添加用户admin
    htpasswd -cm /etc/nginx/kibana-user admin
    此处需要输入两遍密码

    启动ELK和nginx
    systemctl daemon-reload  # 重新加载所有配置文件
    systemctl start elasticsearch logstash kibana nginx  # 启动ELK和nginx
    systemctl enable elasticsearch logstash kibana nginx  # 将ELK和nginx加入开机启动
    systemctl status elasticsearch logstash kibana nginx  #查看ELK和nginx启动状态

    查看端口信息
    ss -tnl

    查看elasticsearch状态

    curl -XGET 'http://192.168.2.207:9200/_cluster/state/nodes?pretty'

    查看elasticsearch的master

    curl -XGET ‘http://192.168.175.152:9200/_cluster/state/master_node?pretty‘

    curl -XGET ‘http://192.168.175.152:9200/_cat/master?v‘

    查看健康状态

    curl -XGET ‘http://192.168.175.152:9200/_cat/health?v‘

    curl -XGET ‘http://192.168.175.152:9200/_cluster/health?pretty‘

    对于这个健康状态green(绿色)为最好

    七、配置节点服务器filedeat

    安装filebeat,进入到之前下载安装包的目录,执行yum方式安装
    yum localinstall -y filebeat-6.2.4-x86_64.rpm
    修改filebeat配置

    vim /etc/filebeat/filebeat.yml
    - type: log
      enabled: true
        - /var/log/*.log
        - /var/log/messages
    filebeat.config.modules:
      path: ${path.config}/modules.d/*.yml
      reload.enabled: false
    setup.template.settings:
      index.number_of_shards: 3
    setup.kibana:
      host: "192.168.175.152:5601"
    #output.elasticsearch:    //我们输出到logstash,把这行注释掉
      #hosts: ["localhost:9200"]   //这行也注释掉
    output.logstash:
      hosts: ["192.168.175.152:5044"]
     
















    启用nginx模块
    filebeat modules enable nginx
    修改nginx模块配置
    vim /etc/filebeat/modules.d/nginx.yml
    - module: nginx
      access:
    enabled: true
    var.paths: ["/var/log/nginx/access.log*"]
      error:
    enabled: true
    var.paths: ["/var/log/nginx/error.log*"]











    启用apache模块
    filebeat modules enable apache2
    修改apache模块配置

    vim /etc/filebeat/modules.d/apache2.yml
    - module: apache2
      access:
    enabled: true
    var.paths: ["/var/log/httpd/access_log*"]
      error:
    enabled: true
    var.paths: ["/var/log/httpd/error_log*"]











    启动filebeat
    systemctl start filebeat
    systemctl enable filebeat
    systemctl status filebeat

    浏览器访问http://192.168.175.152,输入之前通过htpasswd认证的用户名和密码登陆kibana。

    到这里ELK安装已经成功了!!! 击个掌吧小帅哥,小美女吧~~~

    接下来是创建索引用于监控

    登陆浏览器http://ip:5601  用户名/密码 admin/******** 在前面已经设置过了

    点击Management,然后点击Index Patterns,再点击Create index pattern

    创建好后,点击Discover,就可以看到如下图页面的日志内容了。

     

     
  • 相关阅读:
    python实现从文件夹随机拷贝出指定数量文件到目标文件夹
    keras训练函数fit和fit_generator对比,图像生成器ImageDataGenerator数据增强
    Tensorflow与Keras自适应使用显存
    python创建DataFrame,并实现DataFrame的转置
    git push和pull如何解决冲突!!!精品
    lsomap降维
    python变量拷贝
    TSNE-图像二分类可视化
    用清华源安装模块
    HDU多校Round 8
  • 原文地址:https://www.cnblogs.com/king-LL/p/10045870.html
Copyright © 2011-2022 走看看