我正在尝试使用我的本地elasticsearch(容器)运行kibana控制台在我看到 的ElasticSearch文档中
docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.2.2
Run Code Online (Sandbox Code Playgroud)
这让我可以快速运行社区版.
看一下我只看到 的kibana文档
docker pull docker.elastic.co/kibana/kibana:6.2.2
Run Code Online (Sandbox Code Playgroud)
用run替换pull它会查找x-pack(我认为这意味着不是社区)并且找不到ES
Unable to revive connection: http://elasticsearch:9200/
Run Code Online (Sandbox Code Playgroud)
是否有一个衬垫可以很容易地在容器中设置kibana localy?我只需要使用控制台(Sense替换)
我正在使用 host 的 Kubernetes 集群上运行 elastic-search http://192.168.18.35:31200/。现在我必须将我的 Elastic Search 连接到 kibana。为此,需要生成注册令牌,但是如何生成呢?当我从 kibana 仪表板登录到 elastic-search 的根目录并键入以下命令来生成新的注册令牌时,它显示错误:
command : bin/elasticsearch-create-enrollment-token --scope kibana
error: bash: bin/elasticsearch-create-enrollment-token: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我在 bin 目录中创建了一个文件 elasticsearch-create-enrollment-token 并授予了完全权限。尽管如此,仍然没有生成任何令牌。大家对注册令牌有什么想法吗?
我想使用 docker-compose 运行 elasticsearch 和 kibana。这是我的 docker-compose.yml,我使用 docker-compose --env-file dev.env up 运行
Docker 组合
version: '3.1'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:8.1.1
container_name: elasticsearch
environment:
- cluster.name=elasticsearch-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- discovery.type=single-node
- xpack.security.enrollment.enabled=true
- ELASTICSEARCH_USERNAME=${ELASTICSEARCH_USERNAME}
- ELASTICSEARCH_PASSWORD=${ELASTICSEARCH_PASSWORD}
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata:/usr/share/elasticsearch/data
ports:
- "9200:9200"
- "9300:9300"
networks:
- esnet
kibana:
image: docker.elastic.co/kibana/kibana:8.1.1
container_name: kibana
environment:
- ELASTICSEARCH_HOSTS=${ELASTICSEARCH_HOSTS}
- ELASTICSEARCH_USERNAME=${ELASTICSEARCH_USERNAME}
- ELASTICSEARCH_PASSWORD=${ELASTICSEARCH_PASSWORD}
- xpack.security.enabled=true
depends_on:
- elasticsearch
ports:
- "5601:5601"
networks:
- esnet
volumes:
esdata: …Run Code Online (Sandbox Code Playgroud) Logstash可以使用捆绑的GeoLiteCity.dat数据库进行IP地址查找.此数据库是否与MaxMind提供的数据库相同?MaxMind在每个月的第一个星期二更新数据库.
设置一个作业来自动刷新数据库而不是等待来自ElasticSearch的Logstash更新是否明智?
编辑:2014年12月1日这是我写的用于执行数据库自动更新的bash脚本.我阅读此过滤器的源代码是,可能需要重新启动服务才能占用更新的数据库文件.
#!/bin/bash
# Downloads the latest GeoLight DBs from maxmind.
# Updates/replaces the databases that logstash uses.
# These are the IP-to-location databases that logstash uses.
# Maxmind updates them once a month on the first Tuesday of the month.
# See http://dev.maxmind.com/geoip/legacy/geolite/
echo Beginning update of GeoIP databases for logstash.
cd /tmp
rm -f GeoIPASNum.dat.gz GeoIPASNum.dat GeoLiteCity.dat.gz GeoLiteCity.dat
echo Downloading latest files.
wget --quiet --output-document GeoIPASNum.dat.gz http://download.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz || { echo 'Download of GeoIPASNum.dat.gz …Run Code Online (Sandbox Code Playgroud) 我们最近将我们的集中式日志记录从Splunk转移到ELK解决方案,我们需要导出搜索结果 - 有没有办法在Kibana 4.1中执行此操作?如果有的话,这并不是很明显......
谢谢!
目标是构建一个Elasticsearch索引,其中只包含相关文档组中的最新文档,以跟踪某些监视计数器和状态的当前状态.
我制作了一个简单的Elasticsearch聚合查询:
{
"size": 0,
"aggs": {
"group_by_monitor": {
"terms": {
"field": "monitor_name"
},
"aggs": {
"get_latest": {
"top_hits": {
"size": 1,
"sort": [
{
"timestamp": {
"order": "desc"
}
}
]
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
它将相关文档分组到存储桶中,并为每个存储桶选择最新文档.
以下是我完成工作所需的不同想法:
hits字段并且无法处理聚合结果:聚合查询可能的输入ES插件!是否有一种相当复杂的方法来实现这一目标?
elasticsearch logstash nest kibana elasticsearch-aggregation
我在Kibana控制台中运行以下GET查询,由于某种原因,我在响应窗口中收到错误,如下所示:
//错误
[match] malformed query, expected [END_OBJECT] but found [FIELD_NAME]
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议为什么我不能在'should'部分内使用多个匹配块?
//响应 - 如果我取出其中一个匹配块,它的工作原理?
{
"error": {
"root_cause": [
{
"type": "parsing_exception",
"reason": "[match] malformed query, expected [END_OBJECT] but found [FIELD_NAME]",
"line": 9,
"col": 13
}
],
"type": "parsing_exception",
"reason": "[match] malformed query, expected [END_OBJECT] but found [FIELD_NAME]",
"line": 9,
"col": 13
},
"status": 400
}
Run Code Online (Sandbox Code Playgroud)
//我的查询
GET _search
{
"query": {
"bool": {
"should": [
{
"match": {
"text": "facebook advice"
},
"match": {
"profile": "facebook advice"
}
} …Run Code Online (Sandbox Code Playgroud) 在kibana中添加过滤器时,所有字符串字段都有 条目和.keyword条目.有什么不同?
在 Kibana 图表中,我想过滤以字符串开头的所有 url CANCELLED,因此我编写了一个正则表达式:^CANCELLED.*但是当我在“发现”选项卡中使用过滤器时,我注意到过滤器无法正常工作,因为它也接受CANCELLEDurl 内带有短语的 url。
是因为 Kibana 正则表达式使用脱字符号以外的其他字符作为字符串的开头吗?
我创建了一个 Kibana 仪表板,其中包含一些可视化内容。我可以使用提供的 url 成功嵌入仪表板:
{url}/app/kibana#/dashboard/{dashboard_uuid}?embed=true&_g=(refreshInterval:(display:Off,pause:!f,value:0),time:(from:now-1y,mode:quick,to:now))
Run Code Online (Sandbox Code Playgroud)
现在,我希望我的应用程序的任何用户都能看到此仪表板,经过筛选以便仅查看他们的数据。我需要的过滤查询非常简单,因为所有数据都包含一个字段user_id。
示例:对于具有标识符的用户$id,我想加载带有过滤器的仪表板user_id:$id
有没有办法通过url设置过滤器?我看到已经有一些参数(refreshInterval,time..),但我找不到正确的文档。有任何想法吗?
使用 Kibana6.2.2和 ElasticSearch6.6.0
我尝试通过参数设置过滤器_a,如下所述: https: //discuss.elastic.co/t/dashboard-search-parameter-via-url/84385,但没有成功。
{url}/app/kibana#/dashboard/{dashboard_uuid}?
embed=true&
_g=(refreshInterval:(display:Off,pause:!f,value:0),time:(from:now-1y,mode:quick,to:now))&
_a=(filters:!(),query:(querystring:(query: "user_id:1")))
Run Code Online (Sandbox Code Playgroud)