zoukankan      html  css  js  c++  java
  • 在 CentOS7 安装 ELK【转】

    ELK是一个成熟的日志系统,主要功能有收集、分析、检索,详细见 elastic官网

    本文主要介绍如何在CentOS7下安装最新版本的ELK,当然现在docker已经有完全配置成功的elk容器,安装配置非常方便,但是如果你想自己从安装jdk开始,那这篇博客将能够帮助到你。

    安装前了解一下

    操作系统及各组件版本

    • centos-7-x86_64
    • java8
    • elasticsearch-6.2.4
    • kibana-6.2.4
    • logstash-6.2.4

    禁用SELinux

    [root@localhost ~]# vim /etc/sysconfig/selinux

    把 SELINUX=enforcing 改为 SELINUX=disabled。这一步具体原因我不清楚,但是在公司安装成功,但是晚上回去在自己电脑上再安装一遍发现最后在浏览器登录kibana始终都是报Nginx502Bad,确认所有步骤都没有问题,最后就是因为漏掉这项配置没有改,改完OK!

    java

    下载

    [root@localhost ~]# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http:%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.rpm"

    下载链接在 oracle官网,当然如果你愿意使用java8并且这里的链接可以使用,那么就不需要到oracle官网找jdk的下载链接了。

    安装

    [root@localhost ~]# rpm -ivh jdk-8u171-linux-x64.rpm

    查看java是否安装成功

    [root@localhost ~]# java -version
    java version "1.8.0_171"

    第一次安装的时候,因为考虑到jdk是向下兼容的,所以尝试了java10,结果在安装logtash的时候失败了,折腾了会还是老老实实的装回了java8

    elasticsearch

    导入秘钥

    [root@localhost ~]# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

    下载

    [root@localhost ~]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.rpm

    elasticsearch,kibana,logstash的最新下载地址都在这里,当然如果你愿意使用elk6.2.4并且这个的链接可以使用,那么就不需要到官网找下载链接了

    安装

    [root@localhost ~]# rpm -ivh elasticsearch-6.2.4.rpm

    配置

    [root@localhost ~]# vim /etc/elasticsearch/elasticsearch.yml

    取消43、59行的注释,行号不一定准确,但一定是下面这几项

    bootstrap.memory_lock: true
    http.port: 9200

    启动

    [root@localhost ~]# systemctl daemon-reload
    [root@localhost ~]# systemctl enable elasticsearch
    [root@localhost ~]# systemctl start elasticsearch
    [root@localhost ~]# netstat -plntu

    最后通过 netstat -plntu 查看是否elasticsearch进程是否启动成功,如果有9200的端口这一行输出了那就代表启动成功,如果没有可能需要重启下虚拟机。

    nginx

    代理服务器了解一下(老手跳过)

    Nginx在这里作为一个代理服务器,熟悉asp.net开发者肯定知道iis,我们把asp.net项目部署iis上,假设配置一个8080端口,然客户端就可以通过IP地址加8080端口直接浏览asp.net应用程序了,这里Nginx是在客户端和asp.net应用程序之间的一个代理服务器,如果Nginx监听的端口是80,转发地址是localhost:8080,那么客户端就可以通过IP地址加80端口访问asp.net应用程序了。

    安装

    [root@localhost ~]# yum install epel-release -y
    [root@localhost ~]# yum install nginx httpd-tools -y

    安装Nginx之前要先安装epel源,可能以后在使用linux的时候你还会添加各种源,就和在nuget添加源的目的一样

    配置

    删除默认配置

    [root@localhost ~]# vim /etc/nginx/nginx.conf

    这里把位于36、59行之间的Server块删掉,更多的配置项在 /etc/nginx/conf.d/*.conf中

    36 include /etc/nginx/conf.d/*.conf;
    Server { }
    59# Settings for a TLS enabled server.

    给kibana添加代理

    [root@localhost ~]# vim /etc/nginx/conf.d/kibana.conf

    粘贴下面内容,注意粘贴之前先输入 i 进入insert模式,这里域名为 elk-stack.co,然后使用http协议的basic认证,密码稍后添加,然后看location块,当Nginx监听到域名为elk-stack.co,端口为80的请求时,就会转发给本地监听端口5601的进程,这个进程就是kibana,下一步安装它

    server {
    listen 80;

    server_name elk-stack.co;
    
    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/.kibana-user;
    
    location / {
        proxy_pass http://localhost:5601;
        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;
    } }

    给elasticsearch添加代理

    [root@localhost ~]# vim /etc/nginx/conf.d/elasticsearch.conf

    server {
    listen 81;

    server_name elk-stack.co;
    
    location / {
        proxy_pass http://localhost:9200;
        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;
    } }

    添加一个basic认证

    [root@localhost ~]# htpasswd -c /etc/nginx/.kibana-user admin

    然后输入你的密码,记住最后要通过这个来登录kibana的

    测试Nginx配置并启动

    [root@localhost ~]# nginx -t

    如果出现 test failed,就回过头检查/etc/nginx/conf.d/kibana.conf和/etc/nginx/nginx.conf这两个文件,肯定是不小心弄错了。
    如果输出 test is successful,那么就可以启动 nginx 了

    [root@localhost ~]# systemctl enable nginx
    [root@localhost ~]# systemctl start nginx

    kibana

    下载

    [root@localhost ~]# wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.4-x86_64.rpm

    安装

    [root@localhost ~]# rpm -ivh kibana-6.2.4-x86_64.rpm

    配置

    [root@localhost ~]# vim /etc/kibana/kibana.yml

    取消2、7、21行的注释,行号不一定准确,但一定是下面这几项

    server.port: 5601
    server.host: "localhost"
    elasticsearch.url: "http://localhost:9200"

    启动

    [root@localhost ~]# systemctl enable kibana
    [root@localhost ~]# systemctl start kibana
    [root@localhost ~]# netstat -plntu

    和elasticsearch一样,最后通过netstat -plntu查看kibana是否启动成功,如果有端口号为5601的输出那就代表kibana启动成功了

    logstash

    下载

    [root@localhost ~]# wget https://artifacts.elastic.co/downloads/logstash/logstash-6.2.4.rpm

    安装

    [root@localhost ~]# rpm -ivh logstash-6.2.4.rpm

    启动

    [root@localhost ~]# systemctl enable logstash
    [root@localhost ~]# systemctl start logstash

    浏览器访问kibana

    配置本地host

    如果你的电脑是win10,并且安装目录在C盘,编辑文件C:WindowsSystem32driversetchosts添加这一行

    192.168.93.133 elk-stack.co

    打开端口

    [root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --add-port=81/tcp --permanent
    [root@localhost ~]# firewall-cmd --reload

    现在就可以本地通过浏览输入elk-stack.co,访问kibana了!
    但是如果出现 lookup elk-stack.co on 127.0.0.1:53: no such host,可能是host文件的修改还没有生效,重启一下电脑就可以,如果重启还是不行参考这里,实在不行就通过虚拟机的ip地址直接访问就行了

     

    查看es

    如果出现这两张图那就安装成功啦!

    ELK的功能非常强大,自己在逐步学习中,但是发现除了看官方文档似乎很难找的好的学习资料了,英文不好看起来虽然痛苦但是看懂还有有收获的,所以我把我的学习过程记录下来,希望可以帮助正在学习ELK的你。

    参考资料

    https://www.howtoforge.com/tutorial/how-to-install-elastic-stack-on-centos-7/
    https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-elk-stack-on-centos-7
    https://www.elastic.co/guide/index.html

  • 相关阅读:
    Elementary Methods in Number Theory Exercise 1.3.13
    Elementary Methods in Number Theory Exercise 1.3.17, 1.3.18, 1.3.19, 1.3.20, 1.3.21
    数论概论(Joseph H.Silverman) 习题 5.3,Elementary methods in number theory exercise 1.3.23
    Elementary Methods in Number Theory Exercise 1.2.31
    数论概论(Joseph H.Silverman) 习题 5.3,Elementary methods in number theory exercise 1.3.23
    Elementary Methods in Number Theory Exercise 1.3.13
    Elementary Methods in Number Theory Exercise 1.3.17, 1.3.18, 1.3.19, 1.3.20, 1.3.21
    Elementary Methods in Number Theory Exercise 1.2.31
    Elementary Methods in Number Theory Exercise 1.2.26 The Heisenberg group
    4__面向对象的PHP之作用域
  • 原文地址:https://www.cnblogs.com/loveapple/p/9951874.html
Copyright © 2011-2022 走看看