首页 > 系统相关 >linux-kibana

linux-kibana

时间:2023-06-25 21:45:54浏览次数:42  
标签:elk101 com kibana elasticsearch linux root es

kibana

一、部署

1.下载软件包

[[email protected] ~]# ll
-rw-r--r--  1 root root 268453142 Apr  4 18:03 kibana-7.17.5-x86_64.rpm

2.安装kibana

[[email protected] ~]# rpm -ivh kibana-7.17.5-x86_64.rpm

3.修改kibana配置文件

vim /etc/kibana/kibana.yml 
...
# 指定kibana监听的主机地址,默认是localhost。
server.host: "0.0.0.0"
# 指定kibana连接ES集群地址
elasticsearch.hosts: ["http://10.0.0.101:9200","http://10.0.0.102:9200","http://10.0.0.103:9200"]
# 指定kibana的界面为中文简体,默认是英文。
i18n.locale: "zh-CN"

4.启动kibana

[[email protected] ~]# systemctl enable --now kibana

5.访问kibana界面

http://10.0.0.103:5601/

image-20230404234732619

二、基于nginx的反向代理控制访问kibana

(1)部署nginx服务
略,参考之前的笔记即可。

	(2)编写nginx的配置文件
cat > /etc/nginx/conf.d/kibana.conf <<'EOF'
server {
  listen 80;

  server_name kibana.com;

  location / {
     proxy_pass http://10.0.0.103:5601$request_uri;
     auth_basic "kibana web!";
     auth_basic_user_file conf/htpasswd;
  }
}
EOF

	(3)创建账号文件
mkdir -pv /etc/nginx/conf
yum -y install httpd-tools
htpasswd -c -b /etc/nginx/conf/htpasswd admin admin

	(4)启动nginx服务
nginx -t
systemctl reload nginx

	(5)访问nginx验证kibana访问
需要输入用户名和密码才能进入

三、配置ES集群TSL认证

1. elk101节点生成证书文件

[[email protected] ~]# cd /es/softwares/es7/elasticsearch-7.17.5/
[[email protected] /es/softwares/es7/elasticsearch-7.17.5]# ./bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""  --days 3650
[[email protected] /es/softwares/es7/elasticsearch-7.17.5/config]# ll
-rw------- 1 root root  3443 Apr 10 19:52 elastic-certificates.p12

2. elk101节点为证书文件修改属主和属组

[[email protected] /es/softwares/es7/elasticsearch-7.17.5]# chown es:es config/elastic-certificates.p12
[[email protected] /es/softwares/es7/elasticsearch-7.17.5]# ll config/
-rw------- 1 es es  3443 Apr 10 19:52 elastic-certificates.p12

3. elk101节点同步证书文件到其他节点

[[email protected] /es/softwares/es7/elasticsearch-7.17.5]# data_rsync.sh `pwd`/config/elastic-certificates.p12 
===== rsyncing elk102.com: elastic-certificates.p12 =====
命令执行成功!
===== rsyncing elk103.com: elastic-certificates.p12 =====
命令执行成功!

4. elk101节点修改ES集群的配置文件

注:如果master角色和data角色分离,则会有问题

[[email protected] /es/softwares/es7/elasticsearch-7.17.5]# cat /es/softwares/es7/elasticsearch-7.17.5/config/elasticsearch.yml
node.data: true
#修改所有节点为主节点
node.master: true  

#添加下边的配置开启tsl
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

5. elk101节点同步ES配置文件到其他节点

[[email protected] /es/softwares/es7/elasticsearch-7.17.5]# data_rsync.sh `pwd`/config/elasticsearch.yml 
===== rsyncing elk102.com: elasticsearch.yml =====
命令执行成功!
===== rsyncing elk103.com: elasticsearch.yml =====
命令执行成功!

6. 所有节点重启ES集群

systemctl restart es7

7. 任意主机生成随机密码

#生成密码
[[email protected] /es/softwares/es7/elasticsearch-7.17.5]# ./bin/elasticsearch-setup-passwords auto
warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME
Future versions of Elasticsearch will require Java 11; your Java version from [/es/softwares/jdk1.8.0_291/jre] does not meet this requirement. Consider switching to a distribution of Elasticsearch with a bundled JDK. If you are already using a distribution with a bundled JDK, ensure the JAVA_HOME environment variable is not set.
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.
The passwords will be randomly generated and printed to the console.
Please confirm that you would like to continue [y/N]y


Changed password for user apm_system
PASSWORD apm_system = ijqdMffW2ZkrwZYRQaCY

