2024年软件测试最全快速搭建grafana+influxdb+telegraf,以及常见问题(1),2024年最新一个软件测试应届生从上海离职

img
img
img

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

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

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


2. grafana 需要关注的几个属性

2.1 Metric

For Mode there are three options:

  1. The default option is Time and means the x-axis represents time and that the data is grouped by time (for example, by hour or by minute).
  2. The Series option means that the data is grouped by series and not by time. The y-axis still represents the value.
  3. The Histogram option converts the graph into a histogram. A Histogram is a kind of bar chart that groups numbers into ranges, often called buckets or bins.
2.2 Variables

Variables are shown as dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data being displayed in your dashboard.

2.2.1 时间间隔
  1. 选择 New 按钮新建一个模板变量
  2. 选择 Interval 变量类型,我们可以用这种变量表达时间间隔,同时设置 Name 和 Label,Name 是变量名称,实际引用的时候用$变量名称进行引用;Label 本身无实际作用,主要是用来展示在界面,让用户更加容易理解的。
  3. 可以看到在 Values 中,已经有大量预置的时间间隔,我们可以在其中增加,诸如 1m(1分钟),1h(1小时),1d(1天)等时间间隔变量 在界面,我们可以见到已经生成了名为时间间隔的下拉框列表,列表中包括了我们设置的时间间隔预设值
  4. 将时序查询的 interval 设置为 $t (t 为我们设置的变量Name)。此时在下拉框里选择不同的时间间隔,图表将随之进行切换。
2.2.2 基于查询结果的下拉列表

前置步骤请参考时间间隔变量设置

1. 选择Query 类型
2. Data source 选择你查询的目标数据源
3. Query 是查询所有可能值的查询语句,ES/Logdb 的查询方式是{"find": "terms", "field": "status"},其中status是我们查询的目标字段,在这里可以替换成你需要的字段。更深入的语法请参考 ES 官方文档。
4. Regex 可以选择对于返回的状态值进行正则表达式过滤
5. Sort 选择排序方式
6. Multi-value 控制下拉框是否可以支持多选,如果不选中则只能单选
7. Include all value 8. 控制是否可以支持All选项,支持全选所有的值,只在多选的模式下有效果
Preview of values 可以预览这个字段的所有值
复制代码

nodename为例子

  1. set Custom Variables ,name as nodename
  2. add the parameter var-nodename=“test”,such as
Use  Url http://servername:3000/dashboard/db/dashboard?refresh=10s&var-nodename=“test”
复制代码

  1. In Query: use where clause as shown below:
WHERE nodename =$nodename
复制代码

you can see the output

select * 
from table
where nodename ="test"
复制代码

4. 常见问题

4.1 how to get the parameter from the url

for example, nodename

  1. set Custom Variables ,name as nodename
  2. add the parameter var-nodename=“test”,such as
Use  Url http://servername:3000/dashboard/db/dashboard?refresh=10s&var-nodename=“test”
复制代码

  1. In Query: use where clause as shown below:
WHERE nodename =$nodename
复制代码

you can see the output

select * 
from table
where nodename ="test"
复制代码
4.2 nginx 反向代理到 grafana

grafana配置nginx反向代理

将grafana配到www.myserver.com域名的/grafana/的location下

  1. nginx配置
location /grafana/ {
                proxy_pass http://grafana_server:3000/;
                proxy_set_header   Host $host;
        }
复制代码
  1. grafana配置文件修改
#在/etc/grafana/grafana.ini配置文件中修改
domain = www.myserver.com
root_url = %(protocol)s://%(domain)s/grafana
复制代码
4.3 provisioning

初始化导入面板,具体的操作流程如下

  1. edit the config grafana.ini
# folder that contains provisioning config files that grafana will apply on startup and while running.
;provisioning = conf/provisioning
复制代码
  1. add the dashborads.yaml and db.yaml file, location in /etc/grafana/provisioning/dashborads and /etc/grafana/provisioning/databases

5. influxDB+telegraf

5.1 监听多台服务
  1. 在需要监控的机器上面安装对应的telegraf
  2. 并且配置上报的influxdb的机器和数据库
#Configuration for influxdb server to send metrics to 

[[outputs.influxdb]] 

