一、环境部署 | |
环境需求 | 虚拟机最好为4G内存,这样会运行快些 [root@localhost ~]# hostname -I 192.168.200.142 [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) //查看系统版本 [root@localhost ~]# uname -r 3.10.0-693.el7.x86_64 //查看内核线程集 [root@localhost ~]# systemctl stop firewalld 关闭防火墙 [root@localhost ~]# systemctl disable firewalld //关闭防火墙开机自启 [root@localhost ~]# setenforce 0 setenforce: SELinux is disabled //关闭selinux |
安装jdk环境 | [root@localhost ~]# ls anaconda-ks.cfg jdk-8u60-linux-x64.tar.gz //上传jdk压缩包 [root@localhost ~]# tar xf jdk-8u60-linux-x64.tar.gz -C /usr/local //解压安装包 [root@localhost ~]# mv /usr/local/jdk1.8.0_60/ /usr/local/jdk //优化解压目录名称 |
配置java环境变量 | [root@localhost ~]# vim /etc/profile //进入环境变量 [root@localhost ~]# tail -3 /etc/profile export JAVA_HOME=/usr/local/jdk/ export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH //添加以上内容 [root@localhost ~]# source /etc/profile //应用环境变量 [root@localhost ~]# java -version java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode) //查看java版本 |
二、kibana的安装和启动 | |
编译部署kibana | [root@localhost ~]# ls anaconda-ks.cfg kibana-6.2.3-linux-x86_64.tar.gz jdk-8u60-linux-x64.tar.gz redis-4.0.11.tar.gz //上传kibana压缩包 [root@localhost ~]# useradd -s /sbin/nologin -M elk //创建程序用户 [root@localhost ~]# tar xf kibana-6.2.3-linux-x86_64.tar.gz -C /usr/local //解压kibana数据包 [root@localhost ~]# mv /usr/local/kibana-6.2.3-linux-x86_64/ /usr/local/kibana //优化安装目录 |
修改配置文件 | [root@localhost ~]# vim /usr/local/kibana/config/kibana.yml //进入kibana配置文件 |
更改目录属主属组 | [root@localhost ~]# chown -R elk:elk /usr/local/kibana/ //修改kibana目录属主和驻足为elk |
新增启动脚本 | [root@localhost ~]# vim /usr/local/kibana/bin/start.sh //编写启动脚本 nohup /usr/local/kibana/bin/kibana >> /tmp/kibana.log 2>> /tmp/kibana.log & [root@localhost ~]# chmod a+x /usr/local/kibana/bin/start.sh //赋予脚本执行权限和其他权限 |
普通用户启动kibana | [root@localhost ~]# su -s /bin/bash elk '/usr/local/kibana/bin/start.sh' //启动kibana [root@localhost ~]# ps -ef | grep elk | grep -v grep //查看进程启动情况 |
查看错误日志 | [root@localhost ~]# cat /tmp/kibana.log | grep warning | head -5 //查看错误日志 这里有个警告,意思是连不上elasticsearch,忽略,因为未安装。 |
三、使用nginx限制访问kibana | |
使用nginx转发 | [root@localhost ~]# vim /usr/local/kibana/config/kibana.yml //修改配置文件 [root@localhost ~]# ps -ef | grep elk //查看elk启动进程 [root@localhost ~]# kill -9 11047 //通过进程ID杀死进程 [root@localhost ~]# su -s /bin/bash elk '/usr/local/kibana/bin/start.sh' //启动服务 |
借助nginx来访问,控制源IP的访问 | [root@localhost ~]# yum -y install pcre-devel openssl-devel //安装依赖包 [root@localhost ~]# tar xf nginx-1.10.2.tar.gz -C /usr/src //解压数据包 [root@localhost ~]# cd /usr/src/nginx-1.10.2/ //进入安装目录 [root@localhost nginx-1.10.2]# useradd -s /sbin/nologin -M nginx //创建程序用户 [root@localhost nginx-1.10.2]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module && make && make install //编译安装 [root@localhost nginx-1.10.2]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/ //优化命令路径 |
编辑nginx配置文件 | [root@localhost ~]# cd /usr/local/nginx/ //进入安装目录 [root@localhost nginx]# cp conf/nginx.conf{,.bak} //备份配置文件 [root@localhost nginx]# egrep -v "#|^$" conf/nginx.conf.bak > conf/nginx.conf //优化配置文件 [root@localhost nginx]# vim conf/nginx.conf //进入配置文件进行修改 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request"' '$status $body_bytes_sent "$http_referer"' '"$http_user_agent""$http_x_forwarded_for"'; sendfile on; keepalive_timeout 65; server { listen 5609; access_log /usr/local/nginx/logs/kibana_access.log main; error_log /usr/local/nginx/logs/kibana_error.log error; location / { allow 192.168.200.1; deny all; proxy_pass http://127.0.0.1:5601; } } } [root@localhost nginx]# /usr/local/nginx/sbin/nginx -t //检查配置文件是否有误 nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@localhost nginx]# /usr/local/nginx/sbin/nginx //启动nginx [root@localhost nginx]# netstat -antup | grep nginx tcp 0 0 0.0.0.0:5609 0.0.0.0:* LISTEN 16305/nginx: master //查看启动进程 |
访问监听端口号 | |
四、elasticsearch的安装和启动 | |
解压 | [root@localhost ~]# ls anaconda-ks.cfg kibana-6.2.3-linux-x86_64.tar.gz elasticsearch-6.2.3.tar.gz nginx-1.10.2.tar.gz jdk-8u60-linux-x64.tar.gz redis-4.0.11.tar.gz //上传压缩包 [root@localhost ~]# tar xf elasticsearch-6.2.3.tar.gz -C /usr/local //解压数据包 [root@localhost ~]# mv /usr/local/elasticsearch-6.2.3/ /usr/local/elasticsearch //优化安装目录 |
配置 | [root@localhost ~]# vim /usr/local/elasticsearch/config/elasticsearch.yml //进入elasticsearch.yml配置文件进行修改 [root@localhost ~]# mkdir -p /usr/local/elasticsearch/data [root@localhost ~]# mkdir -p /usr/local/elasticsearch/logs //创建数据和日志存储目录 |
更改 | [root@localhost ~]# chown -R elk:elk /usr/local/elasticsearch/ //更改elasticsearch目录的属主属组 |
更改jvm内存配置 | [root@localhost ~]# vim /usr/local/elasticsearch/config/jvm.options //编辑elasticsearch的内存配置文件 |
编写启动脚本 | [root@localhost ~]# vim /usr/local/elasticsearch/bin/start.sh //编写elasticsearch启动脚本,-d后台启动 /usr/local/elasticsearch/bin/elasticsearch -d >> /tmp/elasticsearch.log 2>> /tmp/elasticsearch.log [root@localhost ~]# chmod a+x /usr/local/elasticsearch/bin/start.sh //给脚本添加其他用户权限和执行权限 |
启动脚本 | [root@localhost ~]# su -s /bin/bash elk '/usr/local/elasticsearch/bin/start.sh' //执行脚本 [root@localhost ~]# ps -ef | grep elk | grep -v grep //查看脚本执行情况 |
观察日志 | [root@localhost ~]# > /tmp/kibana.log //先清空日志 [root@localhost ~]# tail -f /tmp/kibana.log //动态更新日志,查看是否有错 (如果没有显示错误提示,那么一切正常,表示无误) |
访问网页 | 重新测试URL:http://192.168.200.142:5609 |
五、logstash的安装和启动 | |
解压logstash | [root@localhost ~]# ls anaconda-ks.cfg logstash-6.2.3.tar.gz elasticsearch-6.2.3.tar.gz nginx-1.10.2.tar.gz jdk-8u60-linux-x64.tar.gz redis-4.0.11.tar.gz kibana-6.2.3-linux-x86_64.tar.gz //上传logstash压缩包 [root@localhost ~]# tar xf logstash-6.2.3.tar.gz -C /usr/local //解压logstash压缩包 [root@localhost ~]# mv /usr/local/logstash-6.2.3/ /usr/local/logstash //优化安装目录 |
修改配置文件 | [root@localhost ~]# vim /usr/local/logstash/config/jvm.options //加入内存限制 |
[root@localhost ~]# vim /usr/local/logstash/config/logstash.conf //修改配置文件 input { file { path => "/usr/local/nginx/logs/kibana_access.log" #读取日志路径 } } output { elasticsearch { hosts => ["http://127.0.0.1:9200"] #保存日志url } } | |
编写启动脚本 | [root@localhost ~]# vim /usr/local/logstash/bin/start.sh //编写启动脚本 nohup /usr/local/logstash/bin/logstash -f /usr/local/logstash/config/logstash.conf >> /tmp/logstash.log 2>> /tmp/logstash.log & [root@localhost ~]# chmod a+x /usr/local/logstash/bin/start.sh //给脚本添加权限 |
启动logstash | [root@localhost ~]# /usr/local/logstash/bin/start.sh //启动脚本 [root@localhost ~]# ps -ef | grep logstash //查看启动进程 |
通过浏览器访问 | 通过URL访问:http://192.168.200.142:5609 |
六、logstash使用详解 | |
常用命令: -f:通过这个命令可以指定Logstash的配置文件,根据配置文件配置logstash; -e:后面跟字符串,该字符串可以被当作logstash的配置(如果是“”则默认使用stdin作为输入,stdout作为输出) -l:日志输出的地址(默认就是stdout直接在控制台输出) -t:测试配置文件是否正确,然后退出 | |
工作原理 | Logstash使用管道方式进行日志的搜集处理和输出,有些类似于管道命令xxx|ccc|ddd,xxx执行完了会执行ccc,然后执行ddd |
Linux基础——ELK Stack
最新推荐文章于 2024-08-19 22:15:00 发布