参考文档:https://prometheus.io/docs/prometheus/latest/getting_started/
一、使用docker部署prometheus
[root@node1 ~]# docker search prometheus [root@node1 ~]# docker pull prom/prometheus [root@node1 prometheus]# docker run --name prometheus-server -d -p 9090:9090 -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus #准备一份默认配置文件放到/opt/prometheus/下 [root@node1 ~]# docker ps | grep prometheus
.png)
[root@node1 ~]# curl -X POST http://localhost:9090/-/reload #重新加载配置,默认是没有开启的,启动的时候需要加上需要--web.enable-lifecycle参数开启 [root@node1 ~]# docker run --name prometheus-server -d -p 9090:9090 -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus --web.console.libraries=/usr/share/prometheus/console_libraries --web.console.templates=/usr/share/prometheus/consoles --web.enable-lifecycle #查看镜像里的cmd entrypoint,修改运行容器命令。也可以修改镜像。此处只是为了实验修改配置热加载方便。(没效果)
二、使用node_exporter监控节点
[root@node1 prometheus]# wget https://github.com/prometheus/node_exporter/releases/download/v0.16.0/node_exporter-0.16.0.linux-amd64.tar.gz
[root@node1 prometheus]# tar xf node_exporter-0.16.0.linux-amd64.tar.gz
[root@node1 prometheus]# cd node_exporter-0.16.0.linux-amd64
[root@node1 node_exporter-0.16.0.linux-amd64]# ./node_exporter --version
[root@node1 node_exporter-0.16.0.linux-amd64]# ./node_exporter --help
1、配置文本文件采集器
[root@node1 node_exporter]# mkdir textfile_collector [root@node1 node_exporter]# echo 'Metadata{role="node1",datacenter="CD"} 1' > textfile_collector/Metadata.prom 注:文本文件收集器,默认是加载的,只需要在启动时指定采集文件即可。 [root@node1 node_exporter]# ./node_exporter --collector.textfile.directory=/opt/prometheus/node_exporter/textfile_collector/启动成功后默认监听端口为9100,浏览器访问: http://192.168.42.133:9100/metrics,可以搜索到在文件中写的数据
2、启用systemd采集器
--collector.systemd #默认是关闭的 --collector.systemd.unit-whitelist=".+" # 从systemd中循环正则匹配单元。白名单,收集目标。对应的也有黑名单方式。 --collector.systemd.unit-blacklist=".+\\.scope" #黑名单 [root@node1 node_exporter]# ./node_exporter --collector.systemd --collector.systemd.unit-whitelist="(docker|sshd|Nginx).service" --web.telemetry-path='/systemd_metrics'启动成功后默认监听端口为9100,浏览器访问:http://192.168.42.133:9100/systemd_metrics,搜索systemd,可以看到有docker和sshd对应systemd采集的数据。 修改prometheus配置文件,采集node_exporter的数据 在scrape_configs模块添加一个job:
global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 rule_files: # - "first_rules.yml" # - "second_rules.yml" scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] - job_name: 'node_exporter' static_configs: - targets: ['192.168.42.133:9100','192.168.42.128:9100'] params: collect[]: - cpu - meminfo - diskstats浏览器访问:http://192.168.42.133:9090/targets 注意:prometheus默认采集点是http://ip:port/metrics,如果修改了无法采集,需要在prometheus配置文件里指明 metrics_path。
.png)
更改配置,只采集想要的数据: - job_name: 'node_exporter' static_configs: - targets: ['192.168.42.133:9100','192.168.42.128:9100'] params: collect[]: - cpu - meminfo - diskstats
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。