Changed password for user kibana_system
PASSWORD kibana_system = lNs85X26g0eC9A6VqwRB

Changed password for user kibana
PASSWORD kibana = lNs85X26g0eC9A6VqwRB

Changed password for user logstash_system
PASSWORD logstash_system = 1TyRJW0zHiFri0dXNcEb

Changed password for user beats_system
PASSWORD beats_system = B7S5O7GPQaz6VpUXCpmV

Changed password for user remote_monitoring_user
PASSWORD remote_monitoring_user = TtbxPHsVjIkfLUvpZNFL

Changed password for user elastic
PASSWORD elastic = NviM8RNB6FnqgpsbS6Rz	

8.postman访问

GET 10.0.0.101:9200/_cat/indices

image-20230410200352244

image-20230410200422230

四、配置kibana连接ES集群

1. 修改kibana的配置文件

[[email protected] ~]# egrep -vn '^#|^$' /etc/kibana/kibana.yml
5:server.host: "0.0.0.0"
7:elasticsearch.hosts: ["http://10.0.0.101:9200","http://10.0.0.102:9200","http://10.0.0.103:9200"]
9:i18n.locale: "zh-CN"
#取消注释
51:elasticsearch.username: "kibana_system"
#写入生成的随机密码
52:elasticsearch.password: "lNs85X26g0eC9A6VqwRB"

2. 重启kibana

[[email protected] ~]# systemctl restart kibana

3. 使用elastic用户登录并修改密码

http://10.0.0.103:5601/

image-20230410200912007

image-20230410200937032

image-20230410201011276

五、配置filebeat连接ES集群

[[email protected] /es/softwares/filebeat-7.17.5-linux-x86_64/config]# cat log-to-es_tls.yaml
filebeat.inputs:
- type: log
  paths:
    - /tmp/test-filebeat/test.log 

output.elasticsearch:
  hosts: ["http://10.0.0.101:9200","http://10.0.0.102:9200","http://10.0.0.103:9200"] 
  #添加用户名和密码
  username: "elastic"
  password: "123456"
  index: "linux-es-test"

setup.ilm.enabled: false
setup.template.name: "linux-es"
setup.template.pattern: "linux-es-*"
setup.template.overwrite: true
setup.template.settings:
  index.number_of_shards: 3
  index.number_of_replicas: 0
[[email protected] ~]# cat /tmp/test-filebeat/test.log
111
222
333

#启动filebeat
[[email protected] /es/softwares/filebeat-7.17.5-linux-x86_64]# filebeat -e -c config/log-to-es_tls.yaml

#进入kibana查看

image-20230410201455345

六、配置logstash连接ES集群

[[email protected] ~/config]# cat file-to-es_tsl.conf
input { 
  file {
     # 指定本地文件的路径
     path => "/tmp/linux-es-file"
     # 指定读取文件的起始位置,但前提是该文件之前未读取过或者未在".sincedb"文件中记录。
     start_position => "beginning"
  }
} 


output { 
  # stdout {} 
  
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "linux-es-logstash-file"
    user => "elastic"
    password => "123456"
  }
}

[[email protected] ~/config]# echo 'aaa' > /tmp/linux-es-file

#启动logstash
[[email protected] ~]# logstash -rf config/file-to-es_tsl.conf

##进入kibana查看

image-20230410202815349

补充:

查看logstash采集文件的偏移量路径。
ls -la /es/softwares/logstash-7.17.5/data/plugins/inputs/file/

如果没有传过去,就把这个目录下边的内容删掉,重新传

七、自定义角色使用logstash组件写入数据到ES集群

1. 新建角色

image-20230410203147355

2. 新建用户

image-20230410203249737

3. 配置测试

[[email protected] ~/config]# cat file-to-es_tsl.conf
input { 
  file {
     # 指定本地文件的路径
     path => "/tmp/linux-es-file"
     # 指定读取文件的起始位置,但前提是该文件之前未读取过或者未在".sincedb"文件中记录。
     start_position => "beginning"
  }
} 


output { 
  # stdout {} 
  
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "linux-es-logstash-file"
    user => "logstash"
    password => "123456"
  }
}

[[email protected] ~]# logstash -rf config/file-to-es_tsl.conf 

[[email protected] /es/softwares/es7/elasticsearch-7.17.5]# echo 'ccc' >> /tmp/linux-es-file

image-20230410203600904

补充

要遵循权限最小化原则,能不给就不给

八、基于RBAC配置权限

1.配置角色

image-20230410203911118

image-20230410203958142

image-20230410204022608

image-20230410204035742

2.创建用户

image-20230410204115537

3.测试登录

