欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CentOS7 安装 ELK 简明文档

程序员文章站 2024-03-18 10:16:58
...

CentOS7 安装 ELK 简明文档

由于本人在安装和使用elk的过程中看了网上大量的文档而踩坑无数,遂把自己心得总结如下,做成简明文档供有需要之人。如果发现什么问题欢迎和我交流。

准备工作

ELK简介
Logstash 对各个服务的日志进行采集、过滤、推送。
Elasticsearch 存储 Logstash 传送的结构化数据,提供给 Kibana 。
Kibana 提供用户 UIweb 页面进行,数据展示和分析形成图表等。

操作系统:CentOS7 安装模式如下图。(推荐)
IP:192.168.31.200
如果是内网使用,安装好系统之后可以关闭防火墙,并且关闭开机启动。

systemctl stop firewalld
systemctl disable firewalld

CentOS7 安装 ELK 简明文档

软件准备 (以7.9.1版本为例,软件版本需统一.)
下载以下软件到服务器.

https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.1-x86_64.rpm
https://artifacts.elastic.co/downloads/logstash/logstash-7.9.1.rpm
https://artifacts.elastic.co/downloads/kibana/kibana-7.9.1-x86_64.rpm

p.s

mkdir /download
cd /download
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.1-x86_64.rpm
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.9.1.rpm
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.9.1-x86_64.rpm

国内下载较慢,可以选择用迅雷下载到PC,然后使用SFTP上传到服务器。

开始安装

首先安装java环境

yum -y install java-1.8.0-openjdk.x86_64

安装E.L.K.

rpm -ivh elasticsearch-7.9.1-x86_64.rpm
rpm -ivh logstash-7.9.1.rpm
rpm -ivh kibana-7.9.1-x86_64.rpm

p.s 使用rpm安装会自动创建好service,使用这种安装方式配置文件一般在/etc/xxx/下,
程序文件一般在/usr/share/xxx/下。

配置elasticsearch

1.创建elasticsearch所需的目录,并授权。

mkdir -p /data/elasticsearch
mkdir -p /data/log/elasticsearch
chown -R elasticsearch.elasticsearch /data/elasticsearch
chown -R elasticsearch.elasticsearch /data/log/elasticsearch

2.编辑elasticsearch配置

vi /etc/elasticsearch/elasticsearch.yml

3.编辑以下内容

cluster.name: xxx #群集名称
node.name: node-1 #节点名称
path.data: /data/elasticsearch #数据目录
path.logs: /data/log/elasticsearch #日志目录
network.host: 192.168.31.200 #绑定IP
http.port: 9200 #服务端口
discovery.seed_hosts: ["127.0.0.1"] #集群发现
cluster.initial_master_nodes: ["node-1"] #填写本机节点名,否则设置密码时会出错。
#设定跨域,head插件需要用到以下选项
http.cors.enabled: true
http.cors.allow-origin: "*"
#http.cors.allow-credentials: true
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
#设置开启xpack
xpack.security.enabled: true
xpack.license.self_generated.type: basic
# 如果是basic license的话需要加入下面这一行,不然的话restart elasticsearch之后会报错。
xpack.security.transport.ssl.enabled: true

4.启动elasticsearch并加入自启动

systemctl start elasticsearch 
 systemctl enable elasticsearch		

5.查看elasticsearch运行状态

systemctl status elasticsearch

6.查看端口是否正常

netstat -ntlp
Active Internet connections (only servers)
tcp6       0      0 192.168.31.200:9200     :::*                    LISTEN      1714/java
tcp6       0      0 192.168.31.200:9300     :::*                    LISTEN      1714/java

p.s.正常的话可以看到9200端口和9300端口存在

修改elasticsearch密码

cd /usr/share/elasticsearch/bin/ #进入可执行文件目录
./elasticsearch-setup-passwords interactive #使用交互式密码设置工具

设置成功后会看到以下内容

Enter password for [elastic]:
Reenter password for [elastic]:
Enter password for [apm_system]:
Reenter password for [apm_system]:
Enter password for [kibana_system]:
Reenter password for [kibana_system]:
Enter password for [logstash_system]:
Reenter password for [logstash_system]:
Enter password for [beats_system]:
Reenter password for [beats_system]:
Enter password for [remote_monitoring_user]:
Reenter password for [remote_monitoring_user]:
Changed password for user [apm_system]
Changed password for user [kibana_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]

登录elasticsearch
打开浏览器输入
http://192.168.31.200:9200
由于刚才配置开启了xpack,会弹出身份验证对话框。
CentOS7 安装 ELK 简明文档

输入
用户名:elastic
密码:刚才所设密码
即可登录。
登录成功后会看到一段包含相关信息的json字串

{
  "name" : "node-1",
  "cluster_name" : "xxx",
  "cluster_uuid" : "Ns24bgsXRGWVt358Sc-OSg",
  "version" : {
    "number" : "7.9.1",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "083627f112ba94dffc1232e8b42b73492789ef91",
    "build_date" : "2020-09-01T21:22:21.964974Z",
    "build_snapshot" : false,
    "lucene_version" : "8.6.2",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

配置logstash

编辑logstash配置文件

vi /etc/logstash/logstash.yml

修改编辑以下内容

node.name: xxx #节点名称
path.data: /var/lib/logstash #数据目录
pipeline.ordered: auto #如果只有一个pipeline worker,则自动启用订购。
path.config: /etc/logstash/conf.d #配置文件所在目录
config.test_and_exit: true #配置文件检测
path.logs: /var/log/logstash #日志目录
xpack.monitoring.enabled: true
xpack.monitoring.elasticsearch.username: logstash_system
xpack.monitoring.elasticsearch.password: ********* #刚才设置的密码
xpack.monitoring.elasticsearch.hosts: ["http://192.168.31.200:9200"]

启动logstash并且加入自启动

systemctl start logstash
systemctl enable logstash

查看状态

systemctl status logstash

配置kibana

编辑kibana配置文件

vi /etc/kibana/kibana.yml

修改编辑以下内容

server.port: 5601 #端口
server.host: "192.168.31.200" #如开启外网访问请填写0.0.0.0
server.name: "xxx" #服务名
elasticsearch.hosts: ["http://192.168.31.200:9200"] #ES地址
elasticsearch.username: "elastic" #ES用户名
elasticsearch.password: "******"  #ES密码
i18n.locale: "zh-CN" #设置语言为中文
xpack.monitoring.ui.container.elasticsearch.enabled: true

启动kibana并加入自启动

systemctl start kibana
systemctl enable kibana

查看状态

systemctl status kibana

查看kibana端口

netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 192.168.31.200:5601     0.0.0.0:*               LISTEN      38057/node
tcp6       0      0 192.168.31.200:9200     :::*                    LISTEN      1714/java
tcp6       0      0 192.168.31.200:9300     :::*                    LISTEN      1714/java

p.s.正常的话可以看到9200,9300,5601端口存在

登录kibana
打开浏览器输入
http://192.168.31.200:5601
正常情况下会看到以下画面
CentOS7 安装 ELK 简明文档

输入
用户名:elastic
密码:刚才所设置的密码。
即可登录使用

上一篇: elk安装

下一篇: elk安装