栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Prometheus与Grafana

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Prometheus与Grafana

一套监控进程,Prometheus用于存储监控数据,Grafana以图标的形式将各种数据通过图表的形式展示出来。

插件默认端口dashboard ID备注
Node Exporter910011074监控服务器数据
process exporter9256249以进程维度进行数据监控
redis_exporter9121监控redis
mysqld_exporter91047362监控mysql

查看数据的基本方式: curl localhost:port/metrics
prometheus的配置文件prometheus.yml,基本格式见图。job_name对应一个job,下边可配置多个targets,target为部署对应插件的机器的信息;

安装dashboard的方式,在下面页面输入id即可。id号可以从官网【https://grafana.com/grafana/dashboards】查询获取:

Node Exporter

部署在节点机器上,启动: ./node_exporter
在
监控链接: https://www.ipcpu.com/2021/04/prometheus-node_exporter/

在prometheus上的配置
  - job_name: '44_141_pro'
    static_configs:
    - targets: ['10.130.44.141:9100']

process exporte 官网地址

https://github.com/ncabatoff/process-exporter/

部署

以进程维度去进行监控,部署在进程允许的节点上
启动方式: ./process-exporter -config.path config.yml
配置方式:

 process_names:
  - name: "{{.Comm}}"
    cmdline:
    - 'go-call-distrib'

name: 适配各种匹配规则

  • {{.Comm}}包含原始可执行文件的基本名称,即中的第二个字段/proc//stat
  • {{.ExeBase}}包含可执行文件的基本名称 {{.ExeFull}}包含可执行文件的完全限定路径
  • {{.Username}}包含有效用户的用户名 {{.Matches}}map 包含应用 cmdline regexps 产生的所有匹配项
  • {{.PID}}包含进程的PID。请注意,使用 PID 意味着该组将仅包含一个进程。
  • {{.StartTime}}包含进程的开始时间。这可以与 PID 结合使用,因为 PID 会随着时间的推移而重复使用。
  • {{.Cgroups}}包含(如果支持)进程的 cgroup (
    /proc/self/cgroup)。这对于识别进程属于哪个容器特别有用。

process_names必须包含一个或多个选择器(comm,exe
或cmdline);如果存在多个选择器,它们必须全部匹配。每个选择器都是一个字符串列表,用于匹配进程的comm, argv[0],或者在
的情况下cmdline,是应用于命令行的正则表达式。

在prometheus上的配置
  - job_name: '44_141_pro'
    static_configs:
    - targets: ['10.130.44.141:9256']

redis_exporte

在redis部署的机器部署
启动命令(redis的连接ip及密码)./redis_exporter -redis.addr 10.130.44.103:6380 -redis.password 123456

在prometheus上的配置
  - job_name: 'redis_exporter_targets'
    static_configs:
      - targets:
        - redis://10.130.44.103:6380
        - redis://10.130.44.103:6381
        - redis://10.130.44.103:6382
        - redis://10.130.44.141:6383
        - redis://10.130.44.141:6384
        - redis://10.130.44.141:6385
    metrics_path: /scrape
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: 10.130.44.103:9121
  ## config for scraping the exporter itself
  - job_name: 'redis_exporter'
    static_configs:
     - targets:
        - 10.130.44.103:9121

mysqld_exporter

在mysql所在的机器部署
启动命令: ./mysqld_exporter --config.my-cnf=.mysqld_exporter.cnf
在需监控的mysql数据库上创建用户:

grant select,replication client, process on *.* to 'mysql_monitor'@'localhost' identified by '123456';
flush privileges;

配置文件(隐藏文件格式):

[client]
user=mysql_monitor
password=123456

在prometheus上的配置
  - job_name: '44_103_mysql'
    static_configs:
    - targets: ['10.130.44.103:9104']

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1024371.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号