AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[elk](server)

Martin Hope
Peter
Asked: 2021-01-26 05:44:15 +0800 CST

filebeat 日志状态 30 每秒

  • 0

我正在学习使用 ELK 并拥有一台作为测试客户端运行的 debian PC。每 30 秒它会记录一条消息:

021-01-18T08:29:59.656-0500#011INFO#011[monitoring]#011log/log.go:145#011Non-zero metrics in the last 30s#011{"monitoring": {"metrics": {"beat":{"cgroup":{"memory":{"mem":{"usage":{"bytes":4096}}}},"cpu":{"system":{"ticks":171310,"time":{"ms":11}},"total":{"ticks":433770,"time":{"ms":24},"value":433770},"user":{"ticks":262460,"time":{"ms":13}}},"handles":{"limit":{"hard":524288,"soft":1024},"open":13},"info":{"ephemeral_id":"e83bbdd5-2482-4ac4-85b9-5b50f2b64e7c","uptime":{"ms":444690082}},"memstats":{"gc_next":20543200,"memory_alloc":12804128,"memory_total":20951973208},"runtime":{"goroutines":54}},"filebeat":{"events":{"added":2,"done":2},"harvester":{"open_files":2,"running":2}},"libbeat":{"config":{"module":{"running":1}},"output":{"events":{"acked":2,"batches":2,"total":2},"read":{"bytes":681},"write":{"bytes":4714}},"pipeline":{"clients":3,"events":{"active":0,"published":2,"total":2},"queue":{"acked":2}}},"registrar":{"states":{"current":15,"update":2},"writes":{"success":2,"total":2}},"system":{"load":{"1":0,"15":0,"5":0,"norm":{"1":0,"15":0,"5":0}}}}}}

我不想每 30 秒就有一次,所以我创建了一个 filebeat.yml 在 filebeat 中过滤掉它

在我写的路径部分下

exclude_lines :['^INFO#011[monitoring]#011log/log.go:145#011Non-zero']

没有效果,该行应该如何?

我有几个附带问题,

  • 如果不是每 30 秒记录一次,那对我来说没问题,这个状态可以每 5 分钟记录一次吗?
  • 好吧,我是 ELK 的新手,我认为这条线不应该在 filebeat 中(因为它应该记录系统的内存统计信息,或者我读错了吗?)另一方面,知道这些统计信息也不错,但是为什么它在 Gui 中没有很好地显示
elk filebeat
  • 1 个回答
  • 567 Views
Martin Hope
Kumar
Asked: 2020-05-28 07:48:11 +0800 CST

使用 beats 将日志从应用程序服务器发送到 ELK 服务器

  • 0

我正在为生产环境构建日志分析器。我的场景是,我需要在一台要使用 ELK 服务器的 centos7 服务器上设置elasticsearch、Logstash 和 kibana,另一台是 apache 服务器(远程服务器)。

我已经配置了以下

(i).ELK 服务器 - elasticsearch,kibana,logstash 和 nginx 代理

(ii).Application server(apache server)-在apache服务器上安装beats

(i).ELK服务器配置

弹性搜索配置

vi /etc/elasticsearch/elasticsearch.yml

network.host: 本地主机

http.port: 9200

Kibana 仪表板配置

vi /etc/kibana/kibana.yml

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

Nginx 配置:

server {
listen 80;
server_name 172.xx.xx.xx;
location / {
    proxy_pass http://localhost:5601;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
  }
}

Logstash 配置

猫 /etc/logstash/conf.d/02-beats-input.conf

input {
  beats {
  port => 5044
 }
}

我也配置了过滤器部分..

猫 /etc/logstash/conf.d/30-elasticsearch-output.conf

output {
 elasticsearch {
  hosts => ["localhost:9200"]
  sniffing => true
  manage_template => false
  index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
 }
}

ii) 应用服务器 Beats 配置

我已经在应用程序服务器中安装了 beats 并使用 logstash 发送日志。

文件节拍配置:

猫 /etc/filebeat/filebeat.yml

output.logstash:
   #the logstash hosts
hosts: ["172.xx.xx.xx:5044"]

在这里,我不确定如何在 kibana 中加载 filebeat 索引模板、索引和仪表板。当我尝试从 apache 服务器运行“filebeat setup”命令时,出现以下错误。

[root@webserver ~]# filebeat setup
Exiting: Index management requested but the Elasticsearch output is not configured/enabled.

我知道如果我用 elasticsearch 输出配置 filebeat,我可以将索引直接加载到 kibana。但我不希望 apache 服务器直接与 elasticsearch 联系。

