所以我使用 Elasticsearch 和 Kibana 来显示我的 Django 应用程序使用 elastic-py 发送的特定用户事件。我之前用的是5.5版本,效果很好,但是由于不同的原因,我不得不改变服务器本身,并决定利用这个机会升级到ELK 6.x。
所以我在另一台服务器上安装了一个全新的 Elasticsearch 和 Kibana 6.2.2,也使用了 X-Pack,并对我的旧代码做了一些调整:
前
. . .
'mappings': {
'example_local': {
'properties': {
'action': {'index': 'not_analyzed', 'type': 'string'},
'date': {'index': 'not_analyzed', 'format': 'dd-MM-yyyy HH:mm:ss', 'type': 'date'},
'user_type': {'index': 'not_analyzed', 'type': 'string'},
. . .
后
. . .
'mappings': {
'example_local': {
'properties': {
'action': {'type': 'text'},
'date': {'format': 'dd-MM-yyyy HH:mm:ss', 'type': 'date'},
'user_type': {'type': 'text'},
. . .
之后,我将用户名和密码添加到我的连接中,这是我的旧 ELK 无法做到的一件事。
host_port = '{}:{}'.format(settings.ELASTICSEARCH['host'], settings.ELASTICSEARCH['port'])
Elasticsearch(host_port, http_auth=(settings.ELASTICSEARCH['username'],settings.ELASTICSEARCH['password']))
最后,我创建了我的索引并跑到 Kibana 看看我最后 4 小时的努力最终是如何得到回报的。
但是在Management -> Kibana -> Index Patterns中只有 1 个索引haystack-test (我不知道为什么会出现)。