当前位置 : 主页 > 操作系统 > centos >

Elasticsearch+Logstash+Kibana+Head安装

来源:互联网 收集:自由互联 发布时间:2022-06-20
Elasticsearch+Logstash+Kibana+Head安装 公司搭建了一些开源的运维工具,包括Zabbix,Jumpserver,ELK,Grafana等,主要技术架构如下, 由于数据量不大,没有采用Redis缓存,数据由Beats采集器直接传

Elasticsearch+Logstash+Kibana+Head安装

公司搭建了一些开源的运维工具,包括Zabbix,Jumpserver,ELK,Grafana等,主要技术架构如下,

image20210707155903186.png

由于数据量不大,没有采用Redis缓存,数据由Beats采集器直接传输到Logstash进行数据过滤,再发送到Elasticsearch存储,使用Grafana数据展示

  • Beats是轻量化数据采集器,采用go编写,目的是替代logstash采集数据,减小客户端负载。beats官网下载

    组件 采集对象 Filebeat 日志文件(常用) Packetbeat 网络流量 Winlogbeat windows事件日志 Metricbeat 服务指标 Heartbeat 健康检查 Auditbeat 审计数据 Functionbeat 无服务器环境中部署 Functionbeat,以收集云服务生成的日志和指标 Journalbeat 用于从systemd日志转发和集中日志数据
  • Logstash:数据过滤组件,里面有丰富的插件,主要包括三个模块:input(数据输入),filter(数据过滤),output(数据输出)。参考Logstash官方文档

  • Elasticserch:全文索引搜索+存储引擎。参考Elasticsearch官方文档

  • Kibana:可视化平台,可展示、检索、管理Elasticsearch中的数据。参考Kibana官方文档

一、环境准备

关闭防火墙和SELinux
setenforce 0 #临时关闭SELinux sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config #永久关闭SELinux(重启生效) systemctl stop firewalld.service #临时关闭防火墙 systemctl disable firewalld.service #永久关闭防火墙
修改linux最大打开文件数

vim /etc/security/limits.conf

* - nofile 655360 * - memlock 655360 * - stack 655360 * - nproc unlimited #在末尾添加以下两行 * hard nofile 655360 * soft nofile 655360

vim /etc/sysctl.conf

vm.max_map_count = 655360

sysctl -p

vim /etc/systemd/system.conf

DefaultLimitNOFILE=655360 DefaultLimitNPROC=655360
安装java
yum install -y epel-release yum install -y java-1.8.0-openjdk.x86_64 #或者rpm安装 #rpm -ivh jdk-8u291-linux-x64.rpm
创建elk用户
groupadd elk useradd elk -g elk
创建数据文件夹
mkdir -pv /opt/elk/{data,logs} chown -R elk:elk /opt/elk/
下载ELK

Elasticsearch官网下载

Logstash官网下载

Kibana官网下载

Head插件下载

Node.js下载

Jdk下载

二、安装Elasticsearch

压缩包传至opt目录
cd /opt/ tar -xzvf elasticsearch-7.13.3-linux-x86_64.tar.gz mv elasticsearch-7.13.3-linux-x86_64.tar.gz elasticsearch #重命名 chown -R elk.elk elasticsearch
编辑es配置文件

vim /opt/elasticsearch/config/elasticsearch.yml

cluster.name: ELK node.name: node1 node.master: true node.data: true network.host: 0.0.0.0 http.port: 9200 path.data: /opt/elk/data path.logs: /opt/elk/logs #内存 bootstrap.memory_lock: false bootstrap.system_call_filter: false cluster.max_shards_per_node: 900000 indices.query.bool.max_clause_count: 10240 indices.fielddata.cache.size: 40% indices.memory.index_buffer_size: 40% #安装head插件使用 http.cors.enabled: true http.cors.allow-origin: "*" #http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type transport.tcp.port: 9300 cluster.initial_master_nodes: ["192.168.0.170:9300"] discovery.seed_hosts: ["192.168.0.170:9300"] #X-Pack安全功能 #xpack.ml.enabled: false #xpack.security.enabled: true #xpack.security.transport.ssl.enabled: true #xpack.security.authc.api_key.enabled: true
启动elasticsearch

cd /opt/elasticsearch/bin; nohup ./elasticsearch &

查看进程

netstat -lntp | grep 9200

image20210708135327786.png

页面验证

http://192.168.0.170:9200

image20210708135443284.png

三、安装Logstash

压缩包传至opt目录
cd /opt/ tar -xzvf logstash-7.13.3-linux-x86_64.tar.gz mv logstash-7.13.3-linux-x86_64.tar.gz logstash #重命名

配置文件后续根据不同的监控项目再做修改

四、安装Kibana

压缩包传至opt目录
cd /opt/ tar -xzvf kibana-7.13.3-linux-x86_64.tar.gz mv kibana-7.13.3-linux-x86_64.tar.gz kibana #重命名
编辑kibana配置文件

vim /opt/kibana/config/kibana.yml

server.port: 5601 server.host: "0.0.0.0" elasticsearch.hosts: ["http://0.0.0.0:9200"] elasticsearch.username: "USERNAME" elasticsearch.password: "PASSWOED" i18n.locale: zh-CN xpack.ml.enabled: false xpack.apm.enabled: false xpack.reporting.enabled: false xpack.graph.enabled: false #xpack.security.enabled: true #xpack.encryptedSavedObjects.encryptionKey: "something_at_least_32_characters"
启动kibana

cd /opt/kibana/bin; nohup ./kibana &

查看进程

netstat -lntp | grep 5601

image20210708135220860.png

页面验证

http://192.168.0.170:5601

image20210708135042753.png

四、安装Head插件(可选)

安装node.js
tar -zxvf node-v16.4.2-linux-x64.tar.gz mv node-v16.4.2-linux-x64 /usr/local/node

配置生效

vim /etc/profile

export NODE_HOME=/usr/local/node export PATH=$PATH:$NODE_HOME/bin

source /etc/profile

验证版本

node -v; npm -v

压缩包传至opt目录
cd /opt git clone git://github.com/mobz/elasticsearch-head.git cd elasticsearch-head npm install grunt --save npm install -g grunt --registry=https://registry.npm.taobao.org npm install
编辑head配置文件

vim /opt/elasticsearch-head/Gruntfile.js

connect: { server: { options: { hostname: '0.0.0.0', port: 9100, base: '.', keepalive: true } } }

vim /opt/elasticsearch-head/_site/app.js

init: function(parent) { this._super(); this.prefs = services.Preferences.instance(); this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.0.170:9200"; if( this.base_uri.charAt( this.base_uri.length - 1 ) !== "/" ) { // XHR request fails if the URL is not ending with a "/" this.base_uri += "/"; }
修改es配置文件

vim /opt/elasticsearch/config/elasticsearch.yml

#安装head插件使用 http.cors.enabled: true http.cors.allow-origin: "*" #配置了密码验证需要开启下行 #http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
启动head服务

cd /opt/elasticsearch-head/node_modules/grunt/bin; nohup ./grunt server &

查看端口号

netstat -lntp | grep 9100

image20210708144036283.png

页面验证

http://192.168.0.170:9100/

如果开启了密码验证,则需要输入

http://192.168.0.170:9100/?auth_user=elastic&auth_password=PASSWORD

image20210708144437103.png

上一篇:ELK监控Windows事件日志+Grafana展示
下一篇:没有了
网友评论