ELK下kibana安装Metricbeat工具_kibana metricbeat(1)

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

- uptime

直接发送elasticsearch

output.elasticsearch:
hosts: [“172.30.1.45:9200”]

要加载仪表板,可以在metricbeat设置中启用仪表板加载。当仪表板加载被启用时,Metricbeat使用Kibana API来加载样本仪表板。只有当Metricbeat启动时,才会尝试仪表板加载。

设置kibana服务地址

setup.kibana.host: “172.30.1.45:5601”

加载默认的仪表盘样式

setup.dashboards.enabled: true

设置如果存在模板,则不覆盖原有模板

setup.template.overwrite: false


**或者**  
 找到Dashboards,找到下面这行:



#setup.dashboards.enabled: false

去掉注释并把参数改为true:

setup.dashboards.enabled: true


![在这里插入图片描述](https://img-blog.csdnimg.cn/20200308163941824.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 **配置kibana**  
 找到kibana部分,把host注释去除,修改为kibana的ip+端口。



要加载仪表板,可以在metricbeat设置中启用仪表板加载。当仪表板加载被启用时,Metricbeat使用Kibana API来加载样本仪表板。只有当Metricbeat启动时,才会尝试仪表板加载。

setup.kibana:
  host: “localhost:5601”

加载默认的仪表盘样式

setup.dashboards.enabled: true


![在这里插入图片描述](https://img-blog.csdnimg.cn/20200308164054274.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 **配置elasticsearch**  
 找到elasticsearch部分,把host注释去除,修改为elasticsearch的ip+端口。



#hosts: [“localhost:9200”]
改成
hosts: [“0.0.0.0:9200”]


![在这里插入图片描述](https://img-blog.csdnimg.cn/20200308171235980.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200308215853710.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 **启动**  
 **导入kibana模块**  
 切换到metricbeat根目录,执行启动命令:



#./metricbeat modules enable kibana #centos用法

#./metricbeat -e -c metricbeat.yml -d “publish” #ubuntu用法


![在这里插入图片描述](https://img-blog.csdnimg.cn/20200308164235224.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 **配置模块生效**  
 后台启动服务(前提是es和kibana已经启动)



./metricbeat -e &


检查metricbeat是否正常运行:curl -XGET ‘http://172.30.1.45:9200/metricbeat-\*/\_search?pretty’(返回索引对应内容)  
 **显示输出**



浏览器中访问http://172.30.1.45:5601/
在discover项选择metricbeat-*查看metric的数据;
在dashboard项点击open选择要查看的数据,如: 查看Metricbeat-memory:


**metricbeat模块的配置**  
 查看metricbeat开启了哪些模块(跟filebeat一个套路)



#su - elk
#cd /home/elk/metricbeat/metricbeat-7.5.1-linux-x86_64
#./metricbeat modules lis


![在这里插入图片描述](https://img-blog.csdnimg.cn/20200308173000126.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 https://blog.csdn.net/xoofly/article/details/103812271?depth\_1-utm\_source=distribute.pc\_relevant.none-task&utm\_source=distribute.pc\_relevant.none-task


## 结果


打开kibana的dashboard,查看结果。timelion部署成功  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/2020030917344349.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200308164624786.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200308160604117.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200308160611387.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200308160618208.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200308160629699.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)



> 
> 注意 : 如果只是最上面各种率没有图,下面cpu什么的有图,但是最前面是没数值的,可能是终端的时间与服务器时间不匹配,稍早一点儿造成的。
> 
> 
> 


## metricbeat模板字段自己设置


**1.metricbeat 字段模板定义在fields.yml**


在metricbeat.yml文件中添加,字段模板定义



setup.template.fields: fields.yml


备份一份fields.yml, 现在可以修改fields.yml,删除一些不需要用到的,如redis 等。


开始安装使用的时候,报如下错误,在各type:ip都在- key: ecs 下面定义,我们可以把type: ip改为type:keyword试试。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200311143948305.png)  
 删除里面的冗余的字段,如果不删除一下,在elasticsearch里面会创建2300多个字段,删除一些没用到的,可以精简。


把type: ip 修改或者删除这个类型的字段后, 在使用Canvas中就没有报以上的错误了。


更多的Canvas 使用,需要根据自己的业务场景设置。 更多的还有一些element的使用,需要多熟悉,才能得心应手。


## Metricbeat添加ip address信息


Metricbeat默认输出信息里没有ip地址,**6.3版本之后可以通过add\_host\_metadata 来开启附带ip信息(没测试过)**


原本我是通过修改modules.d/system.yml文件,在每项后面加自定义fields.ip字段来添加ip信息,类似下面这样:



  • module: system
    period: 15m
    metricsets:
    • uptime
      fields:
      ip: “192.168.1.188”

现在更好的办法是修改metricbeat.yml文件,通过加一行name: 192.168.1.30来实现,这样数据中的beat.name就会随之改变  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200311144309525.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200311144318117.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)


**注意 :** 需要下载Metricbeat,以及下载对应的kibana版本。  
 **es函数**



1、index 指明索引 .es(index=nginx-access-log-*
2、q q查询
3、timefield 指定时间轴采用的字段,默认@timestamp timefield=@timestamp
4、metric 指明展示指标,默认是个数。metric aggregation:avg,sum,min,max,cardinality。后面接字段名,例"sum:bytes"
5、split 按照某字段分组数据
6、offset 设置时间偏移值,比如-1d -1h offset=-1d


**自定义和格式化可视化**



.title(title=“qps”) 标题 .title(‘v.ubox.cn-QPS’)
.label(“yesterday”) 标签
.lines( w i d t h , width, width,fill, s h o w , show, show,steps) 折线图 fill填充,width线宽 .lines(fill=1,width=0.5)
.bars(KaTeX parse error: Expected 'EOF', got '#' at position 45: …or() 颜色 .color(#̲1E90FF) .color(…position,$column) 设置图例的位置和样式 .legend(columns=2, position=nw)
.static(value=1024, label=“1k”, offset=“-1d”, fit=“scale”) 绘制一个固定值
.value y轴值


**举例子:**  
 es(index=nginx-access-log-\*,timefield=@timestamp,q=source:/logs/access.log,metric=sum:bytes).divide(1048576).label(‘流量曲线图’).lines(width=1.5)


**两条曲线对比:**  
 .es(index=nginx-access-log-*,timefield=@timestamp,q=source:/logs/access.log,metric=sum:bytes).divide(1048576).label(today).title(‘流量对比图(MB/s)’).lines(width=1.5),.es(offset=-1d,index=nginx-access-log-*,timefield=@timestamp,q=/logs/access.log,metric=sum:bytes).divide(1048576).label(yesterday).lines(width=1.5).multiply(-1)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200307224424885.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 可以在一个图中画多条曲线,使用逗号分隔 offset时间偏移量 -1d 前一天的 multiply(-1)显示在y轴负半轴。


## Timelion的if-then-else


oh,Timelion条件,我们几乎不认识你。用时间来解决问题。前段时间,Timelion安静的介绍了.condition()函数,是一个超强的能力。此外,这篇文章的标题是一个完整的谎言,我有多种方式可以调用.condition()。另外一个是.if()。它的作用和.condition()完全相同,但是它更短,所以从这里开始我们使用.if()。


.if()允许我们基于点对比来改变点。它支持小于(lt),小于等于(lte),等于(eq),大于(gt)和大于等于(gte)和点与其它数值进行比较,或其它序列相同点进行比较。  
 **开始使用其中的三个参数。**


* operator 从lt,lte,eq,gt,gte中选择一个。您可能会注意到这些与elasticsearch用于范围查询的缩写相同。
* if 您将使用您指定的运算符将原始系列中的每个点与该值进行比较。
* then 如果条件匹配,则将该点设置为此值  
   在以下屏幕截图中,绿线将始终是我们的原值,我们将为我们的修改系列使用其他颜色。让我们将每个小于500的点都设置0。



.es().if(lt,500,null)


![在这里插入图片描述](https://img-blog.csdnimg.cn/20200308142002887.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 那很简单。我们如何设置每一个超过或大于500的为1000,有效使用二进制序列,1000表示点大于等于500和0表示小于500。我们可以这样串联两个.if()调用。



.es().if(lt, 500, null).if(gte, 500, 1000)


但是等等,我们可以使用第四个参数将其缩短到.if()。第四个参数是else,如果条件不匹配,它将该点设置为一个值。所以试试这个



.es().if(lt, 500, 0, 1000)


![在这里插入图片描述](https://img-blog.csdnimg.cn/20200308142105802.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
  Cool!这些是基础知识,但是.if()可以超过静态数值比较。阅读on brave soul(在勇敢的灵魂)。


## Dynamic? Dynamite!


到目前为止,我们已将点数与静态数字进行了比较。如果我们想比较我们的系列与另一个系列怎么办?例如,当系列超过其10点移动平均线时,绘制点为0,否则不显示。下面你会看到我们将.es().mvavg(10)作为if参数传递。这将对移动平均线和原始的.es()系列进行点对点比较。我们前提的另一部分,没有显示,可以通过将null传递给else来实现。



.es().if(gt, .es().mvavg(10), 0, null).points()


![在这里插入图片描述](https://img-blog.csdnimg.cn/20200308142208932.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
   是的,没关系,但是我们也可以通过一个系列的then做得更好。我们可以传回原来的系列,并绘制一些竖条,通过使用.bars()而不是.points()来指出系列超过移动平均线的地点。



.es().if(gt, .es().mvavg(10), .es(), null).bars(3)


![在这里插入图片描述](https://img-blog.csdnimg.cn/20200308142229257.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)


## Altogether now


现在我们采用我们新发现知识,并使用它来获得喜好,就像绘制一个阴影线,绿色的地方,我们超过平均值,红色,小于平均值。



.es().if(gt, .es().mvavg(10), .es(), null).bars(3).color(#BEDB39).label(over), .es().if(lte, .es().mvavg(10), .es(), null).bars(3).color(#c66).label(under)


![在这里插入图片描述](https://img-blog.csdnimg.cn/20200308142305913.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
   好,非常好。还在想这个Timelion的所有业务是什么?阅读教程,还需要更多?看看这个视频从Elastic paris聚会并且我会带你一丝不苟的阅读。此外,您可以在尝试用另一方面时,用麦克风看着我。


## 1、metricbeat 监控 nginx 情况


配置文件



Metricbeat:
#metricbeat modules enable nginx
nginx.yml

  • module: nginx
    metricsets: [“stubstatus”]
    period: 10s

    Nginx hosts

    hosts: [“http://127.0.0.1”]

    Path to server status. Default server-status

    server_status_path: “basic_status” #According to the situation,and depending

Nginx: (nginx need to compile install)
requried module: --with-http_stub_status_module

nginx.conf:

location /basic_status {
    stub_status;
    access_log  off;
    allow 127.0.0.1;
    deny all;
}

**启动**



通过运行启动守护程序
#sudo ./metricbeat -e -c metricbeat.yml

#./metricbeat -e
或者
#service metricbeat start


## 2、Metricbeatt 监控 apache 情况


/etc/metricbeat/metricbeat.yml文件的内容:



metricbeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
setup.template.settings:
index.number_of_shards: 1
index.codec: best_compression
setup.dashboards.enabled: true
setup.kibana:
host: “192.168.4.10:5601”
output.elasticsearch:
hosts: [“192.168.4.10:9200”]
protocol: “http”
processors:

  • add_host_metadata: ~
  • add_cloud_metadata: ~

/etc/metricbeat/modules.d/apache.yml的内容:



  • module: apache
    metricsets:
    • status
      period: 60s
      hosts: [“http://127.0.0.1:40081”]
      #username: “user”
      #password: “secret”

127.0.0.1:40081端口已处于监听状态。


执行metricbeat setup --dashboards命令以后,/var/log/metricbeat/metricbeat文件的内容:



2019-09-16T19:05:26.009+0800 INFO instance/beat.go:606 Home path: [/usr/share/metricbeat] Config path: [/etc/metricbeat] Data path: [/var/lib/metricbeat] Logs path: [/var/log/metricbeat]
2019-09-16T19:05:26.083+0800 INFO instance/beat.go:614 Beat ID: a56ef1d2-544a-490c-b5a1-8c0939b3420d
2019-09-16T19:05:26.086+0800 INFO [beat] instance/beat.go:902 Beat info {“system_info”: {“beat”: {“path”: {“config”: “/etc/metricbeat”, “data”: “/var/lib/metricbeat”, “home”: “/usr/share/metricbeat”, “logs”: “/var/log/metricbeat”}, “type”: “metricbeat”, “uuid”: “a56ef1d2-544a-490c-b5a1-8c0939b3420d”}}}
2019-09-16T19:05:26.086+0800 INFO [beat] instance/beat.go:911 Build info {“system_info”: {“build”: {“commit”: “9ba65d864ca37cd32c25b980dbb4020975288fc0”, “libbeat”: “7.2.0”, “time”: “2019-06-20T15:07:31.000Z”, “version”: “7.2.0”}}}
2019-09-16T19:05:26.086+0800 INFO [beat] instance/beat.go:914 Go runtime info {“system_info”: {“go”: {“os”:“linux”,“arch”:“amd64”,“max_procs”:16,“version”:“go1.12.4”}}}
2019-09-16T19:05:26.089+0800 INFO [beat] instance/beat.go:918 Host info {“system_info”: {“host”: {“architecture”:“x86_64”,“boot_time”:“2019-08-25T12:14:48+08:00”,“containerized”:false,“name”:“br-sh-conf-1”,“ip”:[“127.0.0.1/8”,“::1/128”,“192.168.100.7/24”,“fe80::6e92:bfff:fe6e:1a44/64”,“192.168.4.7/24”,“fe80::6e92:bfff:fe6e:1a46/64”,“172.17.0.1/16”],“kernel_version”:“3.10.0-327.el7.x86_64”,“mac”:[“6c:92:bf:6e:1a:44”,“6c:92:bf:6e:1a:44”,“6c:92:bf:6e:1a:46”,“6c:92:bf:6e:1a:46”,“6c:92:bf:6e:1a:44”,“6c:92:bf:6e:1a:46”,“02:42:09:bb:29:91”],“os”:{“family”:“redhat”,“platform”:“centos”,“name”:“CentOS Linux”,“version”:“7 (Core)”,“major”:7,“minor”:2,“patch”:1511,“codename”:“Core”},“timezone”:“CST”,“timezone_offset_sec”:28800,“id”:“a7517b58fad846fe931d3d147a2cadbe”}}}
2019-09-16T19:05:26.090+0800 INFO [beat] instance/beat.go:947 Process info {“system_info”: {“process”: {“capabilities”: {“inheritable”:null,“permitted”:[“chown”,“dac_override”,“dac_read_search”,“fowner”,“fsetid”,“kill”,“setgid”,“setuid”,“setpcap”,“linux_immutable”,“net_bind_service”,“net_broadcast”,“net_admin”,“net_raw”,“ipc_lock”,“ipc_owner”,“sys_module”,“sys_rawio”,“sys_chroot”,“sys_ptrace”,“sys_pacct”,“sys_admin”,“sys_boot”,“sys_nice”,“sys_resource”,“sys_time”,“sys_tty_config”,“mknod”,“lease”,“audit_write”,“audit_control”,“setfcap”,“mac_override”,“mac_admin”,“syslog”,“wake_alarm”,“block_suspend”],“effective”:[“chown”,“dac_override”,“dac_read_search”,“fowner”,“fsetid”,“kill”,“setgid”,“setuid”,“setpcap”,“linux_immutable”,“net_bind_service”,“net_broadcast”,“net_admin”,“net_raw”,“ipc_lock”,“ipc_owner”,“sys_module”,“sys_rawio”,“sys_chroot”,“sys_ptrace”,“sys_pacct”,“sys_admin”,“sys_boot”,“sys_nice”,“sys_resource”,“sys_time”,“sys_tty_config”,“mknod”,“lease”,“audit_write”,“audit_control”,“setfcap”,“mac_override”,“mac_admin”,“syslog”,“wake_alarm”,“block_suspend”],“bounding”:[“chown”,“dac_override”,“dac_read_search”,“fowner”,“fsetid”,“kill”,“setgid”,“setuid”,“setpcap”,“linux_immutable”,“net_bind_service”,“net_broadcast”,“net_admin”,“net_raw”,“ipc_lock”,“ipc_owner”,“sys_module”,“sys_rawio”,“sys_chroot”,“sys_ptrace”,“sys_pacct”,“sys_admin”,“sys_boot”,“sys_nice”,“sys_resource”,“sys_time”,“sys_tty_config”,“mknod”,“lease”,“audit_write”,“audit_control”,“setfcap”,“mac_override”,“mac_admin”,“syslog”,“wake_alarm”,“block_suspend”],“ambient”:null}, “cwd”: “/home/sysadm”, “exe”: “/usr/share/metricbeat/bin/metricbeat”, “name”: “metricbeat”, “pid”: 14475, “ppid”: 14474, “seccomp”: {“mode”:“disabled”}, “start_time”: “2019-09-16T19:05:25.240+0800”}}}
2019-09-16T19:05:26.090+0800 INFO instance/beat.go:292 Setup Beat: metricbeat; Version: 7.2.0
2019-09-16T19:05:26.090+0800 INFO [index-management] idxmgmt/std.go:178 Set output.elasticsearch.index to ‘metricbeat-7.2.0’ as ILM is enabled.
2019-09-16T19:05:26.090+0800 INFO elasticsearch/client.go:166 Elasticsearch url: http://192.168.4.10:9200
2019-09-16T19:05:26.091+0800 INFO [publisher] pipeline/module.go:97 Beat name: br-sh-conf-1
2019-09-16T19:05:26.091+0800 INFO kibana/client.go:118 Kibana url: http://192.168.4.10:5601
2019-09-16T19:05:26.458+0800 INFO kibana/client.go:118 Kibana url: http://192.168.4.10:5601
2019-09-16T19:05:29.086+0800 INFO add_cloud_metadata/add_cloud_metadata.go:347 add_cloud_metadata: hosting provider type not detected.
2019-09-16T19:06:00.328+0800 INFO instance/beat.go:776 Kibana dashboards successfully loaded.


Kibana的dashboard里显示异常,/usr/share/metricbeat/kibana/7/dashboard/Metricbeat-apache-overview.json文件的内容,的确有很多是null或者为空。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200308151039469.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)


## 3、metricbeat6监控mysql并显示在Kibana dashboard中


**配置mysql username/password/host ip, 并去掉disabled**  
 vi modules.d/mysql.yml.disabled



./metricbeat setup --dashboards 装入kibana dashboards

./metricbeat -e -c metricbeat.yml -d “publish”


开始生成数据, 自动填充metricbeat-带日期的index


## 4、Kibana6.x apache dashboard模板


地址 : https://github.com/zallan114/elasticon\_tour16\_demo  
 https://github.com/zallan114/elasticon\_tour16\_demo  
 完成三个数据集的设置-“地震数据”,“ apache日志”和“日志搜索”。  
 下载并安装Elasticsearch,Kibana和Logstash以及X-Pack:https://www.elastic.co/start


**弹性堆栈设置**


* 下载并安装Elasticsearch,Kibana和Logstash以及X-Pack:https://www.elastic.co/start
* 此设置已通过5.0.x和5.1.x测试


**常规设置**


* 从此仓库下载所有文件:https : //github.com/tbragin/elasticon\_tour16\_demo
* 将所有文件放在Logstash目录中。  
 **地震数据**
* 使用以下命令提取数据集存档 tar zxf ncedc-earthquakes-dataset.tar.gz
* ncedc-earthquakes-logstash.conf使用以下命令使用Elasticsearch URL和凭证进行修改: cat  
 earthquakes.txt| bin/logstash -f ncedc-earthquakes-logstash.conf
* 在Kibana中,创建 ncedc-earthquakes索引模式
* 在Timelion中,创建一个新的仪表板并添加这三个可视化对象
* 使用“过去20年”时间范围保存仪表板



.es(index=ncedc-earthquakes,metric=avg:depth).points(fill=5).color(#8cd98c).label(‘Depth - raw’).yaxis(label=“Depth”),.es(index=ncedc-earthquakes,metric=avg:depth).lines().movingaverage(52).label(‘Depth - moving avg’).yaxis(label=“Depth”).color(#257425 ), .es(index=ncedc-earthquakes,metric=avg:mag).points(fill=5).label(‘Magnitude - raw’).yaxis(2, label=“Magnitude”).color(#ff6666), .es(index=ncedc-earthquakes,metric=avg:mag).lines().movingaverage(52).label(‘Magnitude - moving avg’).yaxis(2, label=“Magnitude”).color(#b30000 )

.es(index=ncedc-earthquakes,metric=avg:mag).points(fill=5).label(‘raw’).yaxis(2, label=“Magnitude”).color(#ffa3a3), .es(index=ncedc-earthquakes,metric=avg:mag).lines().movingaverage(52).label(‘5 year moving avg’).yaxis(2, label=“Magnitude”).color(#b30000 ), .es(index=ncedc-earthquakes,metric=avg:mag).lines().movingaverage(10).label(‘1 year moving avg’).yaxis(2, label=“Magnitude”).color(#ff3333)

.es(index=ncedc-earthquakes,metric=avg:depth).points(fill=5).color(#a3e0a3).label(‘raw’).yaxis(label=“Depth”),.es(index=ncedc-earthquakes,metric=avg:depth).lines().movingaverage(52).label(‘5 year moving avg’).yaxis(label=“Depth”).color(#257425 ), .es(index=ncedc-earthquakes,metric=avg:depth).lines().movingaverage(10).label(‘1 year moving avg’).yaxis(label=“Depth”).color(#00b359)


**Apache日志**


* 使用以下命令使用Elasticsearch URL和凭证修改apache\_logstash.conf: cat apache\_logs|  
 bin/logstash -f apache\_logstash.conf
* 在Kibana中创建apache\_elk\_example索引模式
* 从您下载的JSON文件上传可视化效果和仪表板
* 在适当的时间范围内保存仪表板  
 **日志搜索**
* 使用以下命令,使用Elasticsearch URL和凭证修改logs\_small.conf: cat logs\_small |  
 bin/logstash -f logs\_small.conf
* 在Kibana中创建logstash-\*索引模式
* 使用\*命名为“日志搜索”的搜索保存


![在这里插入图片描述](https://img-blog.csdnimg.cn/20200308151852199.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)


## 5、监控(mongodb)


MongoDB metrics是metrics的一个插件,也可以说是一个基础设施。



ls /etc/metricbeat/modules.d/


很多未启用的yml文件,把MongoDB的yml文件启用。



cp /etc/metricbeat/modules.d/mongodb.yml.disabled /etc/metricbeat/modules.d/mongodb.yml


修改mongodb.yml



vim /etc/metricbeat/modules.d/mongodb.yml
sudo service metricbeat stop


启动metricbeat



sudo metricbeat setup
sudo service metricbeat start


现在面板里的mongodb监控就可以用了。



![img](https://img-blog.csdnimg.cn/img_convert/bc2360f41b6c5724a1fb9da2e0ca8214.png)
![img](https://img-blog.csdnimg.cn/img_convert/8ddd2b57148bac77ac1b39d320120f9c.png)
![img](https://img-blog.csdnimg.cn/img_convert/e647d1bf99aa6d1f79c651d3555bab81.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**



修改mongodb.yml

vim /etc/metricbeat/modules.d/mongodb.yml
sudo service metricbeat stop

启动metricbeat

sudo metricbeat setup
sudo service metricbeat start

现在面板里的mongodb监控就可以用了。

[外链图片转存中…(img-8LJQhD43-1715742599830)]
[外链图片转存中…(img-2zMs5w7o-1715742599831)]
[外链图片转存中…(img-l2mqPLlO-1715742599831)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值