ELK Stack集群部署与Grafana及可视化图形

国梁的学习笔记 2017-06-19

一、概念介绍
Elasticsearch
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二流行的企业搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。 在elasticsearch中,所有节点的数据是均等的。
Logstash
Logstash是一个完全开源的工具,他可以对你的日志进行收集、分析,并将其存储供以后使用(如,搜索),您可以使用它。说到搜索,logstash带有一个web界面,搜索和展示所有日志。
Kibana
Kibana是一个基于浏览器页面的Elasticsearch前端展示工具。Kibana全部使用HTML语言和Javascript编写的。
Grafana
Grafana是 Graphite 和 InfluxDB 仪表盘和图形编辑器。Grafana 是开源的,功能齐全的度量仪表盘和图形编辑器,支持 Graphite,InfluxDB 和 OpenTSDB。Grafana 主要特性:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式;多个数据源;Graphite 和 InfluxDB 查询编辑器等等。

ELK Stack集群部署与Grafana及可视化图形

ELK Stack集群部署与Grafana及可视化图形


二、实验环境设置:
1、ip规划:
172.16.8.201  nginx+logstash
172.16.8.202  nginx+logstash
172.16.8.203  nginx+logstash
172.16.8.204  redis
172.16.8.205  logstash-server
172.16.8.206  elasticsearch
172.16.8.207  elasticsearch
172.16.8.208  elasticsearch+kibana
172.16.8.209  grafana

2、系统版本:
CentOS release 6.8 (Final)
172.16.8.201  nginx+logstash
172.16.8.202  nginx+logstash
172.16.8.203  nginx+logstash
172.16.8.204  redis
CentOS Linux release 7.3.1611 (Core)
172.16.8.205  logstash-server
172.16.8.206  elasticsearch
172.16.8.207  elasticsearch
172.16.8.208  elasticsearch+kibana
172.16.8.209  grafana


2、软件版本:
nginx-1.10.2-1.el6.x86_64
logstash-2.4.0.noarch.rpm
elasticsearch-2.4.1.rpm
kibana-4.6.1-x86_64.rpm
grafana-4.0.2-1481203731.x86_64.rpm
redis-3.0.7.tar.gz

3、主机名设置:
vim /etc/hosts
172.16.8.201          ops-nginx01
172.16.8.202          ops-nginx02
172.16.8.203          ops-nginx03
172.16.8.204          ops-redis
172.16.8.205          ops-elk05
172.16.8.206          ops-elk06
172.16.8.207          ops-elk07
172.16.8.208          ops-elk08
172.16.8.209          ops-grafana

4、yum源设置&防火墙及SELINUX关闭

yum源设置请参考

centos6.x
cd /etc/yum.repos.d/
\cp CentOS-Base.repo CentOS-Base.repo.$(date +%F)
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
eple源
rpm -ivh http://mirrors.sohu.com/Fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm

centos7.x
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
cd /etc/yum.repos.d/
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum clean all
yum makecache

RHEL 官方扩展源
yum -y install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm

防火墙及SELINUX关闭请参考

Centos6.x

/etc/init.d/iptables stop
chkconfig iptables off
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
setenforce 0

Centos7.x

systemctl stop firewalld.service
systemctl disable firewalld.service
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
setenforce 0

三、软件安装及配置
1、nginx安装及配置
分别在三台服务安装:
172.16.8.201  nginx+logstash
172.16.8.202  nginx+logstash
172.16.8.203  nginx+logstash

1.1使用yum源安装nginx
yum install nginx -y

1.2查看安装版本信息:
rpm -qa nginx
nginx-1.10.2-1.el6.x86_64

1.3查看所有的配置文件
rpm -qc nginx
/etc/logrotate.d/nginx
/etc/nginx/conf.d/default.conf
/etc/nginx/conf.d/ssl.conf
/etc/nginx/conf.d/virtual.conf
/etc/nginx/fastcgi.conf
/etc/nginx/fastcgi.conf.default
/etc/nginx/fastcgi_params
/etc/nginx/fastcgi_params.default
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime.types
/etc/nginx/mime.types.default
/etc/nginx/nginx.conf
/etc/nginx/nginx.conf.default
/etc/nginx/scgi_params
/etc/nginx/scgi_params.default
/etc/nginx/uwsgi_params
/etc/nginx/uwsgi_params.default
/etc/nginx/win-utf
/etc/sysconfig/nginx

修改nginx的配置文件
vim /etc/nginx/nginx.conf
##### http 标签中
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;

相关推荐