urls = [“http://1x.xxx:8086”] #influxdb地址 

database = “telegraf_ali” # required #influxdb数据库 

retention_policy = “”#数据保留策略 

write_consistency = “any” #数据写入策略,仅适用于集群模式 

timeout = “5s” #写入超时策略 

username = “telegraf_ali” #数据库用户名 

password = “gPHhbeh” #数据库密码 

#user\_agent = “telegraf” #采集器代理名称
复制代码
5.1.1 TRY
  1. A机器部署influxdb+telegraf
> influx
> use telegraf;
> SHOW TAG VALUES FROM system WITH KEY=host
# 可以看到一台主机的信息
复制代码
  1. B机器部署telegraf
  2. 在B机器,修改telegraf influxdb地址,使用默认telegraf
  3. 重启机器B 的telegraf机器 进入A机器
> influx
> use telegraf;
> SHOW TAG VALUES FROM system WITH KEY=host

复制代码
  • 上面查询主机的信息1条–> 两条主机信息,说明操作成功

POLICY

> CREATE RETENTION POLICY "2h0m0s" ON "telegraf" DURATION 2h REPLICATION 1 DEFAULT
> SHOW RETENTION POLICIES ON telegraf
name    duration shardGroupDuration replicaN default
----    -------- ------------------ -------- -------
autogen 0s       168h0m0s           1        false
2h0m0s  2h0m0s   1h0m0s             1        true
复制代码
SELECT time,host,usage_system FROM "autogen".cpu limit 2
name: cpu
time                host             usage_system
----                ----             ------------
1526008670000000000 VM_42_233_centos 1.7262947210419817
1526008670000000000 VM_42_233_centos 1.30130130130254
复制代码
SELECT 100 - usage_idel FROM "autogen"."cpu" WHERE time > now() - 1m and "cpu"='cpu0'
复制代码
5.2 COMMAND
SHOW MEASUREMENTS  --查询当前数据库中含有的表
SHOW FIELD KEYS --查看当前数据库所有表的字段
SHOW series from pay --查看key数据
SHOW TAG KEYS FROM "pay" --查看key中tag key值
SHOW TAG VALUES FROM "pay" WITH KEY = "merId" --查看key中tag 指定key值对应的值
SHOW TAG VALUES FROM cpu WITH KEY IN ("region", "host") WHERE service = 'redis'
DROP SERIES FROM <measurement_name[,measurement_name]> WHERE <tag_key>='<tag\_value>' --删除key
SHOW CONTINUOUS QUERIES   --查看连续执行命令
SHOW QUERIES  --查看最后执行命令
KILL QUERY <qid> --结束命令
SHOW RETENTION POLICIES ON mydb  --查看保留数据
查询数据
SELECT * FROM /.*/ LIMIT 1  --查询当前数据库下所有表的第一行记录
select * from pay  order by time desc limit 2
select * from  db_name."POLICIES name".measurement_name --指定查询数据库下数据保留中的表数据 POLICIES name数据保留
删除数据
delete from "query" --删除表所有数据,则表就不存在了
drop MEASUREMENT "query"   --删除表(注意会把数据保留删除使用delete不会)
DELETE FROM cpu
DELETE FROM cpu WHERE time < '2000-01-01T00:00:00Z'
DELETE WHERE time < '2000-01-01T00:00:00Z'
DROP DATABASE “testDB” --删除数据库
DROP RETENTION POLICY "dbbak" ON mydb --删除保留数据为dbbak数据
DROP SERIES from pay where tag_key='' --删除key中的tag

SHOW SHARDS  --查看数据存储文件
DROP SHARD 1
SHOW SHARD GROUPS
SHOW SUBSCRIPTIONS

复制代码
5.3 grafana tools
- [Puppet]( )
- [Ansible]( )
- [Chef]( )
- [Saltstack]( )
- [Jsonnet]( )
- [quick install]( )

复制代码
5.3.1 quick install

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

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

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

uick install]( )

[外链图片转存中…(img-AqoUOHGJ-1715366034876)]
[外链图片转存中…(img-EF9lWaGb-1715366034876)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

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

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 18
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件测试应届生面试中,常见的问题包括: 1. 怎么能在技术没有那么合格的前提下给面试官留个好印象? 2. 面试时,如何巧妙地避开不会的问题?面试遇到自己不会的问题如何机智的接话,化被动为主动? 3. 对于了解程度的技能,被问到我都是答会还是不会,主动避开了,都没有展开说用到的部分,感觉面试的时候没有信心。 4. 自我介绍如何说?3分钟够不? 5. 自己作为一个测试人员,为测试组做了哪些贡献? 6. 做测试人员,自身有什么优势? 7. 你有什么要问我的吗? 这些问题都可以帮助面试官了解你的技术水平、个人能力和工作经验。为了回答这些问题,你可以采用以下策略: 1. 在技术不太合格的情况下留下好印象,你可以强调你的学习能力和适应能力,表达你对软件测试的热情和愿意学习的态度。 2. 当遇到不会的问题时,你可以展示你的解决问题的能力。可以提出类似"我目前对这个问题不是很了解,但我可以尝试分析并给出可能的解决方案"这样的回答。 3. 自我介绍时,要简洁明了地介绍你的背景、教育经历和相关技能。3分钟的时间应该足够了,但要确保突出你在软件测试方面的经验和特长。 4. 在回答关于贡献和优势的问题时,可以提供具体的案例或项目经验。例如,你可以讲述你在过去的项目中负责的任务和取得的成果。 5. 在面试官提问时,你可以提出一些与职位相关的问题,表现出你对公司和工作的兴趣,并展示你对软件测试领域的深入思考。 总之,在软件测试应届生面试中,通过展示你的学习能力、解决问题的能力和对软件测试领域的热情,你可以给面试官留下一个积极和有潜力的印象。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [软件测试面试常见问题【含答案】](https://blog.csdn.net/jj2772367224/article/details/130546657)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值