一个网站主机多少钱一年,网站优化软件开发,丽水做企业网站的地方,wordpress 导航条插件文章目录 1.组件介绍简述2.集群规划3.Es组件部署4.Logstash组件部署5.Kibana组件部署6.Kibana的基础使用 1.组件介绍简述 Elasticsearch#xff1a;开源实时分布式搜索和分析引擎#xff0c;支持大规模数据存储和高吞吐量#xff0c;提供丰富的搜索功能和可扩展性。 Logsta… 文章目录 1.组件介绍简述2.集群规划3.Es组件部署4.Logstash组件部署5.Kibana组件部署6.Kibana的基础使用 1.组件介绍简述 Elasticsearch开源实时分布式搜索和分析引擎支持大规模数据存储和高吞吐量提供丰富的搜索功能和可扩展性。 Logstash开源数据收集引擎用于实时收集、转换和传输数据支持多种数据来源和实时数据处理。 Kibana开源数据可视化工具用于分析和可视化 Elasticsearch 中的数据提供直观的界面和工具支持数据可视化、查询构建和用户权限管理。
2.集群规划
java环境提前安装好
主机名IP地址处理器s内存GB组件版本test-server02192.168.40.18124Elasticsearch、cerebro7.17.18、0.94test-server03192.168.40.18244Logstash7.17.18test-server04192.168.40.18322Kibana7.17.18
3.Es组件部署
Elasticsearch单节点部署
Elasticsearch下载地址
下载Elasticsearch 安装Elasticsearch
#上传部署包
[roottest-server02 opt]# ll /opt/elasticsearch-7.17.18-linux-x86_64.tar.gz
-rw-r--r-- 1 root root 327087494 Feb 8 14:23 /opt/elasticsearch-7.17.18-linux-x86_64.tar.gz#解压部署包
[roottest-server02 opt]# tar -xf elasticsearch-7.17.18-linux-x86_64.tar.gz#创建软连接
[roottest-server02 opt]# ln -s /opt/elasticsearch-7.17.18 elasticsearch配置Elasticsearch
[roottest-server02 opt]# cd elasticsearch/config/
[roottest-server02 config]# cat elasticsearch.yml | grep -v ^\s*# | grep -v ^\s*$
cluster.name: es-test-cluster
node.name: test-server02
path.data: /opt/elasticsearch/data
path.logs: /opt/elasticsearch/logs
network.host: 192.168.40.181
http.port: 9200
discovery.seed_hosts: [192.168.40.181]
cluster.initial_master_nodes: [test-server02]
#下面两行新增
node.master: true
node.data: true#配置介绍
1. cluster.name集群名称所有节点必须使用相同的集群名称以便彼此识别和连接。
2. node.name节点名称用于标识集群中的每个节点。
3. path.data数据存储路径指定Elasticsearch用于存储数据的目录路径。
4. path.logs日志存储路径指定Elasticsearch用于存储日志的目录路径。
5. network.host节点绑定的网络地址指定Elasticsearch监听的网络地址。
6. http.portHTTP端口用于与Elasticsearch进行RESTful API通信的端口号。
7. discovery.seed_hosts发现种子节点用于节点发现和集群组建。
8. cluster.initial_master_nodes初始主节点列表指定集群中第一批主节点的名称。
9. node.master指定节点是否可以成为主节点即负责集群级别操作的节点。
10. node.data指定节点是否可以存储数据即节点是否可以作为数据节点存储索引数据。创建数据目录和普通用户
#创建数据目录
[roottest-server02 opt]# mkdir /opt/elasticsearch/data#新增普通用户
[roottest-server02 opt]# useradd elastic#修改普通用户密码
[roottest-server02 opt]# passwd elastic
elastic/elastic#授予普通用户权限
[roottest-server02 opt]# chown -R elastic:elastic elasticsearch*修改系统配置
[roottest-server02 ~]# vim /etc/sysctl.conf
#最下面新增此参数
vm.max_map_count262144不修改此参数启动会报错bootstrap check failure [1] of [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 意思是 最大虚拟内存区域 vm.max_map_count [65530] 太低请至少增加到 [262144] 这个 vm.max_map_count 在没有配置的情况下默认是 65530因为默认的比较少不足以支撑es启动所以我们需要去配置一下这个参数 启动Elasticsearch
[roottest-server02 ~]# su - elastic -c /opt/elasticsearch/bin/elasticsearch --daemonize --silent安装Cerebro
Elasticsearch的管理工具Cerebro部署
1.下载部署包https://github.com/lmenezes/cerebro/releases/download/v0.9.4/cerebro-0.9.4.tgz
#可以通过github下载通过github下载#百度网盘下载
通过网盘分享的文件cerebro-0.9.4.tgz
链接: https://pan.baidu.com/s/1Nr81_wTVV9d3FPmfn14XyA 提取码: 10212.上传文件
[roottest-server02 opt]# ll cerebro-0.9.4.tgz
-rw-r--r-- 1 root root 57244792 Feb 12 13:37 cerebro-0.9.4.tgz3.解压部署包
[roottest-server02 opt]# tar -xf cerebro-0.9.4.tgz4.修改配置
[roottest-server02 opt]# cd cerebro-0.9.4/conf/
[roottest-server02 conf]# vim application.conf
#最下面修改成Es的IP和集群名称启动cerebro
[roottest-server02 cerebro-0.9.4]# nohup /opt/cerebro-0.9.4/bin/cerebro -Dhttp.port1234 -Dhttp.address192.168.40.181 访问cerebro页面
IP:1234 Es节点是正常状态 4.Logstash组件部署
Logstash单节点部署
Logstash下载地址
下载Logstash 安装Logstash
#上传部署包
[roottest-server03 opt]# ll logstash-7.17.18-linux-x86_64.tar.gz
-rw-r--r-- 1 root root 364233835 Feb 10 09:04 logstash-7.17.18-linux-x86_64.tar.gz#解压部署包
[roottest-server03 opt]# tar -xf logstash-7.17.18-linux-x86_64.tar.gz#创建软连接
[roottest-server03 opt]# ln -s /opt/logstash-7.17.18 logstash配置Logstash
[roottest-server03 opt]# cd logstash/config/
[roottest-server03 config]# cat logstash.yml | grep -v ^\s*# | grep -v ^\s*$
node.name: test-logstash-node
path.data: /opt/logstash/data
api.http.host: 192.168.40.182
api.http.port: 9600
path.logs: /opt/logstash/logs#配置介绍
1.node.name: test-logstash-nodeLogstash 实例的节点名称。
2.path.data: /opt/logstash/dataLogstash 存储内部数据的路径。
3.api.http.host: 192.168.40.182Logstash API 监听的主机 IP 地址。
4.api.http.port: 9600Logstash API 监听的端口号。
5.path.logs: /opt/logstash/logsLogstash 日志文件的存储路径。创建日志目录和普通用户
#创建日志目录
[roottest-server03 opt]# mkdir /opt/logstash/logs#新增普通用户
[roottest-server03 opt]# useradd logstash#修改普通用户密码
[roottest-server03 opt]# passwd logstash
logstash/logstash#授予普通用户权限
[roottest-server03 opt]# chown -R logstash.logstash logstash*新建Logstash文件
[roottest-server03 config]# cat logstash.conf
input {file {path /var/log/nginx/access.log # Nginx access.log 路径start_position beginning # 从头读取日志sincedb_path /dev/null # 每次重新读取日志codec plain # 日志编码格式}
}filter {grok {match { message %{COMBINEDAPACHELOG} }}
}output {elasticsearch {hosts [http://192.168.40.181:9200] # Elasticsearch 地址index nginx-logs-%{YYYY.MM.dd} # 索引名称按日期分割}stdout { codec rubydebug } # 控制台输出调试信息
}#根据自己的需求去修改即可。或者通过ai去生成赋予其他用户可读文件的权限
[roottest-server03 opt]# chmod or /var/log/nginx/access.log#由于logstash是普通用户权限如果不给文件赋予其他用户可读权限logstash打不开这个文件然后会导致获取数据失败启动Logstash
[roottest-server03 opt]# su logstash
[logstashtest-server03 opt]$ nohup /opt/logstash/bin/logstash -f /opt/logstash/config/logstash.conf /dev/null 21 测试Logstash状态
[roottest-server03 opt]# curl -XGET http://192.168.40.182:9600/_node/pipelines?pretty
{host : test-server03,version : 7.17.18,http_address : 192.168.40.182:9600,id : f6df67d3-31c3-4551-98f1-30746b4b8563,name : test-logstash-node,ephemeral_id : ceac450a-b68a-43df-aefe-0e9b6717ff76,status : green,snapshot : false,pipeline : {workers : 8,batch_size : 125,batch_delay : 50},pipelines : {main : {ephemeral_id : d60bbfb7-08e6-4a4e-ae42-75b181632638,hash : f58943ecfa9938796137f154d88da0c3b41eb40533e353aa6d9d57362a13a3b6,workers : 8,batch_size : 125,batch_delay : 50,config_reload_automatic : false,config_reload_interval : 3000000000,dead_letter_queue_enabled : false}}
}查看Es是否创建了新的索引
出现此问题的原因是副本分片无法分配的原因是因为副本分片不能和主分片在同一个节点上。此问题可以忽略生产环境不会出现此问题。
短暂解决目前问题 状态正常 此时nginx的日志已经进入到了Es集群 5.Kibana组件部署
Kibana下载地址
下载Kibana 安装Kibana
#上传部署包
[roottest-server04 opt]# ll kibana-7.17.18-linux-x86_64.tar.gz
-rw-r--r-- 1 root root 301593515 Feb 11 13:51 kibana-7.17.18-linux-x86_64.tar.gz#解压部署包
[roottest-server04 opt]# tar -xf kibana-7.17.18-linux-x86_64.tar.gz#创建软连接
[roottest-server04 opt]# ln -s /opt/kibana-7.17.18-linux-x86_64 kibana配置Kibana
[roottest-server04 kibana]# cd config/
[roottest-server04 config]# cat kibana.yml | grep -v ^\s*# | grep -v ^\s*$
server.port: 5601
server.host: 192.168.40.183
server.name: test-server04
elasticsearch.hosts: [http://192.168.40.181:9200]
logging.dest: /opt/kibana/logs/kibana.log
logging.verbose: true
i18n.locale: zh-CN#配置介绍
1.server.port设置 Kibana 的 Web 服务端口默认为 5601。
2.server.host设置 Kibana 监听的 IP 地址指定机器的 IP 或 localhost。
3.server.nameKibana 实例的名称用来标识。
4.elasticsearch.hosts配置 Kibana 连接的 Elasticsearch 地址。
5.logging.dest设置 Kibana 的日志文件路径。
6.logging.verbose开启详细日志true 为详细false 为普通。
7.i18n.locale设置 Kibana 的语言zh-CN 为简体中文。创建日志目录和普通用户
#创建日志目录
[roottest-server04 opt]# mkdir kibana/logs#新增普通用户
[roottest-server04 opt]# useradd kibana#修改普通用户密码
[roottest-server04 opt]# passwd kibana#赋予普通用户权限
[roottest-server04 opt]# chown -R kibana.kibana kibana*启动Kibana
su - kibana -c nohup /opt/kibana/bin/kibana /dev/null 21 6.Kibana的基础使用
访问Kibana Web页面
IP:5601
选择Discover
创建索引模式
12号下午两点半产生了8条日志