CentOS 7 快速部署 ELK

摘要:
首先,简要描述部署思路和原则(不一定正确,只是个人理解)1。修改系统参数以安装软件2。安装并配置Elasticsearch,它相当于通用监控中心,用于收集logstash监控的各种服务应用程序的日志,然后将监控的每个logstash的日志发送给kibanadiscovery。zen.ping.unicast。hosts:[“192.168.0.53:9300”]#这相当于内部通信端口,对于es节点

先简单说一下部署思路及原理(不一定正确,只是个人理解而已)

1.修改系统参数,以便安装软件

2.安装配置elasticsearch,这个相当于总监测中心,用来收集logstash监测的各种服务应用日志,然后将监测的各个logstash的日志发送给kibana

discovery.zen.ping.unicast.hosts: ["192.168.0.53:9300"]    #这个相当于内部通讯端口,用于es节点之间的通讯,另一个9200端口则是用于做外部通讯

3.安装配置logstash,这个相当于单点监测中心,因为我们可能需要同时监测几十服务器的日志,可以在各个服务器上安装logstash,收集所在服务器的日志信息

4.安装配置kibana,这个相当图形监控界面,将elasticsearch发送过来的汇总日志以图形化的方式呈现出来

在安装之前,先修改以下配置

# vim /etc/security/limit.conf    
* hard nofile 65536
* soft nofile 65536
* soft nproc  65536
* hard nproc  65536

# vim /etc/sysctl.conf
vm.max_map_count = 262144
net.core.somaxconn=65535
net.ipv4.ip_forward = 1

# sysctl -p
# systemctl disabled firewalld
# systemctl stop firewalld
# iptables -F

三个软件的下载连接如下

https://www.elastic.co/cn/downloads

下载这三个包

kibana-6.2.4-x86_64.rpm elasticsearch-6.2.4.rpm logstash-6.2.4.rpm

部署java环境,可以参考https://www.cnblogs.com/biaopei/p/7730484.html

安装 yum install elasticsearch-6.2.4.rpm -y

修改配置文件

# grep -v ^# /etc/elasticsearch/elasticsearch.yml 
cluster.name: elk-stack
node.name: elk.com
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.0.53:9300"]      (ip也要修改)
discovery.zen.minimum_master_nodes: 1

启动服务

systemctl start elasticsearch

查看端口是否正常开启(用netstat也可,ss好像是比netstat好一点)

ss -ntlup| grep -E "9200|9300"

安装logstash

# yum install logstash-6.2.4.rpm -y
# echo 'path.config: /etc/logstash/conf.d' >>/etc/logstash/logstash.yml

配置文件

# vim /etc/logstash/conf.d/syslog.conf 
input {

 #收集本地log
  file {
     type => "logtest"
     path => "/var/log/messages"
     start_position => "beginning"
  }

 #filebeat客户端
  beats {
     port => 5044
  }

}

 #筛选
 #filter { }

output {

#标准输出,调试使用
  stdout {
   codec => rubydebug { }
  }

# 输出到es
  elasticsearch {
    hosts => ["http://192.168.0.53:9200"]    ip也需要修改
    index => "%{type}-%{+YYYY.MM.dd}"
  }

}

调试启动

# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/syslog.conf --config.test_and_exit
# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/syslog.conf
# systemctl enable logstash
# systemctl start logstash

安装配置kibana

yum install kibana-6.2.4-x86_64.rpm nodejs -y

修改配置文件

# egrep -v "^#|^$" /etc/kibana/kibana.yml 
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.url: "http://192.168.0.53:9200"   这个ip需要根据自己的实际服务器ip修改,就是改为本地ip就行了
kibana.index: ".kibana"

汉化kibana

# yum install -y git
# git clone https://github.com/anbai-inc/Kibana_Hanization.git
# cd Kibana_Hanization
# python main.py /usr/share/kibana

重启kibana

# systemctl restart kibana

浏览器访问kibana

ip:5601

免责声明:文章转载自《CentOS 7 快速部署 ELK》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C字符串和指针问题汇总x60系统安装步骤下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

es机器监控x-pack导致的监控存储过大的问题

https://blog.csdn.net/qq_36317804/article/details/103288642 最近发现磁盘的占用率趋高,打开可视化工具head查看了之后发现,es实例中生成了好多类似monitoring-es-6-2019.11.27这个的节点。 ##查询集群总的磁盘使用情况 curl -u elastic -XGET 'loca...

spring boot下使用logback或log4j生成符合Logstash标准的JSON格式

使用logback 1.引入logstash日志格式支持 <dependency><groupId>net.logstash.logback</groupId><artifactId>logstash-logback-encoder</artifactId><version>4.4&l...

线上日志集中化可视化管理:ELK

本文来自网易云社区作者:王贝 为什么推荐ELK: 当线上服务器出了问题,我们要做的最重要的事情是什么?当需要实时监控跟踪服务器的健康情况,我们又要拿什么去分析?大家一定会说,去看日志,去分析日志。是的,日志对于服务器开发人员来讲是最亲密的伙伴了,基本上每天都会去看各种类型的海量的日志去定位问题,去做统计分析等等。最常见的查看日志的情况,比如线上出了bug,...

记一次docker安装logstash,并且读取数据库数据到es

docker安装logstash,在hub.docker官网是没有示例的。查了文章,大部分复制黏贴,语焉不详的。看着懵,虽然经过复制黏贴操作启起来了,但还是很多不理解。回想下不用docker安装的logstash,对比了下大致有点理解了。可自己配置run,还是启动没一会自动停止了。懊恼不已。 刚才仔细对比,小心求证发现了问题所在。貌似logstash启动要...

第五章·Kibana入门-安装,索引添加及界面功能

Kibana简介及部署 什么是Kibana? Kibana是一个通过调用elasticsearch服务器进行图形化展示搜索结果的开源项目。 Kibana安装及配置 #将Kibana安装包上传至服务器,并安装 [root@elkstack04 ~]# yum localinstall -y kibana-5.3.0-x86_64.rpm #配置Kibana...

记录k8s安装es

apiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: name: elasticsearch-pdb namespace: test spec: selector: matchLabels: app: elasticsearch maxUnavail...