centos7安装配置ELK(Elasticsearch+Logstash+Kibana)
1.server端安装
#安装elasticsearch
yum install java-1.8.0-openjdk ruby
yum install elasticsearch-2.1.0.rpm
vi /etc/elasticsearch/elasticsearch.yml
# cluster.name: my-application
cluster.name: wc
# network.host: 192.168.0.1
network.host: 127.0.0.1
systemctl start elasticsearch
rpm -qc elasticsearch
curl -X GET http://localhost:9200/
vi /etc/nginx/conf.d/elasticsearch.conf
server {
listen 80;
server_name 110.110.110.110;:
location / {
proxy_pass http://110.110.110.110:9200;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
浏览器输入http://110.110.110.110:9200/
#安装redis
yum install redis
mkdir -p /opt/redis
cd /opt/redis
mkdir {db,log,etc}
redis-server /etc/redis.conf & 启动默认的redis配置文件
#安装kibana
tar -zxvf kibana-5.0.0-snapshot-linux-x64.tar.gz
mv kibana-5.0.0-snapshot-linux-x64 kibana
cp -R kibana /opt/
vi /etc/systemd/system/kibana.service
[Service]
ExecStart=/opt/kibana/bin/kibana
[Install]
WantedBy=multi-user.target
systemctl start kibana
systemctl enable kibana
systemctl status kibana
http://IP:5601
报错1:Unable to connect to Elasticsearch at http://localhost:9200. Retrying in 2.5 seconds
解决1:
vi /etc/elasticsearch/elasticsearch.yml
network.host: 127.0.0.1
报错2:No existing Kibana index found
解决2:
报错3:Warning No default index pattern. You must select or create one to continue.
解决3:
#安装logstash
yum install logstash-2.1.0-1.noarch.rpm
cd /etc/pki/tls
openssl req -config /etc/pki/tls/openssl.cnf -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout private/logstash-forwarder.key -out certs/logstash-forwarder.crt
vi /etc/logstash/conf.d/logstasg-hello.conf
input {
lumberjack {
# The port to listen on
port => 5000
# The paths to your ssl cert and key
ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"
ssl_key => "/etc/pki/tls/private/logstash-forwarder.key"
type => "this forwarder's file have no type!"
}
}
filter {
if [type] == "syslog" {
grok {
match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
add_field => [ "received_at", "%{@timestamp}" ]
add_field => [ "received_from", "%{host}" ]
}
syslog_pri { }
date {
match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
}
}
output {
elasticsearch { host => localhost }
stdout { codec => rubydebug }
}
/opt/logstash/bin/logstash -f /etc/logstash/conf.d/logstash-hello.conf
#安装lnmp环境
yum install nginx php
vi /etc/nginx/conf.d/logstash.conf
server {
listen 80;
server_name IP;
location / {
proxy_pass http://localhost:5601;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
systemctl start nginx
2.client端安装
3.elasticsearch配置文件详解
cat /etc/elasticsearch里的logging.yml用默认配置,elasticsearch.yml配置如下:
cluster.name: elasticsearch
配置es的集群名称,默认是elasticsearch,es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。
node.name: "Franz Kafka"
节点名,默认随机指定一个name列表中名字,该列表在es的jar包中config文件夹里name.txt文件中,其中有很多作者添加的有趣名字。
node.master: true
指定该节点是否有资格被选举成为node,默认是true,es是默认集群中的第一台机器为master,如果这台机挂了就会重新选举master。
node.data: true
指定该节点是否存储索引数据,默认为true。
index.number_of_shards: 5
设置默认索引分片个数,默认为5片。
index.number_of_replicas: 1
设置默认索引副本个数,默认为1个副本。
path.conf: /path/to/conf
设置配置文件的存储路径,默认是es根目录下的config文件夹。
path.data: /path/to/data
设置索引数据的存储路径,默认是es根目录下的data文件夹,可以设置多个存储路径,用逗号隔开,例:
path.data: /path/to/data1,/path/to/data2
path.work: /path/to/work
设置临时文件的存储路径,默认是es根目录下的work文件夹。
path.logs: /path/to/logs
设置日志文件的存储路径,默认是es根目录下的logs文件夹
path.plugins: /path/to/plugins
设置插件的存放路径,默认是es根目录下的plugins文件夹
bootstrap.mlockall: true
设置为true来锁住内存。因为当jvm开始swapping时es的效率 会降低,所以要保证它不swap,可以把ES_MIN_MEM和ES_MAX_MEM两个环境变量设置成同一个值,并且保证机器有足够的内存分配给es。 同时也要允许elasticsearch的进程可以锁住内存,linux下可以通过`ulimit -l unlimited`命令。
network.bind_host: 192.168.0.1
设置绑定的ip地址,可以是ipv4或ipv6的,默认为0.0.0.0。
network.publish_host: 192.168.0.1
设置其它节点和该节点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址。
network.host: 192.168.0.1
这个参数是用来同时设置bind_host和publish_host上面两个参数。
transport.tcp.port: 9300
设置节点间交互的tcp端口,默认是9300。
transport.tcp.compress: true
设置是否压缩tcp传输时的数据,默认为false,不压缩。
http.port: 9200
设置对外服务的http端口,默认为9200。
http.max_content_length: 100mb
设置内容的最大容量,默认100mb
http.enabled: false
是否使用http协议对外提供服务,默认为true,开启。
gateway.type: local
gateway的类型,默认为local即为本地文件系统,可以设置为本地文件系统,分布式文件系统,hadoop的HDFS,和amazon的s3服务器,其它文件系统的设置方法下次再详细说。
gateway.recover_after_nodes: 1
设置集群中N个节点启动时进行数据恢复,默认为1。
gateway.recover_after_time: 5m
设置初始化数据恢复进程的超时时间,默认是5分钟。
gateway.expected_nodes: 2
设置这个集群中节点的数量,默认为2,一旦这N个节点启动,就会立即进行数据恢复。
cluster.routing.allocation.node_initial_primaries_recoveries: 4
初始化数据恢复时,并发恢复线程的个数,默认为4。
cluster.routing.allocation.node_concurrent_recoveries: 2
添加删除节点或负载均衡时并发恢复线程的个数,默认为4。
indices.recovery.max_size_per_sec: 0
设置数据恢复时限制的带宽,如入100mb,默认为0,即无限制。
indices.recovery.concurrent_streams: 5
设置这个参数来限制从其它分片恢复数据时最大同时打开并发流的个数,默认为5。
discovery.zen.minimum_master_nodes: 1
设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)
discovery.zen.ping.timeout: 3s
设置集群中自动发现其它节点时ping连接超时时间,默认为3秒,对于比较差的网络环境可以高点的值来防止自动发现时出错。
discovery.zen.ping.multicast.enabled: false
设置是否打开多播发现节点,默认是true。
discovery.zen.ping.unicast.hosts: ["host1", "host2:port", "host3[portX-portY]"]
设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点。
下面是一些查询时的慢日志参数设置
index.search.slowlog.level: TRACE
index.search.slowlog.threshold.query.warn: 10s
index.search.slowlog.threshold.query.info: 5s
index.search.slowlog.threshold.query.debug: 2s
index.search.slowlog.threshold.query.trace: 500ms
index.search.slowlog.threshold.fetch.warn: 1s
index.search.slowlog.threshold.fetch.info: 800ms
index.search.slowlog.threshold.fetch.debug:500ms
index.search.slowlog.threshold.fetch.trace: 200ms
本文转自 guowang327 51CTO博客,原文链接:http://blog.51cto.com/guowang327/1718601,如需转载请自行联系原作者
centos7安装配置ELK(Elasticsearch+Logstash+Kibana)相关推荐
- 使用ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台实践--转载
原文地址:https://wsgzao.github.io/post/elk/ 另外可以参考:https://www.digitalocean.com/community/tutorials/how- ...
- ELK(ElasticSearch+Logstash+ Kibana)搭建实时日志分析平台
来源:http://www.cnblogs.com/zclzhao/p/5749736.html 一.简介 ELK 由三部分组成elasticsearch.logstash.kibana,elasti ...
- Elk集群安装+配置(Elasticsearch+Logstash+Filebeat+Kafka+zookeeper+Kibana)
一.部署环境 1.基础环境: 软件 版本 作用 Linux Centos7.1,16g Jdk 1.8.0_151 Elasticsearch 5.5.0 数据持久化,存储数据 Logstash 5. ...
- Centos6.5使用ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台实践
Centos6.5安装Logstash ELK stack 日志管理系统 概述: 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误 ...
- ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平
ELK平台介绍 在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段: 以下内容来自:http://baidu.blog.51cto.com/71938/1676798 日志主要包括系统日志.应 ...
- ELK(ElasticSearch, Logstash, Kibana)实时日志分析平台部署
开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch.Logstash和Kiabana三个开源工具组成.官方网站:https://www.elastic.co/p ...
- 搭建ELK(ElasticSearch+Logstash+Kibana)日志分析系统(二) Logstash简介及常见配置语法
Logstash通常被分为shipper和indexer两种角色,其中shipper负责收集转发日志至redis,而indexer负责将redis传送过来的日志输出到elasticSearch,如下图 ...
- ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
ELK平台介绍 在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段: 以下内容来自: http://baidu.blog.51cto.com/71938/1676798 日志主要包括系统日志. ...
- docker安装配置分布式elasticsearch、kibana、head、cerebro
有三个节点分别是node-master(192.168.152.45),node-data1(192.168.152.39), node-data2(192.168.152.29) 在每一太节点上,使 ...
最新文章
- 边缘营销——小计谋大智慧(二)
- vs2010 SQL Server Compact 3.5出错
- 交通优化需求下 智能交通已达千亿市场
- LeetCode-剑指 Offer 15. 二进制中1的个数
- python和c语言的对比_类C语言与Python负数除法求值间的差异
- 嵌入式linux, CAN 驱动有关问题
- 分布式系统理论之租约机制学习
- Abp vNext发布v2.3!
- Spark之 使用SparkSql操作mysql和DataFrame的Scala实现
- 用java写分段函数_使用Java将分段函数转换为CSV文件
- 08.QT中sqlite3数据库基本操作
- 打印从1到k之间的所有素数
- [云计算]交换机二层端口access、trunk、hybird的理解
- 电信测试网速测试在线软件,宽带测速在线测网速(中国电信宽带测速官网)
- 什么叫软件前端测试,前端页面测试需要测试哪些内容?前端自动化测试的实现小技巧...
- python如何检验显著性差异_Python中如何计算Pearson相关性和显著性?
- Python爬虫(三):python抓取网页中的图片到本地
- 赖美云的认证照_赖美云的“瓜子牙”辣眼睛?原来牙齿美容这么重要
- C++20 实现字符串类型的转换操作
- 程序员的痛点:我竟然还不懂Linux性能优化
热门文章
- 学python找工作好找吗-前辈经历告诉你Python新手好找工作吗?初级岗位多不多
- Ubuntu16.04 Linux上比较好用的截图工具Flameshot
- linux如何去掉目录背景颜色
- linux日志中有空格,linux中统计排序的内容含有空白行的解决办法
- lua学习笔记之开始
- spring中的ReflectionUtil
- PHP语法分析器:RE2C BISON 总结
- hdu1799 循环多少次?(组合递推公式的使用)
- [TJOI2018]xor BZOJ5338 可持久trie
- jQuery中的文档操作处理(五):append()、prepend()、after()、before()、wrap()、wrapAll()、wrapInner()、clone()等...