日志搜集之ELK

二、 部署安装

环境:

1、jdk环境:

[root@openstack-node7 local]# java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

2、

7.102 es kibana
7.108 es logstash
7.109 es filebast

3、版本均为6.8.9

2.3.安装es(所有节点操作)

1、选择版本

官网:https://www.elastic.co/cn/downloads/past-releases#elasticsearch

配置hosts文件

192.168.7.102 master-node
192.168.7.108 data-node1
192.168.7.109 data-node2

2、获取安装包

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.9.tar.gz

3、解压并建立软连接

mkdir /usr/local/elk
tar zxf elasticsearch-6.8.0.tar.gz
ln -sv /usr/local/src/elasticsearch-6.8.9 /usr/local/elk/es

4、新建安装目录和并授权elk用户


useradd elk
chown -R elk.elk /usr/local/elk/es/

image-20200606143832784

5、配置文件描述符和内核参数

vim /etc/security/limits.conf
# End of file
* soft nofile 65536
* hard nofile 131072
* soft nproc 65536
* hard nproc 131072
vim /etc/sysctl.conf
vm.max_map_count = 655360
sysctl -p

设置用户资源参数

vi /etc/security/limits.d/20-nproc.conf
elk    soft    nproc     65536

6、修改配置文件

vim /config/elasticsearch.yml
[root@master-node es]# egrep -v "^$|^#" config/elasticsearch.yml 
cluster.name: es-linux37
node.name: master-node
path.data: /data/es/data
path.logs: /logs/es/logs
network.host: 192.168.7.102
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.7.108", "192.168.7.109","192.168.7.102"]
discovery.zen.minimum_master_nodes: 3
http.cors.enabled: true    #解决跨域无法访问问题
http.cors.allow-origin: "*"

7、新建文件夹

mkdir /logs/es/logs -pv 
mkdir /data/es/data -pv
chown elk.elk /logs/es/ -R
chown elk.elk  /data/es/ -R

8、启动文件(如果log有输出,即正常启动成功)

su - elk
cd /usr/local/elk/es
./bin/elasticseach

image-20200606145459862

#这是提示找不到足够的节点应该是3个节点

其他节点只要修改node.name:和network.host:,都改成自己的IP地址

9、后台执行

#所有节点用elk用户启动服务,后台运行,现在就要看日志看看有什么问题了。root用户启动会报错的得非root用户启动

./bin/elasticsearch -d 

节点启动后:日志输出如下为成功启动

image-20200606152222960

在102查看日志,如没有报错即可

image-20200606152746083

9、查看端口

image-20200606153214621

10、浏览器访问测试并查看

#每个节点都可以通过:IP:9200端口查看的,如下图

image-20200606153447157

#可以看到所有节点的json信息

image-20200606153620399

复制然后通过json.cnz转义

网址:json.cn

image-20200606153727273

lsof -i :9300 #每个节点都跟其他节点进行着连接

image-20200606153901273

2.2.安装head插件

ElasticSearch-Head 是一个与Elastic集群(Cluster)相交互的Web前台

ES-Head主要作用

它展现ES集群的拓扑结构,并且可以通过它来进行索引(Index)和节点(Node)级别的操作
它提供一组针对集群的查询API,并将结果以json和表格形式返回
它提供一些快捷菜单,用以展现集群的各种状态

安装npm

由于head插件本质上还是一个nodejs的工程,因此需要安装node,使用npm来安装依赖的包

官方网址:https://nodejs.org/en/download/

使用二进制文件节省时间

wget https://nodejs.org/dist/v14.4.0/node-v14.4.0-linux-x64.tar.xz
ln -sv /usr/local/src/node-v14.4.0-linux-x64/bin/node /usr/bin/node
ln -sv /usr/local/src/node-v14.4.0-linux-x64/bin/npm /usr/bin/npm

验证版本

[root@master-node src]# npm -v 
6.14.5
[root@master-node src]# node -v 
v14.4.0

安装Head插件

github网址:https://github.com/mobz/elasticsearch-head

cd /usr/local/elk/es/plugins
yum install git 
git clone git://github.com/mobz/elasticsearch-head.git

修改npm镜像

国外镜像会很慢 ,所以要修改成国内的

npm congfig get registry  #查看镜像

npm config set registry https://registry.npm.taobao.org #set命令更改阿里镜像

image-20200606171029998

安装Head

npm install 
npm run start

修改配置文件

mkdir /usr/local/elk/plugin

cp -rf mv elasticsearch-head /usr/local/elk/plugin/head

chown -R elk.elk /usr/local/elk/plugin/head

$ vim /home/elk/plugin/head/Gruntfile.js

connect: {
                        server: {
                                options: {
                                        port: 9100,
                                        hostname: '*',      #增加此行
                                        base: '.',
                                        keepalive: true

$ vim /head/_site/app.js

this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.7.102:9200";

$ cd /home/elk/plugin/head/ #一定要进入此目录下启动命令啊

image-20200606171224036

放到后台运行

yum install -y screen
screen -S  head #创建一个head窗口,执行上图启动命令
ctrl A+D #退出窗口
screen -list
screen -r head #进入head窗口

登陆验证

image-20200606181553341

posted @ 2020-06-06 18:17  月黑风高人不善  阅读(620)  评论(0编辑  收藏  举报