image-20230410204155786

九、配置curl连接ES集群

[[email protected] ~]# curl -u elastic:${密码} 10.0.0.101:9200/_cat/nodes
10.0.0.102 70 46 11 0.07 0.26 0.29 cdfhilmrstw * elk102.com
10.0.0.103 70 62  5 0.53 0.70 0.60 cdfhilmrstw - elk103.com
10.0.0.101 67 49  1 0.10 0.41 0.49 cdfhilmrstw - elk101.com

标签:elk101,com,kibana,elasticsearch,linux,root,es
From: https://www.cnblogs.com/world-of-yuan/p/17504007.html

相关文章

  • linux-kafka
    kafka一、单点部署docker-compose创建参考地址https://gitee.com/jasonyin2020/docker-compose/tree/master1.下载kafka软件包[[email protected]~]#ll-rw-r--r--1rootroot103956099Apr1016:09kafka_2.13-3.2.1.tgz2.解压软件包[[email protected]~]#tarxf......
  • linux的Screen
       Screen: 可以在多个进程之间复用一个物理终端的窗口管理器有会话的概念可以在一个screen会话中创建多个screen窗口  参考:   http://www.ibm.com/developerworks/cn/linux/l-cn-screen/    http://www.turbolinux.com.cn/turbo/wiki/doku.php?id=%E5%91%BD%E4%B......
  • Linux开机启动项
    系统启动时需要加载的配置文件/etc/profile/root/.bash_profile/etc/bashrc/root/.bashrc/etc/profile.d/*.sh/etc/profile.d/lang.sh/etc/sysconfig/i18n/etc/rc.loacl/etc/rc.d/rc.local修改配置文件,再配置文件中加入即可。通过命令将脚本加入开机启动项:chkconfig-......
  • linux下使用scp远程传输自动输入密码
    由于需要将A服务器的文件远程传输到B服务器但是scp命令每次都要手动输入密码这样脚本执行太繁琐,所以讲A服务器和B服务器互信即可,具体操作如下: 首先在A服务器配置:mkdir-p~/.sshchmod700~/.ssh 然后在~/.ssh目录生成密钥文件:cd~/.shhssh-keygen-trsa-P""......
  • 【问题记录】Linux虚拟机的tomcat访问不了
    问题起因是电脑没电自动关机,虚拟机当时还在运行。第二天重启虚拟机的tomcat,主机访问不了,zookeeper注册中心可以正常使用防火墙,tomcat端口都检查过没问题,重装tomcat,重启服务器也没用重启时出现smbushostcontrollernotenable,四台机器都出现处理方法:查明装入模块的确切......
  • Linux常见命令
    1.列出文件列表:lsllls:显示当前路径下的所有文件;ls-a:显示所有文件到货目录(包含隐藏的文件);ls-l(ll):显示当前路径下的所有文件的详细信息;2.切换目录命令:cdcd/:切换到系统根目录;cd/文件夹:切换到绝对路径的文件夹下;cd文件夹:切换到文件夹下的文件夹下......
  • Linux VM通过NFS3.0挂载Azure Blob Storage Container后访问共享文件夹Permission den
    问题描述如图所示,/root-squash是一个BlobStorageContainer的挂载点。ls-al查看该目录的权限为:drwxr-xr--2rootroot0Jun2323:15root-squash当前用户身份为root,但在尝试进入该目录时失败,报错信息为:-bash:cd:root-squash:Permissiondenied调查过程猜......
  • linux 服务优化与防盗链
    摘要:网页安全至关重要,所有设置隐藏版本号,防止黑客攻击,日志切割方便维护,网页压缩方便响应速度,防盗链防止重要文件泄露。 目录一、隐藏版本号二、修改缓存时间三、日志切割四、连接超时五、工作进程数六、网页压缩七、防盗链八、总结  一、隐藏版本号1.curl查......
  • Linux 文件系统 | mount & umount
    Linux中一切皆文件并且所有文件都统一在/根目录下面类比windows系统,插入U盘,或者硬盘等存储设备,可以直接看到并访问里面的内容。而在Linux系统中,需要进行挂载,将外来设备加入到系统管理中,才可以正常访问。上面的挂载就需要用到mount命令查看/etc/fstab配置文件,......
  • Linux扩展篇-shell编程(八)-shell字符串截取
    shell字符串截取,一般包含从指定位置和从指定字符截取。一、从指定位置截取从字符串左边开始计数格式:${string:start:length}从string字符串的左边第start个字符开始,向右截取length个字符。${string:start}从string字符串的左边第start个字符开始截取,直到最......