准备环境
关闭防火墙和SELinux 10.8.156.134 es1 10.8.156.135 es2 10.8.156.136 es3
ELK下载包官网地址链接
[xiaobai@es1
] tar xzf jdk-8u211-linux-x64.tar.gz -C /usr/local/
[xiaobai@es1
] cd /usr/local/
[xiaobai@es1 local
] mv jdk1.8.0_191/ java
[xiaobai@es1 local
] echo '
JAVA_HOME=/usr/local/java
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
' >>/etc/profile
[xiaobai@es1 local
] source /etc/profile
[xiaobai@es1 local
] java -version
java version
"1.8.0_211"
Java
(TM
) SE Runtime Environment
(build 1.8.0_211-b12
)
Java HotSpot
(TM
) 64-Bit Server VM
(build 25.211-b12, mixed mode
)
Elasticsearch部署
[xiaobai@es1
] useradd elsearch
[xiaobai@es1
] echo "123456" | passwd --stdin
"elsearch"
[xiaobai@es1
] tar xzf elasticsearch-7.8.0-linux-x86_64.tar.gz -C /usr/local/
[xiaobai@es1
] cd /usr/local/elasticsearch-7.8.0/config/
[xiaobai@es1 config
] ls
elasticsearch.yml jvm.options.d role_mapping.yml
users
jvm.options log4j2.properties roles.yml users_roles
[xiaobai@es1 config
] cp elasticsearch.yml elasticsearch.yml.bak
[xiaobai@es1 config
] vim elasticsearch.yml
cluster.name: elk
node.name: elk01
node.master:
true
node.data:
true
path.data: /data/elasticsearch/data
path.logs: /data/elasticsearch/logs
bootstrap.memory_lock:
false
bootstrap.system_call_filter:
false
network.host: 0.0.0.0
http.port: 9200
http.cors.enabled:
true
http.cors.allow-origin:
"*"
cluster.name 集群名称,各节点配成相同的集群名称。 node.name 节点名称,各节点配置不同。 node.master 指示某个节点是否符合成为主节点的条件。 node.data 指示节点是否为数据节点。数据节点包含并管理索引的一部分。 path.data 数据存储目录。 path.logs 日志存储目录。 bootstrap.memory_lock 内存锁定,是否禁用交换。 bootstrap.system_call_filter 系统调用过滤器。 network.host 绑定节点IP。 http.port 端口。 discovery.zen.ping.unicast.hosts 提供其他 Elasticsearch 服务节点的单点广播发现功能。 discovery.zen.minimum_master_nodes 集群中可工作的具有Master节点资格的最小数量,官方的推荐值是(N/2)+1,其中N是具有master资格的节点的数量。 discovery.zen.ping_timeout 节点在发现过程中的等待时间。 discovery.zen.fd.ping_retries 节点发现重试次数。 http.cors.enabled 是否允许跨源 REST 请求,用于允许head插件访问ES。 http.cors.allow-origin 允许的源地址。
[xiaobai@es1 config
] vim jvm.options
-Xms1g
-Xms1g
[xiaobai@es1 config
] sed -i
's/-Xms1g/-Xms4g/' /usr/local/elasticsearch-7.8.0/config/jvm.options
[xiaobai@es1 config
] sed -i
's/-Xms1g/-Xms4g/' /usr/local/elasticsearch-7.8.0/config/jvm.options
sed -i
's/-Xmx1g/-Xmx4g/' /usr/local/elasticsearch-6.5.4/config/jvm.options
[xiaobai@es1 config
] cd
[xiaobai@es1
] mkdir -p /data/elasticsearch/data
[xiaobai@es1
] mkdir -p /data/elasticsearch/logs
[xiaobai@es1
] chown -R elsearch:elsearch /data/elasticsearch
[xiaobai@es1
] chown -R elsearch:elsearch /usr/local/elasticsearch-7.8.0/
[xiaobai@es1
] echo "* - nofile 65536" >> /etc/security/limits.conf
[xiaobai@es1
] vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
[xiaobai@es1
] vim /etc/sysctl.conf
vm.max_map_count
=262144
vm.swappiness
=0
[xiaobai@es1
] sysctl -p
[xiaobai@es1
] sysctl -w vm.max_map_count
=262144
memory locking requested
for elasticsearch process but memory is not locked.elasticsearch.yml.bootstrap.memory_lock
: false
/etc/sysctl.conf
vm.swappiness
=0
max
file descriptors
[4096
] for elasticsearch process is too low, increase to at least
[65536
]
[xiaobai@es1
] vim /etc/security/limits.conf
* hard nofile 65536
* hard nofile 65536
max virtual memory areas vm.max_map_count
[65530
] is too low, increase to at least
[262144
]
[xiaobai@es1
] sysctl -w vm.max_map_count
=262144
[xiaobai@es1
] su - elsearch
[elsearch@es1
] cd /usr/local/elasticsearch-7.8.0/
[elsearch@es1 elasticsearch-7.8.0
] nohup ./bin/elasticsearch
&
[elsearch@es1 elasticsearch-7.8.0
] tail -f nohup.out
安装监控插件
node插件安装链接,下面有wget下载地址
[xiaobai@es2
] wget https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.4.7-linux-x64.tar.gz
[xiaobai@es2
] ls
node-v4.4.7-linux-x64.tar.gz
[xiaobai@es2
] tar xzf node-v4.4.7-linux-x64.tar.gz -C /usr/local/
[xiaobai@es2
] vim /etc/profile
NODE_HOME
=/usr/local/node-v4.4.7-linux-x64
PATH
=$NODE_HOME/bin:
$PATH
export NODE_HOME PATH
[xiaobai@es2
] source /etc/profile
[xiaobai@es2
] node --version
v4.4.7
[xiaobai@es2
] wget https://github.com/mobz/elasticsearch-head/archive/master.zip
[xiaobai@es2
] cp master.zip /usr/local/
[xiaobai@es2
] yum -y
install unzip
[xiaobai@es2
] cd /usr/local/
[xiaobai@es2 local
] unzip master.zip
[xiaobai@es2 local
] cd elasticsearch-head-master/
[xiaobai@es2 elasticsearch-head-master
] npm install -g grunt-cli
[xiaobai@es2 elasticsearch-head-master
] grunt --version
grunt-cli v1.3.2
[xiaobai@es2 elasticsearch-head-master
] vim /usr/local/elasticsearch-head-master/Gruntfile.js
[xiaobai@es2 elasticsearch-head-master
] vim /usr/local/elasticsearch-head-master/_site/app.js
[xiaobai@es2
] wget https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2
[xiaobai@es2
] yum -y
install bzip2
[xiaobai@es2
] tar xjf phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /tmp/
启动head
[xiaobai@es2
] cd /usr/local/elasticsearch-head-master/
[xiaobai@es2 elasticsearch-head-master
] npm config
set registry https://registry.npm.taobao.org
[xiaobai@es2 elasticsearch-head-master
] npm install phantomjs-prebuilt@2.1.16 --ignore-scripts
[xiaobai@es2 elasticsearch-head-master
] nohup grunt server
&
[xiaobai@es2 elasticsearch-head-master
] tail -f nohup.out
Kibana部署
[xiaobai@es2
] tar xzf kibana-7.8.0-linux-x86_64.tar.gz -C /usr/local/
[xiaobai@es2
] cd /usr/local/kibana-7.8.0-linux-x86_64/config/
[xiaobai@es2 config
] vim kibana.yml
server.port kibana 服务端口,默认5601 server.host kibana 主机IP地址,默认localhost elasticsearch.hosts 用来做查询的ES节点的hosts,默认http://localhost:9200 kibana.index kibana在Elasticsearch中使用索引来存储保存searches,visualizations和dashboards。默认.kibana
启动kibana
[xiaobai@es2 config
] cd ../bin
[xiaobai@es2 bin
] nohup ./kibana --allow-root
&
[xiaobai@es2 bin
] netstat -tnlp
Active Internet connections
(only servers
)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 7081/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 7204/master
tcp 0 0 10.8.156.135:5601 0.0.0.0:* LISTEN 8824/./bin/
../node/
tcp6 0 0 :::9100 :::* LISTEN 8042/grunt
tcp6 0 0 :::22 :::* LISTEN 7081/sshd
tcp6 0 0 ::1:25 :::* LISTEN 7204/master
[xiaobai@es2 bin
] cd
[xiaobai@es2
] rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
[xiaobai@es2
] yum -y
install nginx
[xiaobai@es2
] cd /etc/nginx/conf.d/
[xiaobai@es2 conf.d
] cp default.conf nginx.conf.bak
[xiaobai@es2 conf.d
] mv default.conf nginx.conf
[xiaobai@es2 conf.d
] vim nginx.conf
server
{
listen 80
;
server_name 10.8.156.135
;
location /
{
proxy_pass http://10.8.156.135:5601
;
proxy_set_header Host
$host:5601
;
proxy_set_header X-Real-IP
$remote_addr;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
proxy_set_header Via
"nginx";
}
location /status
{
stub_status on
;
access_log /var/log/nginx/kibana_status.log
;
auth_basic
"NginxStatus";
}
location /head/
{
proxy_pass http://10.8.156.135:9100
;
proxy_set_header Host
$host:9100
;
proxy_set_header X-Real-IP
$remote_addr;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
proxy_set_header Via
"nginx";
}
}
[xiaobai@es2 conf.d
] cd ..
[xiaobai@es2 nginx
] vim /etc/nginx/nginx.conf
log_format json
'{"@timestamp":"$time_iso8601",'
'"@version":"1",'
'"client":"$remote_addr",'
'"url":"$uri",'
'"status":"$status",'
'"domain":"$host",'
'"host":"$server_addr",'
'"size":$body_bytes_sent,'
'"responsetime":$request_time,'
'"referer": "$http_referer",'
'"ua": "$http_user_agent"'
'}';
access_log /var/log/nginx/access_json.log json
;
[xiaobai@es2 nginx
] systemctl start nginx
[xiaobai@es2 nginx
] systemctl
enable nginx
Logstash部署
[xiaobai@es3
] tar xzf logstash-7.8.0.tar.gz -C /usr/local/
[xiaobai@es3
] rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
[xiaobai@es3
] yum -y
install nginx
[xiaobai@es3
] vim /etc/nginx/nginx.conf
log_format json
'{"@timestamp":"$time_iso8601",'
'"@version":"1",'
'"client":"$remote_addr",'
'"url":"$uri",'
'"status":"$status",'
'"domain":"$host",'
'"host":"$server_addr",'
'"size":$body_bytes_sent,'
'"responsetime":$request_time,'
'"referer": "$http_referer",'
'"ua": "$http_user_agent"'
'}';
access_log /var/log/nginx/access_json.log json
;
[xiaobai@es3
] systemctl start nginx
[xiaobai@es3
] systemctl
enable nginx
[xiaobai@es3
] mkdir -p /usr/local/logstash-7.8.0/etc/conf.d
[xiaobai@es3
] cd /usr/local/logstash-7.8.0/etc/conf.d/
[xiaobai@es3 conf.d
] vim input.conf
input
{
file {
path
=> ["/var/log/nginx/access_json.log"]
type => "shopweb"
}
}
[xiaobai@es3 conf.d
] vim output.conf
output
{
elasticsearch
{
hosts
=> ["10.8.156.134:9200"]
index
=> ["%{type}-%{+YYYY.MM.dd}"]
}
}
启动logstash
[xiaobai@es3 conf.d
] cd ../
..
[xiaobai@es3 logstash-7.8.0
] nohup bin/logstash -f etc/conf.d/ --config.reload.automatic
&
[xiaobai@es3 logstash-7.8.0
] tail -f nohup.out
head上查看
kibana上查看
文章总览分类目录 @小白