
结果
指定分片数量和副分片数量来创建索引
结果:
直接创建索引
结果:
结果:
结果:
再次查询索引 GET /test_index ,结果为:
number_of_replicas副分片变为2
Kibana Discover功能,主要用于查询Elasticsearch数据,通过Kibana Query Language (KQL)查询语法实现数据查询。
创建索引模式
索引模式介绍
要使用Discover的功能首先需要创建索引模式(Index patterns), 索引模式其实就是包含通配符(*)的索引名,我们需要查询ES的数据,首先得知道要查询的索引(index)名字,但是有时候,我们想查询一批索引的数据。
例如:
同时查询下面索引的数据
tizi365_log_202005
tizi365_log_202006
tizi365_log_202007
那么我们可以使用 tizi365_log_* 作为索引模式,可以匹配以tizi365_log_为前缀的所有索引名。
例子
我们依然使用前面导入的航班数据,下面介绍如何创建新的索引模式
步骤1:打开管理页面(Management)
步骤2:
因为前面的章节导入航班数据的时候,自动创建了一个名字叫kibana_sample_data_flights的航班数据索引,如果我们只想搜索kibana_sample_data_flights索引的数据,则不需要通配符,直接使用kibana_sample_data_flights这个名字作为索引模式即可,如下图
因为导入测试数据的时候,自动创建了同名的索引模式,为了演示,我们这里使用kibana_sample_data_flig* 作为索引模式(使用了通配符星号,代表匹配任意字符)。
步骤3:
配置时间过滤器,主要用于排序和作为默认的数据过滤条件。
到此为止索引模式已经创建好了,下面我切换到Discover页面看看。
Discover 功能介绍
进入Discover页面,默认展示的索引数据不一定是我们想看的数据,可以点击change切换到kibana_sample_data_flig* 索引模式,如下图
我们可以通过KQL查询语法查询ES数据,可以把你感兴趣的字段名称和值当做搜索的条件,对于数字字段您可以使用比较运算符,例如大于(>)、小于(<)或等于(=)。您可以使用逻辑运算符 AND,OR 和 NOT 连接搜索条件。
例如:
查询航班机票平均价格大于300且小于600的航班信息
查询航班编号等于 1MAEYXT 的航班信息
例子:
过滤字段
默认查询结果展示索引的所有字段,信息比较多,我们可以选择展示指定的文档字段。
Discover左侧可以直接选择需要展示的文档字段。
上图我们仅展示航班编号和平均票价
创建kibana索引
若只需要收集显示nginx的访问日志,则可以建立一个名为nginx+时间的索引
若是需要收集一个服务器下的多个服务日志,则可以在一个conf下添加多个input并根据type来区分和实现
环境
192.168.2.112 ES/kibana
192.168.2.118 logstash/nginx
192.168.2.117 logstash/mysql/nginx
建立nginx索引
1)在118服的logstash/etc目录下建立的nginxlog.conf,添加
input {file {
path =>"/usr/local/nginx/logs/access.log"
type =>"nginx"
}
}
output {
elasticsearch {
hosts =>"192.168.2.112:9200"
index =>"nginx-%{+YYYY.MM.dd}"
}
}12345678910111213
其中,index即代表对应的索引名称
2)然后启动logstash
[root@localhost etc]# pwd/usr/local/logstash/etc[root@localhost etc]# ../bin/logstash -f nginxlog.conf1234
3)登陆kibana设置索引
4)然后手动访问nginx页面后,可以在kibana的discover界面看到
收集nginx日志和mysql日志
1)把118服的logstash目录复制到117服对应目录下
scp -r logstash/* root@192.168.2.117:/usr/local/logstash12)在117服logstash/etc目录下建立all.conf
input {file {
path =>"/usr/local/nginx/logs/access.log"
type =>"nginx"
}
}
input {
file {
path =>"/var/log/mysqld.log"
type =>"mysql"
}
}
output { if [type] == "nginx"{
elasticsearch {
hosts =>"192.168.2.112:9200"
index =>"nginx-%{+YYYY.MM.dd}"
}
}if [type] == "mysql"{
elasticsearch {
hosts =>"192.168.2.112:9200"
index =>"mysql-%{+YYYY.MM.dd}"
}
}
}1234567891011121314151617181920212223242526272829
3)在kibana页面建立mysql索引
4)启动logstash
[root@host107 etc]# pwd/usr/local/logstash/etc[root@host107 etc]# ../bin/logstash -f all.conf1234
5)然后启动及关闭mysql服务,就可以看到日志数据
6)同样的,访问nginx页面后,也会收到nginx日志数据
备注:
1)其中上面的host列显示0.0.0.0,是因为没有设置主机名,在/etc/hosts下加上
127.0.0.1 hostmysqlnginx
然后hostname hostmysqlnginx
重启下logstash,就可以看到host
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)