ELK 搭建部署

ELK 部署

主节点

俩台服务器, 这是主服务器

安装 JAVA 环境

yum list java*
yum list java-1.8*
yum install java-1.8.0-openjdk* -y
java -version

配置防火墙规则

firewall-cmd --add-port=9200/tcp --permanent
firewall-cmd --add-port=9300/tcp --permanent
firewall-cmd --add-port=5601/tcp --permanent
firewall-cmd --reload

安装GPG key

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

更新YUM 包

yum clean all
yum makecache

安装 Elasticsearch

# 1 下载
wget https://artifacts.elastic.co/packages/7.x/yum/7.2.0/elasticsearch-7.2.0-x86_64.rpm
# 2 安装
rpm -ivh elasticsearch-7.2.0-x86_64.rpm
# 3 确认
rpm -qi elasticsearch
# 4 启动
systemctl daemon-reload
systemctl start elasticsearch
## 开机启动
systemctl enable elasticsearch
#5 测试
curl localhost:9200

配置 Elasticsearch

vim /etc/elasticsearch/elasticsearch.yml

cluster.name: my-application
node.name: master
network.host: 0.0.0.0
ttp.port: 9200
cluster.initial_master_nodes: ["master", "node-2"]
# 重启 es
systemctl stop elasticsearch
systemctl start elasticsearch
# 浏览器访问
http://ip:9200

 

安装 Kibana

wget  https://artifacts.elastic.co/packages/7.x/yum/7.2.0/kibana-7.2.0-x86_64.rpm 
rpm -ivh kibana-7.2.0-x86_64.rpm

确认 Kibana 信息

rpm -qi kibana

systemctl start kibana
systemctl enable kibana

测试访问

curl localhost:5601 -L

修改配置文件

vim /etc/kibana/kibana.yml

server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]

启动 Kibana

systemctl stop kibana
systemctl start kibana

# 浏览器访问
http://ip:5601

 

安装 Logstash

wget https://artifacts.elastic.co/packages/7.x/yum/7.2.0/logstash-7.2.0.rpm
rpm -ivh logstash-7.2.0.rpm

确认安装信息

rpm -qi logstash

启动 Logstash

注意, 这里 JAVA 如果还没有安装 就不会成功, 会抱错的

systemctl start logstash
# 查看运行状态
systemctl status logstash
ps -ef | grep logstash
netstat -nlpt

做一个 简单的 测试

systemctl stop logstash
# input 输入, output 输出
# 回车之后 卡顿状态 随机输入一点字符 在回车
/usr/share/logstash/bin/logstash -e 'input { stdin { } } output { stdout {} }'

 

# 案例 2
# 注意 , 需要在 /root 目录下创建一个 test.log 文件
cat test.conf
input {
   file {
       path => ["/root/test.log"]
       sincedb_path => "/dev/null"
       start_position => "beginning"
  }
}
filter {
}
output {
   elasticsearch {
       hosts => ["http://localhost:9200"]
  }
}

# 执行命令
cd /root
/usr/share/logstash/bin/logstash -f test.conf

 

查看索引

http://masterIp:9200/_cat/indices?v index

查看数据

http://masterIP:9200/logstash-2020.07.20-000001/_search (这里就有你 test.log 中的日志文件)

访问 URL

http://masterIp:5601

 

就会展示到你日志中的日志

 

 

 

 

如何汉化

vi /etc/kibana/kibana.yml
i18n.locale: "zh-CN"
# 重启.
systemctl restart kibana

添加密码

# 随机生成
/usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto
# 手动添加
/usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive


# vi /etc/kibana/kibana.yml
elasticsearch.username: "xxx"
elasticsearch.password: "xxx"

访问

注意手动添加密码 访问 kibana 出现 403 使用 es 的密码

到这里就结束。

 

 

从节点搭建

需要有 JAVA 环境

引入 GPG

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

更新 Yum 包

yum clean all
yum makecache

安装 Logstash

systemctl stop firewalld
systemctl disable firewalld

wget  https://artifacts.elastic.co/packages/7.x/yum/7.2.0/logstash-7.2.0.rpm

配置

input {
   file {
       # 可以使用 * 号
       # 比如想用 /home/logs/*.log 所有日志
      path => "/xxx/xxx/xxx.log"
      # 生成随机文件, 这里直接交给黑洞文件
      sincedb_path => "/dev/null"
      start_position => "beginning" #logstash 从什么位置开始读取文件数据,默认是结束位置,也就是说 logstash 进程会以类似 tail -F 的形式运行。 如果你是要导入原有数据,把这个设定改成"beginning",logstash 进程就从头开始读取,类似 less +F 的形式运行。
  stat_interval => "2" #logstash 每隔多久检查一次被监听文件状态(是否有更新) ,默认是 1 秒。
  }
}
filter {
}
output {
  elasticsearch {
      hosts => ["http://masterIP:9200"]
      # 如果程序以及跑通之后, 没有数据。 就要携带密码和账号了
  user => "xxxx"
      password => "xxx"
       
  }
}

启动

# 后台启动
/usr/share/logstash/bin/logstash -f xxxx.conf &>/dev/null &

访问

http://masterIP:5601

查看 日志 就可以看到你所更新的日志了

具体详细参数可以看官方文档。

 

到此搭建完毕

 https://www.yuque.com/docs/share/8a820cf3-c1cf-4755-940a-2a093913bf19?#(密码:baf9) 《elk搭建》

posted @ 2021-07-23 16:44  Handsome、Snake  阅读(1177)  评论(0编辑  收藏  举报