我有一个logstash服务器发送事件到弹性search服务器,显示结果在Kibana。 一切工作都很好,除了Kibana在主机领域显示2个名字。 我在logstash中使用下面的grokfilter。 ^(?:<%{POSINT:syslog_pri}>)?%{SYSLOGTIMESTAMP:timestamp} %{IPORHOST:host} (?:%{PROG:program}(?:\[%{POSINT:pid}\])?: )?%{GREEDYDATA:message} 当我使用Grokdebugging器时,一切都被正确parsing出来。 但是,当我在Kibana中查看它时,它显示了这一点: "host": [ "logstash1", "servername.domain.com" ], 其中logstash1是我的logstash服务器的名称,它正在parsing并发送到elasticsearch。 我不知道为什么它显示logstash服务器和实际的源作为主机。 我如何从主机字段中删除logstash1? 日志的一个例子是: Dec 18 00:00:08 servername.domain.com pam_rhosts_auth[24233]: allowed to [email protected] as user1
我是Elasticsearch和Topbeat工具的新手。 当我启动topbeat服务并通过inputlocalhost:9200/topbeat-*/_search?pretty来浏览我的浏览器时,我得到了关于我的系统的数据。 但是我想知道完整的信息文件在哪里存储。 有什么build议么?
我的web服务器运行ubuntu 14.10与elasticsearch 1.5.0和java 1.7u55 由于某种原因,elasticsearch服务经常停止,导致我的网站不再提供给我的用户(使用带有symfony的FOSElasticaBundle)。 我正在使用systemctl自动重新启动,但我宁愿一劳永逸一个很好的修复。 我觉得我所拥有的logging不够具有描述性。 对于pipe理服务器来说很新,我需要一些帮助。 有人能帮我弄清楚这个失败的原因吗? 我可以在这里输出什么正确的文件来更好地理解这个问题? 谢谢 ! 我的systemctl状态给出: elasticsearch.service – ElasticSearch Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled) Active: active (running) since Mon 2015-04-20 12:04:24 CEST; 1h 56min ago <————- Here it means restarted 1h56 ago. Why did it fail in the first place ? Main PID: 9120 (java) CGroup: /system.slice/elasticsearch.service └─9120 /usr/bin/java […]
我已经通过本教程安装了elasticsearch @ debian6。 我已经build立了我的系统最大打开文件指令,所以我有这些值: # su # cat /proc/sys/fs/file-max 70000 # ulimit -Hn 64000 # ulimit -Sn 32000 当我检查elasticsearch max_file_descriptors: curl -XGET 'http://localhost:9200/_nodes?process=true&pretty=true' 我会得到1024 。 当我用root用户重新启动它时,它现在有“max_file_descriptors”:64000。 那个init.d autostart有什么问题? 当我检查htop时,由init.d用这个1024个描述符自动启动的弹性在root用户下也是runnig。 我已经设置最大的文件打开2 confs: cat /etc/sysctl.conf … fs.file-max = 70000 cat /etc/security/limits.conf … * soft nofile 32000 * hard nofile 64000 root soft nofile 32000 root hard nofile […]
在Elasticsearch集群中,所有节点必须是相同的,即具有相同的: 操作系统 RAM的数量 CPU速度和核心数量 等等 还是允许节点不同? (除了一个显而易见的事实,即一个同类群集比一个异类群集更容易configuration,pipe理和监视)。
我正在运行一个JVM来支持ElasticSearch。 我仍在resize和调整,所以我把JVM的最大堆大小设置为ElasticSearch的默认值1GB。 将数据放入数据库之后,我发现JVM的进程在SIZE top输出中显示了50GB。 看来这实际上是在系统上造成性能问题; 其他进程在分配内存时遇到困难。 在询问ElasticSearch社区时,他们build议说“只是”文件系统caching。 根据我的经验,文件系统caching不会显示为特定进程使用的内存。 当然,他们可能一直在谈论操作系统的文件系统caching以外的东西,也许是JVM或ElasticSearch本身在操作系统之上做的事情。 但他们也表示,如果需要的话,它会被释放,似乎没有发生。 所以任何人都可以帮我弄清楚如何调整JVM,或者ElasticSearch本身,不要使用太多的RAM。 系统是具有72GB RAM的Solaris 10 x86。 JVM是“Java(TM)SE运行时环境(build 1.7.0_45-b18)”。
我使用rsyslog从haproxy获取日志,并将它们放入logstash for elasticsearch / kibana。 一切工作正常,但我在rsyslog中发现了一些奇怪的东西。 我发现我在kibana中缺less数据。 原因是rsyslog。 磁盘上的队列被保留并停留了几天 所以我周末都没有数据,但昨天和今天 – 一切正常。 Rsyslog现在获取数据并将它们放在logstash中,但他似乎忘记了存储在自己队列中的数据(我认为他看到它们已经老了,忽略它们有参数,也许使用了一些默认值)? 现在,logstash是空闲的,我可以强迫他rsyslog队列中的许多额外的数据 所以我想要做的是: 暂时尝试冲洗这个队列(如后缀冲洗),或者如果这是不可能的,我该怎么办? 我的rsyslogconfiguration是: $ActionSendTCPRebindInterval 500 $ActionQueueType LinkedList $ActionQueueFileName kibana $ActionQueueMaxFileSize 100m $ActionQueueMaxDiskSpace 100g $ActionQueueTimeoutEnqueue 0 $ActionResumeRetryCount -1 $ActionQueueSaveOnShutdown on
我在Ubuntu 14.10上使用Elasticsearch,它会周期性地closures(进入失败状态)。 停机时,会在我的网站上抛出exception,用户无法正确search,连接或更新数据库。 当我得到服务的状态,如果运行,我有: elasticsearch.service – ElasticSearch Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled) Active: active (running) since Wed 2015-04-15 15:47:39 CEST; 8min ago Main PID: 253 (java) CGroup: /system.slice/elasticsearch.service └─253 /usr/bin/java -Xms256m -Xmx1g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFr… 我已经configurationsystemd总是重新启动服务,如果下来,它的工作,但仍然,它每隔一小时左右。 我怎样才能找出原因呢? EDIT1:我在var / logs / elasticsearch中发现了一些elasticsearch日志文件。 我有一个重复的元素: [2015-04-14 16:13:11,170][DEBUG][action.search.type ] [Tiboro] All shards failed for phase: [query] org.elasticsearch.search.SearchParseException: [foodmeup][2]: […]
我发现了许多关于closures节点或节点集群的文章,但是关于停止机器上的所有elasticsearch进程呢? 即使closures所有节点(curl -XPOST'http :// localhost:9200 / _shutdown '),我发现我仍然有一个运行org.elasticsearch.bootstrap.Elasticsearch的java进程。 我发现停止(在Linux上)的唯一方法是用psfind进程ID并杀死它。 有没有更好的办法?
我正在努力为ELK创build一个简单的Hello世界,并能够通过互联网看到kibana报告。 我已经安装了kibana,logstash,nginx和弹性search。 这是我的/etc/logstash/conf.d/10-syslog.conf : input { file { path => [ "/var/log/*.log", "/var/log/messages", "/var/log/syslog" ] type => "syslog" } } output { elasticsearch { host => localhost } stdout { codec => rubydebug } } filter { if [type] == "syslog" { grok { match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" } add_field […]