在此之前,ELK理论知识我已经在我的上一篇博客已经阐述完了,在本篇博客中我将部署完整的ELK环境,如有不足之处、请大家批评指证。
一、 ELK安装信息
192.168.10.101 Elasticsearch+kibana 192.168.10.103 Logstash 注释:部署环境应部署JDK1.8版本因为ELK是由java语言开发因此事先部署jdk环境。 |
(一) 我这里已经部署完成
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
(二) 下载Elasticsearch+kibana,由于我们是在一台服务器部署ES和kibana因此我们安装顺序安装。下载ES并配置
tar zxvf elasticsearch-5.3.0.tar.gz
mv elasticsearch-5.3.0 /usr/local/elasticsearch
useradd elk #由于ES不能使用root用户启动,因此创建普通用户elk不用设置密码
chown -R elk /usr/local/elasticsearch/ #改变文件拥有者
vim /usr/local/elasticsearch/config jvm.options #进入到这个文件并修改内存因为我的虚拟机内存是2G的因此要改为1G,如果你的虚拟机是4G或者8G你就可以忽略此选项。
vim usr/local/elasticsearch/config/ elasticsearch.yml
找到# network.host这一行,并修改为0.0.0.0 #设置监听ip
su – elk #切换用户
/usr/local/elasticsearch/bin/elasticsearch -d #-d、代表后台启动
netstat -ntlp|grep -E "9200|9300" #查看端口是否启动
Port 9200 ES对外数据存储端口,客户端连接该端口发送和接收数据;
Port 9300 ES对内部分布式集群节点的端口,分布式节点之间通信;
1. 至此ES已经配置完,接下来部署Kibana
tar zxvf kibana-5.3.0-linux-x86_64.tar.gz
mv kibana-5.3.0-linux-x86_64 /usr/local/kibana
/usr/local/kibana
chown -R elk.root * #改变拥有者
vim /usr/local/kibana/config/ kibana.yml
找到#server.host #去掉注释后面写0.0.0.0
找到# elasticsearch.url: #启动注释后面写自己本机ip+port,如果有节点以逗号为分隔
启动kibana
cd /usr/local/kibana/bin
nohup ./kibana & 以后台方式启动
netstat -tnl|grep -E "9200|9300|5601" #端口是否启动,5601为kibana端口
打开浏览器输入kibana服务器ip,成功访问出现如下界面
2、默认界面是英文界面,不方便管理人员因此我们要对ELK-WEB进行中文汉化支持
下载地址:wget http://bbs.jfedu.net/download/Kibana_Hanization_2018.tar.gz
由于汉化过程是不可逆的,因此汉化前应把Kibana备份
cp kibana/ kibana.bak -a
tar xzf Kibana_Hanization_2018.tar.gz
python main.py /usr/local/kibana
(1)打开浏览器查看是否汉化成功
二、 ES+Kibana已经配置完成,接下来配置客户端Logstash
tar xzf logstash-5.3.0.tar.gz
mv logstash-5.3.0 /usr/local/logstash
/usr/local/logstash
mkdir etc #默认没有etc文件,所以新建一个因为这里放的都是Logstash收集客户端的指令
(一)我们在客户端收集Nginx日志
vim /usr/local/logstash/etc/nginx_logs.conf
input {
file {
type => "nginx-access"
path => "/usr/local/nginx/logs/access.log"
}
}
output {
elasticsearch {
hosts => "192.168.10.101" #填写ES服务器的地址
}
}
nohup ../bin/logstash -f nginx_log.conf & #启动Logstash
1、 打开Kibana浏览器清晰看到Nginx访问日志
三、Kibana安全认证
当我们安装完ES、Kibana启动进程,可以直接在浏览器访问,这样不利于数据安全,接下来我们利用Apache的密码认证进行安全配置。通过访问Nginx转发只ES和kibana服务器。
Kibana服务器安装Nginx:
um install pcre-devel pcre -y
wget -c http://nginx.org/download/nginx-1.12.0.tar.gz
tar -xzf nginx-1.12.0.tar.gz
useradd www ;
cd nginx-1.12.0
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install
(一)、修改Nginx.conf配置文件代码如下:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream jvm_web1 {
server 127.0.0.1:5601 weight=1 max_fails=2 fail_timeout=30s;
}
server {
listen 80;
server_name localhost;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://jvm_web1;
}
}
}
1、修改kibana配置文件监听IP为127.0.0.1:
3、添加Nginx权限认证:
Nginx.conf配置文件location /中加入如下代码:
auth_basic "ELK Kibana Monitor Center"; auth_basic_user_file /usr/local/nginx/html/.htpasswd;
通过Apache加密工具htpasswd生成用户名和密码:
htpasswd -c /usr/local/nginx/html/.htpasswd admin
4、重启Nginx web服务,访问如下:
用户名和密码正确,即可登录成功,如下图所示:
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。