我是靠谱客的博主 俏皮野狼,最近开发中收集的这篇文章主要介绍ELK+FileBeat+Metricbeat+Nginx安装ELK+FileBeat+Metricbeat+Nginx安装,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

ELK+FileBeat+Metricbeat+Nginx安装

注意:本文采用7.17.3版本

ELK安装

https://github.com/deviantony/docker-elk下载其压缩包放入到虚拟机中解压

这个ELK包是有付费功能的,取消的话可以看看他的README.md

cd /opt/software

unzip docker-elk-release-7.x.zip 

cd /opt/software/docker-elk-release-7.x

# 启动
docker-compose up -d

# 查看是否启动成功
docker ps
curl http://localhost:9200 -u elastic:changeme

该ELK的密码在.env 文件内

将Kibana改为中文/opt/software/docker-elk-release-7.x/kibana/config文件夹下的kibana.yml

# 在末尾添加
i18n.locale: "zh-CN"

# 重启
docker restart docker-elk-release-7x_kibana
# 或者整个重启
docker-compose restart

Nginx安装

下载Nginx镜像

docker pull nginx

创建存储卷,便于 Nginx 和 Filebeat 容器共同挂载

docker volume create nginx-log-volume

启动 Nginx 容器,并且将存储卷映射到日志目录

docker run -d --name nginx -p 8080:80 -v nginx-log-volume:/var/log/nginx nginx

进入容器修改配置

docker exec -it nginx /bin/bash

由于容器环境下,默认的日志会输入到stdout,所以取消该设置并指定文件

unlink /var/log/nginx/access.log
unlink /var/log/nginx/error.log
touch /var/log/nginx/access.log /var/log/nginx/error.log
nginx -s reload

Filebeat安装

下载镜像

docker pull elastic/filebeat:7.17.3

启动镜像

临时启动

docker run -d --name=filebeat elastic/filebeat:7.17.3

拷贝数据文件

docker cp filebeat:/usr/share/filebeat /data/elk/
chmod 777 -R /data/elk/filebeat
chmod go-w /data/elk/filebeat/filebeat.yml
chmod go-w /data/elk/filebeat/modules.d/nginx.yml

编辑配置文件/data/elk/filebeat/filebeat.yml

# 收集系统日志
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /data/*.log

filebeat.config:
  modules:
    path: ${path.config}/modules.d/*.yml
    reload.enabled: false

processors:
  - add_cloud_metadata: ~
  - add_docker_metadata: ~

output.elasticsearch:
  hosts: '自己的ip:9200'
  username: 'elastic'
  password: 'changeme'

setup.kibana:
    host: "自己的ip:5601"
    username: 'elastic'
    password: 'changeme'

以新的方式启动

docker rm -f filebeat
#启动
docker run -d --name=filebeat --user=root --restart=always --network=docker-elk-release-7x_elk -v /data/elk/filebeat:/usr/share/filebeat -v /var/log/messages:/var/log/messages -v nginx-log-volume:/data  elastic/filebeat:7.17.3

进入挂载到本地的文件中进行修改

cd /data/elk/filebeat

启用 Nginx 采集模块

./filebeat modules enable nginx

编辑 Nginx 采集配置

cd /data/elk/filebeat/modules.d
vim nginx.yml
- module: nginx
 access:
  enabled: true
  var.paths: ["/data/access.log*"]
 error:
  enabled: true
  var.paths: ["/data/error.log*"]

设置 Filebeat 创建 Kibana上的 Index Pattern 和 Dashboard(这个可以在kibana上操作,如图

filebeat setup

image-20220524102500874

image-20220524102540549

重启 Filebeat 生效配置

docker restart filebeat

等待30秒,查看日志是否有错误

docker logs -f filebeat

image-20220524102643674

image-20220524102317610

Metricbeat安装

下载镜像

docker pull elastic/metricbeat:7.17.3

启动镜像

临时启动

docker run -d --name=metricbeat elastic/metricbeat:7.17.3

拷贝数据文件

docker cp metricbeat:/usr/share/metricbeat /data/elk/

编辑配置文件/data/elk/metricbeat/metricbeat.yml

metricbeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false

processors:
  - add_cloud_metadata: ~
  - add_docker_metadata: ~

output.elasticsearch:
  hosts: '192.168.254.150:9200'
  username: 'elastic'
  password: 'changeme'

编辑Nginx

这里推荐使用挂载,否则就要像下文一样在docker容器内安装vim

docker exec -it nginx /bin/bash
vim /etc/nginx/conf.d/default.conf
# 安装vim
apt update
apt install vim
#在server中添加上这一条  /nginx_status是访问地址 可以输入http://自己的IP:8080/nginx_status访问
location /nginx_status {
    stub_status on;
    allow all;
}
# 返回到主服务器进行操作 重启nginx
docker restart nginx

image-20220524102232926

然后进入挂载到本地的metricbeat文件中进行修改

cd /data/elk/metricbeat

启用 Nginx 采集模块

./metricbeat modules enable nginx

编辑 Nginx 采集配置

cd /data/elk/metricbeat/modules.d
vim nginx.yml
# Module: nginx
# Docs: https://www.elastic.co/guide/en/beats/metricbeat/7.17/metricbeat-module-nginx.html

- module: nginx
  #metricsets:
  #  - stubstatus
  period: 10s

  # Nginx hosts
  hosts: ["http://自己的IP:8080"]

  # Path to server status. Default nginx_status
  # 要与上面拿nginx配置相同
  server_status_path: "nginx_status"

  #username: "user"
  #password: "secret"

重启metricbeat

docker restart metricbeat

一样要像filebeat那里创建索引

image-20220524102125495

最后

以上就是俏皮野狼为你收集整理的ELK+FileBeat+Metricbeat+Nginx安装ELK+FileBeat+Metricbeat+Nginx安装的全部内容,希望文章能够帮你解决ELK+FileBeat+Metricbeat+Nginx安装ELK+FileBeat+Metricbeat+Nginx安装所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部