• Java配置39-搭建ELK服务器


    目录

    1.服务器环境

    2.安装JDK

    3.安装elasticsearch

    2)修改配置文件

    3)修改系统参数

    4)设置资源参数

    5)设置用户资源参数

    6)创建数据和日志目录

    7)启动elasticsearch

    4.安装logstash

    1)安装

    2)创建配置文件

    2)启动logstash

    5.安装kibana

    1)安装

    2)修改配置文件

    3)启动kibana


    1.服务器环境

    系统版本:Red Hat Enterprise Linux Server release 6.8

    截图安装的elk是5.3.1版本的,按照文档搭建6.2.4版本的也能成功。

    elk官网:https://www.elastic.co/cn/

    elk是三个产品,都是同一家。

    2.安装JDK

    执行命令:

    java -version

    发现系统上的JDK符合安装ELK要求,所以这里不再安装。附JDK版本更换:

    Java配置1-卸载、安装、查找JDK-图文_JustDI-CM的博客-CSDN博客

    3.安装elasticsearch

    1)安装

    上传安装介质,并解压至/usr/local路径下

    2)修改配置文件

    修改 /usr/local/elasticsearch-5.3.1/config/elasticsearch.yml

    修改前需要备份

    sudo cp elasticsearch.yml elasticsearch.yml.20180724.bak

    修改配置文件

    sudo vim /usr/local/elasticsearch-5.3.1/config/elasticsearch.yml

    修改内容如下:

    1. #这里指定的是集群名称,需要修改为对应的,开启了自发现功能  后,ES会按照此集群名称进行集群发现
    2. cluster.name: test_es_cluster(elasticsearch集群名)
    3. node.name: test_es_cluster_uat1(本节点名,要求唯一)
    4. #数据目录
    5. path.data: /home/XX/elk6.2.4/edata
    6. path.logs: /home/XX/elk6.2.4/elog
    7. # 修改一下ES的监听地址,这样别的机器也可以访问
    8. network.host: 0.0.0.0
    9. # 默认的端口号
    10. http.port: 9200
    11. discovery.zen.ping.unicast.hosts: ["IP1", "IP2"](IP注意修改)
    12. http.cors.enabled: true
    13. http.cors.allow-origin: "*"
    14. # Centos6不支持SecComp,而ES5.2.0默认   bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。
    15. bootstrap.memory_lock: false
    16. bootstrap.system_call_filter: false

    3)修改系统参数

    设置内核参数,确保系统有足够资源启动ES,修改之前备份

    sudo cp sysctl.conf sysctl.conf.20180724.bak

    sudo vim /etc/sysctl.conf

    增加以下参数

    vm.max_map_count=655360

    执行以下命令,确保生效配置生效:

    sudo sysctl -p

    4)设置资源参数

    修改之前备份

    1. sudo cp limits.conf limits.conf.20180724.bak
    2. sudo vim /etc/security/limits.conf

    修改内容如下:

    1. * soft nofile 65536
    2. * hard nofile 131072
    3. * soft nproc 65536
    4. * hard nproc 131072

    5)设置用户资源参数

    修改前备份

    sudo cp 90-nproc.conf 90-nproc.conf.20180724.bak

    设置elk用户参数

    1. sudo vim 90-nproc.conf
    2. 添加一行:
    3. XXuser    soft    nproc     65536

    6)创建数据和日志目录

    sudo mkdir -pv /data/elk/{data,logs}

    赋予用户权限

    1. sudo chown -R XXuser:XXuser /data/elk/
    2. sudo chown -R XXuser:XXuser /usr/local/elasticsearch-5.3.1/

    7)启动elasticsearch

    切到elkuser用户elasticsearch的bin目录下

    1. cd /usr/local/elasticsearch-5.3.1/bin/
    2. ./elasticsearch

    发现报错,原因是先前修改的系统参数没有生效。退出,重新登录即可。

    由于ElasticSearch可以接收用户输入的脚本并且执行,为了系统安全考虑,建议创建一个单独的用户用来运行ElasticSearch。如果需要root用户启动(高版本已不支持),可执行命令:

    ./elasticsearch -Des.insecure.allow.root=true

    出现start,表示elasticsearch启动成功

    启动成功后,使用命令:Ctrl+z,将服务转入后台运行(不建议)。

    查看启动

    ps aux | grep elasticsearch

    也可以通过浏览器访问elasticsearch:ip:port,查看能否出现界面 

    ES还可以后台启动(建议),命令如下

    ./elasticsearch -d

    4.安装logstash

    1)安装

    上传安装介质,并解压至/usr/local目录下

    sudo tar -xzvf logstash-5.3.1.tar.gz -C /usr/local/

    解压完成后logstash就算安装好了

    2)创建配置文件

    启动前需要创建配置文件

    这里直接创建一个测试文件

    1. cd /usr/local/logstash-5.3.1/config
    2. sudo vim logstash-simple.conf

    编辑的是一个空文件,在文件中添加以下内容:

    1. input { stdin { } }
    2. output {
    3.     stdout { codec=> rubydebug }
    4. }

    2)启动logstash

    切到logstash的bin目录下

    1. cd /usr/local/logstash-5.3.1/bin
    2. sudo ./logstash -f ../config/logstash-simple.conf

    启动后,可输入信息验证是否启动成功

    验证成功后,执行命令:

    Ctrl+c

    停止logstash服务

    编辑新的启动文件,测试EL之间的连通

    1. cd /usr/local/logstash-5.3.1/config
    2. sudo vim logstash-test.conf

    文件内容:

    1. input { stdin { } }
    2. output {
    3.  elasticsearch {hosts => "ip:port"}(注意替换)
    4.     stdout { codec=> rubydebug }
    5. }

    该文件中定义了stdout和elasticsearch作为output,这样的多重输出即保证输出结果显示到屏幕上,同时也输出到elastisearch中。

    注意文件符号全是英文符号。

    启动logstash

    sudo ./logstash -f ../config/logstash-test.conf

    启动成功后,使用命令:Ctrl+z,将服务转入后台运行(不建议)

    也可使用,nohup启动(建议)

    sudo nohup ./logstash -f ../config/logstash-test.conf &

    使用 curl 命令发送请求来查看 ES 是否接收到了数据:

    curl 'http://ip:port/_search?pretty'(注意修改)

    若连通性无结果可能是系统内存不够,导致elasticsearch和logstash不能同时启动。

    Elasticsearch要求最少4G内存,logstash最好也要有4G内存。所以若单机安装elk,需要给足内存。建议分开安装elk。

    5.安装kibana

    1)安装

    上传安装介质,并解压至/usr/local目录下

    2)修改配置文件

    切到配置文件路径

    cd /usr/local/kibana-5.3.1-linux-x86_64/config

    修改之前备份

    修改以下参数:

    1. server.port: 5601           #开启默认端口5601
    2. server.host: "ip"   #kibana的IP
    3. elasticsearch.url: http://ip:port   #elasticsearch服务的ip:port地址
    4. kibana.index: ".kibana"

    3)启动kibana

    切至kibana安装目录的bin目录下

    cd /usr/local/kibana-5.3.1-linux-x86_64/bin

    启动

    sudo ./kibana

    出现以下即为成功

    启动成功后,使用命令:Ctrl+z,将服务转入后台运行(不建议)

    或直接使用后台启动:

    sudo ./kibana -d

    补充下,也可以用nohup的方式启动(建议)

    sudo nohup ./kibana &

    这个会生成一个nohup.out文件,里面是kibana运行日志

    浏览器访问:kibana的ip:port

    出现以下即为成功

    补充:

    查看elasticsearch进程

    ps -ef | grep elasticsearch

    查看logstash进程

    ps -ef | grep logstash

    查看kibana进程

    ps -ef | grep node

    停止服务,杀死进程即可

    sudo kill -9 进程号

  • 相关阅读:
    Dubbo admin 快速搭建
    Android flow 每秒异步返回一个值
    nodejs+vue+elementui数字化家谱网站管理系统express
    ArrayList练习
    【暑期每日一题】洛谷 P5740【深基7.例9】最厉害的学生
    基于复数卷积神经网络的辐射源识别方法
    Windows环境下的ELK——搭建环境(1)
    代码随想录算法训练营第23期day14|二叉树层序遍历、226.翻转二叉树、101. 对称二叉树
    一次有关 DNS 解析导致 APP 慢的问题探究
    C++入门
  • 原文地址:https://blog.csdn.net/JustDI0209/article/details/83141537