Kibana 7.x配置与对外访问

前言

我们在前面安装&部署Elasticsearch 7.x,这篇文章了解Elasticsearch中的可视工具Kibana,对存储的文档数据进行可视化。

环境配置

  • CentOS 7+
  • Elasticsearch 7.7.0,需要提前启动;
  • Kibana 7.7.0

操作步骤

Kibana相关配置和操作使用普通用户权限;

  1. 下载Kibana 7.7.0,要与Elasticsearch版本保持一致;

  2. 下载文件名为kibana-7.7.0-linux-x86_64.tar.gz压缩包文件,上传至服务器目录;

  3. 解压到kibana部署目录:

    tar -zxf kibana-7.7.0-linux-x86_64.tar.gz
    
  4. 解压完成,目录名称为kibana-7.7.0-linux-x86_64,如有需要,也可更名为kibana:

    mv kibana-7.7.0-linux-x86_64 kibana
    
  5. 进入kibana目录,按需配置;

  6. 开启Kibana服务;

  7. 打开浏览器输入地址,进行访问。

Kibana配置文件

Kibana配置文件路径:

config/kibana.yml

配置内容及说明
# Kibana is served by a back end server. This setting specifies the port to use.
# Kibana对外开放端口,默认是5601
server.port: 5601

# Specifies the address to which the Kibana server will bind. IP addresses and host names are both valid values.
# The default is 'localhost', which usually means remote machines will not be able to connect.
# To allow connections from remote users, set this parameter to a non-loopback address.
# Kibana绑定host,默认是localhost,远程及其不能连接;也可以配置本机局域网IP;0.0.0.0,表示所有远程机器可以连接
server.host: "0.0.0.0"
#server.host: "localhost"

# Enables you to specify a path to mount Kibana at if you are running behind a proxy.
# Use the `server.rewriteBasePath` setting to tell Kibana if it should remove the basePath
# from requests it receives, and to prevent a deprecation warning at startup.
# This setting cannot end in a slash.
#server.basePath: ""

# Specifies whether Kibana should rewrite requests that are prefixed with
# `server.basePath` or require that they are rewritten by your reverse proxy.
# This setting was effectively always `false` before Kibana 6.3 and will
# default to `true` starting in Kibana 7.0.
#server.rewriteBasePath: false

# The maximum payload size in bytes for incoming server requests.
#server.maxPayloadBytes: 1048576

# The Kibana server's name.  This is used for display purposes.
#server.name: "your-hostname"

# The URLs of the Elasticsearch instances to use for all your queries.
# Kibana监听elasticsearch实例地址,数组,可配置多个(集群)
elasticsearch.hosts: ["http://localhost:9201"]

# When this setting's value is true Kibana uses the hostname specified in the server.host
# setting. When the value of this setting is false, Kibana uses the hostname of the host
# that connects to this Kibana instance.
#elasticsearch.preserveHost: true

# Kibana uses an index in Elasticsearch to store saved searches, visualizations and
# dashboards. Kibana creates a new index if the index doesn't already exist.
# 配置Kibana在Elasticsearch中的索引
#kibana.index: ".kibana"

# The default application to load.
#kibana.defaultAppId: "home"

# If your Elasticsearch is protected with basic authentication, these settings provide
# the username and password that the Kibana server uses to perform maintenance on the Kibana
# index at startup. Your Kibana users still need to authenticate with Elasticsearch, which
# is proxied through the Kibana server.
# 配置访问elasticsearch实例的用户名和密码
#elasticsearch.username: "kibana"
#elasticsearch.password: "pass"

# Enables SSL and paths to the PEM-format SSL certificate and SSL key files, respectively.
# These settings enable SSL for outgoing requests from the Kibana server to the browser.
# SSL配置
#server.ssl.enabled: false
#server.ssl.certificate: /path/to/your/server.crt
#server.ssl.key: /path/to/your/server.key

# Optional settings that provide the paths to the PEM-format SSL certificate and key files.
# These files are used to verify the identity of Kibana to Elasticsearch and are required when
# xpack.security.http.ssl.client_authentication in Elasticsearch is set to required.
#elasticsearch.ssl.certificate: /path/to/your/client.crt
#elasticsearch.ssl.key: /path/to/your/client.key

# Optional setting that enables you to specify a path to the PEM file for the certificate
# authority for your Elasticsearch instance.
#elasticsearch.ssl.certificateAuthorities: [ "/path/to/your/CA.pem" ]

# To disregard the validity of SSL certificates, change this setting's value to 'none'.
#elasticsearch.ssl.verificationMode: full

# Time in milliseconds to wait for Elasticsearch to respond to pings. Defaults to the value of
# the elasticsearch.requestTimeout setting.
#elasticsearch.pingTimeout: 1500

# Time in milliseconds to wait for responses from the back end or Elasticsearch. This value
# must be a positive integer.
#elasticsearch.requestTimeout: 30000

# List of Kibana client-side headers to send to Elasticsearch. To send *no* client-side
# headers, set this value to [] (an empty list).
#elasticsearch.requestHeadersWhitelist: [ authorization ]

# Header names and values that are sent to Elasticsearch. Any custom headers cannot be overwritten
# by client-side headers, regardless of the elasticsearch.requestHeadersWhitelist configuration.
#elasticsearch.customHeaders: {}

# Time in milliseconds for Elasticsearch to wait for responses from shards. Set to 0 to disable.
#elasticsearch.shardTimeout: 30000

# Time in milliseconds to wait for Elasticsearch at Kibana startup before retrying.
#elasticsearch.startupTimeout: 5000