有人可以建议我如何将“索引、索引模板和仪表板”直接从 apache 服务器加载到 kibana,同时配置节拍输出到 logstash。

我搜索了很多网站,但没有得到任何答案。是否有任何其他替代方法(如导入方法)在 kibana 和 elk 服务器中加载 apache 服务器 filebeat indexe。

我渴望等待有人为此提供解决方案。

谢谢

库马尔

elk logstash
  • 1 个回答
  • 849 Views
Martin Hope
itadvicehelpsdf
Asked: 2020-04-28 01:54:26 +0800 CST

无法远程访问 Kibana - 可以在机器上成功 curl

  • 0

我已经在 rhel 上安装了 Kibana,我正在尝试远程访问http://server-url:5601。

我已经安装了 elasticsearch 并且能够在http://server-url:9200上远程访问它

我已经添加

server.host 0.0.0.0

在 kibana.yml 中。

我已确保 nsg 允许它通过并已添加到防火墙中。我还安装了 elasticsearch 并且正在端口:9200 上工作 - 我在防火墙和 nsg 上为 9200 所做的我对 5601 所做的完全相同,所以我觉得这是一个配置问题而不是防火墙问题。

我也可以在本地成功地从机器上卷曲 kibana

当运行 netstat -nlp | grep :5601 我得到以下结果:

tcp        0      0 127.0.0.1:5601          0.0.0.0:*               LISTEN      33072/node

谢谢

linux redhat elasticsearch elk kibana
  • 1 个回答
  • 1680 Views
Martin Hope
alexus
Asked: 2016-09-26 11:01:51 +0800 CST

elastic的快照和恢复模块repository_exception

  • 1

我正在使用elk-docker并尝试关注Snapshot And Restore | Elasticsearch 参考 [2.4] | 有弹性并出现以下错误:

# curl --request PUT --data '{ "type": "fs", "settings": {"compress": true, "location": "/run/elasticsearch/backups" } }' localhost:9200/_snapshot/my_backup?pretty
{
  "error" : {
    "root_cause" : [ {
      "type" : "repository_exception",
      "reason" : "[my_backup] failed to create repository"
    } ],
    "type" : "repository_exception",
    "reason" : "[my_backup] failed to create repository",
    "caused_by" : {
      "type" : "creation_exception",
      "reason" : "Guice creation errors:\n\n1) Error injecting constructor, RepositoryException[[my_backup] location [/run/elasticsearch/backups] doesn't match any of the locations specified by path.repo because this setting is empty]\n  at org.elasticsearch.repositories.fs.FsRepository.<init>(Unknown Source)\n  while locating org.elasticsearch.repositories.fs.FsRepository\n  while locating org.elasticsearch.repositories.Repository\n\n1 error",
      "caused_by" : {
        "type" : "repository_exception",
        "reason" : "[my_backup] location [/run/elasticsearch/backups] doesn't match any of the locations specified by path.repo because this setting is empty"
      }
    }
  },
  "status" : 500
}
# 

请指教。

snapshot elasticsearch elk
  • 1 个回答
  • 2056 Views
Martin Hope
ndarkness
Asked: 2016-08-12 10:39:00 +0800 CST

如何将 Docker 容器日志转发到 ELK?

  • 8

我想知道将我的 docker 容器日志转发到 ELK 服务器的最简单方法是什么,到目前为止,我在搜索互联网后尝试的解决方案根本不起作用。

基本上我有一个使用 docker-compose 运行的 docker 映像,该容器不会在本地记录任何内容(它由不同的服务组成,但它们都不是 logstash 或其他),但我看到通过docker logs -tf imageName或docker-compose logs. 由于我使用 compose 启动容器,因此我无法使用(或者至少我不知道如何使用)--logs-driverdocker 选项。

因此,我想知道是否有人可以启发我一些关于如何将日志转发到例如 ELK 容器的信息。

提前致谢,

问候

解决方案:

感谢madeddie,我可以通过以下方式解决我的问题,提到我使用了madeddie在他的帖子中建议的基本ELK-stack-in-containers。

首先,我更新docker-compose.yml容器的文件以添加日志引用的条目,正如 madeddie 告诉我的那样,我为每个服务添加了一个条目,我的 docker-compose 的片段看起来像这样

   version: '2'
    services:
      mosquitto:
        image: ansi/mosquitto
        ports:
          - "1883:1883" # Public access to MQTT
          - "12202:12202"  #mapping logs
        logging: 
           driver: gelf
           options: 
             gelf-address: udp://localhost:12202
    redis:
     image: redis
     command: redis-server --appendonly yes
     ports:
       - "6379:6379" # No public access to Redis
       - "12203:12203" #mapping logs
     volumes:
       - /home/dockeruser/redis-data:/data
     logging: 
       driver: gelf
       options: 
         gelf-address: udp://localhost:12203 

