本站公告

  • 版权说明:网站所有内容均来自互联网用户共享内容,不代表电玩城游戏大厅立场,若侵犯您的权益,请与我们联系。

  • 投诉/建议:欢迎与电玩城游戏大厅合作、投诉、建议,意见可以发送详细内容至邮件:15983226@qq.com 。

如何打造漂亮的监控系统

监控系统在一家公司是尤为重要的,它能帮你在7x24小时的实时的关注线上服务器的运行情况,当有问题的时候第一时间通知给相应的人员今天说下我们的主角就是我们prometheus+grafana+node_exporter

Prometheus介绍

Prometheus是一套开源的系统监控报警框架。它启发于Google的borgmon监控系统,由工作在SoundCloud的google前员工在2020年创建,作为社区开源项目进行开发,并于2020年正式发布。2020年,Prometheus正式加入CloudNativeComputingFoundation,成为受欢迎度仅次于Kubernetes的项目。

Prometheus作为TSDB具有以下特点:

具有由指标名称和键/值对标识的时间序列数据的多维度数据模型。PromQL灵活的查询语言。不依赖分布式存储,单个服务器节点是自主的。通过基于HTTP的pull方式采集时序数据。可以通过中间网关进行时序列数据@AnsonA@SEO@推送。通过服务发现或者静态配置来发现目标服务对象。支持多种多样的图表和界面展示,比如Grafana等。

Prometheus的安装下载二进制安装包

wgethttps://github.com/prometheus/prometheus/releases/download/v2.16.0/prometheus-2.16.0.linux-amd64.tar.gz解压prometheus压缩包

$tarzxvfprometheus-2.16.0.linux-amd@AnsonA@SEO@64.tar.gz-C/usr/local/prometheus添加prometheus用户

$groupaddprometheus$useradd-gprometheus-s/sbin/nologinprometheus创建prometheus启动文件

cat/usr/lib/systemd/system/prometheus.service[Unit]Description=PrometheusDocumentation=https://prometheus.io/After=network.target[Service]Type=simpleUser=prometheusExecStart=/usr/local/prometheus/prometheus--config.file=/usr/local/prometheus/prometheus.yml--storage.tsdb.path=/var/lib/prometheusRestart=on-failure[Install]WantedBy=multi-user.targetEOF启动服务并设为开机启动

$systemctlstartprometheus$systemctlenableprometheus以下为一个简单的prometheus.yml示例:

#Pr@AnsonB@SEO@ometheus全局配置项global:scrape_interval:15s#设定抓取数据的周期,默认为1minevaluation_interval:15s#设定更新rules文件的周期,默认为1minscrape_timeout:15s#设定抓取数据的超时时间,默认为10sexternal_labels:#额外的属性,会添加到拉取得数据并存到数据库中monitor:'codelab_monitor'#Alertmanager配置alerting:alertmanagers:-static_configs:-targets:["localhost:9093"]#设定alertmanager和prometheus交互的接口,即alertmanager监听的ip地址和端口#rule配置,首次读取默认加载,之后根据evaluation_interval设定的周期加载rule_files:-"alertmanager_rules.yml"-"prometheus_rules.yml"#scrape配置scrape_configs:-job_name:'prometheus'#job_name默认写入timeseries的labels中,可以用于查询使用scrape_interval:15s#抓取周期,默认采用global配置static_configs:#静态配置-targets:['localhost:9090']#prometheus所要抓取数据的地址,即instance实例项-job_name:'node_exporter'#job_name默认写入timeseries的labels中,可以用于查询使用scrape_interval:15s#抓取周期,默认采用global配置static_configs:#静态配置-targets:['localhost:9100']#prometheus所要抓取数据的地址,即instance实例项安装node_exporterRHEL/CentOS

(责任编辑:电玩城游戏大厅)