# Logs queries sent to Elasticsearch. Requires logging.verbose set to true.
#elasticsearch.logQueries: false

# Specifies the path where Kibana creates the process ID file.
# Kibana进程的pid输出路径
#pid.file: /var/run/kibana.pid

# Enables you specify a file where Kibana stores log output.
#logging.dest: stdout

# Set the value of this setting to true to suppress all logging output.
#logging.silent: false

# Set the value of this setting to true to suppress all logging output other than error messages.
#logging.quiet: false

# Set the value of this setting to true to log all events, including system usage information
# and all requests.
#logging.verbose: false

# Set the interval in milliseconds to sample system and process performance
# metrics. Minimum is 100ms. Defaults to 5000.
#ops.interval: 5000

# Specifies locale to be used for all localizable strings, dates and number formats.
# Supported languages are the following: English - en , by default , Chinese - zh-CN .
# Kibana可视化的国际化配置
#i18n.locale: "en"
关键配置说明
  • 特殊端口配置,默认是5601

    server.port: 5601
    
  • 主机地址配置,默认是localhost,远程不能连接;也可以配置本机局域网IP;配置0.0.0.0,表示所有远程机器可以连接:

    #server.host: "localhost"
    server.host: "0.0.0.0"
    
  • Kibana配置Elasticsearch实例,该地址和端口必须与Elasticsearch实例中配置的network.hosthttp.port保持一致:

    elasticsearch.hosts: ["http://localhost:9201"]
    
  • 配置Elasticsearch访问的用户名和密码:

    elasticsearch.username: "elastic"
    elasticsearch.password: "123456"
    
  • Kibana国际化配置,默认en;汉化配置为zh-CN:

    i18n.locale: "en"
    

Kibana启动

  • 窗口启动:
    ./bin/kibana
    
  • 后台启动(使用nohup):
    nohup ./bin/kibana &
    

Kibana对外访问

  1. 配置server.host,配置局域网IP或者0.0.0.0

    server.host: "0.0.0.0"
    
  2. 关闭防火墙(使用root用户操作),也可以通过nginx进行代理:

    # 关闭防火墙
    systemctl stop firewalld
    # 查看防火墙状态
    systemctl status firewalld
    
  3. 打开浏览器,输入http://192.168.234.129:5601

  4. 如设置了密码,访问地址之后,输入用户名密码。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的基于RNN(循环神经网络)的西班牙语和英语互译代码,使用Keras框架和TensorFlow后端: ```python from keras.models import Sequential from keras.layers import Dense, LSTM import numpy as np # 定义西班牙语和英语的字典 spa_dict = {' ': 0, 'e': 1, 's': 2, 't': 3, 'a': 4, 'o': 5, 'i': 6, 'n': 7, 'r': 8, 'l': 9, 'd': 10, 'u': 11, 'c': 12, 'm': 13, 'p': 14, 'b': 15, 'g': 16, 'v': 17, 'y': 18, 'q': 19, 'h': 20, 'f': 21, 'z': 22, 'j': 23, 'x': 24, 'ñ': 25, 'k': 26, 'w': 27} eng_dict = {' ': 0, 'e': 1, 't': 2, 'a': 3, 'o': 4, 'n': 5, 'i': 6, 'h': 7, 's': 8, 'r': 9, 'd': 10, 'l': 11, 'u': 12, 'm': 13, 'c': 14, 'w': 15, 'f': 16, 'g': 17, 'y': 18, 'p': 19, 'b': 20, 'v': 21, 'k': 22, 'j': 23, 'x': 24, 'q': 25, 'z': 26} # 定义训练数据 spa_text = ['hola', 'adios', 'buenos dias', 'buenas noches', 'gracias', 'por favor'] eng_text = ['hello', 'goodbye', 'good morning', 'good night', 'thank you', 'please'] # 将文本转换为数字序列 spa_num = [] eng_num = [] for i in range(len(spa_text)): spa_num.append([spa_dict[c] for c in spa_text[i]]) eng_num.append([eng_dict[c] for c in eng_text[i]]) # 将数字序列填充到相同长度 max_len = max(len(s) for s in spa_num + eng_num) for i in range(len(spa_num)): spa_num[i] += [0] * (max_len - len(spa_num[i])) for i in range(len(eng_num)): eng_num[i] += [0] * (max_len - len(eng_num[i])) # 转换为NumPy数组 spa_num = np.array(spa_num) eng_num = np.array(eng_num) # 定义RNN模型 model = Sequential() model.add(LSTM(128, input_shape=(max_len, len(spa_dict)), activation='relu')) model.add(Dense(len(eng_dict), activation='softmax')) model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) # 训练模型 eng_one_hot = np.zeros((len(eng_num), max_len, len(eng_dict))) for i, seq in enumerate(eng_num): for j, num in enumerate(seq): eng_one_hot[i, j, num] = 1 model.fit(spa_num, eng_one_hot, epochs=100) # 进行翻译 def translate(spa_str): spa_num = [spa_dict[c] for c in spa_str] spa_num += [0] * (max_len - len(spa_num)) eng_num = np.argmax(model.predict(np.array([spa_num]))[0], axis=-1) return ''.join([list(eng_dict.keys())[list(eng_dict.values()).index(num)] for num in eng_num if num != 0]) # 测试翻译功能 print(translate('hola')) # 输出: hello print(translate('buenos dias')) # 输出: good morning print(translate('gracias')) # 输出: thank you ``` 请注意,这只是一个简单的示例,仅用于演示基本的RNN翻译模型。在实际应用中,您可能需要更复杂的模型,更多的数据和更长的训练时间来获得更好的结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值