其次,我必须为每个服务使用不同的端口号才能转发日志。

最后,我更新了我的 elk 容器docker-compose.yml文件,以将我发送日志的每个 upd 端口映射到 logstash 侦听的端口

logstash:
  build: logstash/
  command: logstash -f /etc/logstash/conf.d/logstash.conf
  volumes:
    - ./logstash/config:/etc/logstash/conf.d
  ports:
    - "5000:5000"
    - "12202:12201/udp" #mapping mosquitto logs
    - "12203:12201/udp" #mapping redis logs

gelf {}此配置和添加in的条目logstash.conf使其工作,正确设置 docker 服务的 IP 地址也很重要。

问候!

logging syslog docker docker-compose elk
  • 1 个回答
  • 8512 Views
Martin Hope
uberrebu
Asked: 2016-06-20 19:56:12 +0800 CST

elk 堆栈错误“无法获取映射是否有与模式匹配的索引”

  • 3

我正在尝试在 Ubuntu 16.04 LTS 上使用 collectd 设置 ELK 堆栈(可用的堆栈几乎最新版本) kibana 位于 nginx 代理后面(遵循本指南https://www.digitalocean.com/community/tutorials/how-to-安装-elasticsearch-logstash-and-kibana-elk-stack-on-ubuntu-16-04)

一切看起来都很好,直到进入 kibana 仪表板

Index Patterns 

Warning No default index pattern. You must select or create one to continue.

unable to fetch mapping do you have indices matching the pattern

ELK 堆栈位于一台服务器上,因此所有内容都在本地主机上

以下是我运行来检查我的配置的命令

:~# curl 127.0.0.1:9200`
{
  "name" : "Flex",
  "cluster_name" : "elk-00",
  "version" : {
    "number" : "2.3.3",
    "build_hash" : "218bdf10790eef486ff2c41a3df5cfa32dadcfde",
    "build_timestamp" : "2016-05-17T15:40:04Z",
    "build_snapshot" : false,
    "lucene_version" : "5.5.0"
  },
  "tagline" : "You Know, for Search"


:~# service logstash configtest
Configuration OK

我的问题,非常具体

1. 如何创建默认索引文件?

2. 这个默认索引文件的路径是什么?我也听说过 .kibana,这个文件 .kibana 位于哪里?

3. 为什么没有自动为我创建这个索引文件?我该怎么做才能确保它自动工作而无需手动执行任何其他操作?

在此处输入图像描述

在此处输入图像描述

elasticsearch elk collectd kibana logstash
  • 1 个回答
  • 11556 Views
Martin Hope
red888
Asked: 2016-06-08 12:46:00 +0800 CST

我可以使用 Windows 生成的证书而不是 openssl 来设置 logstash 吗?

  • 0

浏览本教程。

他们使用 openssl 生成与 logstash 一起使用的证书,即这个命令:

sudo openssl req -subj '/CN=ELK_server_fqdn/' -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout private/logstash-forwarder.key -out certs/logstash-forwarder.crt

现在 logstash-forwarder.crt 将安装在将日志发送到 logstash 的服务器上。

我的问题是,如果我有 Windows 证书服务基础设施设置,我可以通过 Windows CA 为 logstash 服务器生成证书吗?这个或兼容性问题会有任何问题吗?

我假设我只是从 logstash/ELK 服务器向 Windows CA 提交一个新的证书请求,并生成一个以相同方式工作的证书。这可能吗?

pki elasticsearch elk ad-certificate-services logstash
  • 1 个回答
  • 337 Views
Martin Hope
Dett
Asked: 2016-06-05 22:58:10 +0800 CST

AWS 上的 ELK 堆栈和 Digital Ocean 上的 Web 应用程序,我如何以及如何从后者获取日志?

  • 0

我有一个 python 网站托管在数字海洋和 ELK 堆栈上 - Elastic Search、Kibana、Logstash - 在 AWS 上。我正在尝试了解如何将日志文件从我在数字海洋上的 python Web 应用程序提供给 AWS 上的 ELK 堆栈:

  • 是否可以通过互联网在不同服务器之间提供它们?
  • 我必须安装 nginx 才能看到 kibana 报告吗?
  • 我是否必须为我的 AWS 堆栈安装 ssl 证书?
ubuntu amazon-web-services elasticsearch elk
  • 2 个回答
  • 470 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve