学向勤中得,萤窗万卷书。这篇文章主要讲述ELK分布式日志分析系统部署(华为云)相关的知识,希望能为你提供帮助。
架构图
一、环境准备
1.主机清单
主机名
IP地址
配置
es-0001
192.168.1.41
1cpu,1G内存,10G硬盘
es-0002
192.168.1.42
1cpu,1G内存,10G硬盘
es-0003
192.168.1.43
1cpu,1G内存,10G硬盘
es-0004
192.168.1.44
1cpu,1G内存,10G硬盘
es-0005
192.168.1.45
1cpu,1G内存,10G硬盘
Kibana
192.168.1.46
1cpu,1G内存,10G硬盘
logstash
192.168.1.47
2CPU、2G内存,10G硬盘
apache
192.168.1.48
1PU、1G内存,10G硬盘
2.软件清单?
3.插件清单:
软件包
描述
| bigdesk-master.zip| 是ES集群的监控工具|
| elasticsearch-kopf-master.zip | 一个ElasticSearch的管理工具,提供对ES集群操作的API|
| elasticsearch-head-master.zip | 展现ES集群的# 显示帮助信息 ?help拓扑结构,可进行索引(index)、节点(node)级别的操作 |
4.华为云跳板机
配置yum软件仓库:
[root@ecs-proxy <
sub>
]# rm -rf /etc/yum.repos.d/*.repo
[root@ecs-proxy <
/sub>
]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.myhuaweicloud.com/repo/CentOS-Base-7.repo
[root@ecs-proxy <
sub>
]# yum clean all
[root@ecs-proxy <
/sub>
]# yum makecache
[root@ecs-proxy <
sub>
]# yum install -y net-tools lftp rsync psmisc vim-enhanced tree vsftpdbash-completion createrepo lrzsz iproute
[root@ecs-proxy <
/sub>
]# mkdir /var/ftp/localrepo
[root@ecs-proxy <
sub>
]# cd /var/ftp/localrepo
[root@ecs-proxy <
/sub>
]# createrepo.
[root@ecs-proxy <
sub>
]# createrepo --update .# 更新
[root@ecs-proxy <
/sub>
]# systemctl enable --now vsftpd
[root@ecs-proxy ~]# cp -a elk /var/ftp/localrepo/elk
[root@ecs-proxy elk]# cd /var/ftp/localrepo/
[root@ecs-proxy localrepo]# createrepo --update .
优化系统服务
[root@ecs-proxy <
sub>
]# systemctl stop postfix
[root@ecs-proxy <
/sub>
]# yum remove -y postfix firewalld-*
[root@ecs-proxy <
sub>
]# yum install chrony
[root@ecs-proxy <
/sub>
]# vim /etc/chrony.conf
# 注释掉 server 开头行,添加下面的配置
server ntp.myhuaweicloud.com minpoll 4 maxpoll 10 iburst
[root@ecs-proxy <
sub>
]# systemctl enable --now chronyd
[root@ecs-proxy <
/sub>
]# chronyc sources -v//验证配置结果 ^* 代表成功
[root@ecs-proxy <
sub>
]# vim /etc/cloud/cloud.cfg
# manage_etc_hosts: localhost//注释掉这一行
[root@ecs-proxy <
/sub>
]# reboot
安装配置ansible管理主机
[root@ecs-proxy <
sub>
]# cp -a ansible_centos7 /var/ftp/localrepo/ansible
[root@ecs-proxy <
/sub>
]# cd /var/ftp/localrepo
[root@ecs-proxy <
sub>
]# createrepo --update .
[root@ecs-proxy <
/sub>
]# vim /etc/yum.repos.d/local.repo
[local_repo]
name=CentOS-$releasever – Localrepo
baseurl=ftp://192.168.1.252/localrepo
enabled=1
gpgcheck=0
[root@ecs-proxy <
sub>
]# yum makecache
[root@ecs-proxy <
/sub>
]# yum install -y ansible//去华为云网页下载秘钥,并上传秘钥到跳板机
[root@ecs-proxy <
sub>
]# mv luck.pem /root/.ssh/id_rsa
[root@ecs-proxy <
/sub>
]# chmod 0400 /root/.ssh/id_rsa
5.华为云模板机(镜像)配置
[root@ecs-host <
sub>
]# passwd root
[root@ecs-host <
/sub>
]# rm -rf /etc/yum.repos.d/*.repo
[root@ecs-host <
sub>
]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.myhuaweicloud.com/repo/CentOS-Base-7.repo
[root@ecs-host <
/sub>
]# vim /etc/yum.repos.d/local.repo
[local_repo]
name=CentOS-$releasever – Localrepo
baseurl=ftp://192.168.1.252/localrepo
enabled=1
gpgcheck=0
[root@ecs-host <
sub>
]# yum clean all
[root@ecs-host <
/sub>
]# yum makecache
[root@ecs-host <
sub>
]# yum repolist
[root@ecs-host <
/sub>
]# yum install -y net-tools lftp rsync psmisc vim-enhanced tree lrzsz bash-completion iproute
优化系统服务
[root@ecs-host <
sub>
]# systemctl stop postfix atd tuned
[root@ecs-host <
/sub>
]# yum remove -y postfix at audit tuned kexec-tools firewalld-*
[root@ecs-host <
sub>
]# yum install chrony
[root@ecs-host <
/sub>
]# vim /etc/chrony.conf
# 注释掉 server 开头行,添加下面的配置
server ntp.myhuaweicloud.com minpoll 4 maxpoll 10 iburst
[root@ecs-host <
sub>
]# systemctl enable --now chronyd
[root@ecs-host <
/sub>
]# chronyc sources -v
# 验证配置结果 ^* 代表成功
[root@ecs-host <
sub>
]# vim /etc/cloud/cloud.cfg
# manage_etc_hosts: localhost 注释掉这一行
[root@ecs-host <
/sub>
]# yum clean all
[root@ecs-host ~]# poweroff
1.主机名解析(相互ping通)
# vim/etc/hosts//所有主机配置
192.168.1.41es-0001
192.168.1.42es-0002
192.168.1.43es-0003
192.168.1.44es-0004
192.168.1.45es-0005
192.168.1.46kibana
192.168.1.47logstash
192.168.1.48apache
二、【部署Elasticsearch】(所有es节点)
A。部署elasticsearch服务
安装软件
# yum install-yjava-1.8.0-openjdkelasticsearch//版本:2.3.4.rpm
# java -version
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)
# sestatus//查看selinux状态
?修改配置
# vim/etc/elasticsearch/elasticsearch.yml
17| cluster.name: my-ES//配置集群名称
23| node.name: es1//当前主机名称
55| network.host:0.0.0.0//监听所有地址/本机IP
68| discovery.zen.ping.unicast.hosts:["es1","es2","es3"]//声明集群成员(无需全部)
或者
# sed -i /cluster.name/s/# cluster.name/cluster.name//etc/elasticsearch/elasticsearch.yml//去掉注释
# sed -i /cluster.name/s/my-application/my-ES/ /etc/elasticsearch/elasticsearch.yml
# sed -i /node.name/s/# node.name: node-1/node.name: es-0002//etc/elasticsearch/elasticsearch.yml
# sed -i /network.host/s/# network.host: 192.168.0.1/network.host: 0.0.0.0//etc/elasticsearch/elasticsearch.yml
# sed-i/discovery.zen.ping/a discovery.zen.ping.unicast.hosts: ["es-0001", "es-0002"]/etc/elasticsearch/elasticsearch.yml//行下增加配置
?启动服务
# systemctl startelasticsearch.service
# systemctl enableelasticsearch.service
服务验证
# ss -ntulp|grep9200
# ss -ntulp|grep 9300
# curlhttp://es-0001:9200/
# curl http://192.168.1.41:9200/_cluster/health?pretty
"cluster_name" : "my-ES",//集群标识/名称
"status" : "green",
"timed_out" : false,
"number_of_nodes" : 3,//集群成员数量
"number_of_data_nodes" : 3,//集群有多少个节点
"active_primary_shards" : 0,
"active_shards" : 0,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 0,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 100.0
cluster:集群
health:健康
B.插件部署语应用
插件装在哪一台机器上,只能在哪台机器上使用
本地安装用file;
远程安装用ftp。
# /usr/share/elasticsearch/bin/plugin installfile:///root/file/bigdesk-master.zip
# /usr/share/elasticsearch/bin/plugin installfile:///root/file/elasticsearch-kopf-master.zip
# /usr/share/elasticsearch/bin/plugin installfile:///root/file/elasticsearch-head-master.zip
# /usr/share/elasticsearch/bin/pluginlist//查看安装好的插件
Installed plugins in /usr/share/elasticsearch/plugins:
- kopf
- bigdesk
- head
? 访问插件
1、华为云绑定弹性公网IP给 es-0005 节点
2、http://弹性公网IP:9200/_plugin/插件名称[bigdesk|head|kopf]
?? http://公网IP:9200/\\_plugin/kopf??
?? http://公网IP:9200/\\_plugin/head??
?? http://公网IP:9200/\\_plugin/bigdesk??
http://公网IP/info.php//请求方法
Elasticsearch基本操作
查询_cat方法
[root@es-0001 <
sub>
]# curl -XGET http://es-0001:9200/_cat/# 查询支持的关键字
[root@es-0001 <
/sub>
]# curl -XGET http://es-0001:9200/_cat/master# 查具体的信息
[root@es-0001 <
sub>
]# curl -XGET http://es-0001:9200/_cat/master?v# 显示详细信息 ?v
[root@es-0001 <
/sub>
]# curl -XGET http://es-0001:9200/_cat/master?help# 显示帮助信息 ?help
创建索引
指定索引的名称,指定分片数量,指定副本数量
创建索引使用 PUT 方法,创建完成以后通过 head 插件验证
[root@es-0001 ~]# curl -XPUT http://es-0001:9200/tedu -d \\
"settings"://创建
"index"://索引
"number_of_shards": 5,//分片数量
"number_of_replicas": 1//副本数量
相当于建了一个数据库
# curl -XGET http://es-0001:9200/_cat/indices?v//查看索引详细信息
浏览器访问:http://122.9.96.62:9200/_plugin/head/的变化,块深的为源数据,浅的为副本
![image-20210512185824453](C:\\Users\\勾国舅\\AppData\\Roaming\\Typora\\typora-user-images\\image-20210512185824453.png)
增加数据
# curl -XPUT http://es-0001:9200/tedu/teacher/1 -d \\/索引(库)/类型(表名)/id
"职业": "诗人",
"名字": "李白",
"称号": "诗仙",
"年代": "唐"
查询数据
[root@es-0001 ~]# curl -XGET http://es-0001:9200/tedu/teacher/1?pretty
修改数据
[root@es-0001 ~]# curl -XPOST http://es-0001:9200/tedu/teacher/1/_update -d \\
"doc":
"年代": "公元701"
删除数据
[root@es-0001 <
sub>
]# curl -XDELETE http://es-0001:9200/tedu/teacher/1//删除一条
[root@es-0001 <
/sub>
]# curl -XDELETE http://es-0001:9200/tedu//删除索引
三.Kibana部署
上传kibana-4.5.2-1.x86_64.rpm
# yuminstall -y kibana
# vim /opt/kibana/config/kibana.yml//修改配置文件
2| server.port: 5601//端口
5| server.host: "0.0.0.0"
15| elasticsearch.url: http://es1:9200//集群
23| kibana.index: ".kibana"
26| kibana.defaultAppId: "discover"//kibana默认首页
服务启动/验证
# systemctlstartkibana
# systemctlenablekibana
# ss-ntulp |grep 5601
访问测试
??http://弹性公网IP:5601/status??
导入日志数据
拷贝云盘 public/elk/logs.jsonl.gz 到跳板机
[root@ecs-proxy ~]# gunzip logs.jsonl.gz
# curl -XPOST http://192.168.1.41:9200/_bulk --data-binary @logs.jsonl//需等几分钟
导入成功:
![image-20210512214744461](C:\\Users\\勾国舅\\AppData\\Roaming\\Typora\\typora-user-images\\image-20210512214744461.png)
【ELK分布式日志分析系统部署(华为云)】配置kibana,通配符
推荐阅读
- 14用户组和权限(14)
- Oracle故障处理(Ora-10873:file * needs to be either taken out of backup or media recovered)
- Spring从入门到精通—IOC之BeanFactory与ApplicationContext区别
- 全网最全的低代码/无代码平台盘点(简道云伙伴云明道云轻流速融云集简云Treelab钉钉·宜搭腾讯云·微搭智能云·爱速搭百数云)
- 图扑软件数字孪生 | 基于 BIM 技术的可视化管理系统
- Mariadbroot用户及普通用户的密码 重置
- 集合
- PG基础篇--逻辑结构管理(用户及权限管理)
- IFD-x 微型红外成像仪(模块)关于温度测量和成像